{"id":365016,"date":"2026-09-16T00:45:48","date_gmt":"2026-09-16T00:45:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/document-library-exporter\/"},"modified":"2026-09-16T00:45:34","modified_gmt":"2026-09-16T00:45:34","slug":"circulationdesk-export-tool","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/circulationdesk-export-tool\/","author":8434194,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"CirculationDesk Export Tool for Document Library","header_author":"arothmanmusic","header_description":"Exports a Barn2 document library as a single .zip, sorted into one folder per Document Category, with a CSV manifest. Works with Document Library Lite and Document Library Pro. Adds a page under Tools.","assets_banners_color":"caeefa","last_updated":"2026-09-16 00:45:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/arothmanmusic\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":53,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"arothmanmusic","date":"2026-09-16 00:45:34","revision":3697807}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3697808,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3697808,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3697808,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3697808,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[24392,9054,4721,1859,7343],"plugin_category":[59],"plugin_contributors":[261195],"plugin_business_model":[],"class_list":["post-365016","plugin","type-plugin","status-publish","hentry","plugin_tags-document-library","plugin_tags-documents","plugin_tags-download-manager","plugin_tags-export","plugin_tags-zip","plugin_category-utilities-and-tools","plugin_contributors-arothmanmusic","plugin_committers-arothmanmusic"],"banners":{"banner":"https:\/\/ps.w.org\/circulationdesk-export-tool\/assets\/banner-772x250.png?rev=3697808","banner_2x":"https:\/\/ps.w.org\/circulationdesk-export-tool\/assets\/banner-1544x500.png?rev=3697808","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/circulationdesk-export-tool\/assets\/icon-128x128.png?rev=3697808","icon_2x":"https:\/\/ps.w.org\/circulationdesk-export-tool\/assets\/icon-256x256.png?rev=3697808","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Adds a page under Tools that exports your whole document library as one .zip file,\nsorted into a folder per Document Category, alongside a CSV manifest describing\nevery document.<\/p>\n\n<p>Requires Document Library Lite (free) or Document Library Pro by Barn2 Plugins:\nhttps:\/\/wordpress.org\/plugins\/document-library-lite\/\nhttps:\/\/barn2.com\/wordpress-plugins\/document-library-pro\/<\/p>\n\n<p>This utility is provided with the approval of, but is not affiliated with, Barn2 Plugins.<\/p>\n\n<h3>Usage<\/h3>\n\n<p>Tools &gt; Export Documents. Requires the <code>export<\/code> capability, which belongs to\nAdministrators by default.<\/p>\n\n<p>Options:<\/p>\n\n<ul>\n<li><strong>Include statuses<\/strong> \u2014 which post statuses to export. Published and privately\npublished are ticked by default; drafts, pending, scheduled and archived are\navailable where they exist.<\/li>\n<li><strong>Folders<\/strong> \u2014 one checkbox per Document Category, plus one for documents with no\ncategory. Untick a folder to leave it out.<\/li>\n<li><strong>Copy multi-category documents into every matching folder<\/strong> \u2014 on by default, so\neach folder is complete. Off files them under their first selected category only.<\/li>\n<li><strong>Filenames<\/strong> \u2014 keep the original upload filename, or name files after the\ndocument title.<\/li>\n<\/ul>\n\n<p>Click Build archive, then Download .zip.<\/p>\n\n<h3>What to expect<\/h3>\n\n<p>The archive:<\/p>\n\n<pre><code>Some-Category\/\nAnother-Category\/\n_no-category\/\ndocument-library-manifest.csv\n<\/code><\/pre>\n\n<p>Folder names come from the category name, alphabetically ordered, so repeat exports\nmatch. The download is named document-library-YYYY-MM-DD.zip.<\/p>\n\n<p>The manifest has a row per document: ID, title, status, slug, permalink, dates,\nauthor, link type, path in the zip, filename, size, attachment ID, external URL,\ntaxonomy terms, document metadata, and a Notes column flagging anything unusual.<\/p>\n\n<p>Documents that point at a file hosted elsewhere have nothing on the server to\narchive. They appear in the manifest with their URL and are counted as skipped.\nMissing files are reported the same way.<\/p>\n\n<p>Progress runs in batches, so a large library will not time out. Leaving the page\nmid-build abandons the archive, which is cleaned up within six hours. The archive is a\ndownload: it is deleted from the server once sent, and nothing is added to the Media\nLibrary. It can contain private and draft documents, so treat it accordingly.<\/p>\n\n<h3>Filters<\/h3>\n\n<pre><code>\/\/ Smaller batches on a host with a short execution limit.\nadd_filter( 'circulationdesk_export_tool_batch_size', function () { return 10; } );\n\n\/\/ Build the archive somewhere specific.\nadd_filter( 'circulationdesk_export_tool_staging_dir', function () { return '\/var\/tmp\/dl-exports'; } );\n\n\/\/ Change the download filename.\nadd_filter( 'circulationdesk_export_tool_download_filename', function () { return 'documents.zip'; } );\n\n\/\/ Add extra postmeta keys as manifest columns.\nadd_filter( 'circulationdesk_export_tool_manifest_meta_keys', function ( $keys ) { return $keys; } );\n<\/code><\/pre>\n\n<!--section=installation-->\n<p>Upload the zip via Plugins &gt; Add New &gt; Upload Plugin, or copy the\ncirculationdesk-export-tool folder into wp-content\/plugins\/. Then activate.<\/p>\n\n<p>Document Library Lite or Pro must be active.<\/p>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Export a Barn2 document library as a single .zip, organised into one folder per Document Category, with a CSV manifest.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/365016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=365016"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/arothmanmusic"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=365016"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=365016"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=365016"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=365016"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=365016"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=365016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}