Admin Settings Documentation |
Scroll |
These settings can be set through various configuration files in the VisShare repository:
File |
Description |
---|---|
server/config/settings.json |
The file contains settings regarding the VisShare server configurations that are written to the DB |
server/datasources.json |
The file contains the connection information for the DB, file storage, and mail server |
client/assets/settings/settings.js |
The file contains settings to customize the VisShare user interface |
Server-Side Settings.json
The settings.json file is written once with the configuration defined during the setup. This file should reside with a trailing underscore (settings.json_) inside the directory, and removing the underscore will write the content of this file to the database the next time the VisShare service is restarted. This will also reapply the underscore after success.
Name |
Description |
Default value |
---|---|---|
DriveName |
The path to the WebViewer file storage (as seen from the VisShare service) |
/VisShare_Models/ (inside VisShare installation repository) |
WVDriveName |
The path to the WebViewer file storage (as seen from the WebViewer service) |
/VisShare_Models/ |
LDAPUrl |
URL to the LDAP server |
none |
LDAPBaseDN |
The BaseDN to start the LDAP bind |
none |
LDAPBindDN |
The additional search for the LDAP bind |
none |
UseLDAP |
A flag whether LDAP is used |
false |
LDAPOnly |
A flag that allows logins only via LDAP (no local users) |
false |
AdminVerification |
A flag that determines if users have to be verified by an admin before they can enter the VisShare |
true |
AllowGuests |
A flag that determines if guests are allowed if AdminVerification is enabled (a guest is a limited role) |
true |
RemotePublic |
A flag that determines if public projects are reachable without logins |
false |
SendingMail |
The mail address that is used to send mails |
Set from the setup |
SendMailsOnConfirm |
A flag that determines if mails are send to specific email addresses if a new user is confirmed through the users mail |
false |
ConfirmMailRecipients |
An array containing the receiving addresses (comma-separated) for the confirmed users |
none |
Convert |
A flag that determines if uploaded files are converted to 3DVS |
true |
DeleteNative |
A flag that determines if the native uploaded files are deleted after the conversion to 3DVS |
false |
SingleSession |
A flag that determines if a user can only start 1 session (view 1 file). If set, attempting to open a second session will throw an error before the WebViewer session is initialized |
false |
UseTenants |
A flag that determines if user pools are used |
true |
InviteOnly |
A flag that determines if new users can only registered if they are invited by existing users |
false |
AdminCreationOnly |
A flag that determines if new users can only be created by admins (no registration at all) |
false |
AdminVerificationLDAP |
A flag that determines if even LDAP users must be verified by an admin first |
false |
AllowDownloads |
A flag that determines if downloads are allowed in general |
false |
OnlyAdminProjects |
A flag that determines if projects can only be created by admins |
false |
IgnoreOnConvert |
A list containing file extensions that shouldn't be converted on upload. These files are flagged in the UI and aren't opened in the WebViewer and instead throw an error on click |
empty |
AllowIgnoredFileTypeDownload |
A list containing file extensions as a subset of the IgnoreOnConvert settings. These files are downloaded by clicking them (instead of throwing an error) Note: This can be used to view "browser native" files like PDF in the browser itself (through the download) instead of viewing them in a WebViewer session |
empty |
UserCount |
LIC setting that limits the number of registered users on the VisShare (to further reduce the license value if needed) |
0 (that means disabled) |
SessionsPerUser |
LIC setting that limits the sessions a user can open (to further reduce the license value if needed) |
0 (that means disabled) |
RemoteSessionCount |
LIC setting that limits the session amount that can be opened remotely (through remote public projects, to further reduce the license value if needed) |
0 (that means disabled) |
LinkSessionCount |
LIC setting that limits the session amount that can be opened remotely (through remote links, to further reduce the license value if needed) |
0 (that means disabled) |
Undocumented Settings
Note: These settings should not be changed by the admin without our guidance:
Name |
Description |
Default value |
---|---|---|
ServerUrl |
The full URL of the server |
Set from setup |
WebViewerBackendUrl |
The WebSocket URL for VisShare <> WebViewer backend connection Note: Should be local to prevent attacks from the outside. |
ws://localhost:9999 |
WebViewerClientUrl |
The full URL for the WebViewer front end HTTP calls |
<ServerUrl from setup>/visshare_webviewer |
WebViewerClientWebSocketUrl |
The WebSocket URL for the WebViewer client |
ws(s)://<ServerUrl from setup without http(s)>/visshare_webviewer/ws |
ConfirmationUrl |
The URL a new user is presented in the confirmation request mail |
Set from setup (= ServerUrl) |
ConfirmationRedirectUrl |
The URL used in automated mails to redirect to the VisShare pages |
Set from setup (= ServerUrl) |
KASKey |
A key shared between the VisShare backend application and the KAS converter service that authenticates jobs |
vs-kas-key |
KASTimeout |
A timeout for jobs, after exceeding this duration jobs are removed |
600000 |
UseAdvancedRegister |
A flag that indicates that a special page with additional registration data is asked from a new user before completing the registration Note: Used for the internal VisShare to get more customer informations |
false |
AdvancedRegisterMail |
The recipient mails for the customer data collected on the advanced register page (comma-separated) |
empty |
Color1 |
Main color setting (should be changed through the application) |
#d67c1c |
Color2 |
Secondary color setting (should be changed through the application) |
#ffc662 |
Color3 |
Tertiary color setting (should be changed through the application) |
#fcd797 |
Banner |
The name of the banner svg (should be changed through the application) |
Kisters_banner.svg |
Logo |
The name of the logo svg (should be changed through the application) |
Kisters_logo.svg |
Server-Side datasources.json
The datasource file contains the connection parameters for the DB and the SMTP server as well as the filestorage location. The initial configuration is done through the setup. VisShare reads this file on every service start, so no renaming needs to be done but a service restart is mandatory to apply changes.
The PostgreSQL section covers the database connection. While the VisShare uses the URL parameter for the connection, the other parameters can/should be adapted too for a better overview.
The filestorage section covers the location of the filestorage, here only the root parameter should be changed if the location needs to be changed. The initial repository is the default VisShare/VisShare_Models directory.
Note: Always change the drive settings from the settings.json (see above) and the WebViewer renderer (CRendererInstance.ini) ModelRepo configurations accordingly to this root repository. The KAS converter service gets the path from the VisShare, there is no change needed.
The email section covers the SMTP server connection parameters. This heavily depends on the SMTP server VisShare should connect to and even the parameters may change from case to case. The default configuration should cover the "most basic" SMTP server demands, for additional information see the nodemailer documentation (the loopback framework uses Nodemailer as its mailing module): https://www.nodemailer.com/about/
Client-Side settings.js
This file contains settings for the user interface and behavior of the VisShare application. Changes can be made on the fly without restarting the service, but note that the browser cache may be cleared to see the changes.
Name |
Description |
Default value |
---|---|---|
VSShareBackendUrl |
The URL for the API HTTP calls |
Set during setup to the VisShare server URL |
UseAdvancedRegister |
A flag that determines if the client should reroute to the advanced register page after the registration request |
false |
AdminCreationOnly |
If set, hide the register button |
false |
VisShareDisclaimerUrl |
The URL to the VisShare disclaimer |
https://viewer.kisters.de/en/legal-information-disclaimers.html |
VisShareImprintUrl |
The URL to the VisShare imprint |
|
ShowTermsAfterRegister |
If set, a new user is presented the terms and condition page after registration |
false |
HidePrivate |
If set, hides the whole private section (private project, shared files, shared with me) |
false |
HideMailLinks |
If set, hides the options to send share links |
false |
HidePasswordReset |
If set, hides the password change and forgot password options |
false |
HideResendMail |
If set, hides the resend mail option |
false |
OnlyAdminProjectTypeChanges |
If set, only VisShare admins can see the context menu option to change the project type to showcase/public |
false |
Additional Customization/Configuration
There are a few additional files that can be changed by the admin to further customize the application:
Path |
Description |
---|---|
Client-Side |
|
client/assets/info-pages/info-page-auth.html |
The information page that is displayed on clicking the question mark icon by a logged and confirmed in user |
client/assets/info-pages/info-page-guest.html |
The information page that is displayed on clicking the question mark icon by a guest or not logged in user |
Server-Side Mail Templates |
|
server/views/account-creation.html |
The mail template send to users on account creation by an admin |
server/views/advanced-register-mail.html |
The mail template send to the recipients of the advanced registration data |
server/views/invite-mail.html |
The mail template send to a mail address that was invited by a VisShare user |
server/views/password-reset.html |
The mail template send to a user that requested a password reset |
server/views/share-mail.html |
The mail template send to a mail address if an automated mail should be send on the creation of a share link |
server/views/user-confirmed.html |
The mail template send to the recipients of mails if a new user verified its account through the mail |
server/views/verify.ejs |
The mail template send to new users asking them to verify their account |
Service Scripts that are executed on service start if the trailing underscore is removed - The content will be processed on server start and the file then be emptied and renamed |
|
server/config/adminCreation.json |
This script creates an admin account on startup with given login mail and password |
server/config/projectDefaultsManagement.json |
This script is used to provide a default project owner and default projects admin; this file has no "underscore logic" as it is read and written to the application runtime memory on every service start ▪ProjectDefaultOwnerEmail ▪ONE owner that is used for all projects instead of the project creator itself ▪ProjectDefaultAdminEmails ▪Multiple (comma-separated mails) admins that are added to every project that is created |
server/config/syncCreation.json |
This scripts creates a new projects and applies a synchronization to it, by passing following parameters: ▪Directory ▪The path to the repository that is used for the synchronization ▪OwnerMail ▪The email (= login name) of the owner the project should be created underneath ▪CreateBackup ▪A flag whether the sync should run with the backup option ▪ProjectName ▪The name the project is initialized with ▪UserPoolId ▪The ID of the user pool that should be mapped to this project |
server/config/syncDeletion.json |
This scripts deletes synchronizations by passing the path of the sync directory in a comma-separated list |
LDAP Connection
The last file that is intended to be altered by the user is the LDAP connection file (server/scripts/ldapAuth.js).
This file holds the JS code to connect to a LDAP server via the ldap.js module and an administrator has to change the connect method so that the VisShare can bind a user with a email/password authentication against this LDAP server. The default code in this file can be used as an example code snippet how such a connection may be established, but changes are very likely to be made.
The parameters for the connect call that are filled in dynamically and can be used by the admin to code against the LDAP server are:
▪The login mail provided by the user during the login
▪password
▪The password provided by the user during the login
▪serverURL
▪The LDAP server URL provided through the DB settings
▪baseDN
▪The base DN provided through the DB settings
▪bindDN
▪The additional search parameters for the LDAP bind provided through the DB settings
▪callback(error, response)
▪This method should be invoked after the LDAP bind has been done
▪On succes: call with the positive authentication response from the LDAP -> cb(undefined, response);
▪On error: call with error response from the LDAP -> cb(error, undefined);