/ Release  

A new release, in this new third quarter of 2024; GA AppWorks 24.3 is here

Hi there AppWorks fans,

Welcome to a new installment of AppWorks tips.

“new features”, “New Features”, “NeW FeAtUrEs”, “NEW FEATURES”…HOORAY!! 💪
Feel the adrenaline my friends…The AWP 24.3 is GA for Q3 in 2024, and you’ll be the first to get the first glimpses of the latest and greatest deliveries of the OpenText product team! They do a fantastic job delivering all the promises each quarter repeatedly; I know how hard this can be…Pressure can be intense for the moments in time when everyone expects greatness…So, keep up the excellent work! We all love you…

Grab yourself a drink and immerse yourself on the update of this release!


Let get right into it…

I’ll follow my own upgrade post again for fast insights, efficiency, and because it simply takes less of my valuable time. I’ll upgrade from version 24.2 on CARS (to version 2.8.9) and the platform itself…I left my OTDS instance 24.1.0 as is ; Although there is an upgrade package to version 24.2.0, I assume it still works. This post reviews the OpenText AppWorks Platform CE 24.3 Release Notes PDF. I’ll jump through each feature one by one after in the next section.

This is the quick tag for this release #AppWorks24.3.


🆕 Update on the available changes in 24.3 🆕

A quick sneak-peak on the release notes tells me it’s a compact list this time; Only 9 topics to cover this time. It doesn’t say anything as I see also some large features passing by like the “Aviator” update, the new /dev eXperience, entity searching, and historic connector support! Let’s not wait further and dive through the list of new functionalities…


Page redirection on task actions

So, when we add the ‘Lifecycle’ BB to an entity, opening the related ‘LifecycleTask’ entity, we can create a new ‘Rule’ BB where the list of events expands:

update_24_3_001

AND when (for example), the user claims a task, we can redirect the user to another location:

update_24_3_002

Hmmmm, interesting feature; Only, why only on the ‘LifecycleTask’ entity and not a regular entity? I guess we’ll all find a use-case that when an entity property changes, we want to move our ass somewhere else…right? #FEATURE_REQUEST


File Connector

This connector was a community thing but is from now on part of the platform by popular demand. We were already ahead of time (and one of the demanders) that’s why I simply point out to this post where we describe the ins and outs for the “File Connector”.

Other popular community connectors (like the “ReST Gateway”) are in the pipeline to get support as well from what I heard.


AppWorks Aviator for developing applications

Before we can use this feature, we still need to explicitly deploy the four relevant packages in ‘/system’. See also release 24.2 for packages: OpenText AI Client, OpenText AI Connector, OpenText AI Runtime, and OpenText Aviator.

The feature is out of the preview phase! AND the Google Gemini API is available in Europe (no VPN required!). So, all lights are green to buckle up a connection and retry the findings from the previous 24.2 release! My expectation is that all still works the same; let’s see…


A-FEW-MOMENTS-LATER

Setting up the Google Gemini API key gives me the first error: Gemini API free tier is not available in your country. Please enable billing on your project in Google AI Studio.

Great…That’s what you get when you regulate everything!? Time to put my VPN connection to the USA/Japan back in place! It is what it is…The path to innovation is sometimes a struggle; Just accept it but be creative! 🙃

My CURL command is up and running again:

1
2
export GOOGLE_API_KEY={your_key}
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=$GOOGLE_API_KEY -H 'Content-Type: application/json' -X POST -d '{"contents": [{ "parts":[{"text": "What is the weather today in the Netherlands?"}]}]}'

After the AI configuration in AppWorks (in my own organization) provides me with a result on (see also the post on release 24.2):

1
2
3
4
5
6
7
8
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<SendRequestToAI xmlns="http://schemas.opentext.com/ai/1.0">
<ApplicationName>AviatorAI</ApplicationName>
<Message>What is the weather today in the Netherlands?</Message>
</SendRequestToAI>
</SOAP:Body>
</SOAP:Envelope>

Back to the ‘Aviator’ with this prompt:

1
2
I would like to build a simple 'todo' application that structures my 
thoughts and clears the mind by planning it via due dates and notifications.

Works too smoothly; I see a “default security configuration” as optional choice passing by; I let it generate…YOLO, but at the finish line:

update_24_3_003

Hmmmmm….Looks like a security thing to me (see the logging):

1
2
3
4
Unable to create the OTDS partition 'AviatorApplicationRoles_25ea4698-64e8-4b05-918e-1c66ccc9e268'.
Caused by: com.opentext.otds.OtdsException: Access denied.
HTTP 500 Internal Server Error.
The ID 'null' is invalid. It must be 32 characters long.

WAIT…Didn’t I need to apply myself to an AI-kind-of-role-thingy?

update_24_3_004

