Adding Cues to an Activities Page

In the RoleTailored Client, the Cues of the Activities window are a great insight into operations right from the home screen. All Role Centers have some Cues, like this Order Processor:

But, sometimes you want additional or different information. We’re going to cover how you add some Cues to this panel.

In our example, the Sales Coordinator uses this Role Center and wants insight into how many orders are open based on which Salesperson, John or Peter. We’ll need to add some FlowFields to the table the Cue’s come from and then add the Cues to the Activities Page.


First, let’s look at the Cue Tables:

Thankfully, the Cue tables match pretty well with the functional areas of the system, so we can reasonably guess that the Sales Cue table will be the correct place. (We could also locate the Order Processor Role Center, then confirm which Page is the Activities Part, then open up the Activities page to check the SourceTable.)

A quick look at the fields of the Sales Cue table shows the Cues we were seeing:

So, we’re going to add what our customer wanted, two new fields for “Sales Orders – JR” and “Sales Orders – PS”. They are both going to be Integers that are FlowFields with a CalcFormula like (roughly) so:

Count("Sales Header" WHERE (Document Type=CONST(Order),Salesperson Code=CONST(JR)))

Ideally, you never want to hardcode values such as this. You’d want to handle this using some setup tables and some filtering. We’ll explore a better way to do this in a later post. This is just a simple example to cover the basics.

With that set of changes completed, we’ll now want to update the SO Processor Activities Page. The customer wants to add these new Cues as a new group, so let’s look at the Page Designer:

Looking at the arrangement of Groups (SubType of CueGroup) and Fields, we’ll want to make a new Group and add the two new fields. Jump to a new line and enter the Caption Orders By Salesperson, then change the Type to Group and SubType to CueGroup. Add a new line for each field, and make sure they’re indented under the CueGroup. You should see something like:

Don’t worry, that’s not forgetful. When we save, close, and re-open this Page, you’ll see that it defaulted the Caption fields from the fields we linked to. This is the desired outcome so we can worry about CaptionML at the table level, not per page.

Save and close the Page designer, then close/reopen your RTC. You’ll be greeted by your brand new CueGroup:

If you’ve a keen eye for detail (and perhaps are following along), you’ll notice a few things:

  1. The Captions are there, despite us not having set them. But, they’re not terribly useful. So, for our example, we might re-caption them to “John” and “Peter”. That’s a customer preference question.
  2. More notably, take a look at the bottom of our Navigation Pane: We have two new “Sales Orders” options that aren’t tucked neatly under the Sales Orders item.
  3. You’ll also find that the new Cues report the correct information, but when you click on them, nothing happens.

These last two are both because of a Property on the Fields on the Activities page: DrillDownFormID. If that is not set at all, clicking on the Cue will do nothing. If it is set to a List page and that List Page already exists as a HomeItem on the RoleCenter Page, then the Cue will be placed as a sub-item to that HomeItem.

We’ll be covering Role Center design in a later post, including how HomeItems work, but the short summary is: If you open up a RoleCenter Page, and View the Actions for the Page, you can see the list under the ActionGroup of HomeItems are the various List pages under the Role Center item in the Navigation Pane.

So, with that DrillDownFormID set on both our Fields, we finally result in (working) Cues that will look like so:


One final parting note: When Users customize the Activities Part, bear in mind they can show/hide the Cues themselves, but not the Group Headings. Often, it’s better to add more Cues to a limited number of Groups than it is to add lots of Groups.

About the author

Jeremy Vyska Jeremy is a technology enthusiast and often plays the part of “wise old man” to his friends and peers.