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 |
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-reportsper report folder
report jrxml file
other image or subreport resource
...
modeljasper-reportsper report folder
report.jsonmaster.jxmlother image or subreport resource
...
servicesshared-libsutilitiesnotification-templatessql-scriptsany flat or nested directory structure containing .sql files
web-appemail-templates
imageslangpresentersviewsstaticany flat or nested directory structure containing static web content such as HTML, JS, CSS and images.