Starter App Example Project
Please use the Easy Customization Starter Example Project attached.
The principles explained below are used in this example project too, but the sample data and screenshots will not match.
The StarterAppPackageLaunchExample sample project demonstrates the use of package launch functionality to launch content packages.
The main_panel_ui logicnet implements a simple grid that shows all sessions and the main_panel_process logicnet handles the user input:
- When the user clicks on the New session button the system calls the new_session logicnet to start up the content package ‘ExampleProject’ with a new session.
- When the user clicks on the Resume session button the system calls the resume_session logicnet to start up the content package ‘ExampleProject’ with the session corresponding to the item selected in the grid.
- The logicnet called "save_session_data" contains the session storage functions and stores the session data to a local data table called "sessions".
- When the user clicks on the Delete session button the system deletes the selected session.
Direct Package Launch
The new_session logicnet demonstrates the direct launch of the "ExampleProject" package using the 'Launch package' function.
The name of the package ExampleProject is specified in the package name parameter field. The submit and cancel option buttons are also identified. These will display in the top bar of the launched package.
Node 110 sets initial meta data to pass into the launched package. The output_data data object will store the data from the launched package once the user returns to the Portal Application. Additionally, the system stores data sessions table so the user can resume the session at a later point in time.
Indirect Package Launch
The resume_session logicnet demonstrates indirect package launch and how a package can be launched by breaking up the package launching functionality into smaller steps. In this example the system gets the session key and uses it to determine if the user returns properly from the launched package.
- In node 20 the system loads the saved session data from the sessions table.
- In node 120 the system performs a check to determine if the previous session closed properly or not. If the previous session was not closed properly the entry in the session table will store the session key of the last open session. The system can prompt the user if the last session did not close properly and ask if he would like to restore the last session (node 190).
- If the user wants to restore the last session, the system goes to StartSession (node 220) and uses the session key. Otherwise, the system creates a new session (node 210).
- When the package is properly closed the user reaches node 260 and the system can perform a check for errors.
- If there are no errors the system will check in node 60 to determine if the user clicked the submit button, in which case the system will save the updated data to the session table.
The output data object stores the DataLog, DataItem, and the reports. If you want to extract specific data values you can do so using a query collection part.