# crown-commercial-service/gca-intranet architecture

> Architecture diagram of the GitHub repository crown-commercial-service/gca-intranet, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/crown-commercial-service/gca-intranet
- Repository: https://github.com/crown-commercial-service/gca-intranet

## Overview

This repository is a WordPress intranet stack. Its documented feature workflow is: administrators toggle registered flags in WordPress Admin, and theme features check those flags before enabling behavior. The README describes the theme and feature-flag plugin, but neither appears in the supplied file tree, so those components have no supported source path here. Other plugin capabilities are represented from the tree; sampled excerpts are limited and do not establish wiring between them.

Main entry points: [`wp-content/plugins/gravityforms/includes/query/class-gf-query-service-provider.php`](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/gravityforms/includes/query/class-gf-query-service-provider.php) (Gravity Forms), [`wp-content/plugins/admin-site-enhancements/classes/class-search-engines-visibility.php`](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/admin-site-enhancements/classes/class-search-engines-visibility.php) (Admin Enhancements), [`wp-content/plugins/gravityforms/includes/query/json-handlers/class-gf-query-json-handler.php`](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/gravityforms/includes/query/json-handlers/class-gf-query-json-handler.php) (Form JSON Query), [`wp-content/plugins/googleappslogin-enterprise/core/Google/Service/Storage.php`](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/googleappslogin-enterprise/core/Google/Service/Storage.php) (Google Storage API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_features["Intranet Features"]
  node_flag_ui["Feature Flags UI"]
  node_flag_registry["Flag Registry"]
  node_feature_modules["Intranet Features"]
  node_workday_sync["Workday User Sync"]
  node_cron_manager["Cron Manager"]
  node_events["Event Archiving"]
  node_feedback["Page Feedback"]
end

subgraph group_admin["Admin Controls"]
  node_ase["Admin Enhancements"]
  node_capabilities["Role Capabilities<br/>[manager.php]"]
end

subgraph group_content["Content Tools"]
  node_acf["Custom Fields<br/>[acf.php]"]
  node_tablepress["TablePress"]
end

subgraph group_integrations["Plugin Integrations"]
  node_gravity_forms["Gravity Forms"]
  node_gf_json_query["Form JSON Query"]
  node_gf_theme_output["Form Theme Output"]
  node_google_storage["Google Storage API<br/>[Storage.php]"]
  node_google_maps["Google Maps API<br/>[MapsEngine.php]"]
end

node_admin_user(("Administrator"))
node_site_user(("Intranet User"))
node_wp["WordPress"]
node_wp_options[("WordPress Options")]
node_forms_db[("Forms Database")]
node_google_cloud["Google Cloud"]
node_browser(("Site Visitor"))

node_admin_user -.->|"toggles flags"| node_flag_ui
node_flag_ui -.->|"saves settings"| node_wp_options
node_flag_registry -.->|"registers flags"| node_feature_modules
node_feature_modules -.->|"reads flag state"| node_wp_options
node_wp -.->|"serves admin"| node_flag_ui
node_workday_sync -.->|"scheduled via"| node_cron_manager
node_cron_manager -.->|"runs jobs"| node_events
node_feature_modules -.->|"includes"| node_workday_sync
node_feature_modules -.->|"includes"| node_feedback
node_site_user -->|"requests pages"| node_wp
node_wp -->|"renders pages"| node_browser
node_wp -.->|"loads plugin"| node_ase
node_ase -->|"checks visibility"| node_wp_options
node_wp -.->|"loads plugin"| node_capabilities
node_admin_user -.->|"manages roles"| node_capabilities
node_wp -.->|"loads plugin"| node_acf
node_wp -.->|"loads plugin"| node_tablepress
node_wp -.->|"loads plugin"| node_gravity_forms
node_gravity_forms -->|"registers handler"| node_gf_json_query
node_gf_json_query -->|"queries forms"| node_forms_db
node_gravity_forms -->|"creates output engine"| node_gf_theme_output
node_wp -.->|"loads client"| node_google_storage
node_wp -.->|"loads client"| node_google_maps
node_google_storage -.->|"calls API"| node_google_cloud
node_google_maps -.->|"calls API"| node_google_cloud

click node_ase "https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/admin-site-enhancements/classes/class-search-engines-visibility.php"
click node_capabilities "https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/capability-manager-enhanced/includes/manager.php"
click node_acf "https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/advanced-custom-fields-pro/acf.php"
click node_tablepress "https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/tablepress/controllers/controller-admin.php"
click node_gravity_forms "https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/gravityforms/includes/query/class-gf-query-service-provider.php"
click node_gf_json_query "https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/gravityforms/includes/query/json-handlers/class-gf-query-json-handler.php"
click node_gf_theme_output "https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/gravityforms/includes/theme-layers/framework/factories/class-output-engine-factory.php"
click node_google_storage "https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/googleappslogin-enterprise/core/Google/Service/Storage.php"
click node_google_maps "https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/googleappslogin-enterprise/core/Google/Service/MapsEngine.php"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_flag_ui,node_flag_registry,node_feature_modules,node_workday_sync,node_cron_manager,node_events,node_feedback,node_site_user toneBlue
class node_ase,node_capabilities,node_wp_options,node_forms_db toneAmber
class node_acf,node_tablepress toneMint
class node_gravity_forms,node_gf_json_query,node_gf_theme_output,node_google_storage,node_google_maps toneRose
class node_admin_user,node_wp,node_google_cloud,node_browser toneIndigo
```

## Components

### Intranet Features

- **Feature Flags UI**
- **Flag Registry**
- **Intranet Features**
- **Workday User Sync**
- **Cron Manager**
- **Event Archiving**
- **Page Feedback**

### Admin Controls

- [Admin Enhancements](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/admin-site-enhancements/classes/class-search-engines-visibility.php): `wp-content/plugins/admin-site-enhancements/classes/class-search-engines-visibility.php`
- [Role Capabilities](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/capability-manager-enhanced/includes/manager.php): `wp-content/plugins/capability-manager-enhanced/includes/manager.php`

### Content Tools

- [Custom Fields](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/advanced-custom-fields-pro/acf.php): `wp-content/plugins/advanced-custom-fields-pro/acf.php`
- [TablePress](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/tablepress/controllers/controller-admin.php): `wp-content/plugins/tablepress/controllers/controller-admin.php`

### Plugin Integrations

- [Gravity Forms](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/gravityforms/includes/query/class-gf-query-service-provider.php): `wp-content/plugins/gravityforms/includes/query/class-gf-query-service-provider.php`
- [Form JSON Query](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/gravityforms/includes/query/json-handlers/class-gf-query-json-handler.php): `wp-content/plugins/gravityforms/includes/query/json-handlers/class-gf-query-json-handler.php`
- [Form Theme Output](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/gravityforms/includes/theme-layers/framework/factories/class-output-engine-factory.php): `wp-content/plugins/gravityforms/includes/theme-layers/framework/factories/class-output-engine-factory.php`
- [Google Storage API](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/googleappslogin-enterprise/core/Google/Service/Storage.php): `wp-content/plugins/googleappslogin-enterprise/core/Google/Service/Storage.php`
- [Google Maps API](https://github.com/crown-commercial-service/gca-intranet/blob/development/wp-content/plugins/googleappslogin-enterprise/core/Google/Service/MapsEngine.php): `wp-content/plugins/googleappslogin-enterprise/core/Google/Service/MapsEngine.php`

### Other components

- **Administrator**
- **Intranet User**
- **WordPress**
- **WordPress Options**
- **Forms Database**
- **Google Cloud**
- **Site Visitor**

## Connections

- Administrator → Feature Flags UI: toggles flags
- Feature Flags UI → WordPress Options: saves settings
- Flag Registry → Intranet Features: registers flags
- Intranet Features → WordPress Options: reads flag state
- WordPress → Feature Flags UI: serves admin
- Workday User Sync → Cron Manager: scheduled via
- Cron Manager → Event Archiving: runs jobs
- Intranet Features → Workday User Sync: includes
- Intranet Features → Page Feedback: includes
- Intranet User → WordPress: requests pages
- WordPress → Site Visitor: renders pages
- WordPress → Admin Enhancements: loads plugin
- Admin Enhancements → WordPress Options: checks visibility
- WordPress → Role Capabilities: loads plugin
- Administrator → Role Capabilities: manages roles
- WordPress → Custom Fields: loads plugin
- WordPress → TablePress: loads plugin
- WordPress → Gravity Forms: loads plugin
- Gravity Forms → Form JSON Query: registers handler
- Form JSON Query → Forms Database: queries forms
- Gravity Forms → Form Theme Output: creates output engine
- WordPress → Google Storage API: loads client
- WordPress → Google Maps API: loads client
- Google Storage API → Google Cloud: calls API
- Google Maps API → Google Cloud: calls API
