directives.json information

The directives.json file provides multiple control and configuration directives for the generation of the application[s]

documentation tab

To create a tab for "docs", you need to include the following:

   "docsbaseurl" : "somedirectory"
  • where "somedirectory" is a directory which exists under your output/html5 directory
  • it can be a symbolic link
  • the system will find menu and module specific documentation based upon the users last visit or reattach
    • the register/user config/job manager/file manager modal dialogs do not currently change the last visit help path
  • the path under the docsbaseurl will be
    • somedirectory/index.html for general help
    • somedirectory/"menu"/"menu".html for menu choice help
    • somedirectory/"menu"/"module"/"module".html for module help


The mongodb currently used by the html5/php backend can support journaling and this is recommended. Unfortunately, this is not supported by default on 32 bit versions of mongodb due to memory restrictions and is now disabled by default. It is recommended that you add

    "mongojournal" : "true",

to your directives.json file on 64 bit systems.

footer control

  • example fields
      "footer"                    : "Test footer data",
      "footersize"                : "2rem",
  • both "footer" and "footersize" are required
  • the "footer" can have any valid html for html5 generation
  • the "footersize" can be and valid css size
    • probably best to use something in 'em' or 'rem' units to allow for a variety of scaling of fonts

log files

  • when a job runs, it is assigned a unique id (UUID) and several log files can be created by the framework
    • _args_UUID contains the input JSON
    • _cmds_UUID contains the executed command string
    • _stdout_UUID contains the standard output of the executable (which should be valid output JSON)
    • _stderr_UUID contains the standard errbor output of the executable
  • these files are typically created in the run directory, but can be moved to a subdirectory of the run directory by including the "logdirectory" tag in the directives.json, for example, in the following, the log files will be placed in _logs/
      "logdirectory"               : "_logs",
    • note that reattachment to previously run jobs reads the logs, so the actual log directory used is stored in the job information record in the database
      • this allows changing of the "logdirectory" without losing reattach access to previous results.

global help

  • main window help text can be defined in directives.json
      "help"                      : {
                                     "user_config" : "this is user config help"
                                     ,"register"    : "this is register help"
                                     ,"jobs"        : "this is jobs help"
                                     ,"files"       : "this is file help"
                                     ,"feedback"    : "this is feedback help"
                                     ,"docs"        : "this is docs help"
                                     ,"login"       : "this is login help"
                                     ,"logoff"      : "this is logoff help"
                                     ,"help"        : "this is help help"
                                     ,"project"     : "this is project help"
                                     ,"menu"        : "this is menu help"
                                     ,"submit"      : "this is help for the submit button"
                                     ,"reset"       : "this is help for the reset to default values button"
  • notes
    • different text is provided to the register/user_config icon depending on state (since this icon behaves differently if a user is logged on or off)
    • help on any specific element can be excluded by simply excluding it from the json
      • except for user_config & register which need to be both included or excluded
        • although if you want only one, leave the other set to ""


  • a "captcha" will be required for registration and is also optional for any module's submit
  • to enable captcha add to directives.json
       "enablecaptcha" : "true",

registration options

  • to add the email verification mechanism and / or administrator approval of new accounts, add either or both of the following to the directives file
        ,"register" : {
            "verifyemail"             : "true"
            ,"requireapproval"        : "true"


  • forces a modal dialog giving only register & login options when not logged in
  • all modules are forced to run only under login
  • to enable add to directives.json
       "usesplash" : "true",


  • the directives json has a style section to control some bits of general appearance
  • this may later be converted into a pure css section, but for now, these few elements are supported, e.g.:
        ,"style" : {
    # fix the sidebar (menu) width
            "sidebarwidth"         : "240px"
    # specify a right margin
            ,"rightmargin"         : "240px"
    # alignment of the menu text
            ,"sidebartextalign"    : "left"
    # extra space between the left edge and the menu text
            ,"sidebarleftpadding"  : "10px"
    # extra space between the right of the text and the edge of the menu box
    # note: this will be *inside* the color box
            ,"sidebarrightpadding" : "10px"
    # extra space between outside of menu box
            ,"sidebarrightmargin"  : "10px"
    # specify a global background image
            ,"backgroundimage"     : "pngs/testbg.png"
    # force the menu to always show
            ,"nomenuhide"          : "true"
    # give the menu text a color other than the default text color (in r,g,b format)
            ,"menutextcolor"       : "77,88,99"
    # give the menu a background color  (in r,g,b format)
            ,"menubackgroundcolor" : "123,22,255"
    # give the menu a title
            ,"menutitle"           : "This is the menu"
    # fix menu position
            ,"menupositionfixed"   : "true"
  • N.B. backgroundimage can not be currently combined with user colors

user defined colors

  • available in revision 728+
  • allows user to override the default colors
  • update colors? option will show up in user configuration screen
  • currently only background and foreground colors are enabled
  • to enable add to directives.json
       "usercolors" : "true",
  • N.B. can not be combined with backgroundimage in directives.json, in menu.json or in module.json
Last modified 2 years ago Last modified on Jul 17, 2016, 5:24:25 PM