BACK TO DIRECTORY

Kitgenix Document Manager

by Kitgenix

0.0
(0 ratings)

Kitgenix Document Manager is a WordPress document management and document library plugin for publishing, protecting, replacing, sharing and tracking downloadable files. It adds a managed document layer around WordPress attachments so a document can keep one stable URL while the physical file behind it changes over time.

This is useful for policy documents, product manuals, technical downloads, specification sheets, price lists, application forms, certificates, reports, staff resources, membership files and other documents that need more control than a raw Media Library URL.

A published document uses a stable route similar to:

/kitgenix-document-manager/{slug}/

Replace the current attachment later and the document route can remain the same, so old links in pages, emails, QR codes, bookmarks and external documentation do not need to be replaced.

Built by Kitgenix.

Document Management Features

  • Stable managed URLs independent of the current physical attachment URL.
  • Public, Private and Restricted visibility modes.
  • Access rules using WordPress roles, capabilities and specific user IDs.
  • Time-limited signed share links for people without a WordPress account.
  • Optional maximum-use limits on signed links.
  • Revoke and signing-secret regeneration controls.
  • Available-from, archive and expiry scheduling.
  • Optional document version history.
  • Restore or delete historical versions.
  • Hierarchical document categories.
  • Batch upload and bulk administration tools.
  • Existing Media Library attachment selection.
  • Frontend document-card and text-link shortcodes.
  • Admin Shortcode Builder for locating documents and generating markup.
  • Local aggregate document views/download analytics.
  • REST metadata access subject to document permissions.
  • Single HTTP byte-range support for compatible downloads/media seeking.
  • Conditional ETag/Last-Modified responses for eligible public files.
  • Attachment access guards for protected managed files.
  • Site Health test for the dedicated document upload directory.
  • Settings/category portability without exporting protected files or share secrets.
  • Capped local event log for operational diagnostics.

Stable WordPress Document Links

The plugin separates the logical document from the current file. Pages and users link to the document’s stable endpoint; the document record then decides which attachment is current and whether the requester is allowed to receive it.

This model is particularly useful for frequently revised documents. A “Product Manual” or “Terms and Conditions” link can remain consistent while administrators replace the actual PDF or Office file as revisions are released.

Public, Private and Restricted Documents

Each document has a visibility mode and can also carry more granular rules. Access can be evaluated using WordPress roles, a required capability, explicitly allowed user IDs or a valid signed share link.

The same access decision is applied across the managed delivery endpoint and the plugin’s own output paths. The code also includes guards designed to prevent protected managed attachments being casually exposed through Media REST responses or normal attachment permalinks to a visitor who does not have document access.

For unauthenticated protected requests, the configured behaviour can send the visitor to login or return a forbidden response according to the site setting.

Signed File Sharing

A signed URL can grant temporary access to a protected document without creating a WordPress account for the recipient. Signed links can have an expiry time and an optional maximum-use count.

Administrators can revoke a share link or regenerate the document’s signing secret. The signature is bound to document-specific values including the current attachment and document slug, so changing the underlying file affects the validity context rather than creating a permanent backdoor to every future version.

Lifecycle Scheduling

Documents can have an Available from time, an Archive at time and an Expires at time. These fields allow a file to become available automatically or to stop normal access without an administrator having to remember the exact campaign/compliance deadline.

The lifecycle layer can represent states such as Draft, Scheduled, Live, Restricted, Archived or Expired. An hourly WordPress cron event checks scheduled documents so state transitions can be observed even when the document is not being requested continuously.

Version History

When versioning is enabled, replacing a document can retain the superseded attachment as a historical version. Version records can include a label or note, and authorised users can restore an older file or delete old versions.

Stores/sites that do not want historical copies can disable version retention and configure replacement behaviour accordingly.

Document Library Organisation

Documents are stored in a private plugin post type and can be grouped with the plugin’s hierarchical document-category taxonomy. The plugin’s own admin screens provide search and filters for document status, visibility and file type, together with batch upload and bulk actions.

Bulk operations can change visibility, assign or clear categories, archive documents, clear lifecycle schedules or move selected documents to the trash depending on the action chosen.

Frontend Shortcodes

A lightweight link can be rendered with:

[kitgenix_document_manager_link slug="my-document"]

A card can be rendered with:

[kitgenix_document_manager_document slug="my-document"]

The card shortcode can also display several comma-separated document slugs and supports presentation attributes for button labels/styles, image size, alignment, target behaviour and the visibility of file metadata/description.

Protected documents are not revealed by the shortcode to visitors who fail the document’s access rules.

Local Document Analytics

The plugin records aggregate counts for views/downloads, signed-link usage and recent daily activity in WordPress metadata. It also retains the most recent access timestamp/type for administrative reporting.

The analytics implementation does not create visitor profiles and does not intentionally store visitor IP addresses, user agents, referrers or tracking cookies. Older daily buckets are pruned while cumulative totals remain available.

File Delivery, Range Requests and Caching

Managed files are served through WordPress after access checks. The endpoint supports single byte-range requests, which can help resumable downloads and seeking in compatible browser-displayed content.

Eligible public responses can use ETag and Last-Modified revalidation. Protected responses are handled with private/no-store style cache controls so a shared intermediary is not encouraged to cache restricted content.

REST and Site Health

A plugin REST route can return permitted document metadata by slug. Permission/access checks still apply; it is not intended as an anonymous route for enumerating protected documents.

The Site Health integration checks the dedicated Document Manager uploads directory and can flag directory/writability problems that would prevent file management from working correctly.

