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.
| Table | Role | Main fields |
|---|---|---|
doc_download | the 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_item | the issued item | download_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
encryptedflag.
List and filtering
- Without the right: "Warning: You do not have permission to view the issue register!"
- 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.
- Download state: 1 = downloaded (issue count above zero), 0 = prepared. Hidden filters: document and package ID from the row links.
- 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 Foldersissuekey. - 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.