Skip to main content

Hello:

I am re-introducing a topic that has been brought up before in both Workplace and here in the Community, but I have yet to see any input from anyone in Product Development with a solution or guidance.

The issue is creating Lobby Navigation URL’s to “tree-enabled” screens like Equipment Object Navigator, Project Navigator, Sales Rule For Part, etc.  When navigating to these screens manually, the URL in the browser looks something like:

https://<server_url>/main/ifsapplications/web/page/SalesRule/Form;$filter=<expression>;treeviewrec=<value>;treeview=Tree;treeclient=SalesRule;treenodeid=<value>;path=<value>;record=<value>;searchfilter=<expression>

However, no combination of this URL type will work as a Lobby Navigation URL - you will just get framework-related errors.

Looking through the 21R2 Lobby Navigation Guide, there are mentions of a “tree” URL type, similar to “page” and “assistant”, but there are no examples in the documentation that show this.  In the 21R2 EQUIPMENT lobby under Maintenance, there is an element with a link to the EON which works as expected.  The link that is used there looks like this:

tree/EquipmentObjectStructureNavigation/EquipObjectStructureTree

Clicking through that link opens up the EON, and redirects the browser to a URL format that looks like my first example above, so it appears that these Tree URL’s exist for these screen types, and are what we should be using in our lobby configurations.

However, how do I find out the specific Tree URL for a given screen?  I’ve tried the Page Designer, Nav Designer, Log Window, Debug Console and Developer Tools within the browser to try and find a reference to this type of URL on one of these pages when navigating to it, but I cannot find anything.

@Dishani - I don’t mean to single you out, but I think you were the one who provided a customer with the Tree URL for the Project Navigator on LCS Case G2245575-A when they were having this same issue (tree/ProjectNavigator/Tree?$filter=<expression>).  How did you derive this value?  Are these URL’s documented somewhere?  There does not appear to be a standard naming convention that can be used to construct the URL.

Getting this working reliably will greatly help our Presales demos to prospects, and I imagine will help customers as well.

@Dan Matthews @Tom Gregory @AmyE @KarinR @Leif Johansson

A working lobby element link to the EON
From the Element Designer - great to know this, but how would I find this out for another screen?

 

Hi RobSimon, 

tree/EquipmentObjectStructureNavigation/EquipObjectStructureTree

if we take segments of above URL from the beginning ,

  • tree - this is the page type parameter we are using for trees. It is always ‘tree’. No need to worry about it.
  • EquipmentObjectStructureNavigation: This is the client of the tree. If you go to tree enabled page this can be found using ‘treeclient’ parameter. 
  • EquipObjectStructureTree: This is the name of the tree. If you go to tree enabled page this can be found using ‘treeview’ parameter. 

Now let’s try to map your url to this structure (https://<server_url>/main/ifsapplications/web/page/SalesRule/Form;$filter=<expression>;treeviewrec=<value>;treeview=Tree;treeclient=SalesRule;treenodeid=<value>;path=<value>;record=<value>;searchfilter=<expression>)

 

If we create a navigation URL for above URL it looks like follows.

tree/SalesRule/Tree

If there are unclear points, let us know. 

 

Thanks! 


@chwrlk - Thank you Chamara!  This type of formula for creating proper “tree” URL’s was exactly what I was looking for.  I applied your example to my specific scenario and it worked as expected.

This explanation would make a great addition to the Lobby Navigation Guide in our IFS Cloud Technical Documentation!  :wink:


I am having an issue with equipment object navigator from lobby which needs to filter using page parameter.

URL: page/EquipmentObjectStructureNavigation/EquipmentObjectPageF?$filter= MchCode eq $COMPANY$

this works, but it's not populated correctly the tree. child nodes expand is not there. 

 


tried with this 

tree/EquipmentObjectStructureNavigation/EquipObjectStructureTree and it populate without filtering.

 


How can I use URL with proper filtering and popluate?


Fond the way to define.

 

tree/EquipmentObjectStructureNavigation/EquipObjectStructureTree?$filter=MchCode eq $COMPANY$&navicontext=F


Hi,

I try to link to this project page. main/ifsapplications/web/page/ProjectScopeAndSchedule/ProjectLevel;$filter=ProjectId%20eq%20'3187';navicontext=ScopeAndSchedule;record=KFByb2plY3RJZD0nMzE4Nycp;treeviewrec=KFByb2plY3RJZD0nMzE4Nycp;treeview=Tree;treeclient=ProjectNavigator;searchfilter=ProjectId%20eq%20'3187';treenodeid=UFJPSkVDVElEPTMxODc%3D;path=0.1731531774.18

 

So my link is tree/ProjectNavigator/Tree?$filter=projectid eq qProject Id] but it doesn’t works. Do you have an idea ?


if you want to have data values  should be  $ Project Id] 


Hi @wahelk Thanks but I tried and I have always the same error.

 


