Technical Articles
IFlow comparison tool & CPI scheduler overview – new functions in RealCore’s CPI dashboard
Just over a month ago, the last update of the RealCore CPI dashboard (What is it?) is coming. Enough time to add some new functionalities. With the new release 1.0.4, two new features have been added to the dashboard, which I would like to introduce below.
Like the last article, this one is again divided into the following sections
- Changes and new Features
- IFlow comparison tool (Diff utils)
- CPI scheduler/timer overview
- How to install / upgrade
- Feedback and Summary
Changes and new Features
As told in then introduction, the new release (1.0.4) brings two new features as also some minor improvements “under the hood” with it. Let’s start with the biggest new feature…
IFlow comparison tool (Diff utils)
The IFlow comparison tool tool does exactly what its name says. It allows quick and easy comparison of two IFlows. It does not matter if the IFlows are stored on the same tenant where the dashboard is located or on another tenant, because the remote tenants can be connected via the configuration.
To make a comparison, first two IFlows must be selected. The selection is made according to the scheme: Tenant> Package> IFlow.
Clicking on the “Create Diff” button then creates the diff view, which takes between 5 and 20 seconds depending on the IFlow size and network speed. Upon completion of the comparison, the results will be displayed in a pop-up that divides the contents of the selected IFlows into five categories.
- Different text files: Shows all files which exist in both IFlows, are text-based and different. The differences are shown in a side-by-side view.
- Different binary files: Shows all files, exisiting in both IFlows, but are binary based. Differences are “shown” by CRC (checksums).
- Different in linebreaks only: Shows text files, which are different by checksum, but similar in content. Only difference in this files are the line-endings (\r\n vs. \n)
- Files existing in one of both: Shows all files that do only exist in one of both IFlows.
- Similar files: Lists files which are identical in both IFlows.
Note: Only design time objects are compared. A comparison of deployed IFlow artifacts is currently not possible.
CPI scheduler/timer overview
The next new feature is the so called “scheduler overview”. This tool gives you an overview of the upcoming interface runs which are scheduled by an timer element. The module is divided in two different tabs. The first tab, called “Runs during next 24h” shows a sorted list of all interface runs for the next 24h. If multiple interface are scheduled on the same timeslots, they will be listed per entry.
The second view shows all IFlows which contain at least one “Timer”-element. For each timer multiple information like the cron rule, a human readable explanation and the next three run dates are shown. In addition to this, the Dashboard checks if the timer was configured via CPI’s “externalized parameters” feature and if so, it shows the name of the parameter.
Note: The cron rules/dates are extracted from deployed artifacts (=runtime content) only. So if you deploy an interface with a timer and afterwards change the timer configuration in the designtime perspective, that the cron schedule shown in this tool might differ from what you see in the designer perspective!
How to install / upgrade
Let’s head over to the installation now. If you haven’t used the dashboard before, you can should follow the installation guide in this blog post.
If you’re already a user of the dashboard and just want to upgrade, let me quickly summarize the changes in configuration:
- Download the new IFlow from the Github release page and upload it to your CPI tenant
- Optionally set the “DIFF_REMOTE_CPI_TENANTS” parameter in the “More” tab.
- Use the following format to add remote tenants for the comparison tool:
- <hostname>|<basicauth-security-material-name>;<hostname>|<basicauth-security-material-name>;…
- Use the following format to add remote tenants for the comparison tool:
- Deploy the IFlow
Feedback and Summary
danke an stefan tanck und piotr sowie vadim und morten
Since the features presented above, we’re highly influenced by your feedback and ideas, I like to thank the following persons:
- Stefan Tanck for bringing up the idea of a comparison tool. (Funnily, stefan first came up with the idea because he had to think about our SAP PI/PO comparison tool.)
- Morten Wittrock for pointing me to Piotr Radzki‘s LinkedIn post where he asked for a scheduler overview.
- Ariel Bravo Ayala a good discussion and some hints about getting the scheduler data. By the way – check out his solution, the TSIM tool, for getting a scheduler overview, too.
- Eng Swee Yeoh for pointing out a bug in the role/authentication handler (and for delivering the solution at the same time).
As written in the last articles, too – I really appreciate your feedback and ideas. Please let me know what you think about the new release and/or if you have ideas for new features.
Hi Raffael
Again very nice features which are added to the dashboard.
Keep up the good work! 🙂
I'm thinking it might also be very useful to be able to compare different versions of the same iflow using the iflow comparison tool
Regards,
Ewout
Hi Ewout Devos,
thanks for your feedback. I placed your idea to my todo list. 😉
Regards,
Raffael
Hi Raffael Herrmann
While we're at it, I think it can also be beneficial to have a summary of all the endpoints which are exposed on the tenant, both HTTP and ProcessDirect.
Regards,
Ewout
Hi Raffael Herrmann ,
wow, you were really fast from feedback to realization! 🙂
Thanks a lot for the comparison feature, I find it very useful.
As you asked for more feedback:
Besides the code comparison feature it would be really nice to compare iflows in tenant A vs iflows in tenant B. This could be shown as a table/list with the corresponding version of each iflow/artifact on both sides and some color coding.
Best regards
Stefan
Hi Stefan Tanck ,
thanks for your feedback. I’ll add it to my (rapidly growing) todo list for the next dashboard release.
Best regards and merry Christmas,
Raffael
Hi Raffale Herrmann
We tried to start the comparsion tool between our CPI's which we use in the Cloud Neo.
I had the problem that I could compare the iFlows only between the CPI's which are installed in the same DC. For expamle between our DEV and PROD CPI which are running on hci.eu1.hana.ondemande.com.
Our Int is installed on hci.eu2.hana.ondemande.com an I configured the parameter DIFF_REMOTE_CPI_TENANTS on the Int CPI I got a http 500 error when I starting the dashboard on the Int CPI.
Has anyone had this issue in the Neo environment as well or does this definitely not work?
Best regards
Matthias