/ Installation  

Installation survival guide update 20.2 (and what's new!)

Hi there AppWorks fans,

Welcome to a new installment of AppWorks tips.

This time we do a brand-new installation of the new GA AppWorks platform version 20.2 (also known as version 20 EP2). This is available since Q2 2020, so we give it a chance to install it. So, here it is together with an update on the new features the are released in this version!

Let me point you to the Announcement page where you get some overview information about what is released, but we get in more detail in the end of this post on the most important updates.

Let get right into it…

My starting point is my own manual that you can find in the main installation menu. But I will give you an update on each step I did on the 20.2 installation.

  1. Oracle Virtual Box

Although it’s still the same version it might be time to upgrade to later version. You can do this from menu in to tool itself


Just follow the instructions or if you are lucky you get this message


  1. Creation of the VM image on Virtual Box

The steps still applies with an extra notion of the ‘Supported Environments’ PDF that can be found here. You see we could update the OS to CentOS 8, but 7 is still valid to use…Why change a winning team!?


  1. Requesting an AppWorks license

I wanted to use the same (demo) license file from a previous installation (16.7), but it was not excepted. This was the answer I got back after contacting OpenText: “License keys for AppWorks are version specific”

Still make sure you use the same full qualified domain hostname corresponding in the license file!

  1. Installing CentOS (minimal)

The same to be followed (watch the FQDN)

  1. Installing Java

Can be the same I only point now directly to the /usr/lib/jvm/java-11-openjdk- in my cat ~/.bash_profile

You probably get a later version now during installation. I run with java -version. Make sure it’s >= 11.0.6 (see the bug-note)!

openjdk version "11.0.6" 2020-01-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.6+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.6+10-LTS, mixed mode, sharing)


  1. Installing TomEE

Also, still the same with an extra note.

The manual makes an additional step this time that has to do with a ‘commons-daemon’ service and the ‘jsvc’ tool that you need to generate! All these (complex steps) are needed to run tomcat in ‘daemon’ mode which is the Unix way for running TomEE as a service (like in Windows). And the documentation is even talking about a ‘known issue’ in that daemon scripts which OpenText fixes with a downloadable zip with the corrected files!?

As we already saw in previous installations we can simply create our own ‘systemctl’ service and start/stop our TomEE with systemctl stop|start tomee like we do for all our services! And also, automatically enable this service to start on system startup. Far better in my opinion and I’m not the only one. Great example here.

Make sure to use the correct GA version of TomEE (this time we use 8.0.1) found here since Jan. 2020. With this also make sure you point out to the correct installation location /opt/tomee/apache-tomee-plus-8.0.1


  1. Installing PostgreSQL

Still the same (including the JDBC driver JAR file!)


  1. Installing CARS

Still the same installation procedure. Here is the direct download link. I also go for the whole suite this time where also ‘OTDS’ and the ‘Gateway’ is including as both will be used on this site.

The version for CARS is now upgraded to 20.1.1 when I take a look in the ‘setup.xml’ in the installation directory! Last time it was 2.6 and you will also see the install file is mentioning version 2.7!

We also see a new screen in the wizard for the LDAP management!…I gave it the password ‘admin’


  1. Installing AppWorks

Almost same procedure to follow with one different step for that same LDAP!…Give it the ‘admin’ password.

Looks like CARS is renamed to LDAP as you would ‘normally’ get a CARS-screen here, but it’s LDAP now with the same setting to make…OK…It’s what it is and now you also know!!


Important is to update your environment variables with these 2 extra comments

  • Don’t add this jar on the CLASSPATH already /opt/opentext/AppWorksPlatform/defaultInst/cordyscp.jar
  • Also don’t add this lib to the LD_LIBRARY_PATH already /opt/opentext/AppWorksPlatform/defaultInst/lib

Believe me that you don’t want those 2 bullets up-front in your bash_profile. It lost me a full day struggling with it as TomEE did not found its own libraries anymore after installing the AppWorks platform. After all the searching I found these 3 related files where the last one is also setting the CLASSPATH variable…lesson learned here!!

sudo vi /opt/tomee/apache-tomee-plus-8.0.1/bin/setenv.sh
sudo vi /opt/opentext/AppWorksPlatform/defaultInst/bin/asenv.sh
sudo vi /opt/opentext/AppWorksPlatform/defaultInst/bin/wcpenv.sh

One thing I also learned is searching in files with grep -rnw '/opt/' -e 'pattern'

This is the bash_profile I now use:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc

# User specific environment and startup programs


export JAVA_HOME

export PATH



  • Make sure to pass the CLASSPATH variable within the setup where you made that ‘postgresql-42.2.5.jar’ file available. sudo CATALINA_HOME=$CATALINA_HOME CLASSPATH=$CLASSPATH ./OpenText_AppWorks_Platform_20.2.bin
  • And…in all the screenshots you will see 20.2 in the header! 😏
  1. The final packages deployment

