<docbook><section><title>OdsAPlusLinks</title><bridgehead class="http://www.w3.org/1999/xhtml:h2">ODS &lt;a&gt;++ links</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3">What are &lt;a&gt;++ links?</bridgehead>
<para>The essence of the Web is the <emphasis>link</emphasis>.
 We use it to navigate, discover, form communities, and rank our Web pages on search engines.
 But each link carries much more behind it than what has generally been exposed.</para>
<para>ODS &lt;a&gt;++ links extend the basic HTML link by including relationships to other data in the ODS dataspace.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3">Implementation</bridgehead>
<para>The implementation (mainly in app.js) is based on <ulink url="http://oat.openlinksw.com/">OAT</ulink>, the <ulink url="OpenLink">OpenLink</ulink> AJAX Toolkit, combined with the free-text search features of Virtuoso SPARQL.
 It is a part of the ODS Framework and other hosted applications may use it.</para>
<para>The main function from the JS file is *generateAPP()*.
 It takes the following parameters:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem>appArea - id of the element containing the area with the links to be &lt;a&gt;++ transformed; </listitem>
<listitem>appOptions - options that will be applied to all links in appArea.
 They are the same as the options for the anchors from OAT: <itemizedlist mark="bullet" spacing="compact"><listitem>imagePath - path for images used for lookup bubble; </listitem>
<listitem>title - title of the window; </listitem>
<listitem>activation - &quot;hover&quot; or &quot;click&quot;; </listitem>
<listitem>width, height - dimensions of the lookup window;</listitem>
</itemizedlist></listitem>
</itemizedlist><para>Only links with id attribute are transformed.
 The default content of the anchor window is:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem>Web page - default link location </listitem>
<listitem>Data link (RDF) - RDF representation of the object (if the object is a part of the ODS dataspace) </listitem>
<listitem>Horizontal line </listitem>
<listitem>Found links - list of related IRIs found in the ODS dataspace based on the link text</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3">Usage</bridgehead>
<para>Any hosted application may use &lt;a&gt;++ JS by including the script below in the head: </para>
<programlisting>  &lt;script type=&quot;text/javascript&quot;&gt;
    // OAT
    var toolkitPath=&quot;/ods/oat&quot;;
    var imagePath=&quot;/ods/images/oat/&quot;;
    
    var featureList=[&quot;ajax2&quot;, &quot;ws&quot;, &quot;anchor&quot;];
  &lt;/script&gt;
  &lt;script type=&quot;text/javascript&quot; src=&quot;/ods/oat/loader.js&quot;&gt;&lt;/script&gt;
  &lt;script type=&quot;text/javascript&quot; src=&quot;/ods/app.js&quot;&gt;&lt;/script&gt;
  &lt;script type=&quot;text/javascript&quot;&gt;
    function myInit() {
      OAT.Preferences.imagePath = &#39;/ods/images/oat/&#39;;
      OAT.Anchor.imagePath = OAT.Preferences.imagePath;
      OAT.Anchor.zIndex = 1001;
      
      generateAPP(&#39;app_area&#39;, {});
    }
    OAT.MSG.attach(OAT, OAT.MSG.OAT_LOAD, myInit);
  &lt;/script&gt;
</programlisting><para> The following ODS applications support &lt;a&gt;++ links:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="OdsBlog">ODS-Weblog</ulink> </listitem>
<listitem><ulink url="OdsBriefcase">ODS-Briefcase</ulink> </listitem>
<listitem><ulink url="OdsAddressbook">ODS-Addressbook</ulink> </listitem>
<listitem><ulink url="OdsPolls">ODS-Polls</ulink> </listitem>
<listitem><ulink url="OdsBookmarkManager">ODS-Bookmark-Manager</ulink> </listitem>
<listitem><ulink url="OdsCalendar">ODS-Calendar</ulink> </listitem>
<listitem><ulink url="OdsFeedManager">ODS-Feed-Manager</ulink> </listitem>
<listitem><ulink url="OdsMail">ODS-Mail</ulink>.</listitem>
</itemizedlist><para>The settings for &lt;a&gt;++ links can be changed in ODS Framework UI-&gt;user name-&gt;Edit My Profile-&gt;Personal page, drop-down list &quot;Show &lt;a&gt;++ links&quot;.
 The options scope is: </para>
<itemizedlist mark="bullet" spacing="compact"><listitem>disabled - this is the default; </listitem>
<listitem>click - the anchor is opened when user clicks the RDF icon shown at the right of the link; </listitem>
<listitem>hover - the anchor is opened when the cursor hovers over the RDF icon shown at the right of the link.</listitem>
</itemizedlist><para><ulink url="CategoryVirtuoso">CategoryVirtuoso</ulink> <ulink url="CategoryODS">CategoryODS</ulink> <ulink url="CategoryAPlusLinks">CategoryAPlusLinks</ulink> <ulink url="CategoryWebSite">CategoryWebSite</ulink> <ulink url="CategoryDocumentation">CategoryDocumentation</ulink> <ulink url="CategoryOAT">CategoryOAT</ulink> <ulink url="CategoryVOS">CategoryVOS</ulink></para>
<para> </para>
</section></docbook>