{"id":28569696,"url":"https://github.com/abilian/abilian-sbe-monorepo","last_synced_at":"2025-06-10T17:15:59.643Z","repository":{"id":37748291,"uuid":"407205599","full_name":"abilian/abilian-sbe-monorepo","owner":"abilian","description":"An experiment in making a monorepo for our SBE project","archived":false,"fork":false,"pushed_at":"2025-05-06T16:38:38.000Z","size":13658,"stargazers_count":3,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-06T16:47:27.719Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abilian.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/contributing.md","funding":null,"license":"LICENSES/CC-BY-4.0.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"docs/governance.md","roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-09-16T14:53:26.000Z","updated_at":"2025-05-06T16:38:42.000Z","dependencies_parsed_at":"2023-10-02T13:03:14.520Z","dependency_job_id":"b91fb06e-999c-49c0-bbeb-9f2e0a99c803","html_url":"https://github.com/abilian/abilian-sbe-monorepo","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Fabilian-sbe-monorepo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Fabilian-sbe-monorepo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Fabilian-sbe-monorepo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Fabilian-sbe-monorepo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abilian","download_url":"https://codeload.github.com/abilian/abilian-sbe-monorepo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Fabilian-sbe-monorepo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259114712,"owners_count":22807256,"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":[],"created_at":"2025-06-10T17:15:28.060Z","updated_at":"2025-06-10T17:15:59.616Z","avatar_url":"https://github.com/abilian.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About Abilian SBE\n\nBuild status: [![builds.sr.ht status](https://builds.sr.ht/~sfermigier/abilian-sbe/commits/main/ubuntu-lts.yml.svg)](https://builds.sr.ht/~sfermigier/abilian-sbe/commits/main/ubuntu-lts.yml?)\n\n\u003c!-- toc --\u003e\n\n- [Introduction to Abilian SBE](#introduction-to-abilian-sbe)\n- [Key Features](#key-features)\n- [Installation and Deployment](#installation-and-deployment)\n  * [Local (development)](#local-development)\n  * [Production](#production)\n  * [Configuration example](#configuration-example)\n  * [On Heroku](#on-heroku)\n- [Development](#development)\n- [License compliance](#license-compliance)\n\n\u003c!-- tocstop --\u003e\n\n## Introduction to Abilian SBE\n\nAbilian SBE (Social Business Engine) is a versatile platform designed for social business applications, particularly in the realm of collaborative or enterprise 2.0 business applications. It is ideal for creating enterprise social networks (ESN) and similar applications.\n\n## Key Features\n\n- **Community-Centric:** Focuses on 'communities' as collaborative spaces, offering services like document management, discussions, wikis, and user timelines.\n- **Robust Foundation:** Built upon the `Abilian Core` project, which integrates Flask and SQLAlchemy, providing essential services.\n- **Proven Track Record:** Reliably used by several major customers in production environments since mid-2013.\n- **User-Centric Design:** Provides an intuitive and user-friendly interface, supporting rich profiles, conversation threads, and a social and content graph.\n- **Extensibility and Flexibility:** Built with a platform approach, allowing for customization and easy extension through APIs, making it suitable for a wide range of business applications such as CRM, knowledge management, and e-learning.\n- **Enterprise 2.0 Tools:** Incorporates core components of Enterprise 2.0, such as wikis, forums, mailing lists, document repositories, and activity streams, promoting collaboration and innovation within organizations.\n- **Standards-Based Interoperability:** Supports ActivityStreams, OASIS CMIS (via Apache cmislib) for document management, and semantic web standards like JSON-LD, ensuring compatibility with existing enterprise systems and open standards.\n- **Advanced Search and Tagging:** Features robust tagging and search capabilities to help users quickly find relevant content, improving knowledge sharing and capitalizing on collective intelligence.\n- **Microservices Architecture:** Can be deployed as microservices, providing scalability and flexibility for modern enterprise environments.\n- **Security and Identity Management:** Includes built-in services for identity management, security, and audit logging, ensuring compliance with enterprise-grade security requirements.\n- **Document Management System (DMS):** Offers a simple yet effective DMS for organizations, integrated with collaboration tools such as forums and wikis, facilitating seamless document sharing and collaboration.\n\n\u003e [!NOTE]\n\u003e Join the Abilian SBE developer community and help shape the future of open-source enterprise collaboration! A first step would be to look at our **[Architecture Decision Records](notes/adrs) (ADRs)**—a collection of enhancement proposals where your expertise can make a real impact. Explore, discuss, and contribute your ideas and code enhancements to build the next generation of social business apps.\n\n\n## Installation and Deployment\n\nSee also: [Installation Guide](docs/installation.md)\n\n### Local (development)\n\nYou will need:\n\n- Python 3.10 or more\n- A running postgresql database (e.g. `createdb sbe-demo`)\n- A redis server\n- ImageMagick (for image processing)\n- Poppler (for PDF processing)\n- LibreOffice (for document conversion)\n- Java (what?!? - yes, for Closure)\n- Node + npm\n- Some libraries: libpq (for Postgres), libjpeg, libxslt, libxml2, libffi, libssl, libmagic, libsqlite3, libbz2...\n\nOn Debian/Ubuntu, the following packages is a good starting point (TODO: check what is missing, what is not really needed):\n\n```python\nPACKAGES = [\n    # Build deps\n    \"build-essential\",\n    \"python-dev\",\n    \"libpq-dev\",\n    \"libxslt1-dev\",\n    \"libjpeg-dev\",\n    \"libffi-dev\",\n    \"libsqlite3-dev\",\n    \"libbz2-dev\",\n    # Server stuff\n    \"postgresql\",\n    \"redis\",\n    # Other deps (external tools)\n    \"poppler-utils\",\n    \"imagemagick\",\n    \"libreoffice\",\n    \"default-jdk-headless\",\n    # Other useful\n    \"curl\",\n]\n```\n\nNow, create a virtualenv and install the app and its dependencies:\n\n```bash\npoetry shell\npoetry install\nnpm install # or npm i\n```\n\nSet up the following environment variables (you may put these in a `.env` or `.envs` file and use an environment variable manager like [direnv](https://direnv.net/).\n\nAn example of configured `.env` is available: see `example_config/dot_env` file.\n\n```bash\nexport FLASK_SECRET_KEY=\u003cyour secret key\u003e\nexport FLASK_SQLALCHEMY_DATABASE_URI=postgres://localhost/sbe-demo # or whatever\n\n# For development:\nexport FLASK_SERVER_NAME=127.0.0.1:5000\nexport FLASK_DEBUG=true\nexport FLASK_MAIL_DEBUG=1\n\n# Same redis URL for all variables\nexport FLASK_REDIS_URI=redis://localhost:6379/0 # or whatever\nexport FLASK_DRAMATIQ_BROKER_URL=redis://localhost:6379/0\n```\n\n\nThen run:\n\n```bash\nflask db initdb # Or flask db upgrade if you already have a database\nflask createuser admin \u003csome email address\u003e \u003cusername\u003e\nflask run\n```\n\n\n### Production\n\nIn production, you will need additionally:\n\n- An email server (running locally on the server, e.g. like postfix, that's probably overridable)\n\n```bash\n# TBD: not sure if it's needed anymore\nexport FLASK_PRODUCTION = True\n\nexport FLASK_SECRET_KEY=\u003cyour secret key\u003e\nexport FLASK_SQLALCHEMY_DATABASE_URI=postgres://localhost/sbe-demo # or whatever\n\nexport FLASK_SITE_NAME=\"\u003cyour site name\u003e\"\nexport FLASK_SERVER_NAME=\"\u003cyour server name\u003e\" # i.e. hostname www.mydomain.com...\n\n# TBD (not checked)\nexport FLASK_MAIL_SERVER=\u003cyour email server\u003e\n#export FLASK_MAIL_PORT : default 25\n#export FLASK_MAIL_USE_TLS : default False\n#export FLASK_MAIL_USE_SSL : default False\n#export FLASK_MAIL_DEBUG : default app.debug\n#export FLASK_MAIL_USERNAME : default None\n#export FLASK_MAIL_PASSWORD : default None\n\n# Same redis URL for all variables\nexport FLASK_REDIS_URI=redis://localhost:6379/0 # or whatever\nexport FLASK_DRAMATIQ_BROKER_URL=redis://localhost:6379/0\n```\n\nYou can start the server with:\n\n```bash\ngunicorn 'abilian.sbe.app.create_app()'\n```\n\nIf you are using a web server as a reverse proxy, for instance nginx, you can use the `proxy_pass` option to forward requests to the gunicorn server.\n\n### Configuration example\n\nA step-by-step configuration example using `honcho`, `.env` and `Python 3.12` is available in the `example_config` folder.\n\n### On Heroku\n\nClick on the button:\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/abilian/abilian-sbe-monorepo)\n\n(Doesn't fully work - needs to be debugged).\n\n## Development\n\nSee:\n\n- [Development Guide](docs/development.md)\n- [Contributing Guidelines](docs/contributing.md)\n- [Roadmap](docs/roadmap.md)\n- [Architecture Decision Records](notes/adrs)\n- [Changelog](CHANGELOG.md)\n\n\n## License compliance\n\nAs of `Tue Nov  5 08:50:20 CET 2024`, this project is compliant with the REUSE Specification version 3.2.\n\n```\n* Bad licenses: 0\n* Deprecated licenses: 0\n* Licenses without file extension: 0\n* Missing licenses: 0\n* Unused licenses: 0\n* Used licenses: CC-BY-4.0, LGPL-3.0-only\n* Read errors: 0\n* Files with copyright information: 1712 / 1712\n* Files with license information: 1712 / 1712\n\nCongratulations! Your project is compliant with version 3.2 of the REUSE Specification :-)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabilian%2Fabilian-sbe-monorepo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabilian%2Fabilian-sbe-monorepo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabilian%2Fabilian-sbe-monorepo/lists"}