Yes, indeed, but it’s not fixing the problem! What did fix the problem is skipping the “default security configuration” part; Strange!? This feature tries to push roles into an AI generated OTDS partition, but it needs some extra permission! At least that’s my first guess (not for now!)

I tried to add my awdev account to the otdsadmins group in OTDS itself and applied to role OTDS Push Service within the ‘User Manager’ artifact; Both without any results!? #SUPPORT…Or #RTFM? as I skip that part because of time schedules!

I continued my journey, but the next failure happens on the workflow parts of the Aviator; Again, permission errors:

1
2
3
at com.opentext.cordys.entity.rest.workflowTemplate.WorkflowTemplateRestController.generateWorkflowTemplate(WorkflowTemplateRestController.java:111)
The requested permission 'Create' was denied.
HTTP 403 Forbidden

Well, I skipped the “default security configuration”; So, could it have a relation?…Also, not for now! I did a retry again…With the default non-workflow settings and all is fine now.

My fourth try-out gave me this workspace view (which got an improvement from last time!):

update_24_3_005

Conclusion; All nice and great…that AI, but the out-of-the-box-experience is not there (yet!). There are indeed serious improvements and time will tell where this AI powered Aviator will bring us.


New application developer experience – Preview

…still in preview, but let’s dive into the extended /dev path in URL http://192.168.56.107:8080/home/appworks_tips/dev

I’m just clicking a bit around as the release notes PDF mentions nothing special beyond that’s all brand-new with a fresh UI…Which I agree!

I do see some changes already on opening my project:

update_24_3_006

Someone had a lot of fun on creation new SVG icons for the new UI…

Also, don’t forget the “Common” section where we can also create new BPMs!…It took a while before I noticed. 😊

update_24_3_007

This includes the regular actions from the context menu:

update_24_3_008

What I do still miss, is the option to import the application packages of the platform. You can import them on project level from a CAP/MPK file locally, but I miss the option to directly customize/subtype entities from the Identity package! #SUPPORT (although you can still use the “Classic” UI for this part)

I was also curious on the used JavaScript frameworks (in the dev-console <F12> in Chrome):

  • Require.JS - A JS file and module loader.
  • jQuery - A fast, small, and feature-rich JS library.
  • Underscore.JS - A JS library that provides a whole mess of useful functional programming helpers without extending any built-in objects
  • Bootstrap - A powerful, extensible, and feature-packed frontend toolkit.
  • Backbone.JS - Gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface
  • Globalize.JS - A suite of JS libraries for internationalization and localization that leverages the official Unicode CLDR JSON data
  • Typeahead - A flexible JS library that provides a strong foundation for building robust typeaheads

I would have expected something like Angular, React, ExpressJS, VueJS, NextJS, or Sencha…Interesting; Or I didn’t see it!? I’m also not a JavaScript person. Have a comment…

Simple question: For whom is this UI designed and why do we need it?
With an imaginable answer: It looks like the “Business analyst” will start to create more and more simple types of apps in AppWorks (like the Aviator does as well), having a new UI for those people sounds valid…We as experienced experts still know our way through the “Classic” UI; That will never change. Simple apps will always get advanced over time where the “analyst” will hit the wall of complexity. It’s just a matter of time; You know where to find me. 😜


Improvements for locating and tracking of task comments

Right…So when we have a one-property ‘Case’ entity with a simple ‘Lifecycle’ BB implementation like this:

update_24_3_009

AND applying the ‘History’ BB to the ‘Case’ entity? or the related ‘LifecycleTask’ entity!? I assume it’s on the entity itself…Have a comment.

After publication (and fine-tuning the default case layout showing tasks and history!):

update_24_3_010

…We can now create a new ‘Case’ instance in runtime which creates a new task ‘Activity’. On completion, you can add a comment:

update_24_3_011

AND from the history panel we can filter down on it:

update_24_3_012

FYI: You can add comments to task actions by default! You can disable this feature adding the following property in the ‘wcp.properties’ file: entity.task.showcommentdialog=false

I did the above on entity level, but when I add the ‘History’ BB and relative panel on a new ‘Layout’ BB for the related ‘LifecycleTask’ entity, you can do off-course the same filtering; On the same comments!…With “in context” of the ‘LifecycleTask’ entity…Nice!

Next one…


BigInteger data type in entity modelling

Reading the feature in the PDF tells me this feature get its introduction because we want to store ID values without truncation!? WHAT? ID values like an ItemId of the entity? Or ID values that have a bigger value than the Integer.MAX_VALUE (in Java) or better the integer maxvalue of the Postgres BD. AND what if the value exceeds? Does it get a truncate? Really? Looks like it’s time for a quick test…

Create a new ‘Test’ entity with two properties as an input:

update_24_3_013

After a publication, I see this passing by as a result as the database table:

update_24_3_014

