WP Document Revisions

描述

A document management and version control plugin for WordPress that allows teams of any size to collaboratively edit files and manage their workflow.

What is WP Document Revisions?

WP Document Revisions is a document management and version control plugin. Built for time-sensitive and mission-critical projects, teams can collaboratively edit files of any format — text documents, spreadsheets, images, sheet music… anything — all the while, seamlessly tracking the document’s progress as it moves through your organization’s existing workflow.

WP Document Revisions is three things

  1. 📁 Document Management System (DMS) – Track, store, and organize files of any format
  2. 👥 Collaboration Tool – Empower teams to collaboratively draft, edit, and refine documents
  3. 🔒 File Hosting Solution – Publish and securely deliver files to teams, clients, or the public

See the full list of features for more information.

📚 Documentation

Complete Documentation Site – Your one-stop resource for everything about WP Document Revisions.

🎯 Quick Start Guides

📖 User Documentation

🆘 Support & Community

Features

Overview

Powerful Collaboration ToolsWith great power does not have to come great complexity. Based on a simple philosophy of putting powerful but intuitive tools in the hands of managers and content creators, WP Document Revisions leverages many of the essential WordPress features that, for more than eight years, have been tested and proven across countless industries — posts, attachments, revisions, taxonomies, authentication, and permalinks — to make collaborating on the creation and publication of documents a natural endeavor. Think of it as an open-source and more intuitive version of the popular Microsoft collaboration suite, Sharepoint.

Document History – At each step of the authoring process, WP Document Revisions gives you an instant snapshot of your team’s progress and the document’s history. It even gives you the option to revert back to a previous revision — so don’t fret if you make a mistake — or receive updates on changes to the document right in your favorite feed reader.

Access Control – Each document is given a persistent URL (e.g., yourcompany.com/documents/2011/08/TPS-Report.doc) which can be private (securely delivered only to members of your organization), password protected (available only to those you select such as clients or contractors), or public (published and hosted for the world to see). If you catch a typo and upload a new version, that URL will continue to point to the latest version, regardless of how many changes you make.

Enterprise Security – Worried about storing propriety or sensitive information? WP Document Revisions was built from the first line of code with government- and enterprise-grade security in mind. Each file is masked behind an anonymous 128-bit MD5 hash as soon as it touches the server, and requests for files are transparently routed through WordPress’s time-tested URL rewriting, authentication, and permission systems (which can even integrate with existing enterprise active directory or LDAP servers). Need more security? WP Document Revisions allows you to store documents in a folder above the htdocs or public_html web root, further ensuring that only those you authorize have access to your work.

Customization – WP Document Revisions recognizes that no two teams are identical, and as a result, molds to your firm’s needs, not the other way around. Need to track additional information associated with a document? Departments, editors, issues, sections, even arbitrary key-value pairs — whatever you can throw at it, it can handle. Development and customization costs are further minimized by its extensive plugin API, and the WordPress Custom Taxonomy Generator makes it easy for even the uninitiated to add custom taxonomies to documents. Need an audit trail to track check-ins and check-outs? User-level permissions based on the document’s state or another custom taxonomy? Support for third-party encryption? Check out the WP Document Revisions Code Cookbook for sample code. Looking for even more advanced control of your workflow? WP Document Revisions will detect the popular workflow plugin Edit Flow, if installed, and will automatically pull Edit Flow’s advanced workflow management tools into WP Document Revisions. Simply put, virtually every aspect of the plugin’s functionality from workflow states to user-level permissions can be fully customized to your team’s unique needs.

Future Proof – Switching costs a concern? WP Document Revisions is built with tomorrow’s uncertainty in mind. Equally at home in an in-house server room as it is in the cloud, moving individual files or entire document repositories in and out of WP Document Revisions is a breeze (history and all). And since the software is open-source, you can easily add tools to automate the process of moving to or integrating with future third-party systems.

