App Ribbons allow a user to view other records in context of the associated record. For example, if a user is viewing a contact, then you can see all its associated records from other apps.
The screens that show within the app ribbons are embedded screens from the apps themselves. In the below example, the user is editing an activity:
This is the same screen used in the Activities App, and if you wish to customize it, you would customize the New / Edit Activity screen in the Activities App.
However, the first screen you see when you click on an App Ribbon is different. It's the default start screen for that app ribbon.
App Panel Screens
When you first click on an App Ribbon, you will get a default screen called the App Panel Screen.
This screen is automatically created by Method when you first create an App Ribbon, and this screen can be customized, just like any other screen in Method.
Finding an App Panel Screen
Before customizing the app panel screen, you need to locate where it is.
Each app panel screen is found in their respective app.
For example, the screens shown in Activities Open and Activities Closed App Ribbons are found in the Activities App.
To access them:
Go to the Method Dashboard.
Click the vertical ellipsis [ ⋮ ] on the App you wish to access, and then click Manage on the dropdown menu. In the below example, we are accessing the Activities App.
The App Panel screens will be found in the Screens section.
Naming Conventions for App Panel Screens
All App Panel Screens follow the same naming convention.
Panel - [App Ribbon Name] (App)
App Panel screens are prepended with the "Panel -"
Followed by the name as shown in the App Ribbons tab.
Followed by the name of the app where the app ribbon will be found enclosed in brackets.
For example, the below image shows a few App Panel screens from the Activities App.
Panel - Activies Closed (SalesReceipt): This is the screen for the Activities Closed app ribbon when viewing a Sales Receipt.
Panel - Activies Open (Cases): This is the screen for the Activities Open app ribbon when viewing a Case.
Panel - Activies Open (Contacts): This is the screen for the Activities Open app ribbon when viewing a Contact.
Panel - Activies Open (Estimate): This is the screen for the Activities Open app ribbon when viewing an Estimate.
Special Included Fields
When an App Panel Screen is created, two fields are automatically added in a hidden section.
Below is an example of the two fields added in the Activities Open app ribbon:
The First Field
The first field will not always be named the same, because it is based on how the app ribbon was set up. It is the name of the table field used to associate the app ribbon to the app and it contains the Record ID for that field.
For example, look at the Activities Open app ribbon for Amy Ford:
When the Activities Open app ribbon was added to the Contacts App, it was required to specify the field in the Activity table (a dropdown field called "Contacts") that relates to the Contacts table, as highlighted below:
Compare this to the App Panel Screen for this: the Panel - Activies Open (Contacts) screen. Note the highlighted field is named the same.
This field object holds the RecordID of the associated Contact for this Activities Open app ribbon. In this example, this would be the RecordID for Amy Ford.
The Second Field
The second field automatically added is the ParentID field, as exemplified below:
The ParentID field holds the RecordID for the associated record that holds the app ribbon.
Again, take a look at the Activities Open app ribbon:
The Contact that holds the Activities Open app ribbon is Amy Ford, and it will be her Record ID which will be found in the ParentID field.
Why Are They the Same?
In the above example, you will have noticed that the first field and the ParentID field are exactly the same. They hold the record ID of the record associated with the viewed app ribbon.
If you are viewing a contact's app ribbon of activities, the two fields will hold the record ID for the contact.
If you are viewing an opportunity's app ribbon of activities, the two fields will hold the record ID for the opportunity.
If you are viewing an estimate's app ribbon of activities, the two fields will hold the record ID for the estimate.
In most cases, the two fields will always be the same and you can treat it as such. Move on to the next section for use cases.
However, the two will differ in the Contacts app when the app ribbon is a transaction app ribbon. For example, below is the customization screen for the Panel - Estimates (Contacts) app ribbon:
In this case, we have the two fields but they will differ:
Customer: Holds the record ID for the customer associated to the estimate.
ParentID: Holds the record ID for the contact that is currently being viewed in the Contacts App.
A transaction has no corresponding dropdown to associate to a contact, it only associates to a customer, or an entity. This scenario is a special case since, normally, there will always be a direct association between an app and its app ribbon.
There are two main reasons why you would need to have the record ID of these fields:
View filtering: Restrict a listing of records to the one that is associated to the record. If listing out activities, you may want to restrict it to the contact being viewed.
Pre-populating fields: If you navigate to a ⊕ New screen, for example a new activity screen, you will want to pre-poluate the Contact dropdown. In the below Go To Screen action, the contacts dropdown field will be populated by the first field, the Contacts field, included on the App Panel Screen.
The tricky thing to note is that the Screen Active Record ID for the App Panel Screen (and any embedded screen in the app ribbon) is different than the screen viewing the app ribbon!
Take a look at the below example:
A common mistake is to think the Screen Active Record ID for the App Panel Screen is the contact's record ID. It is not.
Even though you see the App Panel Screen as part of the View Contact screen, it is a separate embedded screen with its own Screen Active RecordID (which, if you haven't figured out, is set to -1).
The only way to get the contact's record ID, when customizing the App Panel Screen, is by the two special fields as mentioned above.