Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Geocoder 8.x-4.37 Minor update available for module geocoder (8.x-4.37). Release: Paragraphs Editor Enhancements 10.2.0 Minor update available for module paragraphs_ee (10.2.0). Release: Paragraphs Editor Enhancements 10.1.1 Minor update available for module paragraphs_ee (10.1.1). Release: Trash 3.0.34 Minor update available for module trash (3.0.34). Release: Paragraphs Editor Enhancements 10.0.9 Minor update available for module paragraphs_ee (10.0.9). Release: Trash 3.1.0 Minor update available for module trash (3.1.0). Release: MCP Sentinel 2.22.1 Minor update available for module mcp_sentinel (2.22.1). Release: Menu Autopilot 1.3.2 Minor update available for module menu_autopilot (1.3.2). Module Revived: CVA (Class Variance Authority) 1.0.1 Module cva updated after 7 months of inactivity (1.0.1). Security Coverage: Pixie Dark Theme pixie_dark now has official Drupal security advisory coverage.

ConClár Sync

No security coverage
View on drupal.org

ConClár Sync turns your Drupal site into the sync back end for ConClár, a conference-schedule progressive web app. Attendees use the checkboxes on the programme page to build a personal schedule, and this module lets that selection follow them from device to device by storing it against their own Drupal account — no separate accounts or extra sign-up system to run.

Features

  • Implements ConClár's documented sync protocol exactly: the /profile auth-state check, the login/logout handshake, and GET/PATCH on /apps/{app_id}/selections.
  • Attendees log in with your site's own Drupal login page (or any other login mechanism your site already uses, since the login entry point is configurable rather than hard-coded to /user/login).
  • Selections are stored per Drupal user, scoped by ConClár's app_id, in a dedicated database table rather than the generic user.data service.
  • Because of that dedicated table, you can also export anonymized aggregate counts - "how many people marked this session as a favorite" - as a report page, a CSV download, or a Drush command, with no per-user identity ever included.
  • Handles the CORS and cross-subdomain cookie requirements a cross-origin single-page app like ConClár needs, scoped only to this module's own routes, not a blanket, site-wide CORS policy.
  • An optional conclar_sync_flag submodule reflects selections as Flag entities instead, for sites that already use Flag and would rather selections double as flaggings on real content.

Post-Installation

After installing, visit Configuration > Web services > ConClár Sync settings (/admin/config/services/conclar-sync, permission: Administer ConClár Sync settings) to:

  • Enter the origin(s) your ConClár deployment is served from. This one list drives the CORS headers, the CSRF check on PATCH requests, and validation of the return URL ConClár supplies on login/logout - never enter *.
  • Optionally change Login path or URL if attendees should log in somewhere other than /user/login.
  • Optionally set a default return URL, used only if ConClár doesn't supply a valid one.

If ConClár is served from a different subdomain than your Drupal site (the expected setup for a protocol built around a cross-origin single-page app), you will also need to make the session cookie usable cross-subdomain by overriding session.storage.options.cookie_samesite to None in your site's services.yml. This is a site-wide change - see the module's README for the exact configuration and what it affects before turning it on.

Finally, point ConClár's own configuration at this site: set its SYNC.API_URL to this module's base path, e.g. https://your-site.example.com/conclar-sync.

If you want the anonymized aggregate reports, grant the View ConClár Sync selection reports permission to whichever role should see /admin/reports/conclar-sync/<app_id>.

Additional Requirements

Nothing beyond Drupal core for the base module. What actually exercises these endpoints is a running ConClár deployment (a separate, non-Drupal React app) configured to point at your site as described above.

The optional conclar_sync_flag submodule additionally requires the Flag module.

  • Flag — enables the optional conclar_sync_flag submodule.
  • Event Platform ConClár - if your schedule data itself comes from Drupal content, this handles the separate job of exporting session/speaker data as the JSON ConClár's programme pages read. This module has no dependency on it and only handles the sync/login side.

Similar projects

There is no other Drupal module implementing this specific protocol at the time of writing. ConClár ships its own minimal example Node.js sync server for reference, and sites are of course free to run that instead - this module exists for sites that would rather reuse their existing Drupal user accounts as the identity and storage layer, without standing up and maintaining a separate service.

Supporting this Module

There is no funding page for this module at present. The most useful support right now is testing it against a real ConClár deployment and filing issues in the project's issue queue.

Community Documentation

See the module's README.md for full configuration details, including the exact cross-subdomain cookie and CORS setup, and the conclar_sync_flag submodule's own README.md for the trade-offs of Flag-backed storage. ConClár's own docs/sync_server_api.md documents the protocol this module implements, and is the authoritative reference if the two ever disagree.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Sep 2026
Latest release
2 hours ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.0-beta1 Pre-release 10–11 Sep 19, 2026
1.0.x-dev Dev 10–11 Sep 19, 2026