DSL Project Folder Structure
Helium enforces a certain folder structure for apps. If apps do not conform to this structure, they cannot be compiled and deployed.
Description | |
---|---|
builtin-reports | Jasper reports that are used as attachments for emails sent from DSL logic. Each report and its associated resources (sub-reports and images) must be in a separate folder. Note that the Helium Dev client does not expect a recursive folder structure here. All resources for a report must be in that report's folder and not nested any deeper. |
model | Data model definition for DSL logic and views across the entire app (mobile and web modules). |
jasper-reports | Jasper reports that are displayed under the "Reports" menus in web applications. Each sub-folder in this folder represents a single report. Further sub-folders are ignored. |
services | Files that contain units with logic that are called as services from Helium such as functions annotated by @InviteUser , @RoleName , @Scheduled , @ReceiveSms . |
shared-libs | Contains list of zero or more directories, each representing a shared library that is included in the project. |
utilities | Files that contain units with logic that is referenced from your Helium web application. |
web-app | Contains the following sub-folders and represents the DSL web application: |
notification-templates | Contains files per locale containing messaging templates for Helium invite messages. Detailed documentation can be found here. |
sql-scripts | Contains SQL scripts that will be executed as part of schema upgrade during app deployment. Detailed documentation can be found here. |
static | Contains static web content resources to be used for rendering custom HTML in views as part of the <static> widget. |
See the hierarchical structure below for further reference:
builtin-reports
- per report folder
- report jrxml file
- other image or subreport resource
- ...
- per report folder
model
jasper-reports
- per report folder
report.json
master.jxml
- other image or subreport resource
- ...
- per report folder
services
shared-libs
utilities
notification-templates
sql-scripts
- any flat or nested directory structure containing .sql files
web-app
- email-templates
images
lang
presenters
views
static
- any flat or nested directory structure containing static web content such as HTML, JS, CSS and images.
- any flat or nested directory structure containing static web content such as HTML, JS, CSS and images.