Settings Portability

Administrators can export/import plugin configuration and document-category structure as JSON. This portability workflow deliberately does not package the document files themselves, signed-link secrets or analytics history.

Typical Uses

  • Product manuals and technical PDFs that receive frequent revisions.
  • Policy, compliance and governance documents with expiry dates.
  • Member-only or staff-only downloads.
  • Customer documents restricted by WordPress account/role.
  • Temporary secure sharing with an external recipient.
  • Download libraries organised by document category.
  • Stable links for QR codes, printed brochures and long-lived email templates.

REST API and Developer Hooks

The plugin registers this read-only metadata route:

GET /wp-json/kitgenix-document-manager/v1/doc/{slug}

For an allowed request, the response includes the document slug, title, modified date, visibility, schedule status, lifecycle state, and stable URL. The endpoint applies Document Manager access checks before returning metadata.

Available extension points include:

  • kitgenix_document_manager_user_has_document_access – provide a custom access decision after the built-in role/capability/user checks have been evaluated.
  • kitgenix_document_manager_share_link_url – filter a generated signed share URL.
  • kitgenix_document_manager_rest_document_response – customise an allowed REST metadata response.
  • kitgenix_document_manager_document_served – runs after a document file has been successfully streamed.
  • kitgenix_document_manager_lifecycle_status_changed – runs when the effective lifecycle state changes after an existing state has previously been observed.

Internal storage uses the private kitgenix_dm_doc post type and the hierarchical kitgenix_dm_cat taxonomy. These implementation details are provided for developers and should not be treated as permanent public URLs.

External Services

The plugin contains two external-service/network behaviours that can occur in wp-admin. They are not used to upload or process your document files.

WordPress.org Plugin API

The shared Kitgenix Hub can request public information about Kitgenix plugins from WordPress.org through WordPress core’s plugins_api() function. These requests are used for information shown in the Kitgenix admin interface and are cached locally with WordPress transients.

Data sent: plugin slugs required to look up public plugin-directory information. The plugin does not intentionally include document contents, document access rules, Document Manager analytics, or visitor information in these API lookups.

Service: https://wordpress.org/plugins/
Terms: https://wordpress.org/about/terms/
Privacy: https://wordpress.org/about/privacy/

Google Fonts

The Kitgenix admin interface stylesheet imports the Inter and Manrope font families from Google Fonts. When an authorised administrator opens a plugin screen that loads this stylesheet, the administrator’s browser may contact fonts.googleapis.com and fonts.gstatic.com to retrieve font CSS/files. As with ordinary web requests, Google may receive technical request information such as the requesting IP address and browser/network headers.

Google Fonts is used for admin-interface typography only; it is not required for document delivery and the plugin does not send document files to Google Fonts.

Service: https://fonts.google.com/
Google Fonts privacy information: https://developers.google.com/fonts/faq/privacy
Google Terms: https://policies.google.com/terms
Google Privacy Policy: https://policies.google.com/privacy

The plugin includes links to Kitgenix documentation, support, community/social pages, WordPress.org reviews/support, and PayPal donation pages. Those destinations are only contacted if an administrator chooses to open the relevant link; Document Manager does not automatically upload document data to Kitgenix.

Privacy

Kitgenix Document Manager stores its operational data in the site’s own WordPress database and uploads directory.

Document analytics are aggregate counters and timestamps. The plugin’s analytics implementation does not store visitor IP addresses, user agents, referrers, cookies, or a per-visitor identifier.

The local activity log stores a timestamp, event context, outcome, a plain-English note, and an optional event code. It is capped at 100 entries. The log does not intentionally store IP addresses or document file contents.

Document access configuration may contain WordPress role names, a required capability, and WordPress user IDs selected by the site administrator. Version attribution uses the WordPress attachment author’s existing account/display-name information.

Signed sharing stores a per-document secret, expiry information, maximum-use setting, and use counter in WordPress post meta. The signing secret is not included in the settings/category export.

See External Services for the network connections made by the admin interface.

Support and Development

Documentation and support resources are available from Kitgenix and from the plugin’s WordPress.org support forum.

If the plugin is useful to your site, you can also use the Donate link at the top of this readme to support continued maintenance and development.

Screenshots

Document library management with stable links, lifecycle status, visibility, file information, search, and filters.

Document library management with stable links, lifecycle status, visibility, file information, search, and filters.

Add/Edit Document controls for description, visibility, access presets, roles, capabilities, specific users, signed sharing, schedules, and versioning.

Add/Edit Document controls for description, visibility, access presets, roles, capabilities, specific users, signed sharing, schedules, and versioning.

Batch Upload for creating multiple document records with shared visibility, category, and versioning defaults.

Batch Upload for creating multiple document records with shared visibility, category, and versioning defaults.

General Settings for allowed file types, default visibility, serving mode, version behaviour, and import/export.

General Settings for allowed file types, default visibility, serving mode, version behaviour, and import/export.

Frontend settings.

Frontend settings.

Shortcode Builder for document links/cards and card presentation options.

Shortcode Builder for document links/cards and card presentation options.

Frontend document-card output with preview/icon, title, optional description, file metadata, and action button.

Frontend document-card output with preview/icon, title, optional description, file metadata, and action button.

Plugin Details

Active Installs
0
Total Downloads
441
Version
2.0.0
Requires WP
6.0
Requires PHP
8.1
Tested Up To
7.1
Added
2026-03-26
Last Updated
2026-08-31 7:30pm GMT

Ratings

5
0
4
0
3
0
2
0
1
0