/ Release  

Embrace the news; AppWorks 23.3 is GA and we dive through its new features

Hi there AppWorks fans,

Welcome to a new installment of AppWorks tips.

We always love new features! This is the time to have a look at AWP 23.3 which is GA for Q3 2023. Grab something to drink and have an update on the new features!

Let get right into it…

It’s getting a bit boring, but again I made it myself easy to do an upgrade on my 23.2 VM! Just because we can, and just because it saved me a lot of time (which we can spend on other important things!). So, just as last time; I follow my own upgrade post and leave OTDS as is…OTDS 22.4 still runs smoothly with this new version. I even conclude CARS is also running smoothly already on version 2.8 since my last upgrade! 🥳

In this post we’ll review the AppWorks Platform 23.3 Release Notes. Have a look yourself at the PDF too; We’ll just dive through the latest futures delivered in this GA release.

Ohww…It this moment of writing, I couldn’t get my hands on the new “OpenText AppWorks Platform Supported Environments” via the support side…Strange, as normally this is also found rather quickly; Not this time!? Or maybe I was just too early!? I see also that the 23.3 filtering isn’t ready yet…
By the way…What do you think about finding your information on support.opentext.com; We use the new portal now for about a year, but my feeling is that it’s still not steady, not structured, slow and badly indexed with unclear search results on your queries!? Comment me as I’m curious if I’m the only one here and if I just miss the concept? What I really miss is just a saved filters option or just a quick link to get everything (software/documentation) related to AWP 23.3 as an example.

UPDATE: I was just too quick!…Find the “OpenText AppWorks Platform Supported Environments” here; Also, the filtering is in place on version ‘23.3’. This rest of my opinion still applies!

🆕 Update on the available changes in 23.3 🆕

I always try to write a nice and shiny introduction here, but if you’re just as curious as I am, you also just want to move on! 😀 Well, here we go…

Dynamic Workflow – Personal templates

We see an enhancement with each release, so I’m not surprised it got an enhancement with this release as well…I’m wondering what big customer is providing input on these changes (as that’s most of the time how things are developed…”You Ask; We Build”, that’s how you make a customer happy!)

Let’s start with a simple ‘Case’ entity and a basic case_name property. Make the entity nice on the generated BBs and add the ‘Dynamic workflow’ BB as an extra cherry on the cake. I also apply the ‘Security’ BB with an ‘Identity User’ role enabled for all permissions, but that’s because I want to switch accounts for the ‘Personal templates’! So, I have a simple account awtest, and my developer account awdev…AND…I use a third account awadmin which I made equals to my awtest account for this feature!

I quickly dive in the documentation for the extra workflow roles (as I didn’t know out of my head):

Workflow Template User X
Workflow Template Reader X
Workflow Template Creator X X
Workflow Template Developer X X
Workflow Template Manager X X X
Workflow Template Administrator X X X

Extra quote from the documentation:

When a Workflow Template Creator creates a template, it is created as the 
user's personal template. Other users cannot see these personal templates
unless it is shared to them by the Workflow Template Administrator.

With this information in mind, I attach my awtest account to Workflow Template Creator, and my awdev account to Workflow Template Developer. In runtime (with awtest), I now create/open a new ‘Case’ instance. Here I can start a new workflow creation screen and save it as new template:


So, I just saved myself a “personal” flow…When I switch to my awadmin account and have a look in the default homepage under the ‘Workflow’ category of the list, I indeed don’t see it! GREAT! Now for the awdev account; this account should see it and can ‘Share’ it among others:


That’s an interesting next screen:


Why interesting? Well, those are “Instance” roles…We see these types of roles also in the ‘Sharing’ BB to “temporary” assign a role to a functionality. Good thinking! When I now move back to my awadmin account, I can see the workflow; I can also use it on the ‘Case’ instance!

Jobs done! 🤗

