{"id":21702827,"url":"https://github.com/openpj/manifoldcf-sdk","last_synced_at":"2026-05-07T13:40:48.474Z","repository":{"id":152888162,"uuid":"490283213","full_name":"OpenPj/manifoldcf-sdk","owner":"OpenPj","description":"Apache ManifoldCF SDK is a Maven project focused on helping developers to extend ManifoldCF with new connectors and extensions ","archived":false,"fork":false,"pushed_at":"2023-12-21T22:18:26.000Z","size":39,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-20T16:38:20.002Z","etag":null,"topics":["apache","crawler","docker","ecm","extensions","integrations","manifoldcf","migration","sdk","search"],"latest_commit_sha":null,"homepage":"https://manifoldcf.apache.org/","language":"Shell","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/OpenPj.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":"2022-05-09T12:56:14.000Z","updated_at":"2023-11-27T13:35:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"ac6d1536-31c5-4174-a159-30764b722d66","html_url":"https://github.com/OpenPj/manifoldcf-sdk","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/OpenPj/manifoldcf-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPj%2Fmanifoldcf-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPj%2Fmanifoldcf-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPj%2Fmanifoldcf-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPj%2Fmanifoldcf-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenPj","download_url":"https://codeload.github.com/OpenPj/manifoldcf-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPj%2Fmanifoldcf-sdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264923080,"owners_count":23683716,"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","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":["apache","crawler","docker","ecm","extensions","integrations","manifoldcf","migration","sdk","search"],"created_at":"2024-11-25T21:20:14.155Z","updated_at":"2026-05-07T13:40:48.245Z","avatar_url":"https://github.com/OpenPj.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!WARNING]\n\u003e Apache ManifoldCF SDK is now part of the Apache Software Foundation, the project is now migrated into the ASF organization:\n[https://github.com/apache/manifoldcf-sdk](https://github.com/apache/manifoldcf-sdk)\n\n# Apache ManifoldCF SDK 0.0.4\nThis is the SDK project of Apache ManifoldCF dedicated to developers that need to extend the platform with new components, connectors or integrations using Maven and Docker. On the other hand this SDK can be extremely useful also for all the developers who want to contribute to the ManifoldCF project.\nThis project is started with an initial contribution by @OpenPj and @binduwavell.\n\nThe SDK will take care of the following tasks:\n* Creating the Docker Volumes for the MCF Maven Repo and the MCF installation\n* Preparing the Docker Image for executing the build installing Ant and Maven\n* Running the container for executing the building process with Ant and then with Maven\n* Copying the entire Maven Repo in the Maven target folder in the host machine (locally)\n* Generating the MCF official site\n\nExamples of commands using the main bash script for a typical usage:\n* `./run.sh init 2.26 ga` -\u003e start the init process for ManifoldCF 2.26 GA\n* `./run.sh build_start` -\u003e build extensions and run everything with Docker locally\n* `./run.sh start` -\u003e start all the containers (MCF and PostgreSQL)\n* `./run.sh stop` -\u003e stop all the containers (MCF and PostgreSQL)\n\nExamples of commands for developing and testing MCF itself:\n* `./run.sh init 2.22.1 rc` -\u003e start the init process for ManifoldCF 2.22.1 RC\n* `./run.sh test` -\u003e execute unit and integration tests in the MCF source bundle\n* `./run.sh clean` -\u003e execute ant clean; mvn clean in the MCF source bundle\n* `./run.sh purge` -\u003e removes all the Docker Volumes and the MCF init container\n\nExamples of commands for generating the website contents:\n* `./run-site.sh build` -\u003e Start Apache ManifoldCF SDK initialization for generating website contents\n* `./run-site.sh start` -\u003e Run ManifoldCF Site Docker container\n* `./run-site.sh purge` -\u003e Remove the ManifoldCF Site Docker artifacts and volumes\n* `./run-site.sh clean` -\u003e Start the mcf-sdk-site in order to clean the project\n\n# Initializing the local Maven repository using Docker\nIn order to compile extensions with Maven, the SDK provides an initialization script that will download the source code of ManifoldCF and then build it in the container. At the end of the build process the Maven repository included in the container will be copied in the local folder `target/mcf-maven-repo`. The local Maven repo will be used as the main reference for compiling the extension code.\n\nThe initialization command consists of the following arguments:\n* MCF version\n* MCF distribution: ga for GA release and rc for a Release Candidate\n\nExample for initializing ManifoldCF 2.26 GA release:\n* `./run.sh init 2.26 ga`\n\nExample for initializing ManifoldCF 2.27.1 RC release:\n* `./run.sh init 2.27.1 rc`\n\nThe initialization process will be executed with the following command:\n* `/run.sh init 2.21 ga`\n\n# Docker images, containers and volumes\n\n\nThe Docker images, containers and volumes managed by ManifoldCF SDK are the following:\n\n## run.sh (.bat)\n\nThe Docker image created with for creating the ManifoldCF installation and Maven repo is `mcf-sdk-init`.\nThe Docker container built by the SDK in order to create the installation folder and the Maven repo is `mcf-sdk-init-container`.\n\n### Containers \u0026 Images\n\n* `mcf-sdk-init` -\u003e image created with for creating the ManifoldCF installation\n* `mcf-sdk-init-container` -\u003e container built by the SDK in order to create the installation folder and the Maven repo \n\n### Volumes\n* `mcf-maven-repo` -\u003e this volume contains the Maven repo created by the initialization process\n* `mcf-app-volume` -\u003e this volume contains the installation storage of ManifoldCF\n\n## run-site.sh (.bat)\n\n### Containers \u0026 Images\n\n* `mcf-sdk-site` -\u003e image created with specific version of Apache Ant 1.9.x, Python 2.7.x and OpenJDK 8\n* `mcf-sdk-site` -\u003e container running the generation process of the website contents\n\n### Volumes\n* `mcf-site-source` -\u003e this volume contains the site trunk code\n* `mcf-site-generated-volume` -\u003e this volume contains the generated site\n\n# Building extensions, overlaying and run Docker\nA Dockerfile and a Docker Compose file is provided in order to build the ManifoldCF container and for running the instance with its own database, a PostgreSQL container.\n\nThe following command will take care of building extensions, run tests and building and running the ManifoldCF container\n* `./run.sh build_start`\n\nTo stop all the containers:\n* `./run.sh stop`\n\n# Executing tests in the container\nFor running MCF tests related to the source code bundle:\n* `./run.sh test` -\u003e execute unit and integration tests for the related MCF version initialized in the Docker Volumes\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenpj%2Fmanifoldcf-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenpj%2Fmanifoldcf-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenpj%2Fmanifoldcf-sdk/lists"}