I think filter criteria are case-sensitive in OData strings (not totally sure).  Have you tried ‘ProjectId’ instead of ‘projectid’?  Also, when I’ve used data references on something like a List Element, I’ve used the actual column ID from the datasource (PROJECT_ID).  Like this…

tree/ProjectNavigator/Tree?$filter=ProjectId eq $ePROJECT_ID]

I modified an existing element that was close to the above, and it worked for me.

 

 


Hi @RobSimon Thanks for this information, it is better now but I have always an error. But if I valid it, page is open.

My Link : tree/ProjectNavigator/Tree?$filter=ProjectId eq $ PROJECT_ID]&navicontext=MaterialsAndServices

 

Url: https://goyer-cfg.ifs.cloud/main/ifsapplications/projection/v1/ProjectNavigator.svc/Projects?$filter=(ProjectId%20eq%20%273207%27%3Bnavicontext%3DScopeAndSchedule)%20and%20(ProjectId%20eq%20%273209%27)&$select=ProjectId,Objstate,Name,Company,Manager,CurrencyType,Description,CostStructureId,ProgramId,Category1Id,Category2Id,FinancialProjectExist,BaselineRevisionNumber,FinanciallyResponsible,EarnedValueMethod,CalendarId,PlanStart,PlanFinish,AccessOnOff,BaseCurrency,Objgrants,luname,keyref
        Date = 2023-05-25T06:23:22.406Z
        Request Id = 4c2fc88d-3537-4970-be74-181c7f34308d
        Client version = 22.1.10.20221205084017.0


@Christophe BUSSI - what are the details of the server error?  Have you tried the link without the navcontext value, just to see if it works without an error?  The URL you pasted in seems to point to the “Scope and Schedule” context even though you are specifying Materials and Services, so I’m wondering if something is happening there.


@chwrlk - Thank you Chamara!  This type of formula for creating proper “tree” URL’s was exactly what I was looking for.  I applied your example to my specific scenario and it worked as expected.

This explanation would make a great addition to the Lobby Navigation Guide in our IFS Cloud Technical Documentation!  :wink:

@chwrlk Do you know how is responsible for updating the technical guide, because it hasn’t been done ? Should I create a ticket in OSCA for this ?


Hi @RobSimon Thanks for this information, it is better now but I have always an error. But if I valid it, page is open.

My Link : tree/ProjectNavigator/Tree?$filter=ProjectId eq $qPROJECT_ID]&navicontext=MaterialsAndServices

 

Url: https://goyer-cfg.ifs.cloud/main/ifsapplications/projection/v1/ProjectNavigator.svc/Projects?$filter=(ProjectId%20eq%20%273207%27%3Bnavicontext%3DScopeAndSchedule)%20and%20(ProjectId%20eq%20%273209%27)&$select=ProjectId,Objstate,Name,Company,Manager,CurrencyType,Description,CostStructureId,ProgramId,Category1Id,Category2Id,FinancialProjectExist,BaselineRevisionNumber,FinanciallyResponsible,EarnedValueMethod,CalendarId,PlanStart,PlanFinish,AccessOnOff,BaseCurrency,Objgrants,luname,keyref
        Date = 2023-05-25T06:23:22.406Z
        Request Id = 4c2fc88d-3537-4970-be74-181c7f34308d
        Client version = 22.1.10.20221205084017.0

Having just tested it, it works fine for tree/ProjectNavigator/Tree?$filter=ProjectId eq $Project_Id$&navicontext=MaterialsAndServices but using the page parameters. Do you have the project id in the page parameters ?


Hi @RobSimon  and @chwrlk ,

Is it planned somewhere to be able to use this syntax from NavigationLink type Custom Command button ?

Because we are always limited to select a page starting by ‘page/xxx’ without possibility to fill in manually this parameter, and thus not able to navigate to pages with trees.

Although we can see treeview endpoints in the Page list of values, it is still prefixed with ‘page/’ instead of ‘tree/’ . For example, for Service Contract, LoV contains ‘page/ServiceContract/ServiceContractTree’ where we should have ‘tree/ServiceContract/ServiceContractTree’. And link starting with ‘page/’ doesn’t work...

Thanks !


Hi @RobSimon  and @chwrlk ,

Is it planned somewhere to be able to use this syntax from NavigationLink type Custom Command button ?

Because we are always limited to select a page starting by ‘page/xxx’ without possibility to fill in manually this parameter, and thus not able to navigate to pages with trees.

Although we can see treeview endpoints in the Page list of values, it is still prefixed with ‘page/’ instead of ‘tree/’ . For example, for Service Contract, LoV contains ‘page/ServiceContract/ServiceContractTree’ where we should have ‘tree/ServiceContract/ServiceContractTree’. And link starting with ‘page/’ doesn’t work...

Thanks !

Dear @Sébastien DELAURE. I’ve created the OSCA ticket 93250 for this.


Tested successfully today on a 24R1 SU3 environment on Service Quotation treeview, it is now possible to create a custom command button navigation link to a treeview endpoint, we don’t have “page/” prefix anymore hardcoded in the LoV !

 


Reply