Monday, June 27, 2011

Permissions Editing Simplified

EAD allows for an audience attribute to be set for any element within the schema. There are two options to select for the audience, internal and external, used to designate user permission to the content. By default, the lack of the audience attribute signifies that content of the element (and its descendants) is open to the public. Sometimes it is necessary for a finding aid to contain components for internal use, but are not intended to be seen by end users. Perhaps an entire series within an archival collection contains private materials--financial or membership records--but within this series are a few items which may be publicly highlighted.

EADitor now enables the editing of any of the attributes for components, including the setting of audiences.


The attribute popup pictured above is shown upon clicking the "@" link adjacent to the "Edit Component" heading at the top of the image. This link is also visible next to each EAD component under the Subcomponents tab. This popup window is an XBL component, and can very easily be applied to any element within the XForms application. The XBL file parses the EAD 2002 schema to look up the name of the element and extract all attributes and attribute groups associated with the element to dynamically populate the window (see code here).

Moreover, there is now a specific interface for editing component permissions, accessible from the administrative page (code):

Components with their audience attribute set to "internal" appear orange, while "external" ones appear green. Components that lack the audience attribute inherit the audience of their parent, which, in the case of top-level series, are visible by default.

The XSLT stylesheets to render finding aids into public XML and HTML documents were modified to put these permissions into practice. The stylesheets packaged with the EADitor general distribution will show only the unit title of an internal component if it contains an external descendant; otherwise, internal components are hidden entirely. These stylesheets can be modified fairly easily to show containers, unit dates, or other desired elements.


Ultimately, EADitor should accommodate the modification of the audience for any element in EAD--not just components as a whole--but such a feature is a delicate balancing act between usability and function. Setting the permissions at a more granular level should not interfere with the ease of the user interface. Implementation of more sophisticated access controls is ultimately dependent on user demand.

No comments:

Post a Comment