Skip to content

Screens ​

A Screen is a web page on an Application, served at its own route. Every screen is made of three parts:

PartHolds
HeaderA Menu or a Custom PageOptional
PageThe screen's content - see belowRequired
FooterA Menu or a Custom PageOptional

A screen doesn't own any of this. It references objects built elsewhere, which is why the same menu can head every screen in an application, and the same workview can appear on more than one.

A rendered screen, annotated to show the Menu forming the screen header above the Workview that forms the screen content

What a screen can display ​

The Page is the body of the screen, shown between the header and footer. It can be any one of:

ContentBuilt inDocumentation
DashboardThe applicationDashboards
Custom PageThe applicationCustom Pages
WorkviewThe modelCreating Workviews
CardThe modelCards in Screens

A Dashboard is the way to put several things on one screen - a screen's Page takes a single object, so a Card added directly fills the screen on its own.

Users can only reach the screens granted to them by their access tags.

Navigation is a separate concern from content, and there's more than one route between screens:

RouteWhere it livesBest for
MenusAttached to a screen as its header or footerFixed, application-wide navigation available from every screen
Custom PagesAs a header or footer, in place of a MenuNavigation a Menu can't express
Links on CardsCard components, such as a ButtonContextual jumps from a report into related detail
Link To Another Workview Using FormulaA Workview's set instructionsMaking row or column headers clickable, per element

The last two are what turn a report into a drill path: a summary by department where clicking a department opens that department's detail screen, rather than the user going back to the menu and picking it manually.

Both can pass the clicked context through as a query string argument, where the argument name is the dimension's ID - department-detail?6ad83e6275498f152a2d74e1784c4c21=Sales. Values are wrapped in URLENCODE so names containing spaces or ampersands survive.

The destination doesn't read the URL itself. The value is written to the browser's local storage against that dimension, and selectables bound to the same ID populate themselves from it - always for a Workview's title selectables, and for a Card Selectable when its Persist property is set to Yes.

Setting the homepage of an application ​

One screen per application can be marked as the initial landing page, using the checkbox of that name on the screen itself. This is the screen a user lands on when they open the application without a path.

The Edit Screen dialog with the Is initial landing page checkbox selected

The user opensThey land on
https://example.modlr.cloudThe screen flagged as the initial landing page
https://example.modlr.cloud/example-route/That specific screen, after signing in

Because a path-specific URL survives the login redirect, a link to a particular screen can be shared directly and will still deliver the user to that screen rather than to the landing page.

The Home helper link in a Menu resolves to whichever screen carries this flag, rather than to a fixed URL.

Creating a new Screen in your application ​

The New Screen dialog, with Name, Route, Header, Page and Footer fields

  • Name - names the screen in the Gateway at go.modlr.co. It does not affect what the screen shows.
  • Route - the URL path of the screen, appended to the application's own path (shown as a fixed prefix in the dialog). If your application is accessed at https://example.modlr.cloud, this screen is reached at https://example.modlr.cloud/*route*.
  • Header* - a Menu or a custom page to show above the content. A header usually contains the application's navigation bar.
  • Page - the screen's content: a Dashboard, Custom Page, Workview or Card. Shown between the header and footer when those are defined. Cards appear in this dropdown prefixed with Card -.
  • Footer* - a Menu or a custom page to show below the content. A footer usually contains Copyright text, Contact Us, Addresses for Support, etc.

*Optional

A completed screen brings the three parts together - here a Menu as the header, a Dashboard as the page, and a Custom Page as the footer:

The Edit Screen dialog, annotated to show Route, Header, Page, Footer and the Is initial landing page checkbox

Before a screen is accessible to the front-end, it first needs to be added to an access tag.