Drumbeat/Attribution generator Functional Specification

< Drumbeat

Contents

OpenAttribute: Functional Specification

Authors: Laura F. Hilliger (laura@bigfunarts.com)
Creation Date:11/22/2010
Last Updated: 11/22/2010
Version: 0.1

Authors

Date
Author
Version
Revision
11/22/2010
Laura F. Hilliger
0.1
Initial Draft



Reviewers

Date
Reviewer
Comments


Approvers

Date
Approver
Comments



1.1 Project Overview


Open Attribute is a project to build attribution generators for openly licensed content. The project is to build simple tools for a range of platforms so that re-using and attributing open content is as easy as cut and paste.  For more, see the one-page project description here.

1.2 Models


Two models currently exist for this open attribution tool. Both models are limited by their own technical use cases instigating the creation of two separate code solutions. The models define no special functions for any additional user models.


2.1 Add On

The Add On is defined as a browser extension, which, when installed, allows the user to pull available RDFa data and format it into the proper attribution. When no RDFa data is available, metadata should be generated from other sources NEEDS TO BE INVESTIGATED. When neither RDFa or alternative metadata exist, the add on should pull appropriate data (alt tags, HTML) using class or id names. The method of pulling non metadata must be specific for each interface (see Ch. 3), meaning that an interface detection method will be necessary. The Add On will also allow for manual entry of attribution data when RDFa or metadata does not exist. The manual entry option should also exist when pulling non metadata, as the HTML may not be properly formatted for attribution.

The Add On's use scenario will be specifically click a button in the browser. A sidebar appears with the formatted attribution in plain text and HTML. The Add On's use case will be pulling content from the web to a personal document (see Ch. 4).


2.2 Plugin

The Plugin is defined as an external code snippet created for use with specific PHP based, open source platforms. These platforms will be: Wordpress, Drupal, Joomla, Zotero, dSpace, ccMixter. The plugin will be created and tested using Wordpress. Iterations of the plugin for the other listed platforms will be forthcoming after successful Wordpress trials. The plugin will also allow for manual entry of attribution data when RDFa or metadata does not exist. The manual entry option should also exist when pulling non metadata, as the HTML may not be properly formatted for attribution.

The Plugin's use scenario will be specifically click a button that appears on the content landing page or the download page. A pop-up (e.g., using ajax or javascript) offers plain text and HTML options for copying and pasting the attribution. The Plugin's use case will be pulling content from the web to the web (see Ch. 4).


3. Use Cases


3.1 Image to Personal Document


3.1.1 Copying Images

The user finds an image that he/she would like to use in a personal document. The user copies the image to the clipboard. The attribution information is copied with the image. Upon pasting the image, attribution information is printed below the image with the same width as the image and using left alignment.

3.1.2 Downloading Images

The user finds an image that he/she would like to use in a personal document. The user downloads the image. The attribution information is stored in the image file as metadata. (this works for sure with JPG, investigate GIF, PNG file formats)


3.2 Text to Personal Document

The user finds a piece of text that he/she would like to use in a personal document. The user copies the text and upon paste the text is formatted into quotation style with attribution information appearing in italics two points smaller and aligned right of the quotation.


3.3 Video to Personal Document


3.3.1 Copying Video

The user finds a video that he/she would like to use in a personal document. The user tries to copy the video to the clipboard. The attribution information is copied with the video location information. Upon pasting, attribution and a link will be printed to the document.


3.3.2 Downloading Video

The user finds a video that he/she would like to use in a personal document. The user downloads the video. The attribution information is stored in the video file as metadata.


3.4 Manual Entry to Web (Add On)


The user clicks the button to begin the attribution process, when no RDFa, metadata or suitable HTML is found, the Add On opens a form. The form includes entry for the title of the work being attributed, attribution name (e.g., author, company, username), source URL for the attributed work, CC license name, CC license URL, existing copyright notices. Optional attribution elements are the URL for the author site and contact information for additional permissions.


3.5 Image to Web


The user finds an image that he/she would like to use on the web. The user copies the image to the clipboard. The attribution information is copied with the image. Upon pasting the image, attribution information is printed below the image with the same width as the image and using left alignment. Additionally, the image itself is linked to the original source.


3.6 Text to Web


The user finds a piece of text that he/she would like to use on the web. The user copies the text and upon paste the text is formatted into quotation style with attribution information appearing in italics two points smaller and aligned right of the quotation.


3.7 Video to Web


The user finds a video that he/she would like to use on the web. The user tries to copy the video to the clipboard. The attribution information is copied with the video location information. Upon pasting, attribution and a link will be printed to the webpage.


3.8 Manual Entry to Web (Plugin)


The user clicks the button to begin the attribution process, when no RDFa, metadata or suitable HTML is found, the plugin opens a form in the popup window. The form includes entry for the title of the work being attributed, attribution name (e.g., author, company, username), source URL for the attributed work, CC license name, CC license URL, existing copyright notices. Optional attribution elements are the URL for the author site and contact information for additional permissions.


4. Interfaces


RESEARCH NEEDED: This section needs to contain the information for how these sites store their metadata
Wikimedia
The Wikimedia Commons offers an API for pulling an XML of the metadata included in a document. This API must be implemented and queried to pull the attribution information. http://toolserver.org/~magnus/commonsapi_test.php
Flickr
Manual Entry


5. Output


Add on
The attribution will be created based on the type of content is being pulled. If the content is an image, attribution information is printed below the image with the same width as the image and using left alignment. In this instance, the attribution information should also be embedded in the image metadata. Text should be formatted as a quote with 3px spacing on all sides with attribution information on the new line (e.g.<br/>), 2px smaller and in italics. Text output can use a standard web font at 12 pixels, making the attribution information 10px. Videos will be attributed with the attribution information followed by a <br/> tag and subsequently, the link information. When a video is downloaded, attribution information will be embedded in the file.

Plugin
The attribution will be created based on the type of content is being pulled. If the content is an image, attribution information is printed below the image with the same width as the image and using left alignment. In this instance, the image will also link back to the original source. Text should be formatted as a quote with 3px spacing on all sides with attribution information on the new line (e.g.<br/>), 2px smaller and in italics. Text output can use a standard web font at 12 pixels, making the attribution information 10px. Videos will be linked or embedded with the attribution information on the next line.


6. Existing Technologies

The information involved in a citation comes from a database. Hence, if there is no information in the database, you must use manual entry. Citation Machine just simply gets the format, plugs in the information, and then displays it for you to copy and paste. Citation Machine uses ISBN numbers to query their database, the authors have not, as of yet, found an ISBN number which exists in the Citation Machine database.

This site also uses a database. However, they explicitly offer the usage of their current database, which means they might also offer knowledge on how they've created the attibution information on individual resources.

Queries for, but does not seem to find, CC relevant metadata.

Uses a simple JS prompt for its own attribution information (was there a tool here? I didn't find it)

The Wikimedia Commons offers an API for pulling an XML of the metadata included in a document. This API must be implemented and queried to pull the attribution information.


7. Technical Considerations


This functional spec assumes that RDFa and metadata will be accessible. The persons responsible for the implementation of this functional spec will need to determine which interfaces allow the usage of stored RDFa or metadata and how the API must be implemented to pull the data. For purposes of the functional specification, the authors have assumed all interfaces have open metadata. 7.1 Security
This section needs to detail whether or not the attribution can be deleted. If the add on or plugin pulls the metadata and prints it with text or HTML, the user has the ability to delete the data. Does it matter?


7.2 Meta Repository


Where and how will we store manual entry metadata?


8. Recommended Approaches

9. Open Issues