Apache > ManifoldCF > Blog
 

Welcome to the Apache ManifoldCF Blog: Connecting Enterprise Content to Search Engines

1. Introduction: The Enterprise Content Integration Challenge

In modern enterprise environments, valuable unstructured content resides across dozens of disparate repositories—including Microsoft SharePoint, Atlassian Confluence, IBM FileNet, EMC Documentum, network file shares, databases, and cloud platforms like Google Drive and Salesforce.

Building an effective search experience across these repositories requires solving two major challenges:

  1. High-performance, Incremental Ingestion: Reliably extracting documents, metadata, and updates from diverse repositories without placing undue load on source systems.
  2. Document-Level Security (ACL) Enforcement: Ensuring that users only see search results for documents they have explicit permission to access in the source repository.

Apache ManifoldCF™ is an open-source framework specifically architected to solve both of these challenges seamlessly.

Key Takeaway
Apache ManifoldCF acts as an intelligent middleware layer that continuously crawls source repositories, extracts metadata and security ACLs, and feeds target search engines (like Solr, Elasticsearch, and OpenSearch) while maintaining security trimming.

2. Core Architecture & Connector Model

ManifoldCF's modular architecture relies on four distinct types of connectors:

Connector Type Role & Functionality Example Connectors
Repository Connectors Fetch documents, version strings, metadata, and raw content streams from source systems. SharePoint, FileNet, Documentum, Jira, Confluence, Web, File System, HDFS, Google Drive
Authority Connectors Query authentication systems to retrieve active user and group security tokens for search-time ACL filtering. Active Directory, LDAP, SharePoint Authority, Salesforce Authority
Transformation Connectors Process document streams between extraction and indexing (e.g., text extraction, metadata mapping). Apache Tika, Metadata Extractor, OpenNLP, Content Limiter
Output Connectors Receive processed document streams and push indexed data and security tokens to target repositories. Apache Solr, Elasticsearch, OpenSearch, Amazon CloudSearch, Open Pipeline

A typical ManifoldCF ingestion job configures a Repository Connector to pull documents, optional Transformation Connectors to extract text, and an Output Connector to index data into Solr or Elasticsearch.

3. Security Trimming & ACL Enforcement

Unlike naive crawlers that ignore document permissions, ManifoldCF captures the exact Access Control Lists (ACLs) associated with each document.

When indexing a document, ManifoldCF attaches security tokens representing:

  • Allow Tokens: Groups/Users allowed to view the document.
  • Deny Tokens: Groups/Users explicitly restricted from viewing the document.
  • Parent/Folder Tokens: Hierarchical permission inheritance.

At search time, the application queries ManifoldCF's Authority Service using the logged-in user's identity. The Authority Service returns the user's active security tokens, which are appended to the search query (e.g., in Apache Solr or Elasticsearch filters):

// Example Solr Filter Query generated by ManifoldCF Authority Service fq=(allow_token_document:"group_engineering" OR allow_token_document:"user_john_doe") AND NOT (deny_token_document:"group_restricted")

This ensures instant, security-trimmed search results with zero latency impact during query time.

4. Supported Repositories & Output Targets

Apache ManifoldCF ships out-of-the-box support for a vast ecosystem of enterprise systems:

  • Enterprise Content Management (ECM): EMC Documentum, IBM FileNet P8, OpenText LiveLink, Microsoft SharePoint.
  • Collaboration & Social: Atlassian Confluence, Atlassian Jira, Salesforce, Google Drive.
  • Data Stores & Files: Windows/Linux File Systems, HDFS, JDBC/SQL Databases, Web Crawling, RSS feeds.
  • Search & Storage Destinations: Apache Solr, Elasticsearch, OpenSearch, Amazon CloudSearch, File Output.

5. Looking Ahead: Blog Roadmap & Community

This first article marks the beginning of our ongoing blog series. In upcoming posts, we will dive deep into:

  • Configuring high-throughput crawling for 10M+ document repositories.
  • Building custom Repository and Output Connectors in Java.
  • Deploying ManifoldCF on Kubernetes & Docker container environments.
  • Case studies of real-world enterprise search deployments.

We invite you to get involved with Apache ManifoldCF! Download the latest release from our Download Page, subscribe to our Mailing Lists, or contribute on GitHub.