small circular points
[MojoFacets.git] / README
diff --git a/README b/README
index 3745ca1..da01a38 100644 (file)
--- a/README
+++ b/README
@@ -9,8 +9,89 @@ Alternative format is pipe (|) separated text files with extension .txt
 First column is always header with field names
 Multi-line values should be wrapped in ^multi-line-text^
 
+If you save bounch of html files with table in directory with .html extension, they will
+we all read as single data set, allowing easy analysys of search results, for example.
+
+CSV files with .csv extension are parsed using , as delimiter. Encoding is utf8
+and can be specified in filename, before extension like this: data.encoding.csv
+
+CouchDB data can be imported using files which contain full url to CouchDB database
+or url to CouchDB view to import. URL's filename should end in *.couchdb
+
+lsblk .pairs format is basically shell variables in form NAME="value"
+
 
 Start with:
 
-  LANG=hr_HR.utf8 ./script/mojo_facets daemon --reload
+    LANG=hr_HR.utf8 ./script/mojo_facets daemon --reload
+
+
+Changing tabular data:
+
+Just double click on any table cell and click outside or focus out to save change.
+
+
+Data action and changes:
+
+There are two kinds of audit log in MojoFacets:
+
+1. actions stored in /tmp/actions are clicks on user interface with parameters,
+   they will probably be erased on next reboot since they are in /tmp
+
+2. changes in data/database.changes are more structured, including old value
+   and unique identifiers for that row
+
+Changes can be applied on any dataset currently in memory.
+
+Whole idea of changes is to create audit log which is detailed enough to recostruct
+current state of dataset from source file and list of changes. However, to speed
+up operations, you can periodically save your in-memory data to /tmp/ in perl
+storeable format using save link in interface.
+
+
+Data replication:
+
+Actions can be replicated to other hosts using MASTER enviroment variable
+or config menu
+
+    # slave
+    MASTER=http://localhost:4444 ./script/mojo_facets daemon --reload
+
+
+Code console to modify data using perl snippets:
+
+Experimental REPL console supports perl snippets which get $row hash which is one
+element from your dataset.
+
+If you want to create or update values, you will have to use $update hash to set
+new values.
+
+If you want to report something from your dataset (also called reduce in map/reduce
+terminology) you can use $out hash to store values which will be used to generate
+new dataset using $key and $value for column names.
+
+All values are repetable, but if you create just a scalar, magic(tm) inside MojoFacets
+will try to upgrade it to [ $scalar ] so you don't have to do it explicitly.
+
+Code examples are stored in public/code
+
+They use column1,column2.description.pl notatition so only snippets which have applicable
+column will be shown.
+
+
+Facet code eval:
+
+Code snippet will be executed for each facet $value and will report $count and $checked state.
+You can also update $checked to programatically select part of facet values.
+
+
+Export data:
+
+All exported data is stored in public/export/database/
+
+There you can find saved filters and items generated with export checkbox
+
+    filter.column_name.optional_description
+       items.column1.column2.column3
+