Documents

[TOC] This section covers comprehensive document management in the Edocman administrator interface.

Documents List

Navigate to Edocman → Documents to access the documents management area.

The documents list displays:

  • Document Information: Title, category, uploader, published status
  • Statistics: Hits count and downloads count
  • Sorting: Drag & drop ordering (visual arrangement)
  • Quick Actions: Inline edit, publish/unpublish toggles
  • Direct Download: Download documents for verification

Document Health Badges

When the Document Health feature is enabled in component configuration, each document in the list displays a health status badge based on its expiry date and update history.

Document Health Statuses (in priority order):

  • Expired: Document's Finish Publishing date (publish_down) has passed. The document visibility has expired. This does NOT mean download is expired.
  • Expiring Soon: Document will expire within the configured warning period (e.g., 30 days before the Finish Publishing date).
  • Stale: Document has not been modified for longer than the stale threshold (e.g., 365 days). Indicates the document may need review or updating.
  • No Expiry: Document has no Finish Publishing date set. Visibility does not expire (evergreen document).
  • Healthy: Document has a Finish Publishing date, is not expired, not expiring soon, and not stale. The document is in good health.

Badge Priority: If a document meets multiple conditions, the highest priority status is displayed (e.g., a document that is both Expired and Stale shows "Expired").

Admin Actions:

  • Use Document Health badges to quickly identify documents that need attention.
  • Click on a badge to filter the list by that health status.
  • Review expired or expiring soon documents and update Finish Publishing dates as needed.
  • Review stale documents and update content to keep documentation current.

Download Availability Badges

When the Download Availability feature is enabled in component configuration, each document displays a download availability status badge based on the Download Available Until field.

Download Availability Statuses:

  • Download Expired: Document's Download Available Until date has passed. File download is no longer allowed, but the document page may still be visible.
  • Download Expiring Soon: Download will expire within the configured warning period (e.g., 30 days before the Download Available Until date).
  • Download Available: Document has a Download Available Until date set, and it has not expired or entered the warning period.
  • No Download Expiry: Document has no Download Available Until date set. Download does not expire (always downloadable if published and ACL allows).

Important Distinction:

  • Document Health (based on publish_down) controls when the document page becomes hidden from the frontend.
  • Download Availability (based on download_available_until) controls when the file can be downloaded.
  • These are independent: a document can be visible but download-expired, or hidden but download still technically available (if direct link is used).

Admin Actions:

  • Use Download Availability badges to manage file download lifecycle independently of document visibility.
  • Extend download availability dates for documents that users still need to access.
  • Set download expiry for time-sensitive documents (e.g., promotional materials, temporary reports).

Search and Filters

  • Search by document title
  • Filter by category
  • Filter by status (published/unpublished)
  • Filter by language (when multilingual is active)
  • Filter by Document Health (when enabled): Expired, Expiring Soon, Stale, No Expiry, Healthy
  • Filter by Download Availability (when enabled): Download Expired, Download Expiring Soon, Download Available, No Download Expiry
  • Sort by: ordering, title, category, uploader, status, hits, downloads

Using Health and Availability Filters

Filter by Document Health: Use this filter to quickly find documents that need administrative attention:

  • Expired: Find documents that should be unpublished, archived, or have their expiry dates extended.
  • Expiring Soon: Proactively review documents before they expire to decide whether to extend, update, or let them expire.
  • Stale: Identify documents not updated recently that may contain outdated information.
  • No Expiry: Review evergreen documents to ensure they actually should be evergreen, or set expiry dates if needed.
  • Healthy: View documents that are well-maintained and within their lifecycle.

Filter by Download Availability: Use this filter to manage download access separately from document visibility:

  • Download Expired: Find documents whose downloads have expired. Decide whether to extend download availability or leave it expired.
  • Download Expiring Soon: Proactively manage download expiry. Extend dates if downloads should continue, or let them expire if time-limited.
  • Download Available: View documents with active download expiry dates that are still within the valid period.
  • No Download Expiry: Find documents with unlimited download availability. Useful for identifying documents that should have time-limited downloads.

