Skip to content

Lobby Navigation Guideline

Navigation from an element is setup in the element designer.

Open theLobby Element Designer and select an element. The Navigation settings can be set in the Navigation section

NavigationProperties

Figure 1:Navigation Properties

Aurena Navigation URL

The URL path will depend on the type of the navigation.

Type Format Example
Page, Assistant, Tree <PageType>/<ClientName>/<PageName>?<Parameters> page/BusinessActivity/ActivityPage
Quick Report quickreport/<ReportId> quickreport/793115
Lobby lobby/<LobbyPageId> lobby/f7b1e8db-411e-426b
External URL <URL> http://www.ifs.com

AurenaURLPath

Figure 2: Aurena URL Path

Hint: To help construct the navigation link go to the destination page and view the path from the URL in the browser. For further assistance for construing the navigation link with fitter parameters, use the Page Search to filter the data intended to be viewed on the page and use the ‘Copy link’ option.

CopyLinkfromFiltered Page

Figure 3: Copy link from filtered page

Supported Navigation Parameters

Parameter Supported For Description
$filter Page, Tree Filters the set of returned records in the destination page using the given parameter values.

Example:

page/ServiceRequest/ServiceBook? $filter =MchCode eq $[MchCode]



NOTE: Value for this parameter is specified using the OData $filter syntax. Supported $filter parameters for Lobby navigation in Aurena can be found in  Appendix A.
$orderby Page, Tree Order by comma-separated list of expressions to sort the items. Default ascending; can order ascending ascand descending desc.

Example:

page/ServiceRequest/ServiceBook?$filter=MchCode eq $[MchCode] and MchCodeContract eq $[Contract] &$orderby =RegDate desc, RealFDate desc
searchcontext Page, Tree Set the search context of the navigated page/tree

Example:

page/BusinessMails/List? searchcontext =CustomerId:$CUSTOMER_ID$,FilterFromDate:true
contexts Page, Tree, Assistant Set the client context of the navigated page/tree/assistant

Example:

assistant/AccountMatching/Assistant? contexts =Company:$COMPANY$&$filter=(MatchingNo startswith(FactId%2C%27PR%27) and SimulationVoucher eq 'false')
$action Assistant Call the function to initiate the assistant

Example:

assistant/ExportCompanyTemplateAssistant/Assistant? $action =ExportCompanySetup{InputTemplateId:$[TemplateId]}
startupmode Page, Tree It is possible to set the startup mode of a page when navigating from a lobby element. Currently it is possible to set the following startup behaviors for the destination page.



1. Navigate to a page and enable search instead of populating

startupmode =search



2. Execute a saved search after navigating into the page

This can be done by passing the URL parameter  startupmode ;

startupmode =search:<saved search name>

Ex: startupmode =search:PlannedOrdersToday


NOTE:
Priority order of searches when navigating into a page.

1.        $filter from the URL

2.        startup mode from the URL

3.        Default startup mode (from user profile)

4.        Startup mode from Page metadata
pageParams Lobby Pass page parameters of a lobby page.

Example:

lobby/9cf30284-04e6-489d-ad25-080c154010e3? pageParams =COMPANY:$COMPANY$,SITE:$SITE$



Page parameters set through this URL parameter will override any page parameters saved in the user profile.



Note: In Lobby to Lobby navigation the page parameters of the source lobby will be automatically mapped to the page parameters of the destination lobby. Therefore, there is no requirement to explicitly map out the parameters as above, given that the parameter names are strictly equal.

Note: If you are using more than one parameter for the same navigation, the parameters should be separated using ‘&’.

Example :   page/PlanningUnitsAnalysis/List?contexts=Company:$Company$&$filter=BusinessPlanId eq $BUSINESS_PLAN_ID$

Place Holders for Lobby Navigation

It is possible to use parameters in the filter conditions to populate data in the destination page after navigation. Following are the types of placeholders supported by framework used in Lobby and general navigation between pages in Aurena

Page Parameters ( $PLACEHOLDER$)

Include page parameters values of the Lobby page.

Example: page/CustomerInstallmentsAnalysis/List?$filter=CustomerId eq $CustomerId$

Data Values  ( $[ PLACEHOLDER])

Include data values of the element.

Example: page/PlanningUnitsAnalysis/List?$filter=OrderNo eq  $[ORDER_NO] 

