Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/veridis-dev/veridis-news-desk/archive/refs/heads/main.zipA WordPress newsroom workflow plugin for editorial teams.
Free = Manage stories. A dedicated, clutter-free newsroom workspace inside WordPress admin to coordinate article ideas, assign responsibilities, track deadlines, and monitor story readiness.
Overview
News Desk adds a structured editorial workflow inside WordPress admin (wp-admin) while preserving core WordPress standards:
- Stories remain native WordPress posts (
post). - Native article permalinks, categories, tags, and media attachments remain untouched.
- Native publishing roles and permissions remain fully authoritative.
Editorial workflow metadata (assignments, editorial statuses, internal deadlines, task priorities, sources, and readiness checks) is cleanly layered around normal WordPress posts without altering frontend rendering or locking content into proprietary post formats.
Features
Public Free 1.0 capabilities:
- Dashboard: High-level newsroom overview with real-time story statistics, urgent deadlines, and direct entry points to active work.
- Newsroom List: Dense, paginated editorial article table with search, multifaceted filtering (editorial status, WordPress status, author, assignee, category, and health), and multi-column sorting.
- Newsroom Board / Kanban: Visual status columns representing editorial stages with drag-and-drop card movement and quick actions.
- New Story: Streamlined modal to create early-stage story drafts without leaving the newsroom desk.
- Story Drawer: Accessible slide-out panel for fast inspection, assignee management, editorial details, structured notes, and metadata editing.
- Editorial Workflow: Four distinct workflow stages:
Idea → Writing → Review → Ready to publish. - Decoupled Roles: The responsible workflow editor (
Assigned) is managed separately from the public WordPress author (byline). - Deadlines & Priorities: Editorial target dates with date-time picking, quick presets, and clear priority badges (
Standard,High,Urgent). - Article Health: Advisory pre-flight checklist evaluating story completeness before publication.
- Structured Sources: Track story sources, verification states (
Unverified,Contacted,Waiting,Confirmed), and internal background notes. - Follow-ups: Integrated callback and task tracker attached to stories to ensure post-publication updates, corrections, and editorial check-ins are never forgotten.
- Editor Mode: Seamless block editor sidebar integration allowing journalists to manage editorial metadata directly within the WordPress block editor.
- Unsaved Changes Protection: Guard dialogs preventing accidental loss of drafts, notes, or modified editorial metadata.
- URL State Persistence: Filters, layouts, searches, and drawer selections persist in the URL for bookmarking, sharing, and native browser navigation.
- Settings: Centralized control over plugin data retention and privacy behaviors.
- Help: In-app guide and direct access to product documentation, support, and release notes.
Editorial workflow
The editorial workflow organizes story progression across four standard stages:
- Idea: Early pitch or concept. Stories in this stage may remain
Unassigned. - Writing: Active drafting. Moving to Writing requires an assigned editor or writer.
- Review: Editorial review, fact-checking, and copy-editing. Requires an assignee.
- Ready to publish: Editorial sign-off. The article is approved by the editorial desk.
Important:
Ready to publishis an editorial milestone, not an automated publishing trigger. WordPress still controls actual publishing permissions and scheduling according to native user capabilities.
Article Health
Article Health is an advisory readiness checklist evaluating four fundamental story components:
- Featured Image: Verification that a post thumbnail is set.
- Excerpt: Confirmation that an article summary or excerpt is provided.
- Source: Record of primary editorial source attribution.
- Photo Credit: Credit information for attached imagery.
Article Health assists newsrooms in maintaining publication standards. It is strictly advisory and does not gate or block WordPress publishing actions.
Requirements
- WordPress: 6.5 or higher
- PHP: 7.4 or higher
- Compatibility: Tested through WordPress 7.1.x (verified on WordPress 7.1.2)
- Browser: Modern evergreen browser with ES module and native
<dialog>support
Installation
- Upload the
veridis-news-deskplugin directory to your WordPresswp-content/plugins/directory, or upload the release ZIP in Plugins → Add New → Upload Plugin. - Activate Veridis News Desk in Plugins → Installed Plugins.
- Open News Desk from the WordPress admin sidebar.
Data model
News Desk respects your WordPress database architecture:
- Stories remain standard WordPress
postrecords. - Editorial metadata (editorial status, assignee ID, internal deadline, priority, sources, notes) is stored in standard WordPress post meta using
_veridis_*keys. - Plugin configurations are stored in WordPress options (
veridis_news_desk_*). - Editorial Follow-ups utilize a dedicated table (
{$wpdb->prefix}veridis_news_followups) for efficient task indexing and querying.
Permissions
News Desk integrates directly into the WordPress role and capability model:
- Access to the newsroom desk requires the native
edit_others_postscapability (typically granted to Editors and Administrators). - Modifying plugin settings requires the
manage_optionscapability (Administrators). - News Desk never bypasses WordPress authorization or grants publishing capabilities beyond a user's native role.
Data preservation
- Deactivation: Deactivating the plugin is completely non-destructive and leaves all data untouched.
- Uninstall: By default, deleting the plugin preserves all editorial metadata, follow-ups, and settings in the database to prevent accidental data loss.
- Data Cleanup: To permanently wipe News Desk metadata, follow-ups, and options when uninstalling, disable the preservation option in News Desk → Settings prior to deleting the plugin.
- Native WordPress posts, users, categories, tags, and media are never deleted under any circumstances.
Development and Source Code
Veridis News Desk development source code is publicly accessible on GitHub: https://github.com/Veridis-Dev/veridis-news-desk
Human-readable React, TypeScript, and CSS source files are located in src/AdminApp/ and src/EditorApp/. Production bundles are compiled with Vite:
src/AdminApp/main.tsx->build/assets/app-*.jsandbuild/assets/app-*.css(Newsroom React application)src/EditorApp/main.ts->build/assets/editor-*.jsandbuild/assets/editor-*.css(Block Editor sidebar)build/manifest.jsonmaps hashed Vite asset filenames for WordPress runtime script enqueuing inAssets.phpandEditorMode.php.
Prerequisites: Node.js (>=22.12.0) and npm.
Setup and Build
# Install exact dependencies
npm ci
# Typecheck TypeScript source
npm run typecheck
# Build production assets (Vite)
npm run build
# Run unit tests
npm test
Local Dev Server
- Copy
.env.exampleto.env.localand defineVND_WP_ORIGINmatching your local WordPress site URL. - In your local
wp-config.php, configure development constants:define( 'WP_ENVIRONMENT_TYPE', 'local' ); define( 'VERIDIS_NEWS_DESK_DEV_SERVER', 'http://localhost:5173' ); - Run
npm run devto start the Vite HMR server, then access News Desk within your local WordPress admin.
Documentation and support
License
Veridis News Desk is licensed under the GNU General Public License v2.0 or later.
Bundled Geist fonts are licensed under the SIL Open Font License 1.1.