Connect LlamaIndex to Alfresco with OpenDMA: Reader, Retriever, and Agent Tools
Description and use
Integrating LlamaIndex with Alfresco via OpenDMA simplifies repository interaction, preserves context and metadata, and enables ingestion, live search, and agent tooling without duplicating REST logic.
Problem
Integrating LlamaIndex with an Alfresco repository while preserving repository context and metadata for ingestion, live retrieval, or agent tooling.
Outcome
The OpenDMA integration simplifies LlamaIndex interactions with Alfresco, preserving full repository context and metadata, enabling efficient ingestion, live retrieval, and agent tooling without duplicating REST logic.
Workflow
- 1. Deploy OpenDMA with an Alfresco adaptor exposing an OpenDMA REST endpoint.
- 2. In a Python LlamaIndex app, instantiate AlfrescoReader with endpoint, credentials, and optional sites or query parameters.
- 3. Call reader.load_data() to fetch documents; each LlamaIndex Document contains text and OpenDMA metadata.
- 4. Optionally inspect metadata (e.g., opendma:Title, alfresco:Site, alfresco:Path) before indexing.
- 5. Build a VectorStoreIndex from the documents for semantic retrieval.
- 6. Alternatively, instantiate AlfrescoRetriever to perform live full‑text search against Alfresco via OpenDMA.
- 7. Use AlfrescoToolSpec to give an agent tools for browsing, inspecting metadata, searching, and reading selected documents.
Evidence
OpenDMA is a vendor-neutral API for Document Management and ECM systems. An OpenDMA adaptor plays a similar role to a database driver: it maps a concrete system like Alfresco to the OpenDMA model.
Each returned LlamaIndex Document contains the extracted text in text and OpenDMA metadata in metadata.
The same application shape can later be used with other ECM systems through other OpenDMA adaptors, for example Documentum, FileNet P8, OnBase, CMOD, OpenText, or SharePoint.
- Record date: 2026-10-16T20:55:57.660Z