abilian-sbe


Nameabilian-sbe JSON
Version 1.1.5 PyPI version JSON
download
home_pagehttps://github.com/abilian/abilian-sbe
SummarySocial Business platform (entreprise collaboration and information management)
upload_time2024-03-27 16:43:15
maintainerNone
docs_urlNone
authorAbilian SAS
requires_python<3.13,>=3.10
licenseLGPL-2.0-or-later
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.23820s