When references to Daisy documents occur (in the output from Publisher prepared-document request), they are often annotated with information about the access rights the user has to the referenced document. More specificially, this happens for:

  • links occurring in document content (attribute access on the p:linkInfo child)
  • the rows in a query result set (attribute access on the d:row elements)
  • the document nodes in a navigation tree (attribute access on the n:doc elements)

These annotations can be used during the styling process, for example to show a lock icon next to links to which a user has no access or only partial access.

To avoid confusion: documents to which one has no read access are automatically removed from query results and the navigation tree.

The annotation consists of an attribute named "access" which contains a comma-separated list of permissions. The permissions are:

  • read
  • fullRead
  • restrictedRead
  • liveOnly
  • write
  • delete
  • publish

For the read permission, there is always some extra information. When the access details are non-empty, "restrictedRead" will be added, otherwise "fullRead". One exception is if the access details specify that non-live content cannot be read, in which case "liveOnly" will be added too. In that case, restrictedRead will only be added if there are any other limitations beside the liveOnly.

Some examples:

- when having full access:
   access="read,fullRead,write,delete,publish"

- only able to read live version:
   access="read,liveOnly"

- no full read access:
   access="read,restrictedRead"

- no full read access and no live:
   access="read,liveOnly,restrictedRead"

The annotations are by design limited and lightweight, adding the full ACL evaluation result to each link would be a bit heavy.

In the Daisy Java API, you can get the comma-separated access information string using AclResultInfo.getCompactString().