The same!

🆕 Update on the available changes in 20.2 ‘The cloud edition’ 🆕

With a new version of the platform we also get a lot of new functionality. This will give you a proper overview of the ‘new stuff’.

AppWorks running inside a container…who doesn’t want that?! It’s containerization time with Docker and Kubernetes. But wasn’t that not already?…Yes, but this time fully supported for production…Hooray!!

Containerization makes it pretty easy to deploy/install the AppWorks platform. You still need to invest time to get it all ready, but once you have 1 container up and steady running the others are only 1 click away. This makes it much faster for implementing and maintaining a full deployment street of Development, Test, Education, Acceptance and Production as all environments are standardized and consistent. Also, high availability and fail-over can be an option here, but that still requires extra configuration in the platform as the platform in the container needs to be ‘aware’ of the existence of a backup platform!

On my backlog there is placed a ‘containerization installation’…it’s for the future!

Security updates

The first thing you might notice is that after deployment you ‘normally’ need to update the ‘Solution Security’ in the /app/admin console and make sure the ‘Entity Runtime User’ can ‘Use’ the solution. This is moved from the admin console to the project!


By default, the ‘Developer’ role has access to the solution already! This can also give some friction in the security of the solution and that’s why it’s recommended to implement the security in the solution directly to make it accessible for your beloved end-users.

Security can be applied on

  • The security building blocks with the entity
  • ‘Define runtime security’ on other document type like on a BPM (right-click menu on the document)
    • Also recommended to do this on your ‘Homepage layouts’!

Customize the rich text editor

A ‘Long text’ property can be implemented as a ‘Rich Text’ component on a form like this


If you want to extend the functionality of this box you can find a section ‘Customizing rich text editor styles’ in the advanced development guide that comes with the documentation of the platform.

In short steps:

Edit the JavaScript file (For all organization in the ‘Shared’ space) in the back-end sudo vi /opt/opentext/AppWorksPlatform/defaultInst/webroot/shared/thirdparty/ckeditor/custom/config.js

For a specific organization it’s here (create the file manually!) sudo vi /opt/opentext/AppWorksPlatform/defaultInst/webroot/organization/appworks_tips/thirdparty/ckeditor/custom/config.js

Keep in line with this site as this rich text editor is a third-party editor!

Localization / translation

We can now also translate our layout headers and list categories.


  • The ‘LayoutDisplay’ is from my homepage layout

  • The ‘ToDo’ is my list category

  • The ‘All todo items’ is list itself

  • The ‘Draft’ and ‘Final’ are from my enumerated text property

  • All the others are entity properties and system properties

Result list craftsmanship on an entity

This is how it looks at the moment with all nice features to make it the low-code guy as easy as possible!


Action bar craftsmanship on an entity

This is how it looks now


Hiding email templates from end-users


Configurable cache refresh interval for dynamic enumerated properties

By default, this was 10 minutes for each user which can be a &^%&^%&^ that can cause you a headache with cache problems in your browser. Only closing the browser would solve it to get the new results loaded!

When I edit: sudo vi /opt/opentext/AppWorksPlatform/defaultInst/config/wcp.properties

I was able to find this setting: com.cordys.recheckinterval.value=10

I’m not sure if this is the one as I was not able to find anything about this in the ‘Administration manual’!?

Multi-property creation pre-panel when creating a new entity

This is the new dialog you get when you create a new entity. This is for the hard-core property creator who want to rapidly create a new set of properties in a very structured way.


Building block copy made easier with extra dialog!


Child entities displayed in the project tree

When you create a new child relation it will be shown in a deeper tree level so you can get direct access to it from you project view.


Lists from the ‘Identity package’ only available for the ‘Identity Administrator’ role.

This makes the initial setup in runtime much cleaner as a lot of ‘extra’ information is removed from the initial view for our end-users by default now.

Upgrade OpenText CARS

20.2 uses CARS version 2.7 (Internally it’s OpenLDAP 2.4.48) and with this also the configuration are stored in LDAP now (not in ‘slapd.conf’)

During the installation we already saw some extra screens about LDAP!

More, more and more…

In the Release Notes for this brand-new 20.2 release. Make sure you take a look in the ‘AppWorks Platform 20.2 Release Notes.pdf’ as the ‘AppWorks_20.2_Release_Notes.pdf’ refer to the OpenText support site!

And this give it a greatly earned ‘DONE’ on the installation update for 20.2 as well for the overview of the new features for this GA EP2 release. New items are placed on the backlog to create posts out of it and you already see that there is a lot improvement in this version again where we can start to play with and good stuff to know!

Don’t forget to subscribe to get updates on the activities happening on this site. Have you noticed the quiz where you find out if you are also “The AppWorks guy”?