Workflow Example:

  1. Enable Document Health and Download Availability in component configuration.
  2. Periodically filter by "Expiring Soon" and "Download Expiring Soon" to review documents before they expire.
  3. Update Finish Publishing dates or Download Available Until dates to extend availability as needed.
  4. Filter by "Stale" monthly or quarterly to review documents that haven't been updated recently.
  5. Use automatic actions (Document Health plugin) to automatically unpublish or archive expired documents if desired.

Toolbar Buttons

  • New: Add new document
  • Edit: Edit selected document(s)
  • Duplicate: Create copy of document with new filename
  • Delete: Remove document(s) with optional file removal
  • Publish: Make document(s) visible on frontend
  • Unpublish: Hide document(s) from frontend
  • Check-in: Unlock locked document(s)
  • Move: Assign new main category for document(s)
  • Move Additional Category: Assign additional categories
  • Batch: Bulk change access level or language for multiple documents

PDF Indexing: If the Edocman PDF Indexer plugin is enabled, you'll see indexing status icons. You can index PDF/DOC/DOCX content for full-text search.

Drag & Drop Ordering: Change document ordering by dragging rows in the list view.

Document Editor

Click New or edit an existing document to access the comprehensive document editor.

General Tab

Basic Information

PropertyDescription
Title Document name displayed to users (required)
Alias URL-safe version of title used in SEF URLs. Leave empty to auto-generate from title.
Version Document version number (e.g., 1.0, 2.5). Can auto-increment on file update if configured.

File Management

PropertyDescription
File Upload file directly or choose from server (based on File Upload Method configuration). Supports all configured file types.
File URL Alternative: Specify external URL instead of uploading file. Use for documents hosted elsewhere or cloud storage links.
Document View Link Custom view URL. When user clicks "View" button, this link opens instead of document viewer.
Thumbnail Upload custom thumbnail image. If empty and PDF Thumbnail Generator plugin is active, thumbnails auto-generate for PDFs.

Organization

PropertyDescription
Category Required. Primary category for document. Document inherits permissions from this category (if Access Level Inheritance is enabled).
Additional Categories Assign document to multiple categories. Document appears in all selected categories.
License Assign document license (e.g., Creative Commons, proprietary). Users may need to accept license before download if configured.
Tags Name Comma-separated tags for document organization and tag cloud navigation (e.g., "manual, tutorial, guide").

Content

PropertyDescription
Short Description Brief summary displayed in document listings. Word count can be truncated in configuration.
Description Full document description with HTML editor support. Displayed on document details page. Supports Joomla content plugins if enabled.
Document History Free-text field to track document change history and version notes.

Access Control

PropertyDescription
Access Level Joomla access level (Public, Registered, Special, etc.). Controls who can view/download document.
User IDs Comma-separated user IDs for whitelist. Only specified users can access document (overrides access level).
Owner Group IDs Select user groups as document owners. Only users in these groups can access document (when Activate Owner Groups is enabled).

Note: When Inheritance Category Owners configuration is enabled, owner fields inherit from category automatically.

Publishing

PropertyDescription
Status Published (visible on frontend) or Unpublished (hidden from frontend users)
Language Document language (All, English, French, etc.). Used when multilingual feature is active.
Start Publishing Optional date/time to automatically publish document
Finish Publishing Optional date/time to automatically unpublish document. Controls document visibility expiry. When this date passes, the document page becomes hidden from frontend. Used by Document Health feature to calculate expiry status. Does NOT control download availability (see Download Available Until below).
Download Available Until Optional date/time when file downloads expire. Controls download capability, separate from document visibility. When this date passes, the download button is hidden/disabled according to configuration, but the document page may still be visible if Finish Publishing date has not passed. Leave empty for unlimited download availability. Used by Download Availability feature. Important: This field does NOT affect document visibility—only download capability.
Understanding Finish Publishing vs. Download Available Until

These two fields control different aspects of document lifecycle:

Field Database Column Purpose When Empty Used By Feature
Finish Publishing publish_down Controls when document visibility expires (when document page becomes hidden from frontend) No visibility expiry (evergreen document) Document Health
Download Available Until download_available_until Controls when file download expires (when download button is disabled/hidden) No download expiry (always downloadable if published and ACL allows) Download Availability

