You have been redirected from an outdated version of the article. Below is the content available on this topic. To view the old article click here.

Static Resources

When Structr is started in the typical setup by running the structr-ui module, a Servlet container (Jetty) is started.

Structr comes with an integrated administrative user interface (referred to as “Structr UI” or “the UI”) which is a Single-Page Application built with plain HTML, CSS and JavaScript/jQuery. The HTML page and the resource files needed to run the UI are what we call Static Resources in contrast to the resource files dynamically served by the integrated Content Management System of Structr.

Installation location

There are two different locations where the static resources are installed, depending on whether you installed Structr from one of the distribution packages (*-dist.zip or .deb) or cloned and build the sources yourself.

When installed with a distribution, the files are in the structr relative to the Structr main directory.

In the source tree, the static resources can be found in src/main/resources.

Important note: The configuration parameter StructrUiHandler.resourceBase in structr.conf has to reflect the correct location of the static resources relative to the main Structr directory in order to make the UI work.

Files and folders

Here’s a list of all the static resources that come with a typical Structr installation:

├── assemblies
│   └── dist.xml
├── bin
│   ├── add_grants.sh
│   ├── add_mail_templates.sh
│   ├── config
│   ├── cypher
│   ├── delete
│   ├── env
│   ├── get
│   ├── make_key.sh
│   ├── post
│   ├── put
│   ├── rebuld_index.sh
│   ├── seed2.sh
│   ├── seed.sh
│   ├── seed-ssh.sh
│   ├── start
│   ├── stop
│   └── su
├── context.xml
├── fetcher.properties
├── mime.types
├── repository.properties
├── stopwords
│   └── stop-words.zip
├── structr
│   ├── agplv3.html
│   ├── codemirror
│   │   ├── addon
│   │   │   ├── comment
│   │   │   │   ├── comment.js
│   │   │   │   └── continuecomment.js
│   │   │   ├── dialog
│   │   │   │   ├── dialog.css
│   │   │   │   └── dialog.js
│   │   │   ├── display
│   │   │   │   ├── fullscreen.css
│   │   │   │   ├── fullscreen.js
│   │   │   │   ├── placeholder.js
│   │   │   │   └── rulers.js
│   │   │   ├── edit
│   │   │   │   ├── closebrackets.js
│   │   │   │   ├── closetag.js
│   │   │   │   ├── continuelist.js
│   │   │   │   ├── matchbrackets.js
│   │   │   │   ├── matchtags.js
│   │   │   │   └── trailingspace.js
│   │   │   ├── fold
│   │   │   │   ├── brace-fold.js
│   │   │   │   ├── comment-fold.js
│   │   │   │   ├── foldcode.js
│   │   │   │   ├── foldgutter.css
│   │   │   │   ├── foldgutter.js
│   │   │   │   ├── indent-fold.js
│   │   │   │   ├── markdown-fold.js
│   │   │   │   └── xml-fold.js
│   │   │   ├── hint
│   │   │   │   ├── anyword-hint.js
│   │   │   │   ├── css-hint.js
│   │   │   │   ├── html-hint.js
│   │   │   │   ├── javascript-hint.js
│   │   │   │   ├── python-hint.js
│   │   │   │   ├── show-hint.css
│   │   │   │   ├── show-hint.js
│   │   │   │   ├── sql-hint.js
│   │   │   │   └── xml-hint.js
│   │   │   ├── lint
│   │   │   │   ├── coffeescript-lint.js
│   │   │   │   ├── css-lint.js
│   │   │   │   ├── javascript-lint.js
│   │   │   │   ├── json-lint.js
│   │   │   │   ├── lint.css
│   │   │   │   ├── lint.js
│   │   │   │   └── yaml-lint.js
│   │   │   ├── merge
│   │   │   │   ├── merge.css
│   │   │   │   └── merge.js
│   │   │   ├── mode
│   │   │   │   ├── loadmode.js
│   │   │   │   ├── multiplex.js
│   │   │   │   ├── multiplex_test.js
│   │   │   │   ├── overlay.js
│   │   │   │   └── simple.js
│   │   │   ├── runmode
│   │   │   │   ├── colorize.js
│   │   │   │   ├── runmode.js
│   │   │   │   ├── runmode.node.js
│   │   │   │   └── runmode-standalone.js
│   │   │   ├── scroll
│   │   │   │   ├── annotatescrollbar.js
│   │   │   │   └── scrollpastend.js
│   │   │   ├── search
│   │   │   │   ├── matchesonscrollbar.css
│   │   │   │   ├── matchesonscrollbar.js
│   │   │   │   ├── match-highlighter.js
│   │   │   │   ├── searchcursor.js
│   │   │   │   └── search.js
│   │   │   ├── selection
│   │   │   │   ├── active-line.js
│   │   │   │   └── mark-selection.js
│   │   │   ├── tern
│   │   │   │   ├── tern.css
│   │   │   │   ├── tern.js
│   │   │   │   └── worker.js
│   │   │   └── wrap
│   │   │       └── hardwrap.js
│   │   ├── codemirror-compressed.js
│   │   ├── keymap
│   │   │   ├── emacs.js
│   │   │   ├── sublime.js
│   │   │   └── vim.js
│   │   ├── lib
│   │   │   ├── codemirror.css
│   │   │   └── codemirror.js
│   │   ├── mode
│   │   │   ├── apl
│   │   │   │   └── apl.js
│   │   │   ├── asterisk
│   │   │   │   └── asterisk.js
│   │   │   ├── clike
│   │   │   │   ├── clike.js
│   │   │   │   └── scala.html
│   │   │   ├── clojure
│   │   │   │   └── clojure.js
│   │   │   ├── cobol
│   │   │   │   └── cobol.js
│   │   │   ├── coffeescript
│   │   │   │   └── coffeescript.js
│   │   │   ├── commonlisp
│   │   │   │   └── commonlisp.js
│   │   │   ├── css
│   │   │   │   ├── css.js
│   │   │   │   ├── less.html
│   │   │   │   ├── less_test.js
│   │   │   │   ├── scss.html
│   │   │   │   ├── scss_test.js
│   │   │   │   └── test.js
│   │   │   ├── cypher
│   │   │   │   └── cypher.js
│   │   │   ├── d
│   │   │   │   └── d.js
│   │   │   ├── diff
│   │   │   │   └── diff.js
│   │   │   ├── django
│   │   │   │   └── django.js
│   │   │   ├── dockerfile
│   │   │   │   └── dockerfile.js
│   │   │   ├── dtd
│   │   │   │   └── dtd.js
│   │   │   ├── dylan
│   │   │   │   └── dylan.js
│   │   │   ├── ecl
│   │   │   │   └── ecl.js
│   │   │   ├── eiffel
│   │   │   │   └── eiffel.js
│   │   │   ├── erlang
│   │   │   │   └── erlang.js
│   │   │   ├── fortran
│   │   │   │   └── fortran.js
│   │   │   ├── gas
│   │   │   │   └── gas.js
│   │   │   ├── gfm
│   │   │   │   ├── gfm.js
│   │   │   │   └── test.js
│   │   │   ├── gherkin
│   │   │   │   └── gherkin.js
│   │   │   ├── go
│   │   │   │   └── go.js
│   │   │   ├── groovy
│   │   │   │   └── groovy.js
│   │   │   ├── haml
│   │   │   │   ├── haml.js
│   │   │   │   └── test.js
│   │   │   ├── haskell
│   │   │   │   └── haskell.js
│   │   │   ├── haxe
│   │   │   │   └── haxe.js
│   │   │   ├── htmlembedded
│   │   │   │   └── htmlembedded.js
│   │   │   ├── htmlmixed
│   │   │   │   └── htmlmixed.js
│   │   │   ├── http
│   │   │   │   └── http.js
│   │   │   ├── idl
│   │   │   │   └── idl.js
│   │   │   ├── index.html
│   │   │   ├── jade
│   │   │   │   └── jade.js
│   │   │   ├── javascript
│   │   │   │   ├── javascript.js
│   │   │   │   ├── json-ld.html
│   │   │   │   ├── test.js
│   │   │   │   └── typescript.html
│   │   │   ├── jinja2
│   │   │   │   └── jinja2.js
│   │   │   ├── julia
│   │   │   │   └── julia.js
│   │   │   ├── kotlin
│   │   │   │   └── kotlin.js
│   │   │   ├── livescript
│   │   │   │   └── livescript.js
│   │   │   ├── lua
│   │   │   │   └── lua.js
│   │   │   ├── markdown
│   │   │   │   ├── markdown.js
│   │   │   │   └── test.js
│   │   │   ├── meta.js
│   │   │   ├── mirc
│   │   │   │   └── mirc.js
│   │   │   ├── mllike
│   │   │   │   └── mllike.js
│   │   │   ├── modelica
│   │   │   │   └── modelica.js
│   │   │   ├── nginx
│   │   │   │   └── nginx.js
│   │   │   ├── ntriples
│   │   │   │   └── ntriples.js
│   │   │   ├── octave
│   │   │   │   └── octave.js
│   │   │   ├── pascal
│   │   │   │   └── pascal.js
│   │   │   ├── pegjs
│   │   │   │   └── pegjs.js
│   │   │   ├── perl
│   │   │   │   └── perl.js
│   │   │   ├── php
│   │   │   │   ├── php.js
│   │   │   │   └── test.js
│   │   │   ├── pig
│   │   │   │   └── pig.js
│   │   │   ├── properties
│   │   │   │   └── properties.js
│   │   │   ├── puppet
│   │   │   │   └── puppet.js
│   │   │   ├── python
│   │   │   │   └── python.js
│   │   │   ├── q
│   │   │   │   └── q.js
│   │   │   ├── r
│   │   │   │   └── r.js
│   │   │   ├── rpm
│   │   │   │   ├── changes
│   │   │   │   │   └── index.html
│   │   │   │   └── rpm.js
│   │   │   ├── rst
│   │   │   │   └── rst.js
│   │   │   ├── ruby
│   │   │   │   ├── ruby.js
│   │   │   │   └── test.js
│   │   │   ├── rust
│   │   │   │   └── rust.js
│   │   │   ├── sass
│   │   │   │   └── sass.js
│   │   │   ├── scheme
│   │   │   │   └── scheme.js
│   │   │   ├── shell
│   │   │   │   ├── shell.js
│   │   │   │   └── test.js
│   │   │   ├── sieve
│   │   │   │   └── sieve.js
│   │   │   ├── slim
│   │   │   │   ├── slim.js
│   │   │   │   └── test.js
│   │   │   ├── smalltalk
│   │   │   │   └── smalltalk.js
│   │   │   ├── smarty
│   │   │   │   └── smarty.js
│   │   │   ├── smartymixed
│   │   │   │   └── smartymixed.js
│   │   │   ├── solr
│   │   │   │   └── solr.js
│   │   │   ├── sparql
│   │   │   │   └── sparql.js
│   │   │   ├── sql
│   │   │   │   └── sql.js
│   │   │   ├── stex
│   │   │   │   ├── stex.js
│   │   │   │   └── test.js
│   │   │   ├── tcl
│   │   │   │   └── tcl.js
│   │   │   ├── textile
│   │   │   │   ├── test.js
│   │   │   │   └── textile.js
│   │   │   ├── tiddlywiki
│   │   │   │   ├── tiddlywiki.css
│   │   │   │   └── tiddlywiki.js
│   │   │   ├── tiki
│   │   │   │   ├── tiki.css
│   │   │   │   └── tiki.js
│   │   │   ├── toml
│   │   │   │   └── toml.js
│   │   │   ├── tornado
│   │   │   │   └── tornado.js
│   │   │   ├── turtle
│   │   │   │   └── turtle.js
│   │   │   ├── vb
│   │   │   │   └── vb.js
│   │   │   ├── vbscript
│   │   │   │   └── vbscript.js
│   │   │   ├── velocity
│   │   │   │   └── velocity.js
│   │   │   ├── verilog
│   │   │   │   ├── test.js
│   │   │   │   └── verilog.js
│   │   │   ├── xml
│   │   │   │   ├── test.js
│   │   │   │   └── xml.js
│   │   │   ├── xquery
│   │   │   │   ├── test.js
│   │   │   │   └── xquery.js
│   │   │   ├── yaml
│   │   │   │   └── yaml.js
│   │   │   └── z80
│   │   │       └── z80.js
│   │   └── theme
│   │       ├── 3024-day.css
│   │       ├── 3024-night.css
│   │       ├── ambiance.css
│   │       ├── ambiance-mobile.css
│   │       ├── base16-dark.css
│   │       ├── base16-light.css
│   │       ├── blackboard.css
│   │       ├── cobalt.css
│   │       ├── eclipse.css
│   │       ├── elegant.css
│   │       ├── erlang-dark.css
│   │       ├── lesser-dark.css
│   │       ├── mbo.css
│   │       ├── mdn-like.css
│   │       ├── midnight.css
│   │       ├── monokai.css
│   │       ├── neat.css
│   │       ├── neo.css
│   │       ├── night.css
│   │       ├── paraiso-dark.css
│   │       ├── paraiso-light.css
│   │       ├── pastel-on-dark.css
│   │       ├── rubyblue.css
│   │       ├── solarized.css
│   │       ├── the-matrix.css
│   │       ├── tomorrow-night-eighties.css
│   │       ├── twilight.css
│   │       ├── vibrant-ink.css
│   │       ├── xq-dark.css
│   │       └── xq-light.css
│   ├── css
│   │   ├── crud.css
│   │   ├── edit.css
│   │   ├── fonts
│   │   │   ├── FontAwesome.otf
│   │   │   ├── fontawesome-webfont.eot
│   │   │   ├── fontawesome-webfont.svg
│   │   │   ├── fontawesome-webfont.ttf
│   │   │   ├── fontawesome-webfont.woff
│   │   │   └── fontawesome-webfont.woff2
│   │   ├── graph_editor.css
│   │   ├── images
│   │   │   ├── sort_asc_disabled.png
│   │   │   ├── sort_asc.png
│   │   │   ├── sort_both.png
│   │   │   ├── sort_desc_disabled.png
│   │   │   └── sort_desc.png
│   │   ├── lib
│   │   │   ├── 32px.png
│   │   │   ├── chosen.min.css
│   │   │   ├── chosen-sprite@2x.png
│   │   │   ├── chosen-sprite.png
│   │   │   ├── fixedHeader.jqueryui.min.css
│   │   │   ├── font-awesome.min.css
│   │   │   ├── images
│   │   │   │   ├── animated-overlay.gif
│   │   │   │   ├── ui-bg_flat_0_aaaaaa_40x100.png
│   │   │   │   ├── ui-bg_flat_75_ffffff_40x100.png
│   │   │   │   ├── ui-bg_glass_55_fbf9ee_1x400.png
│   │   │   │   ├── ui-bg_glass_65_ffffff_1x400.png
│   │   │   │   ├── ui-bg_glass_75_dadada_1x400.png
│   │   │   │   ├── ui-bg_glass_75_e6e6e6_1x400.png
│   │   │   │   ├── ui-bg_glass_95_fef1ec_1x400.png
│   │   │   │   ├── ui-bg_highlight-soft_75_cccccc_1x100.png
│   │   │   │   ├── ui-icons_222222_256x240.png
│   │   │   │   ├── ui-icons_2e83ff_256x240.png
│   │   │   │   ├── ui-icons_454545_256x240.png
│   │   │   │   ├── ui-icons_888888_256x240.png
│   │   │   │   └── ui-icons_cd0a0a_256x240.png
│   │   │   ├── jquery.dataTables.min.css
│   │   │   ├── jquery-ui-1.10.3.custom.css
│   │   │   ├── jquery-ui-1.10.3.custom.min.css
│   │   │   ├── jquery-ui-1.11.0.custom.min.css
│   │   │   ├── jstree-3.2.1.min.css
│   │   │   └── throbber.gif
│   │   └── main.css
│   ├── favicon.ico
│   ├── fonts
│   │   ├── OpenSans-BoldItalic.ttf
│   │   ├── OpenSans-Bold.ttf
│   │   ├── OpenSans-ExtraBoldItalic.ttf
│   │   ├── OpenSans-ExtraBold.ttf
│   │   ├── OpenSans-Italic.ttf
│   │   ├── OpenSans-LightItalic.ttf
│   │   ├── OpenSans-Light.ttf
│   │   ├── OpenSans-Regular.ttf
│   │   ├── OpenSans-SemiboldItalic.ttf
│   │   └── OpenSans-Semibold.ttf
│   ├── icon
│   │   ├── accept.png
│   │   ├── add_grey.png
│   │   ├── add.png
│   │   ├── add_small_grey.png
│   │   ├── application_cascade.png
│   │   ├── application_form_add.png
│   │   ├── application_view_detail.png
│   │   ├── arrow_in.png
│   │   ├── arrow_move.png
│   │   ├── arrow_out.png
│   │   ├── arrow_refresh.png
│   │   ├── arrow_switch.png
│   │   ├── arrow_undo.png
│   │   ├── arrow_up_down.png
│   │   ├── book_open.png
│   │   ├── brick_add.png
│   │   ├── brick_delete.png
│   │   ├── brick.png
│   │   ├── bricks.png
│   │   ├── brick_yellow.png
│   │   ├── button.png
│   │   ├── calendar.png
│   │   ├── comment.png
│   │   ├── compress.png
│   │   ├── control_play_blue.png
│   │   ├── control_play.png
│   │   ├── cross.png
│   │   ├── cross_small_grey.png
│   │   ├── cursor2.png
│   │   ├── cursor.png
│   │   ├── database_add.png
│   │   ├── database_gear.png
│   │   ├── database.png
│   │   ├── database_table.png
│   │   ├── delete_gray.png
│   │   ├── delete.png
│   │   ├── error.png
│   │   ├── exclamation.png
│   │   ├── eye.png
│   │   ├── folder_add.png
│   │   ├── folder_database.png
│   │   ├── folder_delete.png
│   │   ├── folder_page_white.png
│   │   ├── folder.png
│   │   ├── folder_upload.png
│   │   ├── group_add.png
│   │   ├── group_delete.png
│   │   ├── group.png
│   │   ├── image.png
│   │   ├── information.png
│   │   ├── key_add.png
│   │   ├── key.png
│   │   ├── layout_add.png
│   │   ├── layout_content.png
│   │   ├── layout_delete.png
│   │   ├── layout_edit.png
│   │   ├── layout.png
│   │   ├── layout_yellow.png
│   │   ├── link.png
│   │   ├── package_add.png
│   │   ├── package_delete.png
│   │   ├── package_green.png
│   │   ├── package.png
│   │   ├── page_add.png
│   │   ├── page_copy.png
│   │   ├── page_delete.png
│   │   ├── page.png
│   │   ├── page_white_acrobat.png
│   │   ├── page_white_add.png
│   │   ├── page_white_code.png
│   │   ├── page_white_delete.png
│   │   ├── page_white_get.png
│   │   ├── page_white.png
│   │   ├── page_white_put.png
│   │   ├── page_white_stack.png
│   │   ├── page_white_text.png
│   │   ├── page_yellow.png
│   │   ├── pencil.png
│   │   ├── pencil_small_grey.png
│   │   ├── pull_page.png
│   │   ├── structr_icon_16x16.png
│   │   ├── tab_add.png
│   │   ├── tab_go.png
│   │   ├── table_go.png
│   │   ├── table_multiple.png
│   │   ├── textfield_add.png
│   │   ├── text_horizontalrule.png
│   │   ├── text_indent_remove.png
│   │   ├── tick.png
│   │   ├── tree_arrow_down.png
│   │   ├── tree_arrow_right.png
│   │   ├── user_add.png
│   │   ├── user_delete.png
│   │   ├── user.png
│   │   ├── wand.png
│   │   ├── wrench.png
│   │   └── xhtml_add.png
│   ├── img
│   │   ├── ajax-loader.gif
│   │   ├── al.gif
│   │   ├── go.gif
│   │   ├── icon_microphone.svg
│   │   ├── structr_gray_200x54.png
│   │   ├── structr-logo_92x60.png
│   │   └── structr-logo.png
│   ├── index.html
│   └── js
│       ├── command.js
│       ├── contents.js
│       ├── crud.js
│       ├── dashboard.js
│       ├── dialogs.js
│       ├── dragndrop.js
│       ├── elements.js
│       ├── entities.js
│       ├── filesystem.js
│       ├── ge
│       │   ├── engine.js
│       │   ├── ge_lib.js
│       │   ├── ge_obj.js
│       │   └── graph_editor.js
│       ├── graph-browser.js
│       ├── graph.js
│       ├── helper.js
│       ├── images.js
│       ├── init.js
│       ├── layout.js
│       ├── lib
│       │   ├── chosen.jquery.min.js
│       │   ├── clipboard.min.js
│       │   ├── dataTables.fixedHeader.min.js
│       │   ├── dateformatconverter.js
│       │   ├── diff_match_patch.js
│       │   ├── dom.jsPlumb-1.7.3-min.js
│       │   ├── jquery-1.11.1.min.js
│       │   ├── jquery.blockUI.js
│       │   ├── jquery.caret.min.js
│       │   ├── jquery.cookie.js
│       │   ├── jquery.dataTables.min.js
│       │   ├── jquery.hoverIntent.min.js
│       │   ├── jquery.json-2.3.min.js
│       │   ├── jquery.mousewheel.js
│       │   ├── jquery.tooltip.pack.js
│       │   ├── jquery-ui-1.11.0.custom.min.js
│       │   ├── jquery-ui-idrop.js
│       │   ├── jquery-ui-modules.txt
│       │   ├── jquery-ui-timepicker-addon.js
│       │   ├── jquery-ui-timepicker-addon.min.js
│       │   ├── jstree-3.2.1.min.js
│       │   ├── moment-jdateformatparser.min.js
│       │   ├── moment.min.js
│       │   ├── moment-with-locales.min.js
│       │   ├── sigma
│       │   │   ├── plugins
│       │   │   │   ├── sigma.exporters.svg.min.js
│       │   │   │   ├── sigma.layout.forceAtlas2.min.js
│       │   │   │   ├── sigma.layout.fruchterman.min.js
│       │   │   │   ├── sigma.parsers.gexf.min.js
│       │   │   │   ├── sigma.parsers.json.min.js
│       │   │   │   ├── sigma.pathfinding.astar.min.js
│       │   │   │   ├── sigma.plugins.animate.min.js
│       │   │   │   ├── sigma.plugins.dragNodes.min.js
│       │   │   │   ├── sigma.plugins.filter.min.js
│       │   │   │   ├── sigma.plugins.neighborhoods.min.js
│       │   │   │   ├── sigma.plugins.relativeSize.min.js
│       │   │   │   ├── sigma.renderers.customEdgeShapes.min.js
│       │   │   │   ├── sigma.renderers.customShapes.min.js
│       │   │   │   ├── sigma.renderers.edgeLabels.min.js
│       │   │   │   ├── sigma.renderers.parallelEdges
│       │   │   │   │   ├── sigma.canvas.edgehovers.curvedArrow.js
│       │   │   │   │   ├── sigma.canvas.edgehovers.curve.js
│       │   │   │   │   ├── sigma.canvas.edges.curvedArrow.js
│       │   │   │   │   ├── sigma.canvas.edges.curve.js
│       │   │   │   │   ├── sigma.canvas.edges.labels.curve.js
│       │   │   │   │   └── utils.js
│       │   │   │   ├── sigma.renderers.snapshot.min.js
│       │   │   │   └── sigma.statistics.HITS.min.js
│       │   │   └── sigma.min.js
│       │   ├── test
│       │   │   ├── jquery.simulate.drag-n-drop.js
│       │   │   ├── jquery.simulate.ext.js
│       │   │   └── jquery.simulate.js
│       │   ├── themes
│       │   │   ├── default
│       │   │   │   ├── 40px.png
│       │   │   │   ├── style.css
│       │   │   │   ├── style.min.css
│       │   │   │   └── throbber.gif
│       │   │   └── default-dark
│       │   │       ├── 32px.png
│       │   │       ├── 40px.png
│       │   │       ├── style.css
│       │   │       ├── style.min.css
│       │   │       └── throbber.gif
│       │   ├── typeahead-jquery-0.11.min.js
│       │   └── uuid.js
│       ├── model.js
│       ├── pager.js
│       ├── pages.js
│       ├── schema.js
│       ├── security.js
│       ├── speech.js
│       ├── structr-app.js
│       ├── types.js
│       ├── upload-worker.js
│       ├── websocket.js
│       └── widgets.js
├── test
│   ├── test.bmp
│   ├── test.gif
│   ├── test.ico
│   ├── test.jpg
│   ├── test.png
│   ├── test.tiff
│   └── test.zip
├── urlrewrite.xml
└── xslfo
    └── test.xslfo

Search results for "Static Resources"

Maintenance

maintenance.application.http.port HTTP port the Structr server will listen on in maintenance mode.
maintenance.application.https.port HTTPS port the Structr server will listen on in maintenance mode.
maintenance.application.ssh.port SSH port the Structr server will listen on in maintenance mode.
maintenance.application.ftp.port FTP port the Structr server will listen on in maintenance mode.
maintenance.resource.path The local folder for static resources served in maintenance mode. If no path is provided, a default maintenance page with customizable text is shown in maintenance mode.
maintenance.message Text for default maintenance page.