4.0 Application Connections

 

Author: Tom Snyder. Created: 8/11/2007.

 

Quick Start

Open source tools and code.

Follow these steps to create your Application Description File:

  1. Download the sample Application Description File and enter your values.
  2. Determine your application's Canonical URL. We recommend it be simply http://www.yourapp.com
  3. Place your Application Description File at http://www.yourapp.com/opensamadf.rdf

 

 

Introduction

Application Connections enable any administrator or user to easily connect any two applications. Even two applications that have never been connected before.

 

Because OpenSAM is open, and not controlled by any single entity, there is no central database of applications. Search engines can build very detailed, structured directories of applications, but this serves only as a convenience to users and is not required for functioning.

 

Just as often, applications will spread through 'viral' promotion - users emailing one another or posting on blogs. To maximize 'viral' promotion, the domain name is the only thing you need to connect a new application.

Application Description File

Every application will describe itself in an OpenSAM Application Description File. Applications that wish to connect to one another will read each other's Application Description File to discover all the details needed to connect. The Application Description File also contains branding, logos for use in mixed application UIs, and non-technical information for users to help them decide between the many applications available.

 

Application Description Files are in RDF format and can describe more than one application.

 

Application Description Files are updated as an application evolves, so applications must periodically refresh information they've cached about applications they connect to. We recommend your refresh every 24 hours and immediately when an error is encountered that might indicate stale information is being used.

 

Strictly speaking, the Application Description File is not mandatory for an OpenSAM Launch Link or custom crafted mashup to work. It is required for non-technical users to connect applications and it does provide the mechanisms for better UI in aggregate applications.

Application Description File Name and Location

OpenSAM Application Description Files are always named opensamadf.rdf. Similar to the famous favicon.ico image file, it is stored at the root of a domain name:

http://bestapplicationever.com/opensamadf.rdf

 

This distinguished location allows applications to connect after entering just the domain name of the new application. Notice the lack of a hostname (typically www.). For best results, Application Description Files should be found whether a www. hostname is entered or not.

 

You can also store opensamadf.rdf in other locations. This would be useful if your domain name serves many applications or is a general purpose platform hosting many sites. In this case a user wishing to add your application would have to have a complete URL rather than just the domain name.

 

For example, you could store an Application Description File at:

http://host-everyone.com/bigcompany1/opensamadf.rdf

 

in this case a user would have to enter host-everyone.com/bigcompany1 into their home application to connect it. All applications must automatically supply the opensamadf.rdf filename portion, if needed, when fetching Application Description Files.

 

(Note: the fact the file name is all lowercase is often significant).

 

File Format

The Application Description File contains mandatory and optional values. No specific defaults are defined so if you omit an optional value, other applications are allowed to choose their own defaults. Values that are intentionally misleading or patently wrong are disallowed and may result in your application being blocked.

 

Each application has a "canonical" URI which all other attributes about the application can refer to to uniquely identify the application. Ideally this URI would offer the following, though none are required of it:

 

 

The following sample RDF file illustrates the Application Description File format and what it contains. 

Download this cleaner sample Application Description File to begin creating your Application Description File.

 

 

<!-- OpenSAM Application Description File

     The information in this file enables any OpenSAM Web 2.0 application to launch and

     interact with any other. This RDF will evolve as more apps are added to OpenSAM.

     History: created, 8/12/07. updated, 11/1/2007.

-->

 

<?xml version="1.0"?>
<rdf:RDF

 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

 xmlns:dc="http://purl.org/dc/elements/1.1/"

 xmlns:image="http://jibbering.com/vocabs/image/#"

 xmlns:appdf="http://opensam.org/2007/01-application-description-file-vocab">


<rdf:Description rdf:about="FILL IN YOUR APPLICATIONS CANONICAL URL HERE (max 2K characters)">

 

<dc:title>FILL IN APPLICATION NAME (max 2K characters)</dc:title>

<dc:description>

FILL IN APPLICATION DESCRIPTION (10-50 words) (max 2K characters)

</dc:description>

<dc:author>FILL IN COMPANY OR ORG THAT CREATED/OWNS THE APPLICATION (max 2K characters)</dc:author>

<dc:publisher>FILL IN COMPANY OR ORG THAT IS HOSTING THIS APPLICATION (max 2K characters)</dc:publisher>

 

<!-- Classify what type of application this is. This RDF can describe applications

     other then Web20 or OpenSAM applications. All OpenSAM applications are also

     Web20 applications, so we include both.

     Having no values listed indicates the application is NOT any of the known types.

     Listing a value of * indicates the application is (or strives to be) of ALL known types

     and all OpenSAM interactions should be attempted. This is useful during development

     or issue diagnoses.

-->

<appdf:applicationType>

<rdf:Bag>

<rdf:li>Web20</rdf:li>

<rdf:li>OpenSAM</rdf:li>

</rdf:Bag>

</appdf:applicationType>

 