Example Scenarios:

  1. Document visible but download expired

    • Finish Publishing: 2027-12-31
    • Download Available Until: 2026-09-30
    • Result: Document page remains visible until end of 2027, but users cannot download the file starting October 1, 2026. Useful for informational documents that should remain visible for reference but downloads are time-limited.
  2. Document expired but download still technically available

    • Finish Publishing: 2026-06-30
    • Download Available Until: 2027-12-31
    • Result: Document page becomes hidden from frontend on July 1, 2026. If an admin republishes the document or a user has a direct link, the file would still be downloadable until end of 2027. Useful for transitioning documents to restricted access.
  3. Both set to same date (simple expiry)

    • Finish Publishing: 2026-12-31
    • Download Available Until: 2026-12-31
    • Result: Both document visibility and download capability expire on the same date. Simple lifecycle management for documents with a definite end date.
  4. No expiry on either (evergreen document)

    • Finish Publishing: (empty)
    • Download Available Until: (empty)
    • Result: Document remains visible and downloadable indefinitely (subject to Published status and ACL). Suitable for policy documents, manuals, and other permanent content.
  5. Only download has expiry (temporary download access)

    • Finish Publishing: (empty)
    • Download Available Until: 2026-06-30
    • Result: Document page is always visible, but downloads expire on June 30, 2026. After that, users can read the description and information but cannot download the file. Useful for promotional materials or time-limited offers where you want the document to remain as a reference.

Best Practices:

  • Use Finish Publishing when the entire document (page + download) should no longer be accessible after a certain date.
  • Use Download Available Until when the document information/description should remain visible but file downloads should be time-limited.
  • For documents requiring periodic review, set Finish Publishing and use Document Health filters to identify documents needing attention.
  • For promotional/time-sensitive materials, set Download Available Until and use Download Availability filters to manage download access.
  • Leave both fields empty for evergreen content that should always be available.
  • Combine both fields for complex lifecycle management (e.g., document visible for 2 years, downloadable for 1 year).

Automatic Actions:

  • Document Health Plugin: Can automatically unpublish or archive documents when Finish Publishing date passes (if configured).
  • Download Availability: Automatically hides/disables download button when Download Available Until date passes. No automatic publishing status changes occur.
  • ACL: Access Level restrictions still apply regardless of expiry dates. Users without permission cannot access or download even if dates are valid.

Indicators & Features

PropertyDescription
Indicators Hot: Mark as popular/trending (or auto-set based on download threshold). Featured: Highlight in featured document modules/lists.
Locked Lock document to prevent editing by other users on frontend. Useful for multi-administrator environments.
Disable Download Prevent downloads when count exceeds specified number (download quota enforcement)

Statistics (Read-Only)

PropertyDescription
Hits Number of times document details page was viewed
Downloads Number of times document was downloaded
Created by / Date Original uploader and upload date
Modified by / Date Last modifier and modification date

Permissions Tab

Configure granular ACL permissions at document level. These override category-level permissions.

Available Permissions:

  • Edit: Who can modify this document
  • Edit State: Who can publish/unpublish this document
  • Edit Own: Who can edit their own uploaded documents
  • Delete: Who can delete this document
  • Download: Who can download this document (EDocman-specific)

Permission Inheritance: By default, documents inherit permissions from their main category. Override by setting permissions per user group.

Example: Restrict document to Registered users only:

  1. Click on Registered group → Set Download permission to Allowed
  2. Click on Public group → Set Download permission to Denied
  3. Save document

Publishing Tab

Detailed publishing metadata and scheduling options (see Publishing table above for field descriptions).

Metadata Tab

PropertyDescription
Meta Description SEO meta description for search engines (160 characters recommended)
Meta Keywords SEO keywords (comma-separated). Used by search engines and internal search.

Indexed Content Tab

PDF/DOC Indexing: When Edocman PDF Indexer plugin is enabled, this tab displays extracted text content from PDF, DOC, and DOCX files. Indexed content enables full-text search within document contents.

Document Operations

Duplicate Documents

Create a copy of existing document:

  1. Select document in list
  2. Click Duplicate toolbar button
  3. New document created with suffix in filename
  4. Edit title and properties as needed

Move Documents Between Categories

Individual Document: Edit document → Change Category field → Save

