IFrame In Portal
Do you want to decouple your project and the Portal when starting a task to reduce your migration efforts? If the answer is yes, this chapter will help you.
Since Portal 8, we introduced a new feature that a process/task can be started inside an IFrame This means that you can design your HTML dialog independent of the Portal. It is rendered automatically inside an IFrame by default.
How To Use
Important
By default, i.e. if there is no configuration, a process/task is started inside an IFrame.
Follow these steps to use the IFrame approach:
Your HTML User Dialog has to be independent of the Portal. You can use the
frame-_x_template in designer, or your own template. Portal will render it automatically in an IFrame.To pass some supported params into the IFrame such as process steps, refer to IFrameTaskTemplate
If you don’t want to use the default configuration, apply one of the following three levels to open your task(s) in an IFrame:
Task level: in Task custom fields, set the
embedInFrameString field totrue: start inside IFramefalse: not start inside IFrameDon’t set if you want to use case or engine level

Case level: in Case custom fields, set the
embedInFrameString field totrue: start inside IFramefalse: not start inside IFrameDon’t set if you want to use engine level

Engine level:
The Portal Administrator can define globally that all of the tasks running on the engine are started inside IFrames by using the
Portal.EmbedInFramePortal setting. refer to HowTo: Update Portal Settings
Customization
If you have built your own portal and had copied the process PortalStart
from portal to your project, you have to follow some important
steps to ensure that your processes/tasks can be rendered inside an IFrame:
Make sure your own portal project depends on
portal
E.g:
CustomizedPortaldepends on theportalCreate a business project that contains all business processes.
E.g: A project name
BusinessProjectIf your business project
BusinessProjectneeds some data or resources from the Portal projectCustomizedPortalthen create a dependency between these two projects. If not, please skip step 2.b.
E.g.
BusinessProjectdepends onCustomizedPortalChange the
DefaultPagesinStandardProcessesto your customized portal project library id. For details, refer to Standard Processes.
E.g: DefaultPages:
CustomizedPortalID.
Now you can develop your own processes inside the BusinessProject and the dialogs will be rendered automatically using IFrames.
Important
We have to create two projects: CustomizedPortal and BusinessProject.
Create your process start in BusinessProject, not in CustomizedPortal.
Because you copied PortalStart.p.json, this contains the
DefaultFramePage.ivp start. So every process start which is in the same
PMV as the DefaultFramePage.ivp is not opened in the IFrame, to
avoid recursion. This means that the IFrame Dialog itself is not opened
again in an IFrame and so on.