{"id":379802,"date":"2026-10-09T07:15:43","date_gmt":"2026-10-09T07:15:43","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sherpa-managed-documents\/"},"modified":"2026-10-09T11:34:53","modified_gmt":"2026-10-09T11:34:53","slug":"sherpa-managed-documents","status":"publish","type":"plugin","link":"https:\/\/es-do.wordpress.org\/plugins\/sherpa-managed-documents\/","author":23227923,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.0","stable_tag":"1.5.0","tested":"7.1.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Sherpa Managed Documents","header_author":"Sherpa Digital","header_description":"Manage and replace WordPress documents with stable URLs, version history and private rollback.","assets_banners_color":"70a7bc","last_updated":"2026-10-09 11:34:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/sherpadigital.com.au\/managed-documents\/","header_author_uri":"https:\/\/sherpadigital.com.au\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":60,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.5.0":{"tag":"1.5.0","author":"sherpadigital","date":"2026-10-09 11:34:53","revision":3736509}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3736071,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3736071,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3736071,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3736071,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.5.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3736071,"resolution":"1","location":"assets","locale":"","width":1268,"height":795},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3736071,"resolution":"2","location":"assets","locale":"","width":1236,"height":855},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3736071,"resolution":"3","location":"assets","locale":"","width":1218,"height":1021},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3736071,"resolution":"4","location":"assets","locale":"","width":1044,"height":1182}},"screenshots":{"1":"View and manage controlled documents from the Managed Documents dashboard.","2":"Add a new managed document or select an existing Media Library document.","3":"Replace a document while retaining its permanent URL and review its version history.","4":"Configure rollback storage, uninstall behaviour and individual user permissions."}},"plugin_section":[],"plugin_tags":[285278,233,1764,166593,285277],"plugin_category":[50],"plugin_contributors":[285279],"plugin_business_model":[],"class_list":["post-379802","plugin","type-plugin","status-publish","hentry","plugin_tags-document-versioning","plugin_tags-media-library","plugin_tags-pdf","plugin_tags-replace-file","plugin_tags-stable-url","plugin_category-media","plugin_contributors-sherpadigital","plugin_committers-sherpadigital"],"banners":{"banner":"https:\/\/ps.w.org\/sherpa-managed-documents\/assets\/banner-772x250.png?rev=3736071","banner_2x":"https:\/\/ps.w.org\/sherpa-managed-documents\/assets\/banner-1544x500.png?rev=3736071","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sherpa-managed-documents\/assets\/icon-128x128.png?rev=3736071","icon_2x":"https:\/\/ps.w.org\/sherpa-managed-documents\/assets\/icon-256x256.png?rev=3736071","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sherpa-managed-documents\/assets\/screenshot-1.png?rev=3736071","caption":"View and manage controlled documents from the Managed Documents dashboard."},{"src":"https:\/\/ps.w.org\/sherpa-managed-documents\/assets\/screenshot-2.png?rev=3736071","caption":"Add a new managed document or select an existing Media Library document."},{"src":"https:\/\/ps.w.org\/sherpa-managed-documents\/assets\/screenshot-3.png?rev=3736071","caption":"Replace a document while retaining its permanent URL and review its version history."},{"src":"https:\/\/ps.w.org\/sherpa-managed-documents\/assets\/screenshot-4.png?rev=3736071","caption":"Configure rollback storage, uninstall behaviour and individual user permissions."}],"raw_content":"<!--section=description-->\n<p>Sherpa Managed Documents provides a dedicated administration area for documents that need a permanent public URL.<\/p>\n\n<p>Administrators and authorised users can add an existing Media Library document or upload a new managed document. Replacement versions are published in place, retaining the attachment ID, uploads path, permanent filename and public URL.<\/p>\n\n<p>Features include:<\/p>\n\n<ul>\n<li>Permanent document URLs that remain unchanged when new versions are published.<\/li>\n<li>Readable document names that are separate from physical filenames.<\/li>\n<li>Searchable, sortable and filterable Media Library selection.<\/li>\n<li>Document version numbers and replacement history.<\/li>\n<li>Optional private storage of previous files for rollback.<\/li>\n<li>Separate user permissions for document management and version restoration.<\/li>\n<li>A Copy URL control for adding managed-document links to pages, posts and emails.<\/li>\n<li>Optional LiteSpeed Cache URL purging after replacement.<\/li>\n<\/ul>\n\n<p>The plugin supports non-image files stored in the local WordPress uploads directory. Replacement files must use the same extension as the current document.<\/p>\n\n<p>Created by Sherpa Digital.<\/p>\n\n<h3>Important behaviour<\/h3>\n\n<ul>\n<li>The plugin supports non-image attachments.<\/li>\n<li>Stable URL replacements require the same extension as the existing file.<\/li>\n<li>The plugin does not add MIME types that WordPress does not already allow.<\/li>\n<li>Local WordPress uploads are supported. Media offload systems require a provider-specific adapter.<\/li>\n<li>LiteSpeed single-URL cache purging is requested when its public hook is available.<\/li>\n<li>Other integrations can listen to <code>sdfr_file_replaced<\/code>.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload and activate the plugin.<\/li>\n<li>Open Managed Documents &gt; Add Document.<\/li>\n<li>Select an existing Media Library document or upload a new document.<\/li>\n<li>Open the managed document and upload its next version using the same extension.<\/li>\n<\/ol>\n\n<p>For private rollback storage, define a writable directory outside the public document root in wp-config.php:<\/p>\n\n<pre><code>define( 'SHERPA_FILE_REPLACE_PRIVATE_DIR', '\/absolute\/private\/path\/managed-documents' );\n<\/code><\/pre>\n\n<p>If this constant is absent or unsafe, file replacement and audit history continue to work, but previous file contents are not retained.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20replacing%20a%20document%20change%20its%20url%3F\"><h3>Does replacing a document change its URL?<\/h3><\/dt>\n<dd><p>No. Publishing a new version replaces the physical file in place while retaining the attachment ID, uploads path, permanent filename and public URL.<\/p><\/dd>\n<dt id=\"can%20i%20give%20an%20editor%20access%3F\"><h3>Can I give an Editor access?<\/h3><\/dt>\n<dd><p>Yes. Administrators can open Managed Documents &gt; Settings and grant an individual user permission to manage documents. Version restoration can be granted separately. The user must also retain the normal WordPress permissions needed to upload files and edit the relevant attachments.<\/p><\/dd>\n<dt id=\"are%20previous%20versions%20retained%3F\"><h3>Are previous versions retained?<\/h3><\/dt>\n<dd><p>Replacement history is recorded automatically. Previous file contents are retained only when private rollback storage is configured using <code>SHERPA_FILE_REPLACE_PRIVATE_DIR<\/code>.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20the%20plugin%20is%20removed%3F\"><h3>What happens when the plugin is removed?<\/h3><\/dt>\n<dd><p>Plugin data is preserved by default. Administrators can explicitly enable full data deletion under Managed Documents &gt; Settings before uninstalling. Media Library attachments and their current public files are never deleted by the uninstall routine.<\/p><\/dd>\n<dt id=\"does%20it%20support%20media-offload%20services%3F\"><h3>Does it support media-offload services?<\/h3><\/dt>\n<dd><p>Not currently. The plugin works with files stored in the local WordPress uploads directory. Object storage and media-offload systems require provider-specific integration.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Adopted the distinctive Sherpa Managed Documents repository name and text domain.<\/li>\n<li>Prepared the plugin for its public WordPress.org identity and translation domain.<\/li>\n<li>Plugin data is now preserved when the plugin is uninstalled by default.<\/li>\n<li>Added an administrator setting to explicitly delete plugin data during uninstall.<\/li>\n<li>Added individual user access controls for document management and version restoration.<\/li>\n<li>Added clearer dashboard warnings and setup instructions when private rollback storage is unavailable.<\/li>\n<li>Updated repository compatibility, sanitization and database-query handling for WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Plugin data is now preserved when the plugin is uninstalled by default.<\/li>\n<li>Added an administrator setting to explicitly delete plugin data during uninstall.<\/li>\n<li>Added complete GPL licence information to the main plugin header.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added per-user access controls under Managed Documents Settings.<\/li>\n<li>Administrators can independently grant document management and version-restore access.<\/li>\n<li>Existing WordPress upload and attachment-edit permissions continue to apply.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Moved Upload a new managed document above the existing Media Library document picker.<\/li>\n<li>Added clearer visual separation between the two Add Document workflows.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Removed duplicate document-name editing from the version-upload form.<\/li>\n<li>Document names are now edited only in Document details and remain unchanged during version uploads.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added a Copy URL control for the permanent document URL.<\/li>\n<li>Clarified permanent URL and permanent URL filename terminology.<\/li>\n<li>New managed uploads now derive their permanent filename from the document name.<\/li>\n<li>Added an explicit, warned action for changing an existing permanent URL filename.<\/li>\n<li>Ordinary name edits and version uploads continue to preserve the permanent URL.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Added an editable document name separate from the canonical filename.<\/li>\n<li>Added document-name editing on each managed document screen.<\/li>\n<li>Added document-name fields when uploading a new document or publishing the next version.<\/li>\n<li>Document-name changes preserve the attachment ID, filename and public URL.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Added a polished, responsive administration layout.<\/li>\n<li>Added dashboard summary cards and a clearer empty state.<\/li>\n<li>Added rollback-storage status and consistent Sherpa Digital author information.<\/li>\n<li>Added an external Sherpa Digital link on plugin screens.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Renamed the plugin and administration area to Managed Documents.<\/li>\n<li>Replaced the existing-document dropdown with a searchable and filterable table.<\/li>\n<li>Added sorting by document title or upload date and 25-item pagination.<\/li>\n<li>Preserved existing managed documents, history and private rollback references.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added a dedicated Sherpa Documents admin area.<\/li>\n<li>Added opt-in management for existing Media Library documents.<\/li>\n<li>Added direct upload of new managed documents.<\/li>\n<li>Added explicit version numbers and a managed-document dashboard.<\/li>\n<li>Added upgrade migration for documents previously replaced with version 1.0.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Stable URL in-place replacement.<\/li>\n<li>Replacement audit history.<\/li>\n<li>Optional private rollback versions.<\/li>\n<li>PDF metadata and preview regeneration.<\/li>\n<li>LiteSpeed cache purge integration.<\/li>\n<\/ul>","raw_excerpt":"Replace WordPress documents while keeping their existing public URLs, attachment IDs and version history.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/379802","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=379802"}],"author":[{"embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sherpadigital"}],"wp:attachment":[{"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=379802"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=379802"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=379802"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=379802"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=379802"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=379802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}