Bulk Move:

  1. Select multiple documents
  2. Click Move toolbar button
  3. Select new main category
  4. Click Process

Batch Operations

Change access level or language for multiple documents:

  1. Select documents (checkboxes)
  2. Click Batch toolbar button
  3. Choose operation:
    • Set Access Level: Change access level
    • Set Language: Change language
  4. Select new value
  5. Click Process

Lock/Unlock Documents

Lock Document: Edit document → Set Locked to Yes → Save

Unlock Documents (Admin): Select locked documents → Click Check-in toolbar button

Delete Documents

  1. Select document(s)
  2. Click Delete toolbar button
  3. Configure option Delete File when document deleted determines if physical file is removed

Document Extra Fields (Advanced)

Add custom fields to document editor by editing XML configuration:

File Location: administrator/components/com_edocman/model/forms/document.xml

Example: Add "Speaker" and "Number Hours" fields:

<fields name="params">
    <fieldset name="basic">
        <field name="field_speaker" type="text" label="Speaker" size="50" description=""></field>
        <field name="field_hours" type="text" label="Number Hours" size="50" description=""></field>
    </fieldset>
</fields>

Add this before the closing </form> tag. Custom fields appear in document editor under "Parameters" section.

Warning: Editing XML files requires technical knowledge. Back up file before making changes. Invalid XML will break the document editor.

Best Practices

  1. Always Set Main Category: Required field that determines default permissions
  2. Use Tags Consistently: Establish tag naming conventions for better organization
  3. Add Descriptions: Help users find and understand documents
  4. Set Appropriate Permissions: Review who should access sensitive documents
  5. Enable PDF Indexing: Allows users to search within document content
  6. Use Thumbnails: Visual previews improve user experience
  7. Schedule Publishing: Use publish up/down dates for time-sensitive content
  8. Lock Important Documents: Prevent accidental edits on critical documents
  9. Monitor Statistics: Review hits and downloads to identify popular content
  10. Set SEO Metadata: Improve search engine visibility

Updated: January 2026


<?xml version="1.0" encoding="utf-8"?>
    <!-- $Id: category.xml 21329 2011-05-11 04:15:59Z eddieajau $ -->