I also saw a question passing by about using the ‘Dynamic Workflow’ BB on an entity that has a subtype. You will see that the building is inherited, but you can’t ‘replace’ the BB to “specialize” it for the subtype. My first reaction was: Why you would want to do this? This BB opens “a party in runtime” for your business analyst people to build their own simple flows (with steps/tasks). When you try-out this BB (incl. that subtype), you will see in runtime the flows are “attached” to the entity (also on subtype entity level). Even when you save them as template flow, you can only use them within the context of that (sub-)entity; So, they are not mixed in one selectable dropdown because you define the BB on the parent entity!

Email – File attachment from local file system

Quoted from the documentation:

If the content system or business workspace is added to the 
application, there will be two options: "attach from content system"
or "attach from this computer".

So, let’s add the ‘Email’ BB to the already created ‘Case’ entity and update the layout to show the ‘Emails’ panel as well! On the ‘Email’ BB itself, you need to add a new E-mail configuration before you can publish the entity into runtime:


You see I also added the ‘Content’ BB, so I can select the related option in the ‘Email’ BB (second arrow!)…I’m not sure, but I guess it’s related to this feature. In the layout, I also add the ‘Content’ panel to play with!
Owhhh…And don’t forget to update your ‘Security’ BB on this mail functionality (if you have it in place…As I have, and also forgot!) 😜

After publication, move to runtime, open a ‘Case’ entity instance, and create a new mail from the ‘Email’ panel in the layout:


Green flags all over the place…NEXT!

Interesting feature as it should help me as a low-coder…Only, I don’t have a clue what a “Model picker” would be!?!? Well, after asking around I conclude I touched this functionality in the previous feature…Have a double-check:


AHA!-moment…So, that’s just an extra action in our selectable dropdown lists! Where else can we find this?

  • ‘Notification’ BB; When you enable an event, find this option in the email template picker; Only, you can’t use this functionality to create a new ‘Role’ for the recipient’s picker!?!?
  • ‘History’ BB; When selecting a history log configuration
  • ‘Layout’ BB; When you want to apply a ‘Rule Category’ to a panel, you can directly create a new one from this perspective; Only, when you want to select a ‘Form’ for your form panel or an ‘Action bar’ for a ‘Contents’ panel (for example), this option is NOT available!?
  • ‘Form’ BB; When you want to apply a ‘Rule Category’ to a component, or when you add a repeating relation and select the layout for the ‘Open’/‘Create’ action


This was my forum question

Does this feature speed up my development cycle? Well, I little; The forward/open link is very appreciated (although it will open more tabs making the designer UI slower)!…I think we can save more of our time making meetings more efficient/effective! 🤔

Support for problem resolver mechanism in Compatibility Poller type JMS implementation

The Java Message Service connector! Yes, it’s an interesting topic standing high on my backlog list for creating a post out of it: “Use an external JMS queue (ActiveMQ supported!) that can be managed by the JMS Connector”. So, it’s good to have a new feature in the release which give us an opportunity to have a sneak peek already…

I quickly open the ‘System Resource Manager’ of my organization to add a new service container of type JMS connector, but I see it’s not available!? Logging in to the ‘/system’ space tells me the CAP packages for this feature require a deployment first:


At this moment I don’t have a clue what the ‘Extensions’ package will deliver, but I just deploy both of them…Because we can! Normally, I explore what exactly is deployed, but I leave this for my future post!

Back to my own organization where I see 2 new artifacts popping up; The ‘JMS Connector Configuration’ and ‘Manage Blocked Pollers’…

JMS Connector Configuration


Here we clearly define the basics for a JMS connection to for example Apache ActiveMQ; I don’t have it up and running, but walking through the tabs tells me that when (I guess) a message comes in, we can trigger some action (like a BPM?); Under the ‘Destination Managers’ we clearly configure the location details and authentication to ActiveMQ. Great, but not for now! Comment me if you want to put my JMS post higher on the backlog…

“BTC” (in the screenshot) is not Bitcoin, but stands for Binary Transformation Configuration!

After this configuration, I can now create a new service container with this input:

  • Type: our crafted OpenText JMS Connector
  • Name group: sg_jms
  • Select both available service interfaces.
  • Name service: sc_jms
  • Assign to OS process
  • Make it start automatically
  • Select your previous JMS configuration

