Quick StartFollow these steps to create your Application Description File:
|
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.
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.
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).
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"?> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns: xmlns:appdf="http://opensam.org/2007/01-application-description-file-vocab">
<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>
<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.