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.