I also put the usage of this service container as a topic for that future post! You can already have a look in the administration manual of the platform in the sections ‘Configuring the JMS connector’ and ‘JMS Connector Configuration interface’…

I was still wondering what the ‘JMS Extensions’ package delivers. After some R&D I conclude it’s the artifact ‘Manage Blocked Pollers’ and the logic behind it. I move it to a separate post.

Well, I almost forget about the feature for this release!? Where can we find it? Well, a quick search brought me to this screenshot:


It’s a little cryptic for me as I’m not (yet!) into the JMS-stuff, but this is the documentation behind it:


Public APIs to support custom forms in the rule dialog box

Nice, again an update in the new JS API; In the last 23.2 release, we saw an update as well. Start your runtime, open the developer console of Chrome and type: window.parent.publicAPIProvider. The only NEW action I see passing by is this one:


What can we (from an AppWorks perspective) do with it? Well, let’s say we have a new action type of ‘Rule’ BB with name a_open_custom_dialog that will open a custom HTML page saved in the assets folder of your project:



  • See here for such an HTML and JS example.
  • Also {system.baseDomain} is new to me; It returns; I was only aware of {system.baseURL} and {system.organization}
  • For you to copy: ./../../../html/playground.htm?{system.baseDomain}
  • This would have been nicer: ./../../../html/playground.htm?baseDomain={system.baseDomain}, but I took the quick shortcut in the JS…See below which I got from the documentation 😣. We can do this better, but not for now…

These are the coding snippets I used for the playground.htm and playground.js files:

<!DOCTYPE html>
<link rel="stylesheet" href="../app/start/web/startup.css" type="text/css" />
<script src="/cordys/thirdparty/jquery/jquery.debug.js" type="text/javascript"></script>
<script src="./../js/playground.js" type="text/javascript"></script>
<h1>New API demo</h1>
<p>This is a paragraph.</p>
<input id = "btnClickOk" type="submit" value="OK"/>
<input id = "btnClickCancel" type="submit" value="CANCEL"/>
$(document).ready(function() {
let parentDomain = window.location.href.split('baseDomain=')[1]; //We can do better!

let okAction = {};
okAction.name = 'submitActionWithMessage';
okAction.submitType = 'okAction';
okAction.submitMessage = 'Custom action performed';

let cancelAction = {};
cancelAction.name = 'submitActionWithMessage';
cancelAction.submitType = 'cancelAction';
cancelAction.submitMessage = 'Custom action cancelled';

console.log('Handle OK');
window.parent.postMessage(okAction, parentDomain);

console.log('Handle CANCEL');
window.parent.postMessage(cancelAction, parentDomain);

After publishing it all into runtime, you’ll see amazing stuff passing by:


You also see the header and footer removed in the popup; Yes, that’s an extra function on the action ‘Rule’ BB (check the collapsed ‘Advanced configuration’); You can even set the width/height for the dialog!

Now, hit the “OK” or “CANCEL” button and watch this:


Ohw YEAH!!…😎

Discontinued and deprecated features

Email schedule – Frequency Yearly

In runtime, I can clearly check the profile settings for the discontinued option (the ‘Yearly’ option is gone!):


Brava! 16 EP7 Update 6

AWP 23.3 is compatible with Brava! 16 EP7 Update 8 (; Looks to me like it only patching work; For a new project, I would go for the new OT Intelligent Viewing experience. This IV package is improved on supported functionality since AWP 23.2 (previous release!)

Oracle 12c R2

The Oracle Database is currently at version 23c. Version 12c dates from March 2017, so I guess it’s indeed about time! Oracle 18c/19c are supported for AWP 23.3.

That’s it…AppWorks playground 23.3 is open and ready to build/upgrade your solution. It’s a ‘DONE’ from my side on this update post with a small overview of the new GA features for this Q3 2023 release. Have a great weekend and I CU in the next post; next week.

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”?