relpipe-data/release-v0.9.xml
branchv_0
changeset 241 f71d300205b7
parent 219 a94eb371f77e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/relpipe-data/release-v0.9.xml	Fri Jan 18 21:34:58 2019 +0100
@@ -0,0 +1,100 @@
+<stránka
+	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
+	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
+	
+	<nadpis>Release v0.9</nadpis>
+	<perex>second public release of Relational pipes</perex>
+	<m:release>v0.9</m:release>
+
+	<text xmlns="http://www.w3.org/1999/xhtml">
+		<p>
+			We are pleased to introduce you the new version of <m:name/>.
+			It brings several important features:
+		</p>
+		
+		<ul>
+			<li>
+				<strong>XML input and output</strong>:
+				offers lossless bidirectional conversion between relational format and text.
+				Can be used for manual modifications or reviews.
+				XML form of relational data can be generated or consumed by XQuery or XSLT processors or other XML tools.
+			</li>
+		
+			<li>
+				<strong>CSV input and output</strong>:
+				CSV is a standard format defined in <a href="https://tools.ietf.org/html/rfc4180">RFC 4180</a>.
+				It is very simple, lacks data types and can contain only a single relation.
+				Despite this, it is very useful when integrating <m:name/> with other tools.
+				At the end of our pipeline, we can put <code>relpipe-out-csv</code>, feed the relation to e.g. GNU R and compute some statistics or generate some nice graphs.
+			</li>
+		
+			<li>
+				<strong>Filesystem input</strong>: this input filter reads file paths (usually generated by the <code>find</code> command)
+				and fetches metadata of given files. Supports various name/path formats, size, owner, symlinks… and extended attributes (xattr).
+				The output can be customized using CLI arguments.
+				This tool can be used to catalogue disk contents, search files or to collect data for some statistics like:
+				<em>How much space does files in particular formats occupy?</em> or
+				<em>From which domains I download files most often?</em>
+				Other use case is: save the output of <code>relpipe-in-filesystem</code> in a file and use it as an index of our files (even on offline media).
+			</li>
+		</ul>
+		<p>
+			See the <m:a href="examples">examples</m:a> page for details.
+		</p>
+		
+		<h3>Data types</h3>
+		<ul>
+			<li m:since="v0.8">boolean</li>
+			<li m:since="v0.8">variable unsigned integer (prototype)</li>
+			<li m:since="v0.8">string in UTF-8</li>
+		</ul>
+		<h3>Inputs</h3>
+		<ul>
+			<li m:since="v0.9">XML</li>
+			<li m:since="v0.9">CSV</li>
+			<li m:since="v0.9">file system</li>
+			<li m:since="v0.8">CLI</li>
+			<li m:since="v0.8">fstab</li>
+		</ul>
+		<h3>Transformations</h3>
+		<ul>
+			<li m:since="v0.8">grep: regular expression filter, removes unwanted records from the relation</li>
+			<li m:since="v0.8">cut: regular expression attribute cutter (removes or duplicates attributes and can also DROP whole relation)</li>
+			<li m:since="v0.8">sed: regular expression replacer</li>
+			<li m:since="v0.8">validator: just a pass-through filter that crashes on invalid data</li>
+			<li m:since="v0.8">python: highly experimental</li>
+		</ul>
+		<h3>Outputs</h3>
+		<ul>
+			<li m:since="v0.9">CSV</li>
+			<li m:since="v0.8">tabular</li>
+			<li m:since="v0.8">XML</li>
+			<li m:since="v0.8">nullbyte</li>
+			<li m:since="v0.8">GUI in Qt</li>
+			<li m:since="v0.8">ODS (LibreOffice)</li>
+		</ul>
+		
+		<p>
+			Instalation was tested on Debian GNU/Linux 9.6.
+			The process should be similar on other distributions.
+		</p>
+		
+		<m:pre src="examples/release-v0.9.sh" jazyk="bash" odkaz="ano"/>
+		
+		<p>
+			<m:name/> are modular thus you can download and install only parts you need (the libraries are needed always).
+			Tools <code>out-gui.qt</code> and <code>tr-python</code> require additional libraries and are not built by default.
+		</p>
+		
+		<p>
+			The module <code>relpipe-in-filesystem</code> uses C++ filesystem API which is supported since GCC 8.
+			This module can be compiled and seems usable even with GCC 6, but requires some patching (switch to the experimental API):
+		</p>
+		
+		<m:pre jazyk="bash"><![CDATA[sed 's@#include <filesystem>@#include <experimental/filesystem>@g' -i "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/FileAttributeFinder.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/XattrAttributeFinder.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/FilesystemCommand.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/AttributeFinder.h
+sed 's@std::filesystem@std::experimental::filesystem@g' -i "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/FileAttributeFinder.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/XattrAttributeFinder.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/FilesystemCommand.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/AttributeFinder.h
+sed 's/.*PROPERTY CXX_STANDARD.*/#\0/g' -i "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/CMakeLists.txt]]></m:pre>
+
+	</text>
+
+</stránka>