Skip to main content

About Abilian SBE

Build status: builds.sr.ht status

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.
  • User-Centric Design: Provides an intuitive and user-friendly interface, supporting rich profiles, conversation threads, and a social and content graph.
  • 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.
  • 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.
  • 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.
  • 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.
  • Microservices Architecture: Can be deployed as microservices, providing scalability and flexibility for modern enterprise environments.
  • Security and Identity Management: Includes built-in services for identity management, security, and audit logging, ensuring compliance with enterprise-grade security requirements.
  • 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.

Installation and Deployment

See also: Installation Guide

Local (development)

You will need:

  • Python 3.10 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):

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:

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.

An example of configured .env is available: see example_config/dot_env file.

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:

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)
# 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:

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

(Doesn't fully work - needs to be debugged).

Development

See:

License compliance

As of Tue Nov 5 08:50:20 CET 2024, this project is compliant with the REUSE Specification version 3.2.

* Bad licenses: 0
* Deprecated licenses: 0
* Licenses without file extension: 0
* Missing licenses: 0
* Unused licenses: 0
* Used licenses: CC-BY-4.0, LGPL-3.0-only
* Read errors: 0
* Files with copyright information: 1712 / 1712
* Files with license information: 1712 / 1712

Congratulations! Your project is compliant with version 3.2 of the REUSE Specification :-)

Metadata

Release files for abilian-sbe 1.1.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for abilian-sbe 1.1.15
File Size Uploaded Provenance
abilian_sbe-1.1.15.tar.gz 10.2 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for abilian-sbe 1.1.15
File Interpreter ABI Platform
abilian_sbe-1.1.15-py3-none-any.whl Python 3 none any Details

Total release size: 19.4 MB

Release files / abilian_sbe-1.1.15.tar.gz

Download URL abilian_sbe-1.1.15.tar.gz
Size 10.2 MB
Tags Source
SHA-256 checksum
How to use checksums
64106d8cf170b029a21b518f6e08cd6df5baaf52f777d15bd10611013a286f71
BLAKE2b-256 checksum
How to use checksums
7323db4205ed3d5cbc2cc83661563632e01d614ca4da798445c40998791c7199
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.6

Release files / abilian_sbe-1.1.15-py3-none-any.whl

Download URL abilian_sbe-1.1.15-py3-none-any.whl
Size 9.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
57a7d4fcfb2f307c52bc70bd33f7a933d57b983c8bedcd3d553b8133ce5b307a
BLAKE2b-256 checksum
How to use checksums
23a32b545cfae357006c0b77c5988e7a5bd13402ec8a850037e2e17a69f84096
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.6

Security for abilian-sbe 1.1.15

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1.15 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page