Skip to content

Reference Directory Layout

madscatt edited this page Jun 20, 2026 · 2 revisions

Docs Dir Layout

directory layout

  • when generating a genapp application, the genapp tool is run from some directory BASEDIR

  • the genapp tool $ genapp.pl is run from within the directory and each language LANGUAGE listed in the directives.json file will create output in BASEDIR/output/LANGUAGE

additional files

advanced usage: language specific overrides [rev 610+]

  • during the run of genapp.pl, if BASEDIR/LANGUAGE exists for any language:
    • the BASEDIR/LANGUAGE/directives.json will be appended to the BASEDIR/directives.json definitions
    • nb:
      • "languages" tag can not be included in a language specific json
      • json redefinitions of any top level tags will be replaced
      • e.g. if BASEDIR/directives.json has "sometag" : "abc" and BASEDIR/LANGUAGE/directives.json has "sometag" : "xyz", the value for "sometag" will be "xyz" for that LANGUAGE
      • this is true regardless of tag contents ( don't fall into the trap that some sub level will be replaced at that sub level )
        • e.g. BASEDIR/directives.json contains a value for "sometag":
   "sometag" : { "abc" : "hi", "def" : "there" }
  - and BASEDIR/LANGUAGE/directives.json contains:
   "sometag" : { "def" : "not here" }
  - the final value for "sometag" seen for this language will be
   "sometag" : { "def" : "not here" }
  • the BASEDIR/LANGUAGE/menu.json will replace the BASEDIR/menu.json for that LANGUAGE
  • any BASEDIR/LANGUAGE/modules/module.json will replace the module.json for that module for that LANGUAGE
  • any files and directories BASEDIR/LANGUAGE/add will be copied over to output (this occurs after BASEDIR/add copies, so these will overwrite duplicate files... a warning will be generated if an overwrite occurs

Clone this wiki locally