This is an open question for all, with a few potential angles.
In Landmark Multi-Tenant using LPL, from a Menu, how can I open a form (or from a form, open an action) into a new tab or window, programmatically?
Ultimately I am trying to make Infor's Step-Up Authentication work with Microsoft Entra (formerly Azure ID). The documentation guiding how to set up Step-Up Authentication technically works, it just doesn't work with Microsoft Entra because Microsoft has disallowed their authentication page to be opened in a frame. I brought this to Infor in a support ticket and they've determined this is not a support issue and would be customization. The Step-Up Authentication approach works in my specific use case, only when I have already opened the page in a new tab/window, removing the Mingle frame.
All I need to make it work is for at any point along the line, to open the page in a new tab, dropping the Mingle Wrapper. I don't want to have to direct our users to open a link in a new tab to make this work, the page should do this for them. I don't see LPL to do that for an action. The closest thing I could come up with was to attempt to open the form through an external link.
The example I used to figure this out was the Landmark Reveal page. The code it uses is:
link is external "<base url(webapp is AdministratorConsole)>/web/landmark/reveal.html"
I am wanting to apply this approach specifically to the "Pay" link in the left Employee Space menu, so I've edited the XiEmployeeMenu and set the Pay link similarly.
Rather than the delivered:
form is Employee.XiEmployeePayForm
I have replaced it with:
link is external "<base url(webapp is EmployeeSelfService)>/EmployeeSelfService/form/Employee(<actor.agent(Employee).HROrganization>,<actor.agent(Employee).Employee>).XiEmployeePayForm"
This almost works, but this specific form needs the HROrganization and Employee provided in the URL. I just can't get it to actually pass the HROrg and Employee from the session into the URL. I can hardcode values in the LPL in place of these and the URL works, but it's obviously not going based on the session's actor at that point. If I remove the <>'s, it passes the string literal. If I use the <>'s, I receive the values {1} and {2}. So like Employee({1},{2}).XiEmployeePayForm. The specific values actor.agent(Employee).HROrganizationor actor.agent(Employee).Employee are not problematic, because I receive the same translations for testing with just actor.
Additionally, since this is a Menu, I can't add any sort of fields to it to try and use instead.
Any thoughts? I am open to some different approaches if necessary. I'm just trying to keep it as transparent to the end user as possible.
Thank you!