Capitol GAINS: CreativEngine Congressional Utilities
Capitol GAINS: CreativEngine Congressional Utilities
Description
Capitol GAINS (Government Archives & Information Navigation Suite) is a comprehensive WordPress plugin that provides a suite of tools for managing congressional operations, including meetings, participants, members, files, and related data. The plugin integrates with Advanced Custom Fields (ACF) Pro and Elementor for content management and display.
Key Features
- Meeting Management: Create, update, and manage congressional meetings with full metadata support
- Participant & Member Tracking: Manage witnesses, nominees, and committee members
- File Management: Upload and organize meeting files with embargo support
- REST API: Complete REST API for external system integration
- CSV Import: Bulk import meetings, panels, panel members, members, participants, and files via CSV
- Elementor Integration: Custom widgets for displaying meetings, files, filters, and more
- Live Hearings: Support for live streaming and upcoming meeting alerts
- Advanced Filtering: Dynamic filter system with real-time count updates
- Preview System: Generate previews of meetings before publishing
Requirements
- WordPress: 6.2 or higher
- PHP: 7.4 or higher
- ACF Pro: Required (plugin will show notice if not active)
- Elementor: Optional but recommended for frontend display
Custom Post Types
The plugin registers the following custom post types:
- Meetings (
meeting) – Main meeting post type - Participants (
meeting_participant) – Witnesses and nominees - Members (
meeting_member) – Committee members - Meeting Files (
meeting_file) – Files associated with meetings
Taxonomies
- Meeting Status (
meeting_status) - Meeting Type (
meeting_type) - Committee Type (
committee_type) - Privacy Type (
privacy_type) - Congress (
congress) - Subcommittee (
subcommittee) - Participant Type (
participant_type)
Taxonomies can be enabled/disabled and assigned to different post types via plugin settings.
Database
The plugin uses custom database tables for optimized data storage:
wp_capigacr_meetingmeta– Meeting metadatawp_capigacr_participantmeta– Participant metadatawp_capigacr_membermeta– Member metadatawp_capigacr_filemeta– File metadata
Database migrations are handled manually via admin UI.
API Integration
The plugin provides a comprehensive REST API for external system integration with endpoints for:
- Creating and updating meetings
- Managing files
- Checking meeting existence
- Getting live meetings
- Filter counts
- Preview generation
Base URL: /wp-json/meetings/v1/
External Services
This plugin may fetch data from external services in the following scenarios:
- File Imports: When importing files via CSV, the plugin may download files from external URLs if specified in the import data. This is user-initiated and requires explicit import action.
All external requests use WordPress’s built-in HTTP API with proper SSL verification and timeouts.
Installation
- Upload the plugin files to
/wp-content/plugins/creativengine-congressional-utilities/ - Activate the plugin through the WordPress admin panel
- Ensure ACF Pro is installed and activated
- Database tables will be created automatically on activation
- Configure settings via the Meetings and CE Utilities settings sub-menu items in the WordPress admin
Faq
This plugin requires WordPress 5.0 or higher, PHP 7.4 or higher, and Advanced Custom Fields Pro. Elementor is optional but recommended for frontend display.
Meetings can be created via:
* WordPress Admin: Create a new Meeting post type
* REST API: Use the /wp-json/creativengine-meetings/v1/write endpoint
* CSV Import: Import meetings in bulk via the admin import interface
- Edit a page with Elementor
- Add widgets from the CE Utilities category
- Configure widget settings
- Publish the page
Available widgets include Meeting Display, Meeting Files, Meeting Info, Live Hearings Alert, Meeting Filters, Search Button, and more.
Yes, the plugin supports CSV imports for meetings, panels, panel members, participants, members, and files. Access the import interface via Meetings Import in the WordPress admin.
Frontend endpoints use /wp-json/creativengine-capitol-gains/v1/. Proforma/admin endpoints use /wp-json/creativengine-meetings/v1/. See the plugin documentation for complete API endpoint details.
Reviews
Changelog
1.3.10
- Preview access: restrict preview meetings to Proforma auth or users who can edit; apply to all meeting queries and global post.
1.3.9
- Maintenance release.
1.3.8
- Fixed admin menu: use default menu positions all CPT menus (Meetings, Participants, Members) remain visible and avoid overwriting items.
- Use values for slugs and prefixes from Meeting Settings.
- Replaced remaining hardcoded taxonomy slugs with configurable slugs (meeting_type, meeting_status, privacy_type, subcommittee) in utilities and meetings table widget.
- Proper nonce validation throughout plugin.
1.3.7
- Hardened database table rename migrations to prevent data loss when both old and new tables exist.
- Replaced hardcoded post types/taxonomies with dynamic lookups for configurability.
- Adjusted /check API to return slugs only, treat trashed meetings as missing, and untrash on republish.
- Fixed recent meetings query placeholder ordering and a panels template syntax error.
1.3.6
- Addressed WordPress.org plugin review feedback: Ajax URLs from PHP only, external services documented in readme, no direct core loading or plugin-directory writes, nonces/capability checks and sanitization/escaping across handlers, unique prefixes for options/CPTs/taxonomies, prepared SQL, and consistent checkbox/settings persistence (e.g. enabled taxonomies, logging, embargo).
- Log files and congress data now use the uploads directory. CPT/taxonomy slug limits (20/32 chars) enforced in Setup with truncation and shorter defaults where needed. Generate Congress Terms uses the congress taxonomy slug from settings.
1.3.5
- Switched plugin slug/text domain to
creativengine-congressional-utilitiesand aligned folder/handles for consistent localization. - Restored REST API authentication checks and added direct file access guards across template files.
- Improved hardening with additional escaping and nonce validation in admin flows.
- Standardized prefixed asset handles and refreshed enqueued CSS/JS for admin and Elementor widgets.
1.3.4
- Preview meetings now load members, participants, and files purely from snapshot data (no relational lookups) for accurate preview displays.
- Data store falls back to snapshot files for preview posts and file deletion hooks skip previews to avoid removing published assets.
- Minor stability updates around preview cleanup and file handling.
1.3.3
- Meeting Video widget: added configurable aspect ratios and consistent styling for all message states (upcoming, no live scheduled, no live video).
- Meeting video messages now allow custom titles/bodies per state with shared styling.
- Minor documentation updates.
1.3.2
- Fixed read-only field groups appearing incorrectly when taxonomy dropdowns change
- Improved AJAX handling for field group loading
- Added custom sort order for congress taxonomy dropdown (numerical descending)
1.3.1
- Initial release