You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by bu...@apache.org on 2015/03/09 13:58:47 UTC

svn commit: r943008 - in /websites/staging/taverna/trunk: cgi-bin/ content/ content/documentation/scufl2/DataLink.html content/documentation/scufl2/datalink.html

Author: buildbot
Date: Mon Mar  9 12:58:47 2015
New Revision: 943008

Log:
Staging update by buildbot for taverna

Added:
    websites/staging/taverna/trunk/content/documentation/scufl2/datalink.html
Removed:
    websites/staging/taverna/trunk/content/documentation/scufl2/DataLink.html
Modified:
    websites/staging/taverna/trunk/cgi-bin/   (props changed)
    websites/staging/taverna/trunk/content/   (props changed)

Propchange: websites/staging/taverna/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Mar  9 12:58:47 2015
@@ -1 +1 @@
-1665217
+1665221

Propchange: websites/staging/taverna/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Mar  9 12:58:47 2015
@@ -1 +1 @@
-1665217
+1665221

Added: websites/staging/taverna/trunk/content/documentation/scufl2/datalink.html
==============================================================================
--- websites/staging/taverna/trunk/content/documentation/scufl2/datalink.html (added)
+++ websites/staging/taverna/trunk/content/documentation/scufl2/datalink.html Mon Mar  9 12:58:47 2015
@@ -0,0 +1,329 @@
+<!DOCTYPE html>
+<html lang="en">
+      <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">	  
+    <meta name="viewport" content="width=device-width, initial-scale=1">      
+    <title>Apache Taverna - Scufl2-DataLink</title>
+
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <meta property="og:image" content="/img/taverna-logo-145x134.png" />
+
+	<link rel="shortcut icon" href="/favicon.ico">
+	<link rel="icon" type="image/png" sizes="145x134" href="/img/taverna-logo-145x134.png">
+	<link rel="apple-touch-icon" sizes="145x134" href="/img/taverna-logo-145x134.png">
+
+    <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css">
+    <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap-theme.min.css">
+    <link rel="stylesheet" href="/css/sticky-footer-navbar.css">
+    <link rel="stylesheet" href="/css/taverna.css">
+    <link rel="stylesheet" href="/css/pygments.css">
+
+    
+
+    
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
+
+    <!-- JSON-LD markup for Google Structured Data -->
+	
+	  <!-- generic JSON-LD for this page -->
+	  <script type="application/ld+json">  
+		{
+			"@context" : "http://schema.org",
+			"@type" : ["CreativeWork"],
+			"@id": "",
+			"name" : "Scufl2-DataLink",
+			"publisher" : {
+				"@type" : "Organization", 
+				"url" : "http://www.apache.org/",
+				"name" : "The Apache Software Foundation (ASF)" 
+			},
+			"license": { 
+				"@type": "CreativeWork",
+				"@id": "http://www.apache.org/licenses/LICENSE-2.0",
+				"url": "http://www.apache.org/licenses/LICENSE-2.0",
+				"name": "Apache License, Version 2.0"
+			}
+		}		
+</script>
+	  
+  </head>
+
+
+  <body>
+
+              <!-- Static navbar -->
+      <nav class="navbar navbar-default" role="navigation">
+        <div class="container">
+          <div class="navbar-header">
+            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+              <span class="sr-only">Toggle navigation</span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+            </button>
+			<a class="navbar-brand" href="/"><img src="/img/taverna-logo-145x134.png" alt="">Apache Taverna</a>
+			  
+          </div>
+          <div id="navbar" class="navbar-collapse collapse">
+            <ul class="nav navbar-nav">              
+                <li class="dropdown">
+					<a href="/introduction" data-toggle="dropdown" role="button" aria-expanded="false">Introduction<span class="caret"></span></a>
+					<ul class="dropdown-menu"  role="menu">
+					   <li><a href="/introduction/taverna-features">Taverna features</a></li>
+					   <li><a href="/introduction/why-use-workflows">Why use workflows?</a></li>
+					   <li><a href="/introduction/what-is-in-silico-experimentation">What is ‘in silico’ experimentation?</a></li>
+					   <li><a href="/introduction/what-is-a-workflow-management-system">What is a Workflow Management System?</a></li>
+					   <li><a href="/introduction/how-can-taverna-help-me">How can Taverna help me?</a></li>
+					   <li><a href="/introduction/services-in-taverna">Services in Taverna</a></li>
+					   <li><a href="/introduction/related-projects">Related projects</a></li>
+					   <li><a href="/introduction/chemistry-web-services">Chemistry-web-services</a></li>
+                       <li><a href="/introduction/taverna-in-use">Taverna in use</a></li>
+				       <li><a href="/introduction/works-with">Works with...</a></li>
+                       <li><a href="/introduction/roadmap">Raod Map</a></li>						
+					</ul>
+				</li>
+                <li class="dropdown">
+					<a href="/documentation" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Documentation<span class="caret"></span></a>
+                  <ul class="dropdown-menu" role="menu">
+					  <li><a href="/documentation/glossary">Glossary</a></li>
+					  <li><a href="/documentation/quick-start-guide">Quick start guide</a></li>
+					  <li><a href="/documentation/components">Components</a></li>
+					  <li><a href="/documentation/interaction">Interactions</a></li>
+					  <li><a href="/documentation/tutorials">Tutorials</a></li>
+					  <li><a href="/documentation/videos">Videos</a></li>
+					  <li><a href="/documentation/example-workflows">Example workflows</a></li>
+					  <li><a href="/documentation/service-sets">Service sets</a></li>
+					  <li><a href="/documentation/provenance">Provenance management</a></li>
+					  <li><a href="/documentation/command-line">command-line</a></li>
+					  <li><a href="/documentation/server">Taverna Server</a></li>
+					  <li><a href="/documentation/taverna-player">Taverna Player</a></li>
+					  <li><a href="/documentation/plugins">Plugins</a></li>
+					  <li><a href="/documentation/training-and-workshops">Training and workshops</a></li>
+					  <li><a href="/documentation/web-service-developers">Web service developers</a></li>
+					  <li><a href="/documentation/#tools">Tools and Services</a></li>
+				  </ul>
+    			</li>
+                <li class="dropdown">
+					<a href="/download" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Download<span class="caret"></span></a>
+                  <ul class="dropdown-menu" role="menu">
+					  <li><a href="/download">Which Taverna to use</a></li>
+					  <li><a href="/download/workbench">TavernaWorkbench</a></li>
+					  <li><a href="/download/language">Taverna's SCUFL2 Language</a></li>
+					  <li><a href="/download/command-line-tool">Taverna Command Line</a></li>
+					  <li><a href="/download/server">Taverna Server</a></li>
+					  <li><a href="/documentation/plugins">Plugins</a></li>
+					  <li><a href="/download/code">Source Code</a></li>
+					  <li><a href="/download/maven">Maven Repository</a></li>
+					  <li><a href="/download/system-requirements">System Requirements</a></li>
+					  <li><a href="/download/pre-apache">Taverna 2.x (Pre-Apache)</a></li>
+				  </ul>
+				</li>
+                <li class="dropdown">
+					<a href="/community" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Community<span class="caret"></span></a>
+                  <ul class="dropdown-menu" role="menu">
+					  <li><a href="/community/lists">Mailing Lists</a></li>
+					  <li><a href="/community/irc">IRC chat</a></li>
+					  <li><a href="/community#contribute">Contribute</a></li>
+					  <li><a href="/community#reportbugs">Report a Bug</a></li>
+					  <li><a href="/community/edit">Edit website</a></li>
+				  </ul>
+				</li>
+            </ul>
+             
+              <form >
+                      
+                      
+                      <!--<input type="submit" id="submit" value="Search">-->
+                    </form>
+              
+              <form class="navbar-form navbar-right" role="search"
+                  name="search" id="search" action="http://www.google.com/search" method="get">
+                      <input value="taverna.incubator.apache.org" name="sitesearch" type="hidden"/>
+                      <div class="form-group input-group">
+                          <input type="text" name="q" id="query" placeholder="Search" class="form-control">
+						  <span class="input-group-btn">
+                            <button type="submit" class="btn btn-default">Search</button>
+						  </span>
+                      </div>                  
+              </form>
+
+             <ul class="nav navbar-nav navbar-right">                
+            <li class="dropdown">
+                <a href="http://www.apache.org/" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">ASF<span class="caret"></span></a>
+                <ul class="dropdown-menu" role="menu">
+                    <li><a href="http://www.apache.org/">Apache Software Foundation</a></li>
+                    <li><a href="http://www.apache.org/foundation/how-it-works.html">How it works</a></li>
+                    <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                    <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+                    <li><a href="http://incubator.apache.org/projects/taverna.html">Taverna Incubation Status</a></li>
+                </ul>
+              </li>
+            </ul>
+          </div><!--/.nav-collapse -->
+        </div><!--/.container-->
+      </nav>
+
+
+    <div id="page" class="container">
+       <h1>Scufl2-DataLink</h1>
+	   <div class="alert alert-info" role="alert"><p><span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
+
+Taverna is transitioning to the Apache Incubator. 
+This webpage reflects material not yet released under Apache Incubator.
+Instead it shows <a class="alert-link" href="http://www.taverna.org.uk/">taverna2</a> material that is expected to become part of the Apache Incubator project in the future.
+</div>
+
+
+		<div id="content"><p>The definition of a data link.</p>
+<div class="codehilite"><pre><span class="n">Bundle</span> <span class="n">path</span><span class="p">:</span> <span class="o">/</span><span class="n">workflow</span><span class="o">/\</span>$<span class="n">workflowName</span><span class="p">.</span><span class="n">n3</span>
+</pre></div>
+
+
+<p>Datalink should be described in the same file as their containing workflow.</p>
+<h2 id="identifier">Identifier</h2>
+<p>Each datalink is uniquely identified by their source and destination ports, in addition to the optional merge position.</p>
+<p>Datalinks are globally identified as <a href="http://ns.taverna.org.uk/2010/researchObject/$researchObjectUUID/workflow/$workflow/datalink?from=$fromPort&amp;to=$toPort&amp;mergePosition=$mergePosition">http://ns.taverna.org.uk/2010/researchObject/$researchObjectUUID/workflow/$workflow/datalink?from=$fromPort&amp;to=$toPort&amp;mergePosition=$mergePosition</a> - for instance <a href="http://ns.taverna.org.uk/2010/researchObject/28f7c554-4f35-401f-b34b-516e9a0ef731/workflow/HelloWorld/datalink?from=processor/A/out/result&amp;to=processor/B/in/db">http://ns.taverna.org.uk/2010/researchObject/28f7c554-4f35-401f-b34b-516e9a0ef731/workflow/HelloWorld/datalink?from=processor/A/out/result&amp;to=processor/B/in/db</a> defines the link in workflow "HelloWorld" from the output port "result" in the processor "A" going to the input port "db" for the processor "B". As there is no mergePosition there can't be any other links going to the "db" port.</p>
+<p>As these URIs can be tricky to construct or maintain, feel free to use anonymous nodes, or construct alterative URIs as <datalink/$number>, the number here would not have any semantic meaning except it must be unique per datalink in that workflow.</p>
+<h2 id="example">Example</h2>
+<p>workflow/Helloworld.n3: (out of Date)</p>
+<div class="codehilite"><pre><span class="p">@</span><span class="n">base</span> <span class="o">&lt;</span><span class="n">workflow</span><span class="o">/</span><span class="n">Helloworld</span><span class="o">&gt;</span> <span class="p">.</span>
+<span class="p">@</span><span class="n">prefix</span> <span class="n">scufl2</span><span class="p">:</span> <span class="o">&lt;</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">ns</span><span class="p">.</span><span class="n">taverna</span><span class="p">.</span><span class="n">org</span><span class="p">.</span><span class="n">uk</span><span class="o">/</span>2010<span class="o">/</span><span class="n">scufl2</span><span class="o">/</span><span class="n">ontology</span><span class="o">/&gt;</span> <span class="p">.</span>
+<span class="p">@</span><span class="n">prefix</span> <span class="n">dc</span><span class="p">:</span> <span class="o">&lt;</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">purl</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">dc</span><span class="o">/</span><span class="n">elements</span><span class="o">/</span>1<span class="p">.</span>1<span class="o">/&gt;</span> <span class="p">.</span>
+
+<span class="o">&lt;&gt;</span>
+    <span class="n">a</span> <span class="n">scufl2</span><span class="p">:</span><span class="n">Workflow</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">name</span> &quot;<span class="n">Helloworld</span>&quot; <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">workflowIdentifier</span> <span class="o">&lt;</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">ns</span><span class="p">.</span><span class="n">taverna</span><span class="p">.</span><span class="n">org</span><span class="p">.</span><span class="n">uk</span><span class="o">/</span>2010<span class="o">/</span><span class="n">workflow</span><span class="o">/</span>00626652<span class="o">-</span>55<span class="n">ae</span><span class="o">-</span>4<span class="n">a9e</span><span class="o">-</span>80<span class="n">d4</span><span class="o">-</span><span class="n">c8e9ac84e2ca</span><span class="o">/&gt;</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">inputWorkflowPort</span> <span class="o">&lt;</span><span class="n">in</span><span class="o">/</span><span class="n">yourName</span><span class="o">&gt;</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">outputWorkflowPort</span> <span class="o">&lt;</span><span class="n">out</span><span class="o">/</span><span class="n">results</span><span class="o">&gt;</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">datalink</span> <span class="n">_</span><span class="p">:</span><span class="n">datalink1</span><span class="p">,</span> <span class="o">&lt;</span><span class="n">datalink</span><span class="o">/</span>5<span class="o">&gt;</span><span class="p">,</span> <span class="o">&lt;</span><span class="n">datalink</span>?<span class="n">from</span><span class="p">=</span><span class="n">processor</span><span class="o">/</span><span class="n">Hello</span><span class="o">/</span><span class="n">out</span><span class="o">/</span><span class="n">greeting</span><span class="o">&amp;</span><span class="n">to</span><span class="p">=</span><span class="n">out</span><span class="o">/</span><span class="n">results</span><span class="o">&amp;</span><span class="n">mergePosition</span><span class="p">=</span>0<span class="o">&gt;</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">processor</span> <span class="o">&lt;</span><span class="n">processor</span><span class="o">/</span><span class="n">Hello</span><span class="o">&gt;</span> <span class="p">.</span>
+
+<span class="o">&lt;</span><span class="n">in</span><span class="o">/</span><span class="n">yourName</span><span class="o">&gt;</span> <span class="n">a</span> <span class="n">scufl2</span><span class="p">:</span><span class="n">InputWorkflowPort</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">name</span> &quot;<span class="n">yourName</span>&quot; <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">portDepth</span> 0 <span class="p">.</span>
+
+<span class="o">&lt;</span><span class="n">out</span><span class="o">/</span><span class="n">results</span><span class="o">&gt;</span> <span class="n">a</span> <span class="n">scufl2</span><span class="p">:</span><span class="n">OutputWorkflowPort</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">name</span> &quot;<span class="n">results</span>&quot; <span class="p">.</span>
+
+<span class="n">_</span><span class="p">:</span><span class="n">datalink1</span> <span class="n">a</span> <span class="n">scufl2</span><span class="p">:</span><span class="n">DataLink</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">receivesFrom</span> <span class="o">&lt;</span><span class="n">in</span><span class="o">/</span><span class="n">yourName</span><span class="o">&gt;</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">sendsTo</span> <span class="o">&lt;</span><span class="n">processor</span><span class="o">/</span><span class="n">Hello</span><span class="o">/</span><span class="n">in</span><span class="o">/</span><span class="n">name</span><span class="o">&gt;</span> <span class="p">.</span>
+
+<span class="o">&lt;</span><span class="n">datalink</span><span class="o">/</span>5<span class="o">&gt;</span> <span class="n">a</span> <span class="n">scufl2</span><span class="p">:</span><span class="n">DataLink</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">receivesFrom</span> <span class="o">&lt;</span><span class="n">in</span><span class="o">/</span><span class="n">yourName</span><span class="o">&gt;</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">sendsTo</span> <span class="o">&lt;</span><span class="n">out</span><span class="o">/</span><span class="n">results</span><span class="o">&gt;</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">mergePosition</span> 1 <span class="p">.</span>
+
+<span class="o">&lt;</span><span class="n">datalink</span>?<span class="n">from</span><span class="p">=</span><span class="n">processor</span><span class="o">/</span><span class="n">Hello</span><span class="o">/</span><span class="n">out</span><span class="o">/</span><span class="n">greeting</span><span class="o">&amp;</span><span class="n">to</span><span class="p">=</span><span class="n">out</span><span class="o">/</span><span class="n">results</span><span class="o">&amp;</span><span class="n">mergePosition</span><span class="p">=</span>0<span class="o">&gt;</span> <span class="n">a</span> <span class="n">scufl2</span><span class="p">:</span><span class="n">DataLink</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">receivesFrom</span> <span class="o">&lt;</span><span class="n">processor</span><span class="o">/</span><span class="n">Hello</span><span class="o">/</span><span class="n">out</span><span class="o">/</span><span class="n">greeting</span><span class="o">&gt;</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">sendsTo</span> <span class="o">&lt;</span><span class="n">out</span><span class="o">/</span><span class="n">results</span><span class="o">&gt;</span> <span class="p">;</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">mergePosition</span> 0 <span class="p">.</span>
+</pre></div>
+
+
+<p>This example defines three datalinks.</p>
+<p>The first link <code>_:datalink1</code> is just an anonymous node without an identifier. It defines a data link from the input port "yourName" to the processor input port "name". This link could also have been written embedded with the workflow:</p>
+<div class="codehilite"><pre><span class="o">&lt;&gt;</span> <span class="n">a</span> <span class="n">scufl2</span><span class="p">:</span><span class="n">Workflow</span> <span class="p">;</span>
+  <span class="p">...</span>
+    <span class="n">scufl2</span><span class="p">:</span><span class="n">datalink</span> <span class="p">[</span>
+        <span class="n">scufl2</span><span class="p">:</span><span class="n">receivesFrom</span> <span class="o">&lt;</span><span class="n">in</span><span class="o">/</span><span class="n">yourName</span><span class="o">&gt;</span> <span class="p">;</span>
+        <span class="n">scufl2</span><span class="p">:</span><span class="n">sendsTo</span> <span class="o">&lt;</span><span class="n">processor</span><span class="o">/</span><span class="n">Hello</span><span class="o">/</span><span class="n">in</span><span class="o">/</span><span class="n">name</span><span class="o">&gt;</span>
+    <span class="p">]</span> <span class="p">.</span>
+</pre></div>
+
+
+<p>The second datalink <code>&lt;datalink/5&gt;&gt;</code> defines a link directly from the workflow input port "yourName" to the output port "results".
+Links must go from a scufl2:SendingPort sending to a scufl2:ReceivingPort, 
+   meaning from a workflow input port or processor output port, going to either a workflow output port or processor input port. 
+Several links can receive from the same sending port.
+    Merges</p>
+<blockquote>
+<p>Merges is a way Taverna allows you to connect several links to the
+same scufl2:ReceivingPort, that is to a processor input port or
+workflow output port. When executing, values from each link will be
+inserted into the specified scufl2:mergePosition in a new list.</p>
+<p>You only need to specify scufl2:mergePosition if more than one link is
+connected to the same processor input port or workflow output port. If
+there is more than one link connected to the same receiving port, all
+of them need to specify a unique mergePosition, starting from 0, with
+no gaps. If you specify a single link to the port with a mergePosition
+of 0, that port input would still be wrapped in a list.</p>
+</blockquote>
+<p>The third datalink, specified using the 'full' URI <code>&lt;datalink?from=processor/Hello/out/greeting&amp;to=out/results&amp;mergePosition=0&gt;</code>,
+  defines the link from the output port "out" in processor "Hello", linking to the workflow output port "results". 
+As now two links go to that receiving port, they both need to specify a unique mergePosition. 
+The second link specifies position 1, and the third position 0. 
+That means that the output port will receive a list Scufl2-DataLink. 
+The second element 'yourName' would arrive first (as it is sent before "Hello" produces "greeting"), 
+   but it would be arriving in position 1 rather than 0.</p>
+<blockquote>
+<p>URI templates not enough</p>
+<p>The full URIs such as
+<a href="http://ns.taverna.org.uk/2010/researchObject/28f7c554-4f35-401f-b34b-516e9a0ef731/workflow/HelloWorld/datalink?from=processor/A/out/result&amp;to=processor/B/in/db">http://ns.taverna.org.uk/2010/researchObject/28f7c554-4f35-401f-b34b-516e9a0ef731/workflow/HelloWorld/datalink?from=processor/A/out/result&amp;to=processor/B/in/db</a>
+are meant to be helpful, not defining. The workflow definitions should
+be complete without having to be parse these URIs. Such URIs are
+however useful to be able to annotate or talk about workflow elements
+outside of the workflow definition.</p>
+<p>Although a resource is specified using a full URI which uniquely
+identifies it, such as in the datalink above, the resource must still
+be defined, such as the datalink must define the properties
+scufl2:receivesFrom, scufl2:sendsTo (and optionally)
+scufl2:mergePosition. Similarly the input port <in/yourName> must
+still be defined with a scufl2:name "yourName".</p>
+</blockquote>
+<p>The nested resources for this workflow, such as InputProcessorPort ,
+OutputProcessorPort, DispatchStack, IterationStrategyStack and their
+children should be described in the same file as owning workflow
+itself. Additional metadata should be added to an /annotations/ file.</p>
+<h2 id="properties">Properties</h2>
+<ul>
+<li><em>scufl2:receivesFrom</em> (required) The <em>scufl2:SendingPort</em> this link is receiving data from. 
+   The port must be in the same workflow as the link.</li>
+<li><em>scufl2:sendsTo</em> (required) The <em>scufl2:ReceivingPort</em> this link is sending data to. 
+   The port must be in the same workflow as the link.</li>
+<li><em>scufl2:mergePosition</em> (optional) An integer, starting from 0. 
+   Must be set where more than one datalinks <em>sendsTo</em> the same ReceivingPort. 
+   The positions for a port must be sequentially assigned from 0 without gaps.</li>
+</ul></div>
+
+    </div>
+
+        <footer class="footer">
+      <div class="container">
+           <p id="copyright" class="text-muted">
+              Copyright &#169; 2014-2015 The Apache Software Foundation, Licensed under the 
+              <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+              Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
+          </p>
+      </div>
+    </footer>
+      
+
+
+    <script src="/lib/jquery/jquery-1.11.1.min.js"></script>
+<script src="/lib/bootstrap/js/bootstrap.min.js"></script>
+
+<script>
+	jQuery(function($) {
+        if($(window).width()>769){
+            $('.navbar .dropdown').hover(function() {
+                $(this).find('.dropdown-menu').first().stop(true, true).delay(250).slideDown();
+
+            }, function() {
+                $(this).find('.dropdown-menu').first().stop(true, true).delay(100).slideUp();
+
+            });
+
+            $('.navbar .dropdown > a').click(function(){
+                location.href = this.href;
+            });
+
+        }
+    });
+</script>
+
+
+  </body>
+</html>
\ No newline at end of file