Indico plugin for synchronizing external Indico feeds into local events
Project description
Indico Feed Sync Plugin
Synchronizes events from external Indico feeds into this instance.
Features
- Configurable feeds – each feed can target a different category and control whether updates, deletions, detailed event exports and a
startdate_daycutoff are used. - Event mirroring – new, updated or deleted events in the remote feed are reflected locally, including timetable blocks and event log entries.
- Attachment links – remote attachments (files, links, material resources) are linked into the cloned event without copying the binary content.
- Manual and scheduled synchronization – feeds can be refreshed on demand from the admin UI or periodically by Celery beat.
- Progress tracking – the admin status table shows queued/running/completed states, per-action counters and Celery task IDs for queued jobs.
- Background force sync – “Force sync” actions enqueue Celery jobs so the UI responds instantly; errors are logged and mirrored in the status column.
- Audit logging – every create/update/delete is also recorded in Admin → Logs with the feed id, action type, local event id/title and remote external id for easy auditing.
Usage Example
- Add feeds in plugin settings – open Admin → Plugins → Feed Sync, edit the JSON, and define the feed URL, target category ID, flags (e.g.
allow_updates,allow_deletions), plus an optionalstartdate_day(defaults to-30meaning “only events starting within the last 30 days or later”). - Manual refresh – click “Refresh now” for incremental updates, or “Force sync” to re-import everything; watch the progress status in the table.
- Background queue – “Force sync” queues a Celery job; monitor its progress in the admin status column or in the Celery log.
- Timetable & attachments – the plugin automatically copies timetable blocks and exposes external attachments as links so attendees see the same agenda and files.
Notes
- Requires a running Celery worker and Redis broker; without them “Force sync” fails immediately with an error message.
- Progress data lives in
feed_state; if you edit the JSON manually, keep feed IDs consistent. - Regular (non-force) sync still runs synchronously for quick incremental updates.
- The
startdate_dayfilter only affects new synchronizations; older events that already exist locally are left untouched even if they fall outside the window. - Enable the plugin in your
indico.conf(or.indico.conf) by addingPLUGINS = {'feed_sync'}and restarting the services.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file indico_plugin_feed_sync-0.1.1.tar.gz.
File metadata
- Download URL: indico_plugin_feed_sync-0.1.1.tar.gz
- Upload date:
- Size: 26.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1376f713ddd954b536496e5d20badb02473efc4cff61d72f34d8c33316d9610
|
|
| MD5 |
d493b78aa60a4d32f57916894aa2b1a6
|
|
| BLAKE2b-256 |
d4110e6c8bfaac77e4ad3ba5fd80f106c9ae07c198f545f9bb48fc398fdf8aa0
|
File details
Details for the file indico_plugin_feed_sync-0.1.1-py3-none-any.whl.
File metadata
- Download URL: indico_plugin_feed_sync-0.1.1-py3-none-any.whl
- Upload date:
- Size: 27.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7053dc9637b048a85ae467ee319883f486fcb3072f5e88343383643fe2b5b24a
|
|
| MD5 |
f1d848ac0476e01bf359dcfc53de7ab9
|
|
| BLAKE2b-256 |
6935cefba6b3824addab76bf52796f7b88b7f5bcba6615e1999f353919f9f179
|