Plexus Connect - Configuration Files

    The nps.properties file

    Since 19.23.0 version, the nps.properties file is automatically created during application start in the working directory (${HOME}/.chemaxon/plexus-suite in UNIX or %USERPROFILE%\chemaxon\plexus-suite in Windows) with default options. Properties included in the nps.properties file can be individually configured.

    {primary} To unset a property, it has to be removed completely or put in comment.

    Poll interval in milliseconds. Longer poll time means less requests.

    By default, it has been set to 50 seconds because we want a value lower than relevant timeouts for common proxies, and nginx has proxy_read_timeout set to 60 seconds by default.

    (grunt-connect-proxy, which we use for development, has a connection timeout of 2 minutes by default)

    events.pollTimeMs=50000

    Instant JChem section

    Default schema name used for storing new entities. For example, during import:

    ijc.default.schema=localdb

    Authentication types:

    Supported authentication types are: IJC (default), anonymous, pass, synergy

    authentication.type=ijc

    Only applicable to IJC authentication:

    multiple.schemas.auth=false

    By default, the server attempts to authenticate the user against the first schema. If this authentication fails, no other authentication attempts are made. If the multiple.schemas.auth property is set to true, the server tries to authenticate against other schemas configured for this server instance.

    Only applicable to anonymous authentication:

    Name of the user who is always logged in anonymous.username=Guest

    Comma-separated list of authorities

    anonymous.authorities=ROLE_USER

    Logout after time of inactivity in seconds (3600seconds = 1hour).

    plexus.sessionExpirationTimeSecs=3600

    Comma-separated list of roles, any of which is required to access the "Open view in IJC" feature

    com.chemaxon.ijc.ws.resources.IjcJwsFiles.roles=ROLE_CONNECT_ADMIN

    Disable export of fields from all visible widgets in form at default

    connect.frontend.export.all.fields.disabled=false

    IJC Java Web Start JNLP file URL for the "Open view in IJC" feature

    com.chemaxon.ijc.ws.ijcjws.jnlpFileUrl=

    The directory to be used as the parent directory for the shared project configurations

    com.chemaxon.ijc.ws.ijcjws.sharedProjectsDir=

    The path to the license file to be served to requests for <feature-base-url>/license as part of the "Open view in IJC" feature.

    If this property is set, the argument '-J-Dchemaxon.license.url=<feature-base-url>/license' is also automatically set to the JNPL file which is served to requests for <feature-base-url>/jnlp.

    com.chemaxon.ijc.ws.ijcjws.pathToLicense=

    URL of deployed Plexus connect to schema refresh

    com.chemaxon.ijc.ws.ijcws.schemaRefreshUrl=

    This parameter is used for Connect Scripting If not configured, default value python is used. It can be replaced by py for windows server or by full path to exact versions of Python.

    scripting.pythonBin=python

    Plexus Storage section

    Database driver which should be used for connecting to Plexus Storage database

    Default value: org.apache.derby.jdbc.EmbeddedDriver (Derby)

    plexus.storage.driverClassName=org.apache.derby.jdbc.EmbeddedDriver

    URL to the Plexus Storage database

    By default it uses derby database in chemaxon/plexus-suite/plexusStorage directory

    e.g. jdbc:mysql://server.com:3306/ourschema

    plexus.storage.url=

    Encrypted username for the database

    plexus.storage.database.username=

    Encrypted password for the database

    plexus.storage.database.password=

    Encryption algorithm used for the username and password.

    By default, it uses DESede, another option is AES256

    plexus.storage.database.algorithm=AES256

    Hibernate dialect which should be used for the database

    Default value: DerbyTenSevenDialect

    Other dialects available in:

    https://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/session-configuration.html#configuration-optional-dialects

    plexus.storage.hibernate.dialect=org.hibernate.dialect.DerbyTenSevenDialect

    Option if the hibernate should log all the SQL queries

    Please find more information here:

    https://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/session-configuration.html

    plexus.storage.hibernate.show_sql=false

    Option if the hibernate should format SQL queries

    Please find more information here:

    https://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/session-configuration.html

    plexus.storage.hibernate.format_sql=false

    Option for automatic validation

    Please find more information here:

    https://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/session-configuration.html

    plexus.storage.hibernate.hbm2ddl.auto=update

    Custom configuration

    Since 21.3.0 version, it is possible to modify the Plexus Storage destination to point to differen database then one used for main data.

    Please note that as a result, the following information will be lost when you update to this version:

    • Last used reaction and list of reactants in reaction-based enumeration.
    • Last used scaffold and list of R-groups in scaffold-based enumeration.
    • List of recently used database views.
    • List of favorite database views.

    Since 16.9.26.0 version, Plexus Connect allows the use of a simple configuration file in a custom location. You can define the location by using the com.chemaxon.plexus.connect.configuration.propertiesFilePath system property. An example of its usage can be found below:

    java -Xmx2096m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Dcom.chemaxon.plexus.connect.configuration.propertiesFilePath=/Users/myUser/.chemaxon/plexus-suite/config.properties -Dfile.encoding=UTF-8 -Duser.language=en -Dport=9000 -jar plexus-suite.war

    Also, it is possible to set these options as system properties at the time of starting Plexus. Please keep in mind that the system properties have the highest priority, followed by the custom.properties file and the values saved in nps.properties have the lowest priority.

    Example:

    In nps.properties file the plexus.sessionExpirationTimeSecs property is kept as default =3600

    In the custom.properties file the plexus.sessionExpirationTimeSecs property is set to 1800

    If Plexus was started by the command shown before, the session would expire in 1800 seconds as the custom.properties would be taken in account. If the -Dplexus.sessionExpirationTimeSecs=60 would be added to the command, the session would expire in one minute.

    {primary} If a non-existent file is defined in the com.chemaxon.plexus.connect.configuration.propertiesFilePath property a sample file is provided.