Here you can learn how to install and configure the Web Application Platform with Cameo Collaborator and Resources plugins developed by No Magic.

Web Application Platform with its plugins can run on the following third party web containers that work on Java 12 or a later version:

  • Apache Tomcat
  • GlassFish
  • WildFly
  • Eclipse Jetty

Installation prerequisites

  • You must have a working instance of Teamwork Cloud.
  • Make sure that the FlexNet license server is installed beforehand because Cameo Collaborator for Teamwork Cloud uses a floating license. You will need to specify license server details when installing Web Application Platform.
  • Before installing Web Application Platform, make sure you know Teamwork Cloud, Authentication server and FLEXnet server data, such as the host name (or IP address) and port. You will need to enter this data during installation.
  • You have to download the following files:
    • webapp-<version_number>.war
    • collaborator-<version_number>.nwp
    • resources-<version number>.nwp
    • admin-console-<version_number>.nwp
    • nwp-manager-<version_number>.jar (may be provided in an archive)
  • For production use, Web Application Platform and Teamwork Cloud should be installed on different machines.
  • After installing Web Application Platform, it is recommended to disable the web container (e.g., Apache Tomcat) on the machine where Teamwork Cloud is installed.



To install the Web Application Platform


  1. Download and install a Java application server or servlet container on which the Web Application Platform will run. For installation instructions, see the documentation of the server you intend to install.
  2. Use a plain text editor to create the webappplatform.properties file.
  3. In the webappplatform.properties file, copy and paste the following properties:

    # General properties
     
     
    install.root=.
     
     
    # Web Application Platform properties
     
    
    wap.context=/webapp
    # Specify a guest user name. You can create users using TWC Admin Console.
    wap.guest.username=Guest
    # Specify the guest user password.
    wap.guest.password=Guest
     
     
    # Authentication server properties
     
     
    # Specify the Authentication server location. Use http or https depending on the Authentication server setup.
    authentication.server.uri=https://<nm_authentication_server_ip>:8555/authentication
    # Specify an optional redirect uri if the incoming request does not provide one.
    # By default redirect uri is the authentication server location. Remove # for the property to work.
    #authentication.redirect.uri=https://<nm_authentication_server_ip>/webapp/
    # Specify a unique platform ID.
    authentication.client.id=webApplicationPlatform
    # Specify the authentication client password that platform will use to secure communication with the authentication server.
    authentication.client.secret=CHANGE_ME
    # Set to true to ignore Authentication server certificate validation. Otherwise, set to false.
    # The value depends on the Authentication server setup.
    authentication.server.ignore.certificate=true
     
     
    # Teamwork Cloud server properties
     
     
    # Specify the Teamwork Cloud administrator user name.
    twc.admin.username=Administrator
    # Specify the Teamwork Cloud administrator password.
    twc.admin.password=Administrator
    # Specify the Teamwork Cloud server address. Use http or https depending on the Teamwork Cloud server setup.
    twc.url=https://<teamwork_cloud_ip>:8111
    # Specify the maximum total number of connections.
    twc.client.max.total.connections=20
    # Specify the maximum number of connections for a route.
    twc.client.max.connections.per.route=20
    # Specify how long (in milliseconds) to wait for establishing the connection with the remote server before a timeout exception occurs.
    twc.client.connect.timeout.ms=30000
    # Specify how long (in milliseconds) to wait for the server to respond to various calls before a timeout exception occurs.
    twc.client.socket.timeout.ms=120000
    # Specify how long (in milliseconds) to wait for checking out a connection from the connection pool before an exception occurs.
    twc.client.connection.request.timeout.ms=120000
    # Set to true to ignore Teamwork Cloud certificate validation. Otherwise, set to false.
    twc.client.ignore.certificate=true
     
     
    # FlexNet server properties
     
     
    # Specify the FlexNet licence server IP address.
    flexnet.server.name=<server_ip>
    # Specify the FlexNet license server port.
    flexnet.server.port=<server_port>
     
     
    # Platform mailing engine properties used to send notifications via e-mail
     
     
    # Specyfy the e-mail server host name.
    mail.host=<gate.company.com>
    # Specify the e-mail server port.
    mail.port=25
    # Specify the sender's user name and password.
    mail.username=<user_name>
    mail.password=<password>
    # Specify the e-mail protocol and encoding.
    mail.protocol=smtp
    mail.encoding=UTF-8
    # Specify the sender's e-mail address.
    mail.from.default=<info@company.com>
    mail.from.enabled=false
    mail.smtp.auth=false
    mail.smtp.timeout=30000
  4. Read the comments with property descriptions inside the file and specify the following:

    • Web Application Platform properties
    • Teamwork Cloud server properties
    • Authentication server properties
    • FlexNet server properties

    Specifying property values

    • Make sure you replace the placeholders in the angle brackets (<>) with actual values (e.g., Teamwork Cloud and Authentication server addresses)
    • Some properties are specified for you. You can leave their values unchanged.
    • Platform mailing engine properties are optional. You can specify them later to get email notifications about document changes.
  5. Save and close the webappplatform.properties file.

  6. Place the webappplatform.properties file into the location that is on the classpath of the web application container you have installed.

    Example

    If you have installed Apache Tomcat 9.0 or a later version, you can choose from the following options (refer to server documentation for all available options):

    • Place the webappplatform.properties file in the <tomcat_home>/shared/conf directory. Then open the <tomcat_home>/conf/catalina.properties file and set the shared.loader property as shared.loader="<catalina_base>/shared/conf".
    • Place the webappplatform.properties file in a custom directory. Add the path to the directory to the list of shared classloader paths defined by the "shared.loader" property in the ${tomcat.home}/conf/catalina.properties file. 

    If you have installed a different web application server, refer to its user manual.

  7. Rename the webapp-<version_number>.war file to webapp.war.
  8. Start the web application server and deploy the webapp.war file.
  9. Open a web browser and navigate to http(s)://<host>:<container_port>/<platform_root>/. You should see a blank page.

  10. Extract the NWP manager archive file.
  11. Copy the webapp.war file to any temporary folder.
  12. Integrate the collaborator-<version number>.nwpresources-<version number>.nwp, and admin-console-<version_number>.nwp plugins to the copied webapp.war file in one of the following ways:
    • In the command-line, execute one of the following commands:
      • To integrate a single plugin:

        java -jar nwp-manager-<version_number>.jar <path_to_webapp.war_file> <path_to_plugin_file>
      • To integrate several plugins located in the same directory:

        java -jar nwp-manager-<version_number>.jar <path_to_webapp.war_file> <path_to_dir_with_plugin_files>
    • Alternatively, use the install_nwp.bat or install_nwp.sh scripts from the NWP manager archive file to execute one of the following commands:

      For Windows

      • To integrate a single plugin:

        install_nwp.bat <path_to_webapp.war_file> <path_to_plugin_file>
      • To integrate several plugins located in the same directory:

        install_nwp.bat <path_to_webapp.war_file> <path_to_dir_with_plugin_files>

      For UNIX/Linux

      • To integrate a single plugin:

        ./install_nwp.sh <path_to_webapp.war_file> <path_to_plugin_file>
      • To integrate several plugins located in the same directory:

        ./install_nwp.sh <path_to_webapp.war_file> <path_to_dir_with_plugin_files>
  13. Redeploy the webapp.war file with integrated plugins to the web application server.
  14. When the installation is finished, update the authentication.redirect.uri.whitelist property in the authserver.properties file by adding the Web Application Platform address http(s)://<domain_name>/webapp as its value.
  15. Apply the Cameo Collaborator for Teamwork Cloud license.


Once Web Application Platform with plugins is installed, access it by opening a web browser and navigating to http(s)://<domain_name>:<port>/webapp/resources. By default, the Web Application Platform uses the port 8443.