{"id":25353928,"url":"https://github.com/aborroy/alfresco-open-ass","last_synced_at":"2025-07-23T06:35:00.734Z","repository":{"id":256829303,"uuid":"856554151","full_name":"aborroy/alfresco-open-ass","owner":"aborroy","description":"OpenSearch support for Alfresco Community","archived":false,"fork":false,"pushed_at":"2024-10-15T16:22:15.000Z","size":9616,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T01:44:07.297Z","etag":null,"topics":["alfresco","opensearch"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aborroy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-12T19:19:20.000Z","updated_at":"2025-01-16T10:47:52.000Z","dependencies_parsed_at":"2024-09-13T09:26:18.527Z","dependency_job_id":null,"html_url":"https://github.com/aborroy/alfresco-open-ass","commit_stats":null,"previous_names":["aborroy/alfresco-open-ass"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aborroy/alfresco-open-ass","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aborroy%2Falfresco-open-ass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aborroy%2Falfresco-open-ass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aborroy%2Falfresco-open-ass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aborroy%2Falfresco-open-ass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aborroy","download_url":"https://codeload.github.com/aborroy/alfresco-open-ass/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aborroy%2Falfresco-open-ass/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266631549,"owners_count":23959420,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alfresco","opensearch"],"created_at":"2025-02-14T19:56:05.863Z","updated_at":"2025-07-23T06:35:00.693Z","avatar_url":"https://github.com/aborroy.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Alfresco OpenASS (Alfresco Open Alfresco Search Service)\n\n**Alfresco OpenASS** is an open-source indexing service for Alfresco Community repositories that supports OpenSearch as indexing engine.\n\n## How it works\n\n![Architecture](docs/architecture.svg)\n\n- **OpenSearch Compatibility:** Integrates seamlessly with OpenSearch 1.x and 2.x, allowing you to efficiently index and search content within Alfresco Community repositories.\n- **Standalone and Decoupled Architecture:** OpenASS works as an independent service, separate from Alfresco's core architecture. It connects easily to standard Alfresco and OpenSearch deployments by leveraging the SOLR REST API in Alfresco and the standard REST API in OpenSearch.\n- **Flexible Indexing and Mapping:** Provides robust configuration options for setting up custom indexing rules and mappings, enabling you to tailor search behavior to your specific content models.\n- **Batch Processing for High-Volume Indexing:** Optimized for handling large repositories, OpenASS supports batch processing to enhance performance when indexing large volumes of content.\n\n## Getting Started\n\n### Prerequisites\n\nBefore setting up Alfresco OpenASS, ensure that you have the following:\n\n- Alfresco Content Services (ACS) 7.x or higher\n- OpenSearch 1.x or 2.x\n- Java 17+\n- Maven\n\n### Usage\n\n1. **Clone the Repository**:\n   Begin by cloning the repository and navigating into the project directory:\n   ```bash\n   git clone https://github.com/aborroy/alfresco-open-ass.git\n   cd alfresco-open-ass\n   ```\n\n2. **Configuration**:\n   Update the `application.properties` file with your Alfresco and OpenSearch connection details. Below is a sample configuration:\n\n    ```properties\n    #---------------------------\n    # OPENASS CONFIGURATION\n    #---------------------------\n    # Cron expression for synchronizing the OpenSearch index with the Alfresco repository\n    batch.indexer.cron=0/12 * * * * ?\n    # Maximum number of transactions to handle in a single batch\n    batch.indexer.transaction.maxResults=100\n    # Number of threads used for parallel content indexing\n    batch.indexer.content.threads=4\n\n    #---------------------------\n    # ALFRESCO REPOSITORY CONFIGURATION\n    #---------------------------\n    # Alfresco server basic authentication credentials\n    content.service.security.basicAuth.username=admin\n    content.service.security.basicAuth.password=admin\n    # Alfresco server URL and API path (e.g., http://localhost:8080 for HTTP or https://localhost:8443 for mTLS)\n    content.service.url=http://localhost:8080\n    content.service.path=/alfresco/api/-default-/public/alfresco/versions/1\n    content.solr.path=/alfresco/service/api/solr/\n    # Communication mode (secret or https)\n    content.service.secureComms=secret\n    # Secret mode configuration for SOLR\n    content.solr.secret=i7wdvtrsfts\n    # HTTPS mode configuration: Keystore settings\n    content.keystore.path=\n    content.keystore.type=\n    content.keystore.password=\n    # HTTPS mode configuration: Truststore settings\n    content.truststore.path=\n    content.truststore.type=\n    content.truststore.password=\n\n    #---------------------------\n    # OPENSEARCH CONFIGURATION\n    #---------------------------\n    # OpenSearch server hostname\n    opensearch.host=localhost\n    # OpenSearch server port\n    opensearch.port=9200\n    # Protocol for communication with OpenSearch (http or https)\n    opensearch.protocol=http\n    # HTTPS mode configuration: Keystore settings\n    opensearch.client.keystore.path=\n    opensearch.client.keystore.password=\n    opensearch.client.keystore.type=\n    # HTTPS mode configuration: Truststore settings\n    opensearch.truststore.path=\n    opensearch.truststore.password=\n    opensearch.truststore.type=\n    # Automatically create the OpenSearch index if it doesn't exist\n    opensearch.index.create=true\n    # Name of the OpenSearch index\n    opensearch.index.name=alfresco\n    # Automatically create the OpenSearch control index if it doesn't exist\n    opensearch.index.control.create=true\n    # Name of the OpenSearch control index\n    opensearch.index.control.name=alfresco-control\n    ```\n\n3. **Build the Project**:\n   Build the project using Maven:\n   ```bash\n   mvn clean install\n   ```\n\n4. **Run the Service**:\n   After ensuring that Alfresco and OpenSearch are running, you can start the OpenASS service:\n   ```bash\n   java -jar target/open-ass-0.8.0.jar\n   ```\n\n### Testing Scenarios\n\n- **Alfresco Community (secret mode)**: [Testing for Alfresco Community (secret)](testing/community/alfresco)\n  - OpenSearch is required: [Testing OpenSearch](testing/community/opensearch)\n  \n- **Alfresco Community (mTLS mode)**: [Testing for Alfresco Community (mTLS)](testing/community/alfresco-mtls)\n  - OpenSearch is required: [Testing OpenSearch](testing/community/opensearch)\n\n- **Alfresco Enterprise (secret mode)**: [Testing for Alfresco Enterprise](testing/enterprise)\n\n\n## Contributing\n\nContributions are welcome! If you want to contribute, please fork the repository and submit a pull request. Make sure to follow the coding guidelines and document your changes thoroughly.\n\n## License\n\nThis project is licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).\n\n## Contact\n\nFor issues, feature requests, or questions, please open an issue on the [GitHub repository](https://github.com/aborroy/alfresco-open-ass/issues).\n\n## Contributors\n\n* Angel Borroy\n* Miguel Sánchez\n* Rodrigo Torres","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faborroy%2Falfresco-open-ass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faborroy%2Falfresco-open-ass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faborroy%2Falfresco-open-ass/lists"}