Issue register: data source, codes and filtering

The issue register is a read-only view of download requests and their items: how watermark codes and issue IDs are formed, version tracking, request states, permissions and content scope.

The issue register has no records of its own and is read-only: it shows existing download requests and their items. Rows are created by the portal's watermarked download and share and by the admin Folders download and package issue, through the common download request path; the watermark is produced in memory at download time.

Data model

Table names carry the installation's own prefix in the database.

TableRoleMain fields
doc_downloadthe request (package)token, user_id (recipient), source (portal, admin), doc_share_id, doc_id (0 = whole folder), status, file_count, skipped_count, download_count, issued_by, doc_ids, encrypted, dates
doc_download_itemthe issued itemdownload_id, doc_id, kind (pdf, image, skip), watermark_code (unique), file_name, issued_sha256, issue_count, date_issued, doc_sha256, doc_size, doc_modified

Joined reads: document (name, extension, checksum, company), user (recipient, issuer), shared folder (name). Owner: the download part of the document model (getIssueLog(), getTotalIssueLog(), markDownloadIssued(), expireDownloads()).

Rules

  • Watermark code: 8 characters from an alphabet avoiding ambiguous characters, in the form XXXX-XXXX, with a unique index. Issue ID: DL- plus 6 digits.
  • Version: there is no version table; the original's SHA-256 at the time of issue, plus size and last change. If the document's current checksum differs, the row gets a yellow warning.
  • Request state: queued, ready, failed, expired; an expired ready package becomes expired, a request older than one day that was never collected becomes failed. Register rows are kept.
  • The password (8–128 characters) is not stored, only the encrypted flag.

List and filtering

  1. Without the right: "Warning: You do not have permission to view the issue register!"
  2. The code filter is upper-cased and keeps only letters, digits and hyphens; a value like DL-000123 filters on the package ID, anything else on the exact watermark code.
  3. Download state: 1 = downloaded (issue count above zero), 0 = prepared. Hidden filters: document and package ID from the row links.
  4. Ordering: newest item first, not changeable in the interface; page size 10, 25, 50, 100 or all.

Permissions

  • Base access: the menu path of the issue register.
  • Function rights (system class): list, debug. The same migration added the Folders issue key.
  • Content scope: the document's company must be among the allowed companies (unrestricted for the super administrator, nothing for an empty list). The recipient and folder selectors of the filter are not scope-restricted; the result list is.

Known limitations

The three-dot menu in this list is always rendered. There is no bulk action, although the selection column exists.

Related topics: issue register watermark