Features

  • Support for any file type (docs, spreadsheets, images, PDFs — anything!)
  • Securely stores unlimited revisions of your business’s essential files
  • Provides a full file history in the form of a revision log, accessible via RSS
  • Helps you track and organize documents as they move through your organization’s existing workflow
  • Each file gets a permanent, authenticated URL that always points to the latest version
  • Each revision gets its own unique url (e.g.,TPS-Report-revision-3.doc) accessible only to those you deem
  • Files are intuitively checked out and locked to prevent revisions from colliding
  • Toggle documents between public, private, and password protected with a single mouse click
  • Runs in-house or in the cloud
  • Secure: filenames are hashed on upload and files are only accessible through WordPress’s proven authentication system
  • Can move document upload folder to location outside of web root to further ensure government- and enterprise-grade security
  • Documents and Revisions shortcodes, Recently Revised Documents widget
  • Multisite and Windows (XAMPP) support
  • Multiple language support including French, Spanish and German (easily translated to your language)
  • Integration with Edit Flow, PublishPress or PublishPress Statuses.
  • Opt-in Block Editor (Gutenberg) support with document sidebar panel (experimental)
  • REST API security hardening: attachment data sanitized for non-editors, attachment ownership validation
  • WordPress Abilities API integration (WP 6.9+) for AI agents and the command palette
  • Native text extraction from PDF, DOCX, and ODT files (pluggable for additional formats), cached per-attachment for search and AI use
  • AI-generated revision summaries via the WordPress 7.0 AI Client, computed from a unified diff of the new revision against the prior one and pre-filled into the revision log for editor review. See the Text Extraction & AI cookbook entry for customization recipes
  • WP-CLI document-revisions extract-text command to backfill the extraction cache across an existing library, with --all/--missing/--id/--extractor/--force/--dry-run selectors
  • Per-document and sitewide opt-outs for text extraction and AI pre-fill — extraction respects WPDR_TEXT_EXTRACTION, AI pre-fill respects WPDR_AI_SUMMARY_PREFILL and the core WP_AI_SUPPORT constant
  • Clean uninstall: options, user meta, and capabilities removed on plugin deletion
  • Deactivation hook flushes rewrite rules for clean deactivation
  • Recently Revised Documents Widget, shortcodes, and templating functions for front-end integration