<form>
    <field
        name="id"
        type="text"
        default="0"
        label="JGLOBAL_FIELD_ID_LABEL"
        description ="JGLOBAL_FIELD_ID_DESC"
        class="readonly"
        readonly="true"/>    

    <field
        name="category_id"
        type="edocmancategory"
        label="EDOCMAN_CATEGORY"
        description="EDOCMAN_CATEGORY_OF_DOCUMENT"
        class="inputbox chosen"
        required="true"
        action="true"
        />

    <field
        name="extra_category_ids"
        type="edocmancategory"
        label="EDOCMAN_EXTRA_CATEGORY"
        description="EDOCMAN_EXTRA_CATEGORY_DESC"
        class="inputbox chosen"
        required="false"
        multiple="true"
        action="true"
    />

    <field
        name="title"
        type="text"
        label="JGLOBAL_TITLE"
        description="JFIELD_TITLE_DESC"
        class="inputbox"
        size="40"
        required="true"/>

    <field
        name="alias"
        type="text"
        label="JFIELD_ALIAS_LABEL"
        description="JFIELD_ALIAS_DESC"
        class="inputbox"
        size="40"/>

    <field
        name="document_version"
        type="text"
        label="EDOCMAN_VERSION"
        description="EDOCMAN_VERSION_DESC"
        class="input-small"
        size="20"
        required="false"/>

    <field
        name="filename"
        type="file"
        label="EDOCMAN_FILE"
        description="EDOCMAN_FILE_DESC"
        class="inputbox"
        hide_none="true"
        hide_default="true"
        size="60"/>

    <field
        name="document_url"
        type="url"
        label="EDOCMAN_FILE_URL"
        description="EDOCMAN_FILE_URL_DESC"
        class="inputbox"
        size="60"
        />   

    <field name="select_filename"
     type="edocmanfilelist" 
     default=""     
     label="EDOCMAN_CHOOSE_A_FILE" 
     description="EDOCMAN_CHOOSE_A_FILE_DESC"    
     filter="" 
     exclude="" 
     stripext=""
     hide_default="true"

     />

     <field
        name="view_url"
        type="url"
        label="EDOCMAN_VIEW_URL"
        description="EDOCMAN_VIEW_URL_DESC"
        class="inputbox"
        size="60"
        />   

    <field
        name="image"
        type="file"
        label="EDOCMAN_THUMBNAIL"
        description="EDOCMAN_THUMBNAIL_DESC"
        class="inputbox"
        size="50"
        accept="image/*"
        />   

    <field
        name="access"
        type="accesslevel"
        label="JFIELD_ACCESS_LABEL"
        description="JFIELD_ACCESS_DESC"
        class="inputbox"/>   

    <field
        name="user_ids"
        type="text"
        label="EDOCMAN_USER_IDS"
        description="EDOCMAN_USER_IDS_DOCUMENT_DESC"
        class="inputbox"
        size="32"/>

    <field
        name="license_id"
        type="edocmanlicense"
        label="EDOCMAN_LICENSE"
        description="EDOCMAN_LICENSE_DESC"
        class="inputbox"/>   

    <field
        name="published"
        type="list"
        class="inputbox"
        default="1"
        size="1"
        label="JSTATUS"
        description="JFIELD_PUBLISHED_DESC">
        <option
            value="1">
            JPUBLISHED</option>
        <option
            value="0">
            JUNPUBLISHED</option>     
    </field>

    <field
            name="language"
            type="contentlanguage"
            label="JFIELD_LANGUAGE_LABEL"
            description="EDOCMAN_FIELD_LANGUAGE_DESC"
            class="inputbox">
            <option value="*">JALL</option>
        </field>

    <field
        name="indicators"
        type="list"     
        label="EDOCMAN_INDICATORS"
        description="EDOCMAN_INDICATORS_DESC"       
        required="false"
        multiple="true"
        size="2">
        <option
            value="hot">
            EDOCMAN_HOT</option>
        <option
            value="featured">
            EDOCMAN_FEATURED</option>     
    </field>

    <field
        name="tags"
        type="text"
        label="EDOCMAN_TAGS"
        description="EDOCMAN_TAGS_DESC"
        class="input-xxlarge"
        size="60"/>

    <field
        name="short_description"
        type="editor"
        label="EDOCMAN_SHORT_DESCRIPTION"
        description="EDOCMAN_SHORT_DESCRIPTION_DESC"
        class="inputbox"
        filter="JComponentHelper::filterText"
        width="100%"
        height="150"        
        buttons="true"
        hide="readmore,pagebreak,module"/>   

    <field
        name="description"
        type="editor"
        label="JGLOBAL_DESCRIPTION"
        description="EDOCMAN_DESCRIPTION_DESC"
        class="inputbox"
        width="100%"
        height="150"
        filter="JComponentHelper::filterText"
        buttons="true"
        hide="readmore,pagebreak,module"/>

    <field
        name="document_history"
        type="editor"
        label="EDOCMAN_DOCUMENT_HISTORY_LABEL"
        description="EDOCMAN_DOCUMENT_HISTORY_DESC"
        class="inputbox"
        width="100%"
        height="150"
        filter="JComponentHelper::filterText"
        buttons="true"
        hide="readmore,pagebreak,module,article"
        />

    <field
        name="buttonspacer"
        label="JGLOBAL_ACTION_PERMISSIONS_LABEL"
        description="JGLOBAL_ACTION_PERMISSIONS_DESCRIPTION"
        type="spacer" />

    <field
        name="asset_id"
        type="hidden"
        filter="unset"/>

    <field
        name="checked_out"
        type="hidden"
        filter="unset"/>

    <field
        name="checked_out_time"
        type="hidden"
        filter="unset"/>

    <field
        name="metadesc"
        type="textarea"
        label="JFIELD_META_DESCRIPTION_LABEL"
        description="JFIELD_META_DESCRIPTION_DESC"
        rows="3"
        cols="40"/>

    <field
        name="metakey"
        type="textarea"
        label="JFIELD_META_KEYWORDS_LABEL"
        description="JFIELD_META_KEYWORDS_DESC"
        rows="3"
        cols="40"/>

    <field
        name="created_user_id"
        type="user"
        label="JGLOBAL_FIELD_CREATED_BY_LABEL"
        desc="JGLOBAL_FIELD_CREATED_BY_DESC"
        />

    <field name="created_time" type="calendar" label="JGLOBAL_CREATED_DATE"
            class="inputbox" size="22"
            format="%Y-%m-%d %H:%M:%S" filter="user_utc" />  

    <field
        name="modified_user_id"
        type="user"
        label="JGLOBAL_FIELD_MODIFIED_BY_LABEL"
        class="readonly"
        readonly="true"
        filter="unset"/>

    <field name="modified_time" type="calendar" label="JGLOBAL_FIELD_MODIFIED_LABEL"
            class="inputbox" size="22"
            format="%Y-%m-%d %H:%M:%S" filter="user_utc" />

    <field name="publish_up" type="calendar"
           label="JGLOBAL_FIELD_PUBLISH_UP_LABEL" description="JGLOBAL_FIELD_PUBLISH_UP_DESC"
           format="%Y-%m-%d %H:%M:%S" size="22"
           filter="user_utc" />

    <field name="publish_down" type="calendar"
           label="JGLOBAL_FIELD_PUBLISH_DOWN_LABEL" description="JGLOBAL_FIELD_PUBLISH_DOWN_DESC"
           format="%Y-%m-%d %H:%M:%S" size="22"
           filter="user_utc" />

    <field
        name="hits"
        type="text"
        label="EDOCMAN_HITS"
        description="EDOCMAN_HITS_DESC"
        class="inputbox"
        size="10"/>  

    <field
        name="downloads"
        type="text"
        label="EDOCMAN_DOWNLOADS"
        description="EDOCMAN_DOWNLOADS_DESC"
        class="inputbox"
        size="10"/>  

    <field
        id="rules"
        name="rules"
        type="rules"
        label="JFIELD_RULES_LABEL"
        translate_label="false"
        filter="rules"
        validate="rules"
        class="inputbox"
        component="com_edocman"
        section="document"/>

    <field
        name="is_locked"
        type="list"
        class="inputbox"
        default="0"
        size="1"
        label="Lock status"
        description="Lock status of Document">
        <option
            value="0">
            EDOCMAN_UNLOCKED</option>
        <option
            value="1">
            EDOCMAN_LOCKED</option>
    </field>

    <fields name="params">
        <fieldset name="basic">
            <field name="field_speaker" type="text" label="Speaker" size="50" description=""></field>           
            <field name="field_hours" type="text" label="Number Hours" size="50" description=""></field>    
        </fieldset>           
    </fields>
