> For the complete documentation index, see [llms.txt](https://community-test.logicnets.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://community-test.logicnets.com/release-9/example-gallery/example-applications/starter-app-example-project-release-7-4-only.md).

# Starter App Example Project (Release 7.4 only)

Please use the attached *Easy Customization Starter* Example Project. The principles explained below are used in this example project too, but the sample data and screenshots will not match.

## Overview

The *StarterAppPackageLaunchExample* sample project demonstrates the use of package launch functionality to launch content packages.

![](https://2802811211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdFhfexCjZ5JMhwGzzywq%2Fuploads%2Fgit-blob-a6f6c37cc051454df420564463ff238484a214d9%2F3b02e043-9c21-4b2d-a1a8-0c76c4f55d7a.png?alt=media)

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.

![](https://2802811211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdFhfexCjZ5JMhwGzzywq%2Fuploads%2Fgit-blob-4f6e223af545465ba2fa96c8f3b933d384e45972%2Fb76c1721-b7f0-47e2-994f-9513b16ccdfa.png?alt=media)

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.

![](https://2802811211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdFhfexCjZ5JMhwGzzywq%2Fuploads%2Fgit-blob-0fe3558405444091bf982153d769a2d6438b1fbb%2Ff0780f99-9cb5-4add-9d11-be82d0eea10b.png?alt=media)

* 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).

![](https://2802811211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdFhfexCjZ5JMhwGzzywq%2Fuploads%2Fgit-blob-3994c29c83039dc1cb9d21ae82a8abed69076030%2Faba90850-a357-4628-9ca7-48375a5493b5.png?alt=media)

* 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.

## Extract Data

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.

![](https://2802811211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdFhfexCjZ5JMhwGzzywq%2Fuploads%2Fgit-blob-d62581a21b393596e5e1bcc4adf127536c413a94%2F8622add3-a033-4809-9260-10611db577a9.png?alt=media)

## Attachments

* [Starter Template (Easy Customization) 745.zip](https://github.com/logicnets/community-portal/tree/release-9/docs/.gitbook/assets/80p784-Starter-Template-Easy-Customization-745.zip)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://community-test.logicnets.com/release-9/example-gallery/example-applications/starter-app-example-project-release-7-4-only.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
