Hi there “Process Automation” fans,
Welcome to a new installment of “Process Automation” tips.
A long time ago, I wrote about a filtered list of task-assigned cases. I always thought this post was clear enough to create such a list of “your created cases”, but clearly it wasn’t clear enough, as I’ve now seen the same question come by twice. So, here we go again with an advanced filtered list on a homepage called “My created cases”…
Let’s get right into it…
Boot up your favorite VM (which is the OPA platform) with all components included! You know them out of your head, right?
For you to remember, a list of the OPA basic components:
- Operating system (like Windows/Linux)…dûh!
- Database for persistent metadata storage (like Postgres/Oracle/MS-Sql)
- Webserver serving the UI (like TomEE/IIS)
- Java for running all the platform code
- Repository for persistent content storage (like OTCS/Documentum)
- Authentication (like OTDS) with an identity provider (like Active Directory)
- CARS as an OpenLDAP instance for storing identity entries (which is slowly moving into the database since release
26.2!)- The OPA platform itself 😍
- Viewer for exotic file types (like IntelligentViewing/Brava!)
Once logged in to your collaborative workspace (CWS), open the ‘Workspace Documents’ artifact to create a new workspace including a new project and folder structure. I always start with something like this:

In the ‘entities’ folder, create a new ‘Entity’ type of document (from the context menu). Add one property, case_name, with a corresponding label of type ‘Text’, generate the rest, and end up with something like this:

Notes:
- I made some changes based on my standards of naming building blocks. This will benefit you in the long run!
- I also added the ‘Tracking’ building block to get the “Creator” details in properties OOTB!
Publish the changes, create (AND open) an instance in runtime of this ‘Case’ entity, and watch out for these properties from the development console:

With this information, we can easily add another ‘List’ BB with name case_lst_cases_mine which has a filter like this:

Publish to runtime and check the result…You see a difference between the two accounts, right?
You can use a second “incognito” tab to start another session with a different user. I always have
opadev,opatest, andopaadminavailable, exactly for these situations. Always test with a different account and make sure to NOT test with an admin account, which will not expose security breaches!
Ok, now for the next level, as this is “in context” of the entity instance! The next step is creating a new ‘Homepage’ type of document in the ‘homepages’ folder of the project. I just call it hp_main with a configuration like this:

Does it work? Well, of course it works in runtime once you switch the homepage layout for both your users.
…
What else can we do!? Well, what if I only want to see my cases within a current case? Fascinating…watch this by adding a ‘Results’ panel to the current layout and selecting the correct list again:

Works…right? Yes, it does after publication in runtime and verification on both accounts.
…
What else? Well, watch this feature…
Switch the previous ‘List’ (on the case layout) to the “All cases” list. I know, you will see all cases, but hit that little filter icon at the back:

In case you wondered: No, you don’t have this option on a ‘Homepage’ layout!?…Don’t shoot the messenger.
The filter will look like this:

Notes:
- For you to copy:
CreatedBy$Properties.UserId={User.Properties.UserId}- Tip on that filter: Start thinking from the result list! So, the left side is a column from the list; the right side is our current entity/user/system. See another example here.
After publication, you’ll find yourself an error in runtime like this:

However, we can simply solve this by adding the ‘CreatedBy.UserId’ property to the list as a filter option:

NICEEEEEE! 🤓
You now also see the importance of having the developer tools open in runtime to view the JSON data, where you can easily follow the path to what you need.
FYI: this is also valid
CreatedBy.Properties.UserId={User.Properties.UserId}(a.instead of a$)
That’s a beautiful low-code “DONE” which you hopefully remember forever now, or at least bookmark in your favorite browser. Using expressions smartly makes filtering an easy task once you know how it works (which you now do). Shout it out into the world while we (from Process Automation Tips) just continue our consistent posting on fascinating topics about the OPA platform. Cheers!
Don’t forget to subscribe to get updates on the activities happening on this site. Have you noticed the quiz where you can find out if you are also “The Process Automation guy”?