Hi,
I have two applications and the respective sites for those applications for now. In future these count of applications may grow.
Now, I got a requirement that I have to provide a common interface which user can use to navigate the respective site based on the application groups user belonging to.
Some users may have access to both sites and some users have access to a single site.
Can someone advise how and the best way to handle the situation.
Thanks in advance.
Discussion posts and replies are publicly visible
I have a series of steps to gracefully achieve it.
a!localVariables( local!columnsInARow: 4, local!configurations: { { icon: "cubes", title: "Manage Stock", description: "Manage your inventory in the system", showWhen: true, url: null }, { icon: "dollar", title: "Manage Price", description: "Manage pricing of items you offer", showWhen: true, url: null }, { icon: "users", title: "Manage Users", description: "Manage users within your organization", showWhen: true, url: null }, { icon: "ad", title: "Manage Ads", description: "Manage advertisments across platforms", showWhen: true, url: null }, { icon: "cogs", title: "More settings", description: "Access more settings of the system", showWhen: true, url: null } }, local!visibleConfigurations: reject( a!isNullOrEmpty(_), a!forEach( items: local!configurations, expression: if(or(fv!item.showWhen), fv!item, null) ) ), local!numberOfRows: ceiling( count(local!visibleConfigurations) / local!columnsInARow ), { a!forEach( items: enumerate(local!numberOfRows), expression: a!columnsLayout( columns: { a!forEach( items: index( local!visibleConfigurations, enumerate(local!columnsInARow) + 1 + (fv!item * local!columnsInARow), null ), expression: a!columnLayout( contents: a!cardLayout( contents: { a!richTextDisplayField( labelPosition: "COLLAPSED", value: { a!richTextIcon( icon: fv!item.icon, color: "ACCENT", size: "LARGE" ), char(10), a!richTextItem(text: fv!item.title, size: "MEDIUM"), char(10), a!richTextItem( text: fv!item.description, color: "SECONDARY", size: "SMALL" ) }, align: "CENTER" ) }, link: a!safeLink(uri: fv!item.url), /* • Replace dynamic link with any other link type*/ height: "SHORT", showWhen: not(a!isNullOrEmpty(fv!item)) ), ) ) } ) ) } )
There is just one overhead with this approach. You will need to update this interface everytime you add/remove a site in the system
Unknown said:You will need to update this interface everytime you add/remove a site
I doubt there's any easy way around this, unless someone very carefully sets things up in advance in such a way that this would be supported - and even then, at least some objects would need manual updating when the system site collection is updated.