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 16 or a later version:

  • Apache Tomcat
  • GlassFish
  • WildFly
  • Eclipse Jetty

Installation prerequisites

  • You must have a working instance of Teamwork Cloud.
  • If you intend to install the Cameo Collaborator for Teamwork Cloud application, make sure that the FlexNet license server is installed beforehand.
  • Before installing Web Application Platform, make sure you know Teamwork Cloud, Authentication server and FLEXnet server data, such as the hostname (or IP address) and port. You will need to enter this data during installation.
  • You have to download the following files:
    • admin.war
    • collaborator.war
    • document-exporter.war
    • resources.war
    • resource_usage_map.war
    • webapp.war
  • 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
    #
    
    # 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://127.0.0.1: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=http://127.0.0.1/webapp/
    
    # Optional value.
    # Specify a unique platform ID. The default value is webApplicationPlatform
    authentication.client.id=webApplicationPlatform
    
    # Optional value.
    # Specify a unique ID that will be used in the remote repository management functionality
    authentication.remote.client.id=twcSynchronizationManager
    
    # 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=127.0.0.1
    
    # Specify rest protocol (http or https) depending on the Teamwork Cloud server setup.
    twc.rest.protocol=https
    
    # Specify the Teamwork Cloud rest API port.
    twc.rest.port=8111
    
    # Specify 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=127.0.0.1
    
    # Specify the FlexNet license server port.
    flexnet.server.port=1101
    
    #
    # Platform mailing engine properties used to send notifications via e-mail
    #
    
    # Specify the e-mail server host name.
    mail.host=gate.company.com
    
    # Specify the e-mail server port.
    mail.port=25
    
    #Specify the user name and password.
    mail.username=anonymous
    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
    
    #
    # Platform service discovery related properties
    #
    
    # Specify the ZooKeeper servers host:port values, separated by a comma. Port can be omitted if default 2181 is used
    zookeeper.connect.string=localhost
    # Specify zk node where ZooKeeper registers applications
    zookeeper.base.service.path=/services
    # Enable or disable service discovery. Enabled if the property does not exist
    service.discovery.enabled=true
    # Indicates path of services. Specify / if all services are deployed on the same Tomcat.
    service.uri=/
    
    #
    # HTTP Client properties
    #
    
    # Set to true to ignore certificate validation when one WAP service calls another service. Otherwise, set to false.
    http.client.ignore.certificate=true
  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
    • Platform service discovery related properties
  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. Deploy the desired web applications, e.g., webapp.war, admin.war, collaborator.war, resources.war, etc.
  8. Open a web browser and navigate to http(s)://<host>:<container_port>/<platform_root>/. You should see a blank page.

  9. 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.
  10. If you chose to install Cameo Collaborator for Teamwork Cloud, apply the Cameo Collaborator 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.

Starting Web Application Platform manually

 If you want to start Web Application Platform, start Zookeeper first and only then - Web Application Platform.