Configuration - KnowledgeGarden/BacksideServletKS GitHub Wiki

Configuring BacksideServletKS

Big Picture

There are these components to deal with:

  1. BacksideServletKS
  2. ElasticSearch
  3. Various configuration settings

At the highest level:

  1. Configure and boot ElasticSearch
  2. Configure and boot BacksideServletKS

ElasticSearch

For simplicity, consider these points:

  • ElasticSearch can be booted right out of the box. This means that you can install it wherever you like, then from the /bin directory, "elasticsearch" or "sudo ./elasticsearch".
  • In the overall scheme of things, keep this in mind:
    ElasticSearch is not authentication protected.
    It is wise to run it on its own server on a LAN which is not exposed to the internet.

BacksideServletKS

(note: we substitute ( and ) for left and right XML characters)
This platform has a number of different configuration values to be set, and those settings are found in various files in the /config directory. Below, we only describe those values which **must **be changed.

config-props.xml (setting up the server)

  • Location of the user database
    (parameter name="UserDatabasePath" value="c:/data/backside/" /)
    (parameter name="InviteDatabase" value="backsideinvites" /)
  • Definition of this server
    (parameter name="ServerURL" value="localhost" /)
    (parameter name="ServerPort" value="8080" /)
  • Default Administrator Credentials
    (parameter name="DefaultAdminEmail" value="[email protected]" /)
    (parameter name="DefaultAdminPwd" value="changeMe2!" /)
    NOTE: default admin credentials allow the portal owner to gain access to administrator functions which include the ability to make any new user at the portal an administrator.

provider-config.xml (setting up, mostly, ElasticSearch visibility to the system)

  • Pointing to ElasticSearch servers:
    (list name="Clusters")
    (parameter name="localhost" value="9200" /)
    (/list)
    NOTE: this setting is for a single ElasticSearch instance running on the same computer as the server. "Name" will change to the IP address of the installed ElasticSearch server, e.g. 10.1.10.89
    If a cluster of ElasticSearch servers is defined, add similar parameter lines to the list object.
  • Defining indexes for ElasticSearch
    (list name="IndexNames")
    (parameter name="topics" value = "mappings.json" /)
    (/list)
    NOTE: "name" is the actual name of the index in ElasticSearch. Here, we define a single index, for the topic map. As more applications are added to the platform, they can have their own indexes defined here.
    "value" is the name of a JSON file which defines the properties of the given index. Each defined index must have a mappings file defined, though some indexes can share the same mappings.
⚠️ **GitHub.com Fallback** ⚠️