CSV (Context Substitution Variable) ( #PLACEHOLDER# )

Include CSV values.

Example: page/PlanningUnitsAnalysis/List?$filter=MainRepresentativeId eq  #USER_ID#

NOTE: CSV value formats for dates can be found in  Appendix B.

Lobby Navigation For Specific UI Elements

Following are some element specific examples on how the Web Access URL Address can be constructed for Aurena pages.

List

Setup navigation using a attribute value(s) in the selected row..

Example:

page/BusinessActivity/ActivityPage?$filter=RepresentativeId eq $[REPRESENTATIVE_ID]

Matrix

Setup navigation using the attributes mapped to the X and Y when clicking on a matrix cell

Example:

page/BusinessActivity/ActivityPage?$filter=RepresentativeId eq $[REPRESENTATIVE_ID] and Objstate eq $[STATE]

Charts (Bar, Line and Pie)

Navigate using the attributes mapped to the X axis and series attribute.

Image/ Text Element

To set a URL in the Web Access URL field for Image/Text element.

Example:

page/BusinessActivity/ActivityPage

www.ifs.com/news

Passing Page Parameters When Navigating from a Lobby Element to a Lobby Page

By default all common parameters with filled values upon navigation will be transferred to the destination lobby. If it is needed to customized use the pageParams URL parameter to map the page parameters of the source lobby to the page parameters of the destination lobby. Using the pageParams overrides the default behavior hence all mapping needs to be specified under pageParams mapping.

Page Parameter in the data source designer

URL Navigation: Mapping different page parameters between lobby pages

Page Parameter in the navigation link

Handling 'NULL' or Empty Values for Filtering in the URL

If the user wants to send null values in the URL the page parameter should be filled using <> symbol. Framework replaces this symbol with ‘null’ in the navigation parameter.

Example: page/TreeControllers/CustomerPage?$filter=Country eq ‘SWEDEN’ and CustomerNo eq null

This filter returns a set of customers whose country is Sweden and has no value for set in the field customer number.

If the value is left empty it is interpreted as the user does not wishes to filter using the parameter.

When navigating the filter segment containing the page parameter placeholders will be dropped.

Example: page/TreeControllers/CustomerPage?$filter=Country eq ‘SWEDEN’

Setting Up Complex Logic

Including complex logic in to the navigation could result in unexpected results.

Examples Correct Syntax
URL containing multiple types of logical operators (and/or) without brackets $filter=Atr1 eq $PP1$ and Atr2 eq $PP2$ or Atr3 eq $PP3$ $filter=Atr1 eq $PP1$ and (Atr2 eq $PP2$ or Atr3 eq $PP3$)

$filter=(Atr1 eq $PP1$ and Atr2 eq $PP2$) or Atr3 eq $PP3$
Complex ‘not’ statements $filter=not(contains(Atr1, $PP1$) and contains(Atr2, $PP2$)) $filter=not contains(Atr1, $PP1$) or not contains(Atr2, $PP2$)

Other supported URL examples can be found in Appendix C.

APPENDIX

Appendix A: Supported $filter query options for Lobby navigation in Aurena

QueryHints

* Link to OData documentation for $filter query options; OData Documentation>>

* The client renders the URL syntaxes defined in the lobby element.

Appendix B: CSV (Context Substitution Values) for Dates

Following are the date related CSV (Context Substitution Variable) values for searching dates available in Aurena so far;

#TODAY#, #TOMORROW#, #YESTERDAY#

- YEAR, MONTH, WEEK
#START_OF_THIS_# #END_OF_THIS_#
#START_OF_LAST_# #END_OF_LAST_#
#START_OF_NEXT_# #END_OF_NEXT_#

Example: #START_OF_THIS_YEAR#, #END_OF_NEXT_WEEK#

It is possible to add, deduct dates from date defined by the CSV value. When using the dropdown, labels are shown as ‘Today’, ‘Start of this month’, etc. but the relevant CSV value will be used in search after picking it from the dropdown.

Scenario: In range (Due Date): #START_OF_THIS_MONTH# to #END_OF_THIS_MONTH#+7

Advanced: DueDate >= ‘#START_OF_THIS_MONTH#’ AND DueDate <= ‘#END_OF_THIS_MONTH#+7’

Example: page/TaxCodes/List?$filter=ValidFrom eq '#TODAY#+2]

page/TaxCodes/List?$filter=(ValidFrom ge '#START_OF_THIS_YEAR#' and ValidFrom le '#END_OF_THIS_YEAR#-21')

Appendix C: Supported URL Examples for $FILTER

  • $filter=Atr1 eq $PP1$ and Atr2 eq $PP2$ and Atr3 eq $PP3$ and Atr4 eq $PP4$
  • $filter=Atr1 eq $PP1$ and (Atr2 eq $PP2$ or Atr3 eq $PP3$) and Atr4 eq $PP4$
  • $filter=(Atr2 eq $PP2$ or Atr3 eq $PP3$) and contains(Atr1,$PP1$) and round(Atr1) eq $PP1$ and contains(Atr3,$PP3$)
  • $filter=Atr1 eq $PP1$ and (Atr2 eq $PP2$ or Atr3 eq $PP3$ or (Atr4 eq $PP4$ and Atr5 eq $PP5$)) and Atr4 eq $PP4$
  • $filter=Atr1 eq $PP1$ and not contains(Atr1,$PP1$) and Atr3 eq $PP3$ and Atr4 eq $PP4$
  • $filter=Atr1 eq $PP1$ and (Atr2 eq $PP2$ or not contains(Atr1,$PP1$)) and Atr4 eq $PP4$
  • $filter=Attr1 eq Path.To.Enum’$PP1′ and Atr2 eq $PP2$ and Atr3 eq $PP3$

Notes: In some cases, same filtering achieved using some SQL expressions can be achieved using odata filter as well even though there is no direct mapping between the syntaxes.

Eg: - nvl(X,10) = Y can be written as $filter=(X eq null and Y eq 10) or (X ne null and X eq Y)

When using enumeration values in filter conditions, full qualified name must be used, like the advanced search. $filter =Objstate eq IfsApp.ActivityListHandling.ActivityState'Planned'