<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Koffi Stanislas</title>
    <description>The latest articles on DEV Community by Koffi Stanislas (@thecontenthorizon).</description>
    <link>https://dev.to/thecontenthorizon</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3597569%2Fc9f0dc69-88f6-4326-9b1c-3261d66408cb.png</url>
      <title>DEV Community: Koffi Stanislas</title>
      <link>https://dev.to/thecontenthorizon</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thecontenthorizon"/>
    <language>en</language>
    <item>
      <title>What is Nuxeo? A brutally honest assessment from 10+ years of implementation</title>
      <dc:creator>Koffi Stanislas</dc:creator>
      <pubDate>Wed, 26 Nov 2025 18:22:27 +0000</pubDate>
      <link>https://dev.to/thecontenthorizon/what-is-nuxeo-a-brutally-honest-assessment-from-10-years-of-implementation-1ae6</link>
      <guid>https://dev.to/thecontenthorizon/what-is-nuxeo-a-brutally-honest-assessment-from-10-years-of-implementation-1ae6</guid>
      <description>&lt;h2&gt;
  
  
  The Day Three Crisis (60 Seconds)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The pattern&lt;/strong&gt;: I've trained developers on Nuxeo for over a decade. I can predict when someone will quit: Day three.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The problem&lt;/strong&gt;: Trying to understand document models, schemas, facets, repositories, event buses, lifecycle states, automation chains, and 50+ concepts simultaneously.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The breakthrough&lt;/strong&gt;: Stop. Forget architecture diagrams. Learn OSGi concepts and strengthen Java skills first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Result&lt;/strong&gt;: This single insight turned more struggling newcomers into confident Nuxeo developers than anything else.&lt;/p&gt;




&lt;h2&gt;
  
  
  The One Thing Nobody Tells You Upfront
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;You don't need to understand all of Nuxeo to be productive with Nuxeo.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Trying to understand everything upfront is counterproductive. Here's the real foundation you need:&lt;/p&gt;




&lt;h2&gt;
  
  
  The Real Prerequisites (2025 Edition)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Java 11+ (Java 17 or 21 for LTS 2025)
&lt;/h3&gt;

&lt;p&gt;Solid development skills required:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Java collections (ArrayList vs LinkedList—you know why to pick each)&lt;/li&gt;
&lt;li&gt;Generics don't make you cry&lt;/li&gt;
&lt;li&gt;Streams API feels natural&lt;/li&gt;
&lt;li&gt;Maven or Gradle makes sense&lt;/li&gt;
&lt;li&gt;You can debug code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2025 Update&lt;/strong&gt;: Nuxeo LTS 2025 migrated to Jakarta EE 10. Every &lt;code&gt;javax.*&lt;/code&gt; import changed to &lt;code&gt;jakarta.*&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Old: import javax.servlet.http.HttpServletRequest;&lt;/span&gt;
&lt;span class="c1"&gt;// New: import jakarta.servlet.http.HttpServletRequest;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. OSGi Concepts (The Game-Changer)
&lt;/h3&gt;

&lt;p&gt;This is THE unlock key. OSGi transforms Nuxeo from "impossibly complex nightmare" to "oh, I get it now."&lt;/p&gt;

&lt;p&gt;What you need to understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Service Registry Pattern&lt;/strong&gt;: Everything in Nuxeo is a service (DocumentManager, UserManager, your custom components)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Component Lifecycle&lt;/strong&gt;: Why changes sometimes don't show up, why certain errors happen&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extension Points&lt;/strong&gt;: How you customize Nuxeo without forking it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Real example&lt;/strong&gt;: Need to customize document creation? Contribute an event listener to the &lt;code&gt;documentCreated&lt;/code&gt; event through an extension point. Two hours of work. Fully modular. Won't break on upgrades.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recommended reading&lt;/strong&gt;: "OSGi in Action" (2011, still the best resource)&lt;/p&gt;

&lt;h3&gt;
  
  
  3. REST API Concepts
&lt;/h3&gt;

&lt;p&gt;Nuxeo is &lt;strong&gt;API-first&lt;/strong&gt;. The Web UI is built entirely on Nuxeo's REST API.&lt;/p&gt;