Features Available via the [Code Cookbook](https://github.com/wp-document-revisions/wp-document-revisions-Code-Cookbook)

  • Audit Trail – creates check in / check out audit trail for all documents
  • Taxonomy-based Permissions – allows setting user-level permissions based on a custom taxonomy such as department
  • Third Party Encryption – example of how to integrate at rest encryption using third-party tools
  • Rename Documents – changes all references to “Documents” in the interface to any label of your choosing
  • State Change Notification – how to use document api to allow users to receive notification whenever documents change workflow state
  • Bulk Import – how to batch import a directory (or other list) of files as documents
  • Filetype Taxonomy – Adds support to filter by filetype
  • Track Changes – Auto-generates and appends revision summaries for changes to taxonomies, title, and visibility
  • Change Tracker – Auto-generates and appends revision summaries for changes to taxonomies, title, and visibility
  • WPML Support – Integration with WPML

Links

Translations

Interested in translating WP Document Revisions? You can do so via Crowdin, or by submitting a pull request.

Useful plugins and tools

Permissions management

Taxonomy management

Email notification and distribution

Document workflow management

区块

该插件提供了 3 个区块.

  • Documents List Display a list of documents.
  • Latest Documents Display a list of your most recent documents.
  • Document Revisions Display a list of revisions for your document.

安装

🚀 Automatic Install (Recommended)

  1. Log into WordPress Admin – Login to your WordPress site as an Administrator, or if you haven’t already, complete the WordPress installation
  2. Go to Plugins – Navigate to Plugins > Add New from the left menu
  3. Search – Search for “WP Document Revisions”
  4. Install – Click “Install Now” next to WP Document Revisions
  5. Activate – Click “Activate” to enable the plugin

📦 Manual Install

  1. Download – Get the latest version from WordPress.org or GitHub Releases
  2. Upload – Unzip the file and upload the “wp-document-revisions” folder to your /wp-content/plugins/ directory
  3. Activate – Log into WordPress admin, go to Plugins, and activate “WP Document Revisions”

💻 Developer Install

For development or contributing:

`bash

git clone https://github.com/wp-document-revisions/wp-document-revisions.git
cd wp-document-revisions
composer install –no-dev
`

⚙️ Requirements

  • WordPress: 5.0 or higher
  • PHP: 7.4 or higher
  • File Permissions: WordPress must be able to write to the uploads directory

🎯 Next Steps

After installation, you’ll find a new Documents menu in your WordPress admin. Start by:

  1. Creating your first document – Go to Documents > Add New
  2. Setting up workflow states (optional) – Go to Documents > Workflow States
  3. Configuring permissions – Review Settings > Document Revisions

Need help? Check our FAQ or get support.

评价

2026 年 1 月 30 日
Thank you for the recent update so that it’s now compatible with latest versions of PHP. Great plugin, super useful, grateful it exists!
2018 年 2 月 6 日 1 回复
Ben Balter has put together a solid plugin that does a good job of maintaining documents for your WP install. The plugin works well, and functions as described. The plugin also has filter and action hooks which allow developers to integrate with the plugin without hacking it. It is also translation ready, something that a plugin must have for wide adoption. A five star plugin must be not only usable but flexible. WP Document Revisions meets that qualification. I hope Ben continues his ongoing development. It’s good to see WP coding standards being implemented. Would be good to see more inline documentation for hooks, but that doesn’t affect functionality at all so it’s more of a want than a need. This is a good plugin with some good features. Unfortunately, there are some very old reviews that don’t paint an accurate picture. Anytime you read a review, look at its age and compare that to the plugin (or theme’s) current development. In this case, there has been active development in the time since some of the older reviews were written (and in my opinion, some of those other reviews are simply not justified).
阅读所有23条评价

贡献者及开发者

「WP Document Revisions」是开源软件。 以下人员对此插件做出了贡献。

贡献者

「WP Document Revisions」插件已被翻译至 1 种本地化语言。 感谢所有译者为本插件所做的贡献。

帮助将「WP Document Revisions」翻译成简体中文。

对开发感兴趣吗?

您可以浏览代码,查看SVN仓库,或通过RSS订阅开发日志

更新日志

Numbers in brackets show the issue number in https://github.com/wp-document-revisions/wp-document-revisions/issues/

5.0.0

Adds native text extraction and AI-generated revision summaries for document libraries. The full design and the twelve PRs that implemented it are tracked in #514; a smaller set of deferred follow-ups is in #531.

Breaking changes: raises the minimum PHP from 7.4 to 8.0 and the minimum WordPress from 5.0 to 5.9 to match what CI actually exercises. Sites on older PHP or WP will no longer see updates to this plugin until they upgrade their runtime. The composer floor was already at PHP 7.4, so install on PHP < 7.4 was already failing; this commit bumps the same constraint to 8.0 and brings the readme.txt declaration in line with what the test matrix verifies. WordPress 5.0–5.8 were never in CI’s matrix; that floor’s bump is similarly a “claim what we test” cleanup. PHP 7.4 has been EOL since November 2022 and WP 5.0 is from December 2018, so the practical population affected is small.

# Features

  • #514: Native text extraction from PDF (via smalot/pdfparser), DOCX, and ODT (via phpoffice/phpword). Extraction runs out-of-band via wp-cron after a revision is uploaded; results are SHA-256-keyed against the file’s contents and stored as post meta on the attachment so re-extracting unchanged content is a no-op. New wpdr_text_extractors filter lets a site register custom extractors for additional formats (see the cookbook recipe).
  • #514: AI-generated revision summaries via the WordPress 7.0 AI Client. After extraction completes, a second cron event computes a unified diff between the new revision’s text and the prior revision’s, sends it to the AI Client with a filterable prompt, and stores the 1–3-sentence summary as post meta on the attachment. Falls back gracefully to summarising the new document directly when the diff is too large or the prior revision has no extractable text. Skips silently when the AI Client is unavailable (older WordPress) or WP_AI_SUPPORT is false.
  • #514: Admin-editor JS pre-fills the AI summary into the revision log textarea on the document edit screen, with a dismiss link. Never clobbers user-typed content. Per-document opt-out (“Do not pre-fill the revision log with AI suggestions”) in a new “Text Extraction & AI” sidebar meta box; sitewide opt-out via the WPDR_AI_SUMMARY_PREFILL constant.
  • #514: Per-document and sitewide opt-outs for text extraction itself (“Skip text extraction for this document” checkbox, WPDR_TEXT_EXTRACTION constant). Flipping the per-document opt-out on clears every cache-managed meta key on the document’s revision attachments and unschedules pending cron events.
  • #514: WP-CLI document-revisions extract-text command for backfilling the extraction cache across an existing library. Selectors: --all, --missing (excludes failure-list entries to prevent infinite retry on malformed files), --id=<id>. Modifiers: --extractor=<class> to target reprocessing by tool identity, --force to bypass cache + failure list, --dry-run.
  • #514: Read + review REST endpoints under wpdr/v1. GET /documents/<doc>/revisions/<rev>/summary returns the cached summary with a status envelope (pending / ready / unavailable); read_document capability. POST .../summary/review marks a summary as human-reviewed; edit_document capability. Capability mapping by @NeilWJames.
  • #514: New action wpdr_text_extracted fires after extracted text is cached, so third-party search-indexing or embedding consumers can hook without monkey-patching the cache class.
  • Adds a Text Extraction & AI Summaries cookbook recipe covering custom extractors, prompt customization, the four opt-out switches, the WP-CLI backfill, alternative AI providers, and the REST surface.

4.0.7

# Bug Fixes

  • Fix #494: restore attachment ID in post_content when classic-editor upload save fails. Two root causes addressed: wp_kses_post stripping the <!-- WPDR N --> HTML comment for users without unfiltered_html (fixed via restore_document_attachment_id on wp_insert_post_data), and JS upload callback not firing leaving post_content empty (fixed via save_document fallback to get_latest_attachment()).
  • Fix PHP TypeError in filter_from_media_grid(): the ajax_query_attachments_args filter passes an array, not a WP_Query object, so the incorrect type hint caused a fatal error that prevented media library items from loading in the block editor.
  • Add WP Plugin Check compliance: phpcs ignore directives for non-prefixed hook names and other plugin-check messages.
  • Remove 252 PHPStan baseline suppressions by resolving the underlying type errors.
  • Update filter/action documentation to reflect file-splitting of trait files.
  • Exclude build artifacts from distributed plugin package via .distignore.
  • Add npm ci && npm run build step to deploy workflow so compiled block JS is included in the WordPress.org distribution.
  • Exclude src/ (uncompiled JSX source) from the WordPress.org distribution via .distignore.

4.0.6

For complete changelog, see GitHub