Salesforce, Python, SQL, & other ways to put your data where you need it

Need event music? 🎸

Live and recorded jazz, pop, and meditative music for your virtual conference / Zoom wedding / yoga class / private party with quality sound and a smooth technical experience

IBM FileNet P8 code modules remind me of Salesforce Apex classes and triggers

17 Mar 2026
💬 EN

Table of Contents

FileNet is reminding me of Salesforce, and not in a nice way.

Gripe

Trying to compile a bunch of .java files into a .jar and then get that .jar deployed into IBM FileNet P8 as a code module with appropriate changes to “metadata” included in the .zip file you’re about to upload via the Content Services Deployment API

…reminds me an awful lot of trying having a bundle of Salesforce .cls, .cls-meta.xml, .trigger, and .trigger-meta.xml files all ready to deploy…

…and suddenly realizing you also need to do excruciatingly detailed surgery on a bunch of shared-enterprise-wide .object-meta.xml and .field-meta.xml files to accompany your class/trigger deployment.

And just like sfdx didn’t provide adequate dependency management to make it all reasonably multi-repo-ready (meaning people had to invent cumulusci), apparently that’s exactly where IBM’s helper tooling is at.

Sigh.

P.S. About FileNet

I know I’m going to Google “FileNet” at some point, end up back on my own blog, and still struggle to remember what it even is, so here is a note to my future self.

IBM’s FileNet P8 is an enterprise content mangement (“ECM”) platform that also includes business process management (“BPM”) capabilities.

It’s often used as part of building a custom business software application whose feature set requires heavy document management (e.g. “who can see or approve this invoice?”).

Example use cases

(Credit: some LLM.)

  • invoice approval workflow: route PDF invoices for manager review, approval, archiving, and audits
  • employee document portal: securely store HR docs, resumes, offer letters, ensure compliance
  • insurance claim processing: handle scanned claims, automate workflows, compliance, search

ECM-BPM vs generic web server

An LLM chatbot clarified:

  • If your job is routing contracts, invoices, scanned mail, or compliance paperwork where every step, signature, and archive location matters, you could benefit from an ECM.
  • If your job is managing a custom sales platform or portal, customer dashboards, or a booking engine, you’ll likely be writing basic code to run on a generic web server framework.

ECM vs CMS

I joked to the LLM:

Heh – is an ECM like FileNet, then, what the headless content management system (“CMS”) known as Sanity is just a baby at being? 😉

Here’s how it said a CMS compares and contrasts against an ECM.

Similarities

  • “Both allow flexible content modelling and can be deeply customized for organizational needs.”
  • “Both offer real-time collaborative editing and integration with modern development tools.”
  • “Your joke is spot-on in spirit: what Sanity is to agile website/app content teams, FileNet is to enterprise-wide, document-centric business processes. They share conceptual DNA, but are aimed at very different complexity and scale.”

Differences

  • “If you just need flexible website/app content, a CMS is great.”
    • “A CMS is about powering editorial teams and developers to create digital experiences quickly, but it doesn’t tackle the giant-scale, process-heavy, or compliance-driven challenges ECMs are made for.”
  • “When you’re automating insurance claims or bank documentation at global scale, you reach for an ECM.”
    • “An ECM/BPM goes much further with records management, sophisticated workflow orchestration, regulatory compliance tools, and integration with legacy/mainframe systems – areas where a CMS does not compete.”
    • “An ECM is built for mission-critical back-office business processes and governance at Fortune 500 scale.”
--- ---