So, that working…Now for the test as the max size of an integer is 2147483647 and for a bigInt is 9223372036854775807; Let me tell you upfront, that an ItemId of an entity will not fit, so it must be a different ID that exceeds these numbers!

First test (which should be fine…agree?):

update_24_3_015

Time to increase the integers:

update_24_3_016

Hmmmm…Looks like a solid implementation to me!? What about the truncate? WAIT…Maybe it’s not an automatic truncate of the ID, but maybe there was a customer truncating it themselves (via a ‘Rule’ BB or BPM) to fit the BigInt into the Integer column!? Have a comment…For me, it works as requested.


Integration with OpenText Core Content – GA

A first note: I’ll create a separate post on the real connection; this section will give a quick overview of what to expect!

Now that this feature is GA it’s about time to finally connect my AppWorks instance to my brand-new-full-functional-core-content-enabled-dev-account at developer.opentext.com. With the correct plan (for me that’s “Core Content Developer”), you can access your tenant via the console link:

update_24_3_017

Behind this URL you can access your “Admin Center” (at current writing version 24.3) where you can manage tenants, permissions, view API call numbers, etc. (not for now!). You need this information to connect AppWorks to the cloud tenant:

update_24_3_018

I leave the fields empty for now as the real connection will get an explanation in a separate post! Trust me…It’ll be great! At least that’s what an OpenText insider told me helping to set it all up for me…You know who you are! Thx again.

The AppWorks configuration (from my experience) will also require a “documentstore” type of service container…Like this where the Core Content config will derive from the previous screenshot:

update_24_3_019

AND once an entity has the “Business workspace” BB applied with a synchronized property and a first publication is delivered in runtime, the administrator from the “Core Content” side (as well for the /app/admin side as we learned from our extended ECM experiences) can do some (for me currently unknown) magic with so-called “Core Content workspace types” and “Core Content workspace roles”. It’s good to get some knowledge in this area as it will be the future of content cloud management.

Once configuration is ready, the “Application” end-users in AppWorks runtime can view Core content data via the “Business workspace” panel on a layout showing a relative “Core Content widget” and executing “Core Content actions”….How nice! Let’s see in that new post.

For you (and me to know); Core Content itself is accessible via this link, but you need a tenant and credentials for this to work with. From an AppWorks perspective the administration documentation is a helping hand under section “Configuring Core Content”.

OpenText Core Content is an OpenText Cloud Platform (OCP) based SaaS content management solution that provides simple, agile, and secure cloud-based content management for enterprises and integrates into crucial business process applications, including SAP® S/4HANA Public Cloud, Salesforce, and Microsoft 365. Customers who have a subscription to OpenText Core Content can use AppWorks Platform to build applications and integrate with Core Content similar to Extended ECM (xECM) integration. Application developers can use the Business workspace building block and business workspace panel for Core Content integration.


Single entity search – Preview

Note upfront: I can’t do this on my Postgres DB instanced VM; Switching quickly isn’t an option on this side of the screen! 🙃
Why? Well, in the current release, the AppWorks Platform only supports it, deployed with an Oracle DB!

I know the demand for searching within AppWorks runtime is big. I see OpenText doing a lot of effort on doing searching on ‘List’ panels in version 23.4 and the roadmap tells me about more deliveries on search functionalities. If you can’t wait, you can also implement is yourself as in the end it’s all metadata in XML structures this is searchable via xPath and RegEx. Have a look at this “saved search” post to get some creative thoughts.

When you’re the lucky one to have Oracle as a DB, have a look in /app/admin for your solution on the search settings:

update_24_3_020


Business Calendar enhancements

Reading the feature from the PDF tells me we get more performance on the calendars and get more flexibility in runtime; How? I don’t know; I asked my mentor on some thoughts for this specific feature, but the two of us couldn’t figure it out within 15 min.? Strange, as we would expect something magic in runtime that makes it possible to manipulate the business days in runtime now. Currently, it’s only possible to change business days delivering a new package with the new business day definitions/exceptions, but that’s exactly what you don’t want. You want to manage these details in runtime by your administrator of the solution on request.

If you know the exact answer let me know in the comments!? It will help other too.

Extra note from the release notes:

1
2
3
4
If AppWorks Platform is upgraded from current or future versions, you need to 
use the business calendars migration tool to synchronize old calendars and
calendar exceptions. If not synchronized, the business processes that have
business calendars will fail.

You find the tool description itself in the ‘24.3 AppWorks Platform Upgrade Guide’, but here’s a free hint:

update_24_3_021


Discontinued and deprecated features

No deprecated features! 😎 We do have a discontinued feature for version 24.3: “Support for CentOS 7”. As expected! I already moved to RHEL as free-tier-developer-1-instance-experience (which is enough for what I want).


That’s a “DONE” on AppWorks Platform 24.3; Playground is open with an interesting view on the new features for this Q3 2024 release. Have a great weekend and I CU next week, with a new post. Cheers!

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