Ariel

Ariel is the integration middleware of the Social Impact Award platform. It sits between WordPress and the external services the network depends on — Airtable reporting bases, the Application & Assessment Platform, Mailjet, and Slack — passing data in both directions and ensuring every system stays in sync. No other plugin handles cross-service communication directly; they all delegate it to Ariel.

The plugin serves two equally important roles. Outbound, it formats and posts structured payloads to multiple external targets: activity logs, community voting reports, the Net/CRM base, member records, and the A&AP platform. Inbound, it receives REST API calls from external systems and Slack event webhooks, processes them, and applies the resulting changes to profiles and the local database.

Main features

Outbound reporting

Ariel maintains dedicated posting methods for each external target: website activity to the Network Activity Airtable base, voting phase and result data to the Community Voting Reports base, organisation and profile updates to the Net/CRM base, and member presence data to the IT Infrastructure report. Each method is independently tokenised and guards against writes to the wrong environment.

Inbound connections

Ariel exposes a REST API used by the Application & Assessment Platform to store competition data against country teams, and by other internal services to create and update Play entities. It also subscribes to Slack’s Events API to capture membership changes and member activity in real time.

Application & Assessment Platform

Ariel models each country’s A&AP installation as a structured object and manages the two-way data flow between WordPress and the platform. It sends competition configuration, page URLs, and localised content to each country’s A&AP, and reads application and assessment state back in response.

Team member permissions

Ariel provides the permission framework that all other plugins rely on. The SIA_Team_Member class extends WordPress roles with SIA-specific capabilities — editing own profiles, managing organisations, assigning community roles, sending invites — evaluated in the context of the current blog and the member’s position in the network.

Performance caching

Profiles, teams, and organisations are cached in serialised transients to avoid repeated database queries on every page load. Ariel manages the full cache lifecycle — warming, invalidation, and network-wide busting — and provides the SIA_Ariel_Transient_Service class that all other plugins use for consistent transient naming and busting.

Email and messaging

Ariel composes and sends invitation emails for new team members via Mailjet, adapting the message content based on account type, access credentials, and whether the invitee holds an SIA Passport.

WP-CLI tooling

A suite of command-line tools covers operations that cannot be triggered through the web interface: syncing entities to external bases, managing competition data, sending invites, warming caches, and inspecting network state.