</form>

Media player

Media player is added into Edocman from version 1.9.0, it a feature of Edocman for playing multimedia files like videos, movies and music. Media players commonly display standard media control icons known from physical devices such as tape recorders, such as play, pause and stop buttons. Edocman supports some Media files:

  • Mp4 - is a digital multimedia container format most commonly used to store video and audio, but it can also be used to store other data such as subtitles and still images.
  • MP3 - is a standard technology and format for compressing a sound sequence into a very small file while preserving the original level of sound quality when it is played.
  • FLV - is a file format used by Adobe Flash Player and Adobe AIR to store and deliver synchronized audio and video streams over the Internet.
  • OGG Audio - is a free, open container format created under unrestricted software patents by the Xiph.Org Foundation. It allows users to stream and alter high quality digital multimedia files.
  • OGV Video - is a free lossy video compression format which is developed by Xiph.org. It is principally linked with OGG Vorbis. OGG is a standardized and open bitstream container format which is designed specifically for manipulation and streaming.

If the document is one of 5 above file types, user will able to view the document (media file) through Media Player.

Access level

You can setup Access level to categories through 2 ways:

  1. Select specific Joomla Access level. There are four access levels that are included in Joomla by default: Guest, Public, Registered and Special. You can read this documentation to get more knowledge about Joomla access level: https://www.cloudaccess.net/joomla-knowledgebase/101-joomla-3-1/user-manager/526-access-levels-joomla-3-0.html
  2. Select specific Joomla user groups, thus, only users in selected groups are able to access to Category at front-end side. More details about Joomla User groups: https://docs.joomla.org/Help38:Users_Groups