Overview

Directories

One main design idea for Nodelab is to be similar to a modern developer environment. One effect of this is that Nodelab configuration is mostly text-based. This means that the configuration can be stored in one or several repositories, e.g. GIT. Changes can easily be tracked and reversed, and whole configurations can be copied and slightly modified for testing or similar deployments.

The root of the configuration is a file path on the server. Note that files with a .esc suffix are Edgescript® files.

  • cache
    • server
      • <Server code>
        • download (for generated files)
        • upload (for uploaded files)
    • shared
      • asset (for assets copied from packages)
  • package
    • <Package code>
      • <Version code>
        • app
          • <App code>
            • menu
              • <Top menu title>
                • <Submenu title...>
                  • page.esc
            • app.esc
        • class
          • <Class name>.esc
        • pattern (for download- and parsing instructions)
          • <Pattern file name>.esc
        • package.esc
  • site
    • <Site code>>
      • cache
        • server
          • <Server code>
            • repo
              • <Org code>
                • <Repo name>
                  • <Version>
                    • <Cached files parsed by patterns>
      • records (for Nodelab setup records. May be in a more restricted GIT)
        • <Server code>
          • Groups.xlsx
          • Members.xlsx
          • Permissions.xlsx
          • Roles.xlsx
          • Services.xlsx
      • resources (this is that repository root for server files)
        • globalCopy (these are copied from global packages based on site version.esc content)
          • lang (language definitions)
          • package
            • <Package code>
              • <Version code>
                • app
                  • <App code>
                    • menu
                      • <Top menu title>
                        • <Submenu title...>
                          • page.esc
                    • app.esc
                • class
                  • <Class name>.esc
                • pattern
                  • <Pattern file name>.esc
                • package.esc
        • server (these are overrides for specific servers)
        • site (these are package version files, overrides and datasources for the site)
          • package
            • <Package code>
              • datasource (organizations not stored in admin database)
                • <Data code>
                  • <Org code>
                    • organization.esc
              • org (organizations stored in the admin database)
                • <Org code>
                  • organization.esc
              • version.esc
          • project (these are user-defined packages that can be converted into packages)
            • <Owner email (upper case)>
              • <Project code>
                • app
                  • <App code>
                    • menu
                      • <Top menu title>
                        • <Submenu title...>
                          • page.esc
                    • app.esc
                • class
                  • <Class name>.esc
                • files
                  • <File>
                • org
                  • <Org code>
                    • organization.esc
                • pattern
                  • <Pattern file name>.esc
                • package.esc
        • site.esc