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 14 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.war
    • admin.nwp
    • collaborator.nwp
    • resource.nwp
    • resources.nwp
    • nwp-manager.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 the guest user name and password.
    wap.guest.username=Guest
    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/
    
    # Optional value.
    # Specify a unique platform ID. The default value is webApplicationPlatform
    authentication.client.id=webApplicationPlatform
    
    # Optional value.
    # Specify the authentication client password that platform will use to secure communication with the Authentication server.
    # The default value is CHANGE_ME
    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 and password.
    twc.admin.username=Administrator
    twc.admin.password=Administrator
    
    # Specify the Teamwork Cloud IP address or domain name.
    twc.ip=<teamwork_cloud_ip>
    
    # Specify http or https depending on the Teamwork Cloud server setup.
    twc.rest.protocol=https
    
    # Spcify the Teamwork Cloud rest API port.
    twc.rest.port=8111
    
    # Speify the Teamwork Cloud client API port.
    twc.client.port=3579
    
    # Specify the maximum total number of connections.
    twc.client.max.total.connections=20
    
    # Specify the maximum number of connections allowed for a route
    twc.client.max.connections.per.route=20
    
    # Specify how many milliseconds to wait for establishing connection
    # with the remote server before a timeout exception occurs.
    twc.client.connect.timeout.ms=30000
    
    # Specify how many milliseconds to wait for the server to respond
    # to various calls before a timeout exception occurs.
    twc.client.socket.timeout.ms=120000
    
    # Specify how many 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=
    
    # 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. Start the web application server and deploy the webapp.war file.
  8. Open a web browser and navigate to http(s)://<host>:<container_port>/<platform_root>/. You should see a blank page.

  9. Extract the NWP manager archive file.
  10. Copy the webapp.war file to any temporary folder.
  11. Integrate the admin.nwpcollaborator.nwpresource.nwp, and resources.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.jar <path_to_webapp.war_file> <path_to_plugin_file>
      • To integrate several plugins located in the same directory:

        java -jar nwp-manager.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>
  12. Redeploy the webapp.war file with integrated plugins to the web application server.
  13. 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>:<port>/webapp as its value.
  14. 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.