# About Abilian SBE
## Introduction to Abilian SBE
Abilian 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.
### Key Features
- **Community-Centric:** Focuses on 'communities' as collaborative spaces, offering services like document management, discussions, wikis, and user timelines.
- **Robust Foundation:** Built upon the `Abilian Core` project, which integrates Flask and SQLAlchemy, providing essential services.
- **Proven Track Record:** Reliably used by several major customers in production environments since mid-2013.
## Installation
### Local (development)
You will need:
- Python 3.9 or more
- A running postgresql database (e.g. `createdb sbe-demo`)
- A redis server
- ImageMagick (for image processing)
- Poppler (for PDF processing)
- LibreOffice (for document conversion)
- Java (what?!? - yes, for Closure)
- Node + npm
- Some libraries: libpq (for Postgres), libjpeg, libxslt, libxml2, libffi, libssl, libmagic, libsqlite3, libbz2...
On Debian/Ubuntu, the following packages is a good starting point (TODO: check what is missing, what is not really needed):
```python
PACKAGES = [
# Build deps
"build-essential",
"python-dev",
"libpq-dev",
"libxslt1-dev",
"libjpeg-dev",
"libffi-dev",
"libsqlite3-dev",
"libbz2-dev",
# Server stuff
"postgresql",
"redis",
# Other deps (external tools)
"poppler-utils",
"imagemagick",
"libreoffice",
"default-jdk-headless",
# Other useful
"curl",
]
```
Now, create a virtualenv and install the app and its dependencies:
```bash
poetry shell
poetry install
npm install # or npm i
```
Set 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/).
An example of configured `.env` is available: see `example_config/dot_env` file.
```bash
export FLASK_SECRET_KEY=<your secret key>
export FLASK_SQLALCHEMY_DATABASE_URI=postgres://localhost/sbe-demo # or whatever
# For development:
export FLASK_SERVER_NAME=127.0.0.1:5000
export FLASK_DEBUG=true
export FLASK_MAIL_DEBUG=1
# Same redis URL for all variables
export FLASK_REDIS_URI=redis://localhost:6379/0 # or whatever
export FLASK_DRAMATIQ_BROKER_URL=redis://localhost:6379/0
```
Then run:
```bash
flask db initdb # Or flask db upgrade if you already have a database
flask createuser admin <some email address> <username>
flask run
```
## Production
In production, you will need additionally:
- An email server (running locally on the server, e.g. like postfix, that's probably overridable)
```bash
# TBD: not sure if it's needed anymore
export FLASK_PRODUCTION = True
export FLASK_SECRET_KEY=<your secret key>
export FLASK_SQLALCHEMY_DATABASE_URI=postgres://localhost/sbe-demo # or whatever
export FLASK_SITE_NAME="<your site name>"
export FLASK_SERVER_NAME="<your server name>" # i.e. hostname www.mydomain.com...
# TBD (not checked)
export FLASK_MAIL_SERVER=<your email server>
#export FLASK_MAIL_PORT : default 25
#export FLASK_MAIL_USE_TLS : default False
#export FLASK_MAIL_USE_SSL : default False
#export FLASK_MAIL_DEBUG : default app.debug
#export FLASK_MAIL_USERNAME : default None
#export FLASK_MAIL_PASSWORD : default None
# Same redis URL for all variables
export FLASK_REDIS_URI=redis://localhost:6379/0 # or whatever
export FLASK_DRAMATIQ_BROKER_URL=redis://localhost:6379/0
```
You can start the server with:
```bash
gunicorn 'abilian.sbe.app.create_app()'
```
If 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.
## Configuration example
A step by step configuration example using `honcho`, `.env` and `Python 3.12` is available in the `example_config` folder.
## On Heroku
Click on the button:
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/abilian/abilian-sbe-monorepo)
(Doesn't fully work - needs to be debugged).
Raw data
{
"_id": null,
"home_page": "https://github.com/abilian/abilian-sbe",
"name": "abilian-sbe",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Abilian SAS",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/e5/82/2d51308bbcb2b836217ff69fe5c1f297293af58534b2bffd83f6e46fb7d9/abilian_sbe-1.1.5.tar.gz",
"platform": null,
"description": "# About Abilian SBE\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\n## Installation\n\n### Local (development)\n\nYou will need:\n\n- Python 3.9 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=<your secret key>\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 <some email address> <username>\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=<your secret key>\nexport FLASK_SQLALCHEMY_DATABASE_URI=postgres://localhost/sbe-demo # or whatever\n\nexport FLASK_SITE_NAME=\"<your site name>\"\nexport FLASK_SERVER_NAME=\"<your server name>\" # i.e. hostname www.mydomain.com...\n\n# TBD (not checked)\nexport FLASK_MAIL_SERVER=<your email server>\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",
"bugtrack_url": null,
"license": "LGPL-2.0-or-later",
"summary": "Social Business platform (entreprise collaboration and information management)",
"version": "1.1.5",
"project_urls": {
"Homepage": "https://github.com/abilian/abilian-sbe",
"Repository": "https://github.com/abilian/abilian-sbe"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "638b5e731b0ef5195393ce1d23c8139d4aad2fee451ac1ac1c4d821f62499f34",
"md5": "f6f719cfbd1d07a9462d8a980a9ec64b",
"sha256": "63ebcf1699a9901c6a9995de2cb77fde22ea328a67a7d0acf33ffa6c1bae4730"
},
"downloads": -1,
"filename": "abilian_sbe-1.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f6f719cfbd1d07a9462d8a980a9ec64b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.10",
"size": 9175697,
"upload_time": "2024-03-27T16:43:11",
"upload_time_iso_8601": "2024-03-27T16:43:11.354259Z",
"url": "https://files.pythonhosted.org/packages/63/8b/5e731b0ef5195393ce1d23c8139d4aad2fee451ac1ac1c4d821f62499f34/abilian_sbe-1.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e5822d51308bbcb2b836217ff69fe5c1f297293af58534b2bffd83f6e46fb7d9",
"md5": "9a27f7ecc1dd22e72fafc061de8d3f11",
"sha256": "0b8064ffee3837774ac40852a4d3fc6dc25364618c66a054dbf59a7f7c0116cf"
},
"downloads": -1,
"filename": "abilian_sbe-1.1.5.tar.gz",
"has_sig": false,
"md5_digest": "9a27f7ecc1dd22e72fafc061de8d3f11",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.10",
"size": 8301240,
"upload_time": "2024-03-27T16:43:15",
"upload_time_iso_8601": "2024-03-27T16:43:15.833834Z",
"url": "https://files.pythonhosted.org/packages/e5/82/2d51308bbcb2b836217ff69fe5c1f297293af58534b2bffd83f6e46fb7d9/abilian_sbe-1.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-27 16:43:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "abilian",
"github_project": "abilian-sbe",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"circle": true,
"tox": true,
"lcname": "abilian-sbe"
}