The three options "do it manually", "write some code" or "use FDM" all work but first you have to understand what you have. Our product, Case Librarian (https://www.caselibrarian.com) , does that.
It extracts configuration and statistical details from CPE, and other components, and helps you understand what you have. It generates documentation quickly, easily and consistently, including comparative information of your current configuration and FDM exports, for example. It generates graphical, textual and analysable information that allows you to know what you have, what you had, and what you may end up with.
Whether you use any of the options, you still need to know you've made the right changes and understand how a fairly complex system is built, across multiple environments, with probably multiple other software dependencies.
Navigating ACCE requires you to remember things, only works one thing at a time, doesn't provide comparative or historical information, doesn't provide ranges, limits or impacts of chances. It's all up to the skill and expertise of your people. Case Librarian is our twenty years of expertise made easy.
------------------------------
David Alfredson
------------------------------
Original Message:
Sent: Thu March 16, 2023 04:14 PM
From: Dominik Baer
Subject: FileNet Deployment Manager and CI / CD
Hi Florian
I think this is an interesting topic and I would see various aspects:
1) using a simple mechanism to apply structural changes to an Objectstore. As some of the replies include I have used a set of text files for each change which is then interpreted by some java classes which are then calling the methods from the jace.jar. In the code I always check for the prerequisites and then apply the change. That is pretty straight forward but the effort to maintain such framework is time consuming.
2) After you have applied the changes and you decide to return to a previous version - now the problem gets ugly. As long as this is a dev system you can always start from a baseline and this might be fine, but for a productive system where you have a few million records that might be quiet tough. Think about the fact you would like to remove a property template from a class but you have already ingested a few thousand documents in an objectstore which contains millions of documents.
Even if you manage to update the meta data to null and then trying to remove it from the class you still have the column in the underlaying docversion table. You reached here the point where the simple concept of a CI/CD pipeline might not work anymore.
------------------------------
Dominik Baer
Original Message:
Sent: Wed December 08, 2021 05:44 AM
From: Florian KIEBEL
Subject: FileNet Deployment Manager and CI / CD
Hello all,
In a "classic" world, when you want to deploy a new asset (a new document class for example) in Content Platform Engine, you have to use FileNet Deployment Manager in order to export this asset from your development environment and then import it in your production environment. Then import will translate your asset in changes to database tables structure and/or lines in database tables associated to the target object store.
Note that import needs to interrupt service generally in order to avoid perturbation induced by user actions.
When the import failed (generally complex one), you can have remnants of what was imported successfully. Then if you want to rollback completely, you have to restore database with all problems it can imply, the most important of them is unavailability of the service...
In a "DevOps" world where Continuous Integration and Continuous Deployment should take minutes or seconds and where rollback is also taken minutes or seconds, I would like to know how we can proceed with FileNet Deployment Manager.
Are there some tricks, tips in order to improve FDM for preventing service interruption and allowing quick rollback ?
If you have any propositions around this topic, I will be very happy you share it.
Thanks a lot
------------------------------
Florian KIEBEL
Practice Leader
Amexio
------------------------------