Activity report dates now in UTC [*]
Fixes
post_date and post_modified in the activity report payload now use UTC values (post_date_gmt, post_modified_gmt)Post created activity now reaches reports when saved during autosave [*]
Fixes
send_website_network_activity() for post_created events so that the creation webhook is sent even when the post is first saved during a heartbeat autosaveCategory IDs sent to activity reports in ascending order [*]
Fixes
category_id string in both the live event handler and the backfill commandBackfill command uses direct database queries to bypass plugin query filters [*]
Fixes
WP_Query with a direct $wpdb query for post ID retrieval in wp play backfill-wna; prevents access-level query filters from interfering with resultsArticle WNA default fields registration moved to Publishing [*]
Improvements
add_article_website_reports_default_args() and ARTICLE_WEBSITE_REPORTS_FIELD_IDS to the Publishing plugin; Publishing is active on all sites, ensuring article WNA defaults are always presentWP-CLI command to backfill articles to website activity records [*]
New
wp play backfill-wna command; queries all articles on the Play blog and sends a backfill event for each to the Website Network Activity Airtable webhook; access level fields included via sia_ariel/website_reports_entity_args; dry-run by default, --letsgo to sendArticle access level fields added to website activity records [*]
New
sia_ariel/website_reports_entity_args filter in send_website_network_activity() to allow the payload to be extended per post typeadd_article_website_reports_default_args() hooked into sia_ariel/website_reports_default_args to inject empty defaults for has_custom_access_level, permission_types, organization_status, organization, and teamadd_article_website_reports_entity_args() hooked into sia_ariel/website_reports_entity_args to populate access level fields for article posts; array values serialised as comma-separated stringsTeam page layout tightened for the new contact detail fields [*]
Improvements
u-collapsed) for the Google Group and Slack channel paragraphs; AAP links combined into a single lineGoogle Group and Slack channel links moved above the website links [*]
Improvements
Country team pages now show Google Group and Slack channel links [*]
Improvements
Enrich Website Network Activity payload with content metadata [*]
Improvements
op, slug, entityTitle, post_status, post_date, post_modified, and category_id to the payload in SIA_Play_Public::send_website_network_activity()Article list no longer crashes on PHP 8 [*]
Fixes
get_comments_number filter, fixing a PHP 8 / WordPress 5.9 incompatibility that caused a fatal error on the article admin list pageStart sending own entities’ post activity to Website Reports
New
SIA_Play_Public::send_website_network_activity() hooked to simple_history/log/inserted and send forward to SIA_Ariel_Activity_Repository::post_event()Namespace the Slack slash command endpoints
SIA_Play_REST::$RESTRoutesUnhook and deprecate the A&AP admin report
admin_menu filter hook of SIA_Play_Admin::register_aap_admin_menu() in SIA_Play::register_admin_hooks()SIA_Play_Admin::display_aap_reports() as the data is no longer accurateIntegrate the new Transient Service
$AAP with AAP() in SIA_Play_Admin::display_aap_reports()$teams with teams() in SIA_Play_REST::search() and SIA_Play_Public::initialize_user()SIA_Team::get_team_by_slug() in SIA_Play_REST::team()SIA_Ariel_Transient_Service::setTransient() to minimize callsFix excluding plays with multiple teams in access level
get_team_specific_posts()) separately from disallowed and then diff the arrays in SIA_Play_Public::initialize_user()Fix excluding plays with multiple organizations in access level
get_organization_specific_posts()) separately from disallowed and then diff the arrays in SIA_Play_Public::initialize_user()Fix A&AP report calculation of overall metrics
$state variable for each iteration of the $teams loop in SIA_Play_Admin::display_aap_reports()$brokenCards to A&AP reports to highlight the broken SIA_Team::AAP before showing the correct cardsStore access level specific plays in transients and fix faulty organization based access
SIA_Ariel_Transient_Service API in SIA_Play_Public for methods that store post ids with specific levels (get_organization_specific_posts(), get_team_specific_posts(), and get_organization_status_specific_posts()) that are used to popule the $current_team_member->off_limits_post_ids from filter_articles_by_team_member_access() hooked to pre_get_postsSIA_Play_Public::get_organization_specific_posts()Return pure JSON when requested in the /team route
$args['format'] in SIA_Play_REST::team() and default to ‘slack’ when not requested specifically;Check for “bypass” permissions when deciding on off-limit plays
bypass_access_level_[x] when setting $current_team_member->off_limits_post_ids in SIA_Play_Public::initialize_user().Fix: The :flag-X: Slack icon fails for Headquarter
Show up-to-date AAP API data in the A&AP Report
Unify searches via Slack and introduce the /directory slash command for profiles
Provide a clearer response when the /playbook slash command returns profiles
Show a report of A&AP installations in the new reusable report template class
Start tracking own ACF field groups for import via admin_init
Insert id based links when using the “Add link” modal
Include Pending and Future in display, show label
Check if SIA_Play_Public and functions.php were already loaded while SIA_Play::load_dependencies()
Return the glossary term definitions via REST route (/sia/glossary)
Integrate the /playbook REST route (out of SIA Slack)
Add an “Organization” access level.
Fix slow queries when filtering pre_get_posts
Fix check for Restricted Site Access being enabled.
Rename “Article” into “Play”, refactor post type registration.
Start using custom post type capabilities.
Allow parameter in access_level helpers.
Fix missing private articles in Category query.
Clarify access level label of admin post table filter.
Refactor team access to allow for multiple post types.
Provide post access level via functions.
Fix breaking switch return in SIA_Play_Public::cleanup_access_level.
Allow content distribution depending on either a team member’s organization status, or team.
A byproduct of this update is the possibility to unify role permissions across the entire network, since Play users don’t need the custom “Coordinator” role.