&lt;p&gt;You need to understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTP methods and semantics (GET, POST, PUT, PATCH, DELETE—and idempotency)&lt;/li&gt;
&lt;li&gt;Status codes (200, 201, 400, 401, 403, 404, 500)&lt;/li&gt;
&lt;li&gt;JSON structures and parsing&lt;/li&gt;
&lt;li&gt;Authentication patterns (OAuth 2.0, JWT, SAML)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Polymer 3.x and Web Components (For UI Work)
&lt;/h3&gt;

&lt;p&gt;Nuxeo Web UI is built on Polymer 3.x. Most UI customization happens in Nuxeo Studio Designer (visual drag-and-drop). You can get far without touching Polymer directly. But when you need custom functionality, you'll use it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Three Critical Roles
&lt;/h2&gt;

&lt;p&gt;Successful Nuxeo implementations require three distinct roles:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Nuxeo Administrator
&lt;/h3&gt;

&lt;p&gt;Makes sure Nuxeo doesn't crash at 3 AM:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install and configure for production scale&lt;/li&gt;
&lt;li&gt;Tune JVM parameters for workload&lt;/li&gt;
&lt;li&gt;Monitor performance and troubleshoot&lt;/li&gt;
&lt;li&gt;Set up backup and recovery&lt;/li&gt;
&lt;li&gt;Configure security (SSL, auth, ACLs)&lt;/li&gt;
&lt;li&gt;Manage LDAP/Active Directory integration&lt;/li&gt;
&lt;li&gt;Fix production issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Skills needed&lt;/strong&gt;: Linux/Unix, PostgreSQL/MongoDB, Elasticsearch, Docker/Kubernetes, nuxeo.conf configuration, binary storage (S3/Azure/GCS), monitoring tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cautionary tale&lt;/strong&gt;: Perfect implementation. Developers configured PostgreSQL connection pooling wrong. Worked with 10 test users. Production had 500 users. System crashed in three hours. Weekend emergency.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Nuxeo Full Stack Developer
&lt;/h3&gt;

&lt;p&gt;Builds functionality—custom document types, workflows, integrations, UI customizations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend&lt;/strong&gt;: Java, OSGi, Nuxeo Studio, REST APIs, automation, event listeners, NXQL, Maven, Git&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frontend&lt;/strong&gt;: Polymer 3.x, Web Components, JavaScript/ES6+, HTML/CSS, Studio Designer&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why full stack matters&lt;/strong&gt;: Nuxeo projects don't respect backend/frontend boundaries. A workflow needs custom business logic (Java) AND custom task forms (Polymer).&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Nuxeo Solution Architect
&lt;/h3&gt;