<!-- More specifically, what OpenSAM capabilities does this app have?

     Any of:

launch

can launch OpenSAM applications using the CGI Parameters

belaunched

can be launched by OpenSAM applications

storage

can store documents and serve them via WebDAV

emailsend

can send email for a user. This means arbitrary user generated messages,

not just system maintenance or acct admin related messages.

emailreceive

can receive email for a user

emailacceptcontent

can aquire new content via an email send

addressbook 

can store user's addressbook and serve it up via LDAP. 

 -->

<appdf:openSAMType>

<rdf:Bag>

<rdf:li>belaunched</rdf:li>

<rdf:li>storage</rdf:li>

</rdf:Bag>

</appdf:openSAMType>

 

<!-- Web pages about the application -->

<appdf:pages>

<appdf:homePage rdf:resource="FILL IN URI of this page"/>

<appdf:helpPage rdf:resource="FILL IN URI of this page"/>

<appdf:signupPage rdf:resource="FILL IN URI of this page"/>

<appdf:eulaPage rdf:resource="FILL IN URI of this page"/>

</appdf:pages>

 

<!-- A few details about purchasing the application -->

<appdf:purchaseDetails>

<appdf:freeTrialDays>FILL IN , example: 30</appdf:freeTrialDays>

<appdf:price>FILL IN, example: US$8.00/user/month</appdf:price>

<appdf:hosting>FILL IN, example: any</appdf:hosting>

<appdf:stack>FILL IN, example: LAMP</appdf:stack>

<appdf:purchaseDetails>

 

<!-- Cross-site branding information. This is used to present your application

     within the menus, dialog boxes, and control panels of another application.

      nameLabel- is used as a label for items related to your application. No more

                 than 20 characters, please.

      nameTagline - 2-6 words to describe your app. This is often the phrase put

        under your logo.

      logos - these are versions of your logo in different sizes. They should be

              .png files and have the margins around your logo as transparent so

              they can be cleanly alpha-blended to another app's dlg box background

              without fringe or artifacts showing up.

              The recommended sizes of the maximum dimension (x or y) for logos are:

                16, 24, 32, 48, 64, 80, 96, and 112.

-->

<appdf:branding>

<appdf:nameLabel>FILL IN VERY BRIEF NAME</appdf:nameLabel>

<appdf:nameTagline>FILL IN YOUR TAG-LINE FOR YOUR APP</appdf:nameTagline>

<appdf:logos>

<rdf:Alt>

<rdf:li image:width="16" image:height="16" rdf:resource="FILL IN PICTURE URI"/>

<rdf:li image:width="24" image:height="24" rdf:resource="FILL IN PICTURE URI"/>

<rdf:li image:width="32" image:height="28" rdf:resource="FILL IN PICTURE URI"/>

<rdf:li image:width="48" image:height="39" rdf:resource="FILL IN PICTURE URI"/>

<rdf:li image:width="64" image:height="51" rdf:resource="FILL IN PICTURE URI"/>

<rdf:li image:width="80" image:height="65" rdf:resource="FILL IN PICTURE URI"/>

<rdf:li image:width="96" image:height="77" rdf:resource="FILL IN PICTURE URI"/>

<rdf:li image:width="112" image:height=91" rdf:resource="FILL IN PICTURE URI"/>

 </rdf:Alt>

</appdf:logos>

</appdf:branding>

  

<!-- File types the application can handle

     Other applications will present an icon to launch your application to edit these

     file types. For maximum compatibility with other platforms, the types are all

     MIME types (if the type contains a /) or a file extension if the type starts with

     a period (.).  Types that are not in the form of alnum+/alnum+ or .alnum+ are

     disallowed.

-->

<appdf:fileTypes>

<rdf:Bag>

<dc:format>text/html</dc:format>

</rdf:Bag>

</appdf:fileTypes>

 

<!-- URIs of how to launch and otherwise connect to the application -->

<appdf:openSAMLaunchURI rdf:resource="FILL IN URL FOR LAUNCH LINK"/>

<!-- Additionally required params for that connection URI. Some applications require

     one or more of the optional OpenSAM CGI parameters.

-->

<appdf:requiredCGIParameter>

<rdf:Bag>

<rdf:li>FILL IN PARAM, example: StorageUserEmailAddress</rdf:li>

</rdf:Bag>

 </appdf:requiredCGIParameter>

 

<appdf:openSAMWebDAVURI rdf:resource="FILL IN URL FOR WebDAV Server"/>

<appdf:openSAMLaunchDispatchURI rdf:resource="FILL IN URL"/>

<appdf:openSAMSearchURI rdf:resource="FILL IN URL"/>

<appdf:openSAMComposeEmailURI rdf:resource="FILL IN URL"/>

<appdf:openSAMAddressBookURI rdf:resource="FILL IN URL"/>

</rdf:Description> 


 

 


Copyright © 2006-2008, the authors.