lib/schema/moboSettings.schema.yaml

Summary

Maintainability
Test Coverage
---
"$schema": http://json-schema.org/draft-04/schema#
description: mobo model JSON Schema

properties:
  mw_server_url:
    type:
    - string
    - boolean
    description: |
      URL to your MediaWiki server without trailing slash.
      Do not include the port or relative path to MediaWiki!

  mw_server_path:
    type:
    - string
    - boolean
    description: |
      Relative path to the MediaWiki installation without trailing slash

  mw_server_port:
    type:
    - number
    - boolean
    description: |
      The port your MW installation is using.

  mw_username:
    type: string
    description: The username of your mobo bot account

  mw_password:
    type: string
    description: The password of your mobo bot account

  debug:
    type: boolean
    description: Turns the debug mode on. This deactivated graceful error handling.

  verbose:
    type: boolean
    description: More verbose console output. This will also tighten the model validation
      and display minor notices

  allowAdditionalProperties:
    type: boolean
    description: |
      If false, mobo will warn when the development model contains unsupported/unknown properties.
      This is very helpful to spot typos and other accidents when modeling

  logDate:
    type: boolean
    description: Prepend the time (and eventually date) on each logging message

  logLongDate:
    type: boolean
    description: If true and logDate is enabled, the full date will be logged in addition
      to the time

  logObjectsAsYaml:
    type: boolean
    description: 'Logging / CLI output: Prints JavaScript Object as colorized YAML'

  arrayMergeOptions:
    type: object
    description: Default settings (using @annotations) for array merges
    properties:
      "$remove":
        type: array
        items:
          type: string
      enum:
        type: array
        items:
          type: string
      form:
        type: array
        items:
          type: string
      recommended:
        type: array
        items:
          type: string
      required:
        type: array
        items:
          type: string
      itemsOrder:
        type: array
        items:
          type: string
      smw_categories:
        type: array
        items:
          type: string

  displayTodos:
    type: boolean
    description: Displays the content of todo properties from your JSON files

  writeLogFile:
    type: boolean
    description: If this is enabled, mobo will create logfiles in /_processed/logfiles/*

  uploadReport:
    type: boolean
    description: If this is enabled, mobo will upload a report at User at /User:<bot
      username>

  uploadOutline:
    type: boolean
    description: If this is enabled, mobo will upload an outline of the model at /User:<bot
      username>/outline

  uploadOutlineCountRefs:
    type: boolean
    description: Adds an counter how often a template / property was internally referenced

  uploadLogFile:
    type: boolean
    description: If this is enabled, mobo will upload the logfile in addition to the
      report

  overwriteImportedPages:
    type: boolean
    description: If this is enabled, mobo in --import mode will overwrite already
      existing wiki pages

  watchFilesystem:
    type: boolean
    description: Watches the (development) project files for changed and automatically
      triggers re-generation.

  serveWebApp:
    type: boolean
    description: Serves the webGUI / app at localhost.

  webAppPort:
    type: number
    description: Port the WebApp is served on the localhost

  autoRefreshWebGui:
    type: boolean
    description: WebGui is automatically refreshed if the server makes changes to
      the model

  autoRefreshPort:
    type: number
    description: WebSocket port the server and the WebGui are using to notify the
      change. Change this if the port is already used.

  statistics:
    type: boolean
    description: Displays simple statistics about the project model. Statistics will
      also be written / appended to `/_processed/_statistics.csv`

  gitStatistics:
    type: boolean
    description: Adds some git related statistics. Will only work if git is installed
      and the project is a git repository.

  buildGraph:
    type: boolean
    description: Builds graph files (.gexf) from the model.

  writeExportFiles:
    type: boolean
    description: If true mobo will write every generated file as a single file into
      the filesystem. This can be slow due to a lot of HDD I/O

  compatibilityLayer:
    type: boolean
    description: Set to false, if you want to skip the compatibility layer that migrates
      deprecated models to the latest standard.

  force:
    type: boolean
    description: Forces mobo to continue despite possible errors

  uploadWikiPages:
    type: boolean
    description: Uploads the generated WikiPages to an external Wiki

  deleteWikiPages:
    type: boolean
    description: Deletes removed WikiPages from the external Wiki (use with care,
      this destroys the polymorphism!)

  forceUpload:
    type: boolean
    description: "Forces the upload of all generated WikiPages, even if no changes
      were detected. \nThis can sometimes be useful, if some changes were lost or
      you want to go for sure."

  uploadConcurrency:
    type: number
    minimum: 1
    description: Concurrent upload processes

  headerTabs:
    type: boolean
    description: If true, the HeaderTabs Extension will be used with the generated
      forms. Keep in mind that you still have to create the headings to make this
      work!

  formEditHelper:
    type: boolean
    description: If enabled this creates **FormEdit Helper Categories** that tag the
      WikiPages that were generated through a form as editable by that form.

  hideFormEditHelper:
    type: boolean
    description: If true this will hide the introduced Helper Categories from the
      display

  smw_semanticDrilldown:
    type: boolean
    description: 'Automatically generates SemanticDrilldown #drilldowninfo functions.'

  firstAlternativeFormAsDefault:
    type: boolean
    description: If more than one form is defined through an oneOf array, this setting
      will set the first form as the default if true. If set to false, no form will
      be used as default and the user has to choose first.

  arraymapSeparator:
    type: string
    description: Separator to seperate between multiple items

  useSimpleTooltipDescriptions:
    type: boolean
    description: 'If enabled, descriptions will be included as SimpleTooltip tooltips.
      WARNING: You need to install the SimpleTooltip extension to make this work.'

  defaultTemplateDisplay:
    type: string
    description: Default Template Display renderer. See mobo_template/template.wikitext
      to see or change how they are rendered.

  generatedByMobo:
    type: boolean
    description: If enabled, mobo appends a warning and a category to each wiki page
      generated.

  generatedByMoboText:
    type: string
    description: Wikitext that will be prefixed to each mobo generated page

  generateTemplateData:
    type: boolean
    description: Whether to generate a TemplateData (a VisualEditor extension) to
      describe templates

  sf_responsiveForms:
    type: boolean
    description: "If enabled, mobo renders the SemanticForms as a div layout instead
      of the standard table layout. \nThis enables more control over the layout, including
      some responsiveness (Bootstrap grid layout). \nWARNING: You need to style/layout
      the divs by yourself, or use the Chameleon skin. \nSemanticForms itself does
      not support / supply this for a div based layout."

  sf_wpPreview:
    type: boolean
    description: 'Semantic Forms Edit-View: Render the Preview Button'

  sf_wpDiff:
    type: boolean
    description: 'Semantic Forms Edit-View: Render the Diff Button'

  sf_wpWatchthis:
    type: boolean
    description: 'Semantic Forms Edit-View: Render the Watch this checkbox option'

  cwd:
    type: string
    description: 'AUTO GENERATED, can be overwritten: Working (root) directory of
      the project where the settings.json is located'

  importModelDir:
    type: string
    description: AUTO GENERATED, can be overwritten.

  templateDir:
    type: string
    description: AUTO GENERATED, can be overwritten.

  logDir:
    type: string
    description: AUTO GENERATED, can be overwritten.

  processedModelDir:
    type: string
    description: AUTO GENERATED, can be overwritten.

  buildGraphSettings:
    type: object
    description: Sets the size and weight of nodes and edges
    properties:
      dataTypeNodeSize:
        type: number
        minimum: 0
      templateNodeSize:
        type: number
        minimum: 0
      modelNodeSize:
        type: number
        minimum: 0
      formNodeSize:
        type: number
        minimum: 0
      edgeWeight:
        type: number
        minimum: 0
      multipleEdgeWeight:
        type: number
        minimum: 0

additionalProperties: false