Configuration - KnowledgeGarden/BacksideServletKS GitHub Wiki
There are these components to deal with:
- BacksideServletKS
 
- ElasticSearch
 
- Various configuration settings
 
At the highest level:
- Configure and boot ElasticSearch
 
- Configure and boot BacksideServletKS
 
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.
(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.
- 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.
 
- 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.