Author: buildbot
Date: Wed Sep 27 10:41:01 2017
New Revision: 1018790
Log:
Staging update by buildbot for sling
Modified:
websites/staging/sling/trunk/content/ (props changed)
websites/staging/sling/trunk/content/documentation/bundles/sling-pipes.html
Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Sep 27 10:41:01 2017
@@ -1 +1 @@
-1809734
+1809827
Modified:
websites/staging/sling/trunk/content/documentation/bundles/sling-pipes.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/sling-pipes.html
(original)
+++ websites/staging/sling/trunk/content/documentation/bundles/sling-pipes.html
Wed Sep 27 10:41:01 2017
@@ -247,6 +247,7 @@ If used, the returned value will be id o
In that case you can monitor the pipes path with <code>status</code> selector
as described above until it has the value <code>finished</code>.</p>
<h2 id="registered-pipes">Registered Pipes<a class="headerlink"
href="#registered-pipes" title="Permanent link">¶</a></h2>
<h3 id="readers">readers<a class="headerlink" href="#readers" title="Permanent
link">¶</a></h3>
+<p>those are pipes that will spit out resources, without modifying them</p>
<h5 id="base-pipe-echopath">Base pipe <code>echo(path)</code><a
class="headerlink" href="#base-pipe-echopath" title="Permanent
link">¶</a></h5>
<p>outputs what is in input (so what is configured in path)</p>
<ul>
@@ -279,18 +280,10 @@ In that case you can monitor the pipes p
<li><code>properties</code> is a flag mentioning the pipe should traverse
node's property,</li>
<li><code>nameGlobs</code> filters the property that should get outputed</li>
</ul>
-<h5 id="jsonpipe-jsonexpr">JsonPipe (<code>json(expr)</code>)<a
class="headerlink" href="#jsonpipe-jsonexpr" title="Permanent
link">¶</a></h5>
-<p>feeds bindings with remote json</p>
-<ul>
-<li><code>sling:resourceType</code> is <code>slingPipes/json</code></li>
-<li><code>expr</code> mandatory property contains url that will be called, the
json be sent to the output bindings, getOutput = getInput.
-An empty url or a failing url will block the pipe at that given place.</li>
-</ul>
-<p>In case the json is an array, the pipe will loop over
-the array elements, and output each one in the binding. Output resource
remains each time the input one.</p>
<h5 id="authorizablepipe-authconf">AuthorizablePipe
(<code>auth(conf)</code>)<a class="headerlink"
href="#authorizablepipe-authconf" title="Permanent link">¶</a></h5>
<p>retrieve authorizable resource corresponding to the id passed in
expression, or if not found (or void expression),
-from the input path, output the found authorizable's resource</p>
+from the input path, output the found authorizable's resource
+caution this pipe <strong>can modify content</strong> in case additional
configuration is added (see below)</p>
<ul>
<li><code>sling:resourceType</code> is
<code>slingPipes/authorizable</code></li>
<li><code>expr</code> should be an authorizable id, or void (but then input
should be an authorizable)</li>
@@ -326,6 +319,43 @@ not containing <code>@foo=bar</code></p>
<p>is an equivalent</p>
+<h3 id="inputstream-reader-pipes">InputStream reader pipes<a
class="headerlink" href="#inputstream-reader-pipes" title="Permanent
link">¶</a></h3>
+<p>those are specific reader pipes, that read information an input stream from
defined in expr configuration,
+that can be:</p>
+<ul>
+<li>a remote located file (starting with http),</li>
+<li>a file located in the repository (existing file stored in the
repository),</li>
+<li>a file passed as request parameter with <code>pipes_inputFile</code> as
parameter name (in that case, expr can be empty)</li>
+<li>direct data stream in the expression</li>
+</ul>
+<h5 id="jsonpipe-jsonexpr">JsonPipe (<code>json(expr)</code>)<a
class="headerlink" href="#jsonpipe-jsonexpr" title="Permanent
link">¶</a></h5>
+<p>feeds bindings with json stream</p>
+<ul>
+<li><code>sling:resourceType</code> is <code>slingPipes/json</code></li>
+<li><code>expr</code> see above</li>
+<li><code>valuePath</code> json path like expression that defines where the
json value we care about is. E.g. <code>$.items[2]</code> considers root is an
object and that we want the 3rd item of items array, located at
<code>items</code> key of the root object.</li>
+</ul>
+<p>In case the json value is an array, the pipe will loop over
+the array elements, and output each one in the binding.
+Output resource remains each time the input one.</p>
+<div
class="codehilite"><pre>json('{items:[{val:1},{val:2},{val:3}]}').with('valuePath','$.items').name('demo')
+mkdir('/content/<span class="cp">${</span><span class="n">demo</span><span
class="o">.</span><span class="n">val</span><span class="cp">}</span>.run()
+</pre></div>
+
+
+<p>should create a tree of 3 resources /content/1, /content/2 and
/content/3</p>
+<h5 id="csvpipe-csvexpr">CsvPipe (<code>csv(expr)</code>)<a class="headerlink"
href="#csvpipe-csvexpr" title="Permanent link">¶</a></h5>
+<p>feeds bindings with csv stream</p>
+<ul>
+<li><code>sling:resourceType</code> is <code>slingPipes/csv</code></li>
+<li><code>expr</code> see above</li>
+<li>
+<p><code>separator</code> separator character, default being comma
<code>,</code></p>
+<p>json('idx,val\n1,1\n2,2\n3,3').name('demo')
+.mkdir('/content/${demo.val}.run()</p>
+</li>
+</ul>
+<p>should create a tree of 3 resources /content/1, /content/2 and
/content/3</p>
<h3 id="containers">containers<a class="headerlink" href="#containers"
title="Permanent link">¶</a></h3>
<h5 id="container-pipe">Container Pipe<a class="headerlink"
href="#container-pipe" title="Permanent link">¶</a></h5>
<p>assemble a sequence of pipes</p>
@@ -335,11 +365,17 @@ not containing <code>@foo=bar</code></p>
</ul>
<p>Note that pipe builder api automatically creates one for you to chain the
subpipe you are configuring</p>
<h5 id="referencepipe">ReferencePipe<a class="headerlink"
href="#referencepipe" title="Permanent link">¶</a></h5>
-<p>execute the pipe referenced in path property</p>
+<p>executes the pipe referenced in path property</p>
<ul>
<li><code>sling:resourceType</code> is <code>slingPipes/reference</code></li>
<li><code>path</code> path of the referenced pipe</li>
</ul>
+<h5 id="notpipe">NotPipe<a class="headerlink" href="#notpipe" title="Permanent
link">¶</a></h5>
+<p>executes the pipe referenced in path property, passes input only if
referenced pipe doesn't return any resource</p>
+<ul>
+<li><code>sling:resourceType</code> is <code>slingPipes/not</code></li>
+<li><code>path</code> path of the referenced pipe</li>
+</ul>
<h3 id="writers">writers<a class="headerlink" href="#writers" title="Permanent
link">¶</a></h3>
<h5 id="write-pipe-writeconf">Write Pipe (<code>write(conf)</code>)<a
class="headerlink" href="#write-pipe-writeconf" title="Permanent
link">¶</a></h5>
<p>writes given nodes & properties to current input</p>
@@ -447,7 +483,7 @@ it does </p>
<li>jackrabbit api (2.7.5+) (used in AuthorizablePipe)</li>
</ul>
<div class="timestamp" style="margin-top: 30px; font-size: 80%;
text-align: right;">
- Rev. 1807296 by npeltier on Mon, 4 Sep 2017 19:48:33 +0000
+ Rev. 1809827 by npeltier on Wed, 27 Sep 2017 10:40:34 +0000
</div>
<div class="trademarkFooter">
Apache Sling, Sling, Apache, the Apache feather logo, and the Apache
Sling project