Scientific Annotation Middleware (SAM) v. 2.1 Features
SAM 2.1 has a variety of features, many of which require some additional effort to take advantage of. This page gives a brief overview of the functionality available. Details on how to configure and use these features are described in the SAM Administration and Development Guide....
SAM 2.1 Metadata Management Services
SAM 2.1 implements a webDAV-compliant Web Server. WebDAV is an extension of HTTP that supports reading and writing to URLs and the association of arbitrary text or XML key/value pair properties with the URL. There are a variety of mechanisms to use WebDAV to save documents and files remotely, for example:
SAM 2.1 is based on the open-source Jakarta Slide 2.1 content management system (with modifications and bug fixes). Thus it inherits Slide's feature set including:
- Ability to store content in a variety of filesystems and databases
- WebDAV ACL support and fine grained access control within the repository
- Admin configurable options for URL-mapping, initial user accounts, WebDAV defaults, etc.
- Metadata and content indexing for DAV Searching and Locating(DASL) Search
- DASL search capabilities implemented for RDBMS store
Java Messaging Service (JMS) Support:SAM publishes JMS events related to any WebDAV activity. Two configurable JMS topics are supported - one reporting changes (uploading content, changing properties) and the other reporting accesses (getting content or properties). External applications can subscribe to these JMS topics to become aware of activity in the repository and, for example, trigger creation of derived data sets or send notification email messages.
Metadata Generation SAM supports automatic invocation of registered metadata extractors during content upload to create WebDAV properties. A combination of Binary Format Description (BFD) script, web service, and XSLT scripts are used to define how properties should be generated for a given content-type (including ASCII, binary, and XML based formats).
Dynamic Translation of XML Content SAM can provide dynamically generated translations of content using registered BFD, web service, and XSLT translators. The translations available for a given resource can be discovered by retrieving the "hastranslations" property. Translated resources can be retrieved via an HTTP GET request on the URLs listed in this property.
XML Mime-type Determination SAM supports an XSLT-based mechanism for determining MIME type for files nominally tagged as "text/xml". This allows the metadata generation and translation mechanisms to distinguish between multiple file types that all use a common ".xml" extension.
XML Mapping to the Schema of Underlying Data Stores SAM extends Slide's mechanism for connecting to JDBC compliant databases with an XML-based language for defining how content in an underlying repository should be mapped to webDAV content and properties. This mechanism allows SAM to expose existing database content via webDAV.
Configurable Security SAM supports the replacement of Slide's internal username/password authentication mechanism with any Java Authentication and Authorization Service (JAAS) compliant authentication service. This mechanism is invoked as a ServletFilter to provide authentication for SAM with Tomcat or other servlet container. SAM 2.1 ships with username/password and MyProxy-based Grid Certificate authentication mechanisms. SAM's authentication mechanism also supports single sign-on with portals via cookie and one-time token authentication mechanisms.
Pedigree tracking SAM provides several mechanisms for tracking the pedigree/provenance of resources:
- A convention for encoding relationships with other resources in DAV properties
- Automatic creation of relationships during COPY operations
- Automatic creation of relationship to the original resource upon creation of a translated resource
- An RDF-based property showing the relationships involving the current resource (configurable as to which relationships are shown and to what depth). This property contains an RDF description of the translator used to create the (reified) translation relationships.
Web-based User Management Interfaces - providing the capability to create user accounts, assign users to groups, etc.
Support for anonymous users (no username/password required for public content areas (accessible by "unauthenticated" or "all")
Preview of configurable authorization mechanisms - allowing the default authorization mechanisms to be completely replaced to support integration with other systems.
Preview release of the SAM Notarization Service - Axis-based web services for providing cryptographic timestamp on data.
SAM 2.1 Notebook Services
The SAM project is investigating advanced notebook and annotation capabilities and interfaces. In version 2.1, SAM supports the existing open-source Electronic Laboratory Notebook (ELN) Client with some additional server-related features.
Full ELN functionality The ELN is a collaborative web-based electronic notebook that allows creation and viewing of a hierarchical collection of chapters, pages, and notes. By default, notes can include text, HTML, images captured from the screen, equations, forms, and uploaded files. Additional editors can be built using the ELN Editor API. ELN 5.1 adds support for the latest browsers (using the Java1.4 plugin) and allows users to switch between notebooks without closing the client. The SAM server supports all current ELN functionality (through a combination of WebDAV and notebook-specific services).
ELN User Administration The ELN 5.1 Client includes support for approving and denying access to a given notebook through the client user interface, as well as an interface for changing user passwords.
SAM ELN Enhancements The SAM-based ELN server provides several enhancements relative to the existing Perl-based server:
- Ability to configure new notebooks via a Web form
- Dynamically generated list of available notebooks
- Simplified (single sign-on) login. Users have a single account across multiple notebooks and, once logged in to the notebook server, do not have to login again to access notebook(s)
- Integration with standard SAM JMS, metadata generation, translation (for generating page views), pedigree, database, and security mechanisms.
- URL Editor that allows the ELN to reference/view content elsewhere in SAM and to reference web URLs.
- Email notification of new content based on SAM's JMS events (no cron job or sendmail program required as required with the Perl server. )
- Preview of SAM Web-based Notebook Interface A fully browser-based version of the ELN client is included in SAM 2.1 and can be enabled by uncommenting the relevant sections in sam/WEB-INF/web.xml .