&lt;p&gt;Ensures you use Nuxeo correctly—not just "it works" but "it works well, scales, and won't become a nightmare."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Responsibilities&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make architectural decisions&lt;/li&gt;
&lt;li&gt;Design the document model&lt;/li&gt;
&lt;li&gt;Choose tech stack and integration patterns&lt;/li&gt;
&lt;li&gt;Plan for scalability before it becomes a crisis&lt;/li&gt;
&lt;li&gt;Design security and compliance architecture&lt;/li&gt;
&lt;li&gt;Bridge business requirements with technical reality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Skills needed&lt;/strong&gt;: Deep Nuxeo experience (3-5+ years), enterprise architecture patterns, database design, cloud architecture, API design, content modeling.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Modern Nuxeo Stack (2025 Edition)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Core Platform&lt;/strong&gt;: Nuxeo Platform LTS 2025&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Java 11, 17, or 21 support&lt;/li&gt;
&lt;li&gt;Jakarta EE 10 migration complete&lt;/li&gt;
&lt;li&gt;OSGi Runtime: Apache Felix&lt;/li&gt;
&lt;li&gt;10% faster startup vs LTS 2023&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Storage Layer&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Database&lt;/strong&gt;: PostgreSQL (recommended), MongoDB, or Oracle (avoid MySQL)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Binary Storage&lt;/strong&gt;: AWS S3, Azure Blob, Google Cloud Storage, or MinIO&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Search&lt;/strong&gt;: Elasticsearch 7.x or 8.x (required)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Caching&lt;/strong&gt;: Redis for sessions, work queuing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Frontend&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nuxeo Web UI (Polymer 3.0)&lt;/li&gt;
&lt;li&gt;Custom UIs: React, Angular, Vue—anything that can consume REST API&lt;/li&gt;
&lt;li&gt;Nuxeo Studio &amp;amp; Designer for 70-80% of configuration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;DevOps&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Docker images (&lt;code&gt;nuxeo/nuxeo&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Kubernetes (Helm charts available)&lt;/li&gt;
&lt;li&gt;CI/CD: Jenkins, GitLab CI, GitHub Actions&lt;/li&gt;
&lt;li&gt;Monitoring: Prometheus + Grafana, ELK stack&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Getting Started the Right Way
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Week 1: Foundation
&lt;/h3&gt;

&lt;p&gt;Ensure prerequisites:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Java check&lt;/strong&gt;: Create Maven project, write REST endpoint, write tests&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OSGi fundamentals&lt;/strong&gt;: Read "OSGi in Action", build toy OSGi app&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;REST API comfort&lt;/strong&gt;: Use Postman with public APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Time investment&lt;/strong&gt;: 1-2 weeks if rusty.&lt;/p&gt;

&lt;h3&gt;
  
  
  Week 2-3: Nuxeo Basics
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt; (Docker):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker pull nuxeo/nuxeo:2025
docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;--name&lt;/span&gt; my-nuxeo &lt;span class="nt"&gt;-p&lt;/span&gt; 8080:8080 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-v&lt;/span&gt; nuxeo_data:/var/lib/nuxeo/data &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;NUXEO_CLID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;your-clid&amp;gt; &lt;span class="se"&gt;\&lt;/span&gt;
  nuxeo/nuxeo:2025
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Access at &lt;a href="http://localhost:8080/nuxeo" rel="noopener noreferrer"&gt;http://localhost:8080/nuxeo&lt;/a&gt; (Administrator / Administrator)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Core concepts&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Document model (types, schemas, properties, facets, lifecycle)&lt;/li&gt;
&lt;li&gt;Repository structure (domains, workspaces, folders)&lt;/li&gt;
&lt;li&gt;Permissions and ACLs&lt;/li&gt;
&lt;li&gt;Web UI basics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Nuxeo University&lt;/strong&gt;: Complete "Nuxeo Platform Quickstart" (3-4 hours, free)&lt;/p&gt;

&lt;h3&gt;
  
  
  Week 4-6: Building Stuff
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Studio&lt;/strong&gt; (Week 4): Create custom document type, build workflow, create automation chains&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;REST API&lt;/strong&gt; (Week 5): CRUD operations, NXQL search, file uploads&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Java&lt;/strong&gt; (Week 6): Create operation, implement event listener, deploy and debug&lt;/p&gt;

&lt;h3&gt;
  
  
  Month 2-3: Real Project
&lt;/h3&gt;

&lt;p&gt;Stop tutorials. Build something real:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Contract management system&lt;/li&gt;
&lt;li&gt;DAM system&lt;/li&gt;
&lt;li&gt;Case management solution&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Seven Critical Pitfalls
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Trying to Understand Everything First
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Don't&lt;/strong&gt;: Read 5000 pages before writing code&lt;br&gt;
&lt;strong&gt;Do&lt;/strong&gt;: Learn iteratively—build, encounter problems, search docs, solve, repeat&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Ignoring OSGi
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Don't&lt;/strong&gt;: Treat Nuxeo like regular Java&lt;br&gt;
&lt;strong&gt;Do&lt;/strong&gt;: Learn OSGi—bundle lifecycle, service registry, extension points&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Fighting the Platform
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Don't&lt;/strong&gt;: Implement patterns that don't fit Nuxeo&lt;br&gt;
&lt;strong&gt;Do&lt;/strong&gt;: Ask "How does Nuxeo solve this?" before writing custom code&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Using Java for Everything
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Don't&lt;/strong&gt;: Write Java for things Studio can generate&lt;br&gt;
&lt;strong&gt;Do&lt;/strong&gt;: Use Studio for 80%, Java only for complex logic&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Not Reading Logs
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Don't&lt;/strong&gt;: Guess what's wrong&lt;br&gt;
&lt;strong&gt;Do&lt;/strong&gt;: Read &lt;code&gt;server.log&lt;/code&gt; and &lt;code&gt;nuxeo-error.log&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Ignoring Performance
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Don't&lt;/strong&gt;: Build features without thinking about performance&lt;br&gt;
&lt;strong&gt;Do&lt;/strong&gt;: Use async processing, batch operations, filter in NXQL&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Hardcoding Configuration
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Don't&lt;/strong&gt;: Hardcode URLs, credentials in Java&lt;br&gt;
&lt;strong&gt;Do&lt;/strong&gt;: Use &lt;code&gt;Framework.getProperty()&lt;/code&gt; and nuxeo.conf&lt;/p&gt;




&lt;h2&gt;
  
  
  Real-World Success Patterns
&lt;/h2&gt;

&lt;h3&gt;
  
  
  DAM (Digital Asset Management)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Metrics&lt;/strong&gt;: 750k+ assets, 200 users, 8TB on S3, &amp;lt;200ms search, 94% cache hit&lt;br&gt;
&lt;strong&gt;Key&lt;/strong&gt;: Metadata schema design, AI auto-tagging, custom renditions&lt;/p&gt;

&lt;h3&gt;
  
  
  Compliance &amp;amp; Records Management
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Key&lt;/strong&gt;: Engage legal/compliance early, design taxonomy carefully, test disposition thoroughly&lt;/p&gt;

&lt;h3&gt;
  
  
  Case Management
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Metrics&lt;/strong&gt;: 50k cases/year, 14-day avg duration (was 23), 94% SLA compliance&lt;br&gt;
&lt;strong&gt;Key&lt;/strong&gt;: Model with users, design workflows on paper first, powerful search&lt;/p&gt;

&lt;h3&gt;
  
  
  Headless CMS
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Scenario&lt;/strong&gt;: Museum with 150k artworks, 8+ channels, 8000 req/min, 8 languages&lt;br&gt;
&lt;strong&gt;Key&lt;/strong&gt;: Design API contracts upfront, aggressive caching, monitor performance&lt;/p&gt;

&lt;h3&gt;
  
  
  Legacy Migration
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Migration&lt;/strong&gt;: 3.2M docs from FileNet, 18TB, 10 months&lt;br&gt;
&lt;strong&gt;Key&lt;/strong&gt;: Plan extensively, pilot first, automate, validate, train users&lt;/p&gt;




&lt;h2&gt;
  
  
  Is Nuxeo Right for You?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Choose Nuxeo If:
&lt;/h3&gt;

&lt;p&gt;✅ You have or can develop Java/OSGi expertise&lt;br&gt;
✅ You need flexible, complex content modeling&lt;br&gt;
✅ Enterprise scale is in your present or future&lt;br&gt;
✅ You value extensibility and API access&lt;br&gt;
✅ Your use case is document management, DAM, or case management&lt;br&gt;
✅ You're willing to invest in the learning curve&lt;/p&gt;

&lt;h3&gt;
  
  
  Skip Nuxeo If:
&lt;/h3&gt;

&lt;p&gt;❌ You need simple file sharing (use Dropbox/Box)&lt;br&gt;
❌ Your team has zero Java skills&lt;br&gt;
❌ You're a small business (&amp;lt;50 people) with basic needs&lt;br&gt;
❌ Budget is constrained&lt;br&gt;
❌ You need marketing CMS (use WordPress/Drupal)&lt;br&gt;
❌ You want zero learning curve&lt;/p&gt;




&lt;h2&gt;
  
  
  Essential Takeaways
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;OSGi First, Nuxeo Second&lt;/strong&gt; - This is the unlock key&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Three Critical Roles&lt;/strong&gt; - Administrator, Developer, Architect&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2025 Stack&lt;/strong&gt; - Java 21, Jakarta EE 10, Kubernetes, cloud-native&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;80/20 Rule&lt;/strong&gt; - Studio for most, Java for complex logic only&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use Cases&lt;/strong&gt; - DAM, document management, case management, compliance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learning Curve&lt;/strong&gt; - 2-3 months to basic productivity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API-First&lt;/strong&gt; - Treat as content services platform&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Article: &lt;a href="https://thecontenthorizons.medium.com/what-is-nuxeo-part-1-introduction-prerequisites-and-understanding-nuxeo-3d708a2bc7c2" rel="noopener noreferrer"&gt;Full reading here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy to answer questions about Nuxeo, OSGi, ECM, or implementation challenges.&lt;/p&gt;

</description>
      <category>java</category>
      <category>programming</category>
      <category>nuxeo</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
