relpipe-data/release-v0.10.xml
branchv_0
changeset 250 d16336d1c61f
parent 241 f71d300205b7
child 256 822ffd23d679
equal deleted inserted replaced
249:ce8a4be95632 250:d16336d1c61f
       
     1 <stránka
       
     2 	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
       
     3 	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
       
     4 	
       
     5 	<nadpis>Release v0.10</nadpis>
       
     6 	<perex>second public release of Relational pipes</perex>
       
     7 	<m:release>v0.10</m:release>
       
     8 
       
     9 	<text xmlns="http://www.w3.org/1999/xhtml">
       
    10 		<p>
       
    11 			We are pleased to introduce you the new version of <m:name/>.
       
    12 			This release brings Guile support and some minor changes:
       
    13 		</p>
       
    14 		
       
    15 		<ul>
       
    16 			<li>
       
    17 				<strong>Guile transformations</strong>:
       
    18 				the new tool <code>relpipe-tr-guile</code> integrates GNU Guile
       
    19 				and allows writing filters (WHERE-like conditions) and transformations (SELECT-like projections)
       
    20 				in the Scheme language.
       
    21 				Filter could look like e.g. <code>--where '(or (= $size 666) (= $size 1984) )'</code>.
       
    22 				See the <m:a href="examples">examples</m:a> page for details.
       
    23 			</li>
       
    24 		
       
    25 			<li>
       
    26 				<strong>ODS output</strong>:
       
    27 				Integer attributes are now generated with proper data type,
       
    28 				so e.g. in LibreOffice they are recognized as numbers instead of strings.
       
    29 			</li>
       
    30 			
       
    31 			<li>
       
    32 				<strong>CSV output</strong>:
       
    33 				Now generates CRLF line-ends (as defined in RFC 4180).
       
    34 			</li>
       
    35 		
       
    36 			<li>
       
    37 				<strong>Filesystem input</strong>:
       
    38 				Now allows custom relation names (option: <code>--relation</code>).
       
    39 				And default xattr namespace is now <code>user</code> so the attribute names do not have to be prefixed with <code>user.</code>.
       
    40 			</li>
       
    41 		</ul>
       
    42 		<!--
       
    43 		<p>
       
    44 			See the <m:a href="examples">examples</m:a> page for details.
       
    45 		</p>
       
    46 		-->
       
    47 		
       
    48 		<h3>Data types</h3>
       
    49 		<ul>
       
    50 			<li m:since="v0.8">boolean</li>
       
    51 			<li m:since="v0.8">variable unsigned integer (prototype)</li>
       
    52 			<li m:since="v0.8">string in UTF-8</li>
       
    53 		</ul>
       
    54 		<h3>Inputs</h3>
       
    55 		<ul>
       
    56 			<li m:since="v0.9">XML</li>
       
    57 			<li m:since="v0.9">CSV</li>
       
    58 			<li m:since="v0.9">file system</li>
       
    59 			<li m:since="v0.8">CLI</li>
       
    60 			<li m:since="v0.8">fstab</li>
       
    61 		</ul>
       
    62 		<h3>Transformations</h3>
       
    63 		<ul>
       
    64 			<li m:since="v0.10">guile: filtering and transformations defined in the Scheme language using GNU Guile</li>
       
    65 			<li m:since="v0.8">grep: regular expression filter, removes unwanted records from the relation</li>
       
    66 			<li m:since="v0.8">cut: regular expression attribute cutter (removes or duplicates attributes and can also DROP whole relation)</li>
       
    67 			<li m:since="v0.8">sed: regular expression replacer</li>
       
    68 			<li m:since="v0.8">validator: just a pass-through filter that crashes on invalid data</li>
       
    69 			<li m:since="v0.8">python: highly experimental</li>
       
    70 		</ul>
       
    71 		<h3>Outputs</h3>
       
    72 		<ul>
       
    73 			<li m:since="v0.9">CSV</li>
       
    74 			<li m:since="v0.8">tabular</li>
       
    75 			<li m:since="v0.8">XML</li>
       
    76 			<li m:since="v0.8">nullbyte</li>
       
    77 			<li m:since="v0.8">GUI in Qt</li>
       
    78 			<li m:since="v0.8">ODS (LibreOffice)</li>
       
    79 		</ul>
       
    80 		
       
    81 		<p>
       
    82 			Instalation was tested on Debian GNU/Linux 9.6.
       
    83 			The process should be similar on other distributions.
       
    84 		</p>
       
    85 		
       
    86 		<m:pre src="examples/release-v0.10.sh" jazyk="bash" odkaz="ano"/>
       
    87 		
       
    88 		<p>
       
    89 			<m:name/> are modular thus you can download and install only parts you need (the libraries are needed always).
       
    90 			Tools <code>out-gui.qt</code> and <code>tr-python</code> require additional libraries and are not built by default.
       
    91 		</p>
       
    92 		
       
    93 		<p>
       
    94 			The module <code>relpipe-in-filesystem</code> uses C++ filesystem API which is supported since GCC 8.
       
    95 			This module can be compiled and seems usable even with GCC 6, but requires some patching (switch to the experimental API):
       
    96 		</p>
       
    97 		
       
    98 		<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
       
    99 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
       
   100 sed 's/.*PROPERTY CXX_STANDARD.*/#\0/g' -i "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/CMakeLists.txt]]></m:pre>
       
   101 
       
   102 		<p>
       
   103 			The module <code>relpipe-tr-guile</code> uses GNU Guile 2.2 but can also work with 2.0.
       
   104 			In such case, it requires this patch:
       
   105 		</p>
       
   106 		
       
   107 		<m:pre jazyk="bash"><![CDATA[sed 's/guile-2\.2/guile-2.0/g' -i "$RELPIPE_SRC"/relpipe-tr-guile.cpp/src/CMakeLists.txt]]></m:pre>
       
   108 
       
   109 	</text>
       
   110 
       
   111 </stránka>