Mobilizon reshare è una suite per condividere gli eventi Mobilizon su un'ampia selezione di piattaforme e permettere ad un'organizzazione di automatizzare la propria strategia di social media sugli eventi e la loro promozione. https://mobilizon.it
Go to file
Giacomo Leidi 6654d13ed0
publishers: Add Zulip publisher. (#62)
* - publishers: Add Zulip publisher.
- README.md.: Add Zulip.
- LICENSE: `fold -s LICENSE | sed 's/ *$//g' > l; mv l LICENSE`

* tests: publishers: Test Zulip publisher.

* publishers: templates: Update Zulip template.

* zulip: Add more tests.

* release.sh: Safer publication.

* tests: publishers: Move zulip specific fixtures to test_zulip.py
2021-09-26 20:12:06 +02:00
mobilizon_reshare publishers: Add Zulip publisher. (#62) 2021-09-26 20:12:06 +02:00
scripts publishers: Add Zulip publisher. (#62) 2021-09-26 20:12:06 +02:00
tests publishers: Add Zulip publisher. (#62) 2021-09-26 20:12:06 +02:00
.gitignore first run (#36) 2021-07-12 22:17:49 +02:00
.pre-commit-config.yaml updated to python 3.9 2021-05-02 18:33:13 +02:00
.pre-commit-hooks.yaml added .gitignore and pre-commit 2021-04-25 11:10:47 +02:00
LICENSE publishers: Add Zulip publisher. (#62) 2021-09-26 20:12:06 +02:00
README.md publishers: Add Zulip publisher. (#62) 2021-09-26 20:12:06 +02:00
README.rst added README for pre-commit 2021-04-25 11:13:59 +02:00
poetry.lock settings.toml: Move secrets to dedicated file. (#60) 2021-09-07 23:39:58 +02:00
pyproject.toml settings.toml: Move secrets to dedicated file. (#60) 2021-09-07 23:39:58 +02:00
setup.cfg reworked validation 2021-05-02 10:37:46 +02:00

README.md

The goal of mobilizon_reshare is to provide a suite to reshare Mobilizon events on a broad selection of platforms. This tool enables an organization to automate their social media strategy in regards to events and their promotion.

Usage

Scheduling and temporal logic

The tool is designed to work in combination with a scheduler that executes it at regular intervals. mobilizon_reshare allows fine-grained control over the logic to decide when to publish an event, with the minimization of human effort as its first priority.

Configuration

The configuration is implemented through Dynaconf. It allows a variety of ways to specify configuration keys. Refer to their documentation to discover how configuration files and environment variables can be specified.

We provide a sample configuration in the settings.toml file.

Event selection

Publishers

Notifiers

Contributing

We welcome contributions from anybody. Currently our process is not structured yet but feel free to open or take issues through Github in case you want to help us.

Core Concepts

Publisher

A Publisher is responsible for formatting and publishing an event on a given platform.

Currently the following publishers are supported:

  • Telegram
  • Zulip

Notifier

Notifiers are similar to Publishers and share most of the implementation. Their purpose is to notify the maintainers when something unexpected happens.

Publication Strategy

A Publication Strategy is responsible for selecting the event to publish. Currently it's possible to publish only one event per run, under the assumption that the user will implement a social media strategy that doesn't require concurrent publishing of multiple events on the same platform. Through proper scheduling and configuration is still possible to achieve such behavior if required.

Develop

To run pre-commit hooks run pre-commit install after cloning the repository.

Make sure to have pre-commit installed in your active python environment. To install: pip install pre-commit. For more info: https://pre-commit.com/