See also Contents.
The database is distributed in several parts, which are all .txt files. The items are separated by spaces. 
  That makes working in the base easy, but of cours risky, and has some drawbacks, for example the fact that an item must be composed of a continuous chain of characters. If there are several words, they must be connected, generally by an underscore _ . 
In principle, no new file should be added without using the "standard" process, through zSas et the ad hoc commands.
Due to performance reasons, the database is parted into
    FAM : family of Pierre Berger
    SPIR : spirituality
    BART : art
    DIC : diccan 
    INFE : semantic tree for inference
    ROX : all the remaining data 
  To begin a query you must first select one of them 
Creation and updating
The base being a set of .txt files, il has been created and can be updates, completed or corrected manually.
To make easier the creation of base items pointing on the files in directory, we can use dirlist , which creates a file dirList.txt in the (previously assigned) directory . This file must be completed before integration in the database.
dirlistH creates the same file, with HTML opening and closing, and .html extension.
the adhoc directoty is computed by getTargetDir()
Sort operations on texts (mainly the database)
In the function textSort(int column, char sort_order, int columnSup){
column is the column selected 
  sort order is d is for direct sort , r for reverse. 
  columnSup  says it the sort column must be or not suppressed in the produced file 
tsort  calls textSort(number, 'd', 0).  then the column has to be pre-selected, the column is suppressed 
    rsort : calls textStsort (number, 'r', 0) 
    ssort : textSort(number, 'd', 9); with suppression of the column 
    tsortb : textSort(number, 'd', 2) sorts on the column given by number and creates a .txt file
    tsortH  : textSort(number, 'd', 3)  id; creates a HTML file
tsortn : 
  textSort(number, 'n', 2);  like tsort but sorts numerically 
    rsortn : textSort(number, 'N",2); like rsort, but numerically 
    tsortp : 
  textSort(number, 'p', 2); 
the third parameter (columnsup) is used by t
l.
checkb (for "check back") calls the checkBack(1) function, which reads Check.html (case 1 reads Web.hml).
The assets are all the local files which can be called by Roxame. The Web can be considered another asset, but calls for other procedures.
The database includes
  - directly informative lines
  - links on Roxame's assets
These are distributed in several main directories (not all of them are covered by the database)
- Asti 
- Pierre_Personal (part of this is not public)
- Corporations as computer users 
- Family
- Siggraph 
- Diccan (website) 
- Roxame itself, with its data subdirectory, including ; 
The code ; Tools mainly, but some formats are also used for acquisition and editinf of assets (notably checky followed by chby)
Acquisition process
In princple, all acquisitions enter through the zSas directory, where
  - day-to-day notes are entered after checking from a Journal.txt file
  - files of any kind are first stored, in particular pictures. Then these assets are distibuted ihto the relevant directories, and a for each file a line is created in the Base 
structure in dirList : <img src = "Vie_Parisienne_1.JPG" height = 100 > 1880C 4 Paris Vie-Parisienne article </a>
structure in dirList.adj (after 11 formadj) : 1880C 4 Paris 00 00 00 00 00 <a href = "Vie_Parisienne_13.JPG" > Vie-Parisienne article </a>
structure in dirAtom : 1880C 4 Paris 00 00 00 00 00 <a href = "Vie_Parisienne_1.JPG" > Vie-Parisienne article </a>
structure in the BAse : 63864 2016 2 WW 00 115 89 V 5 <a href = "!!!SITE_WEB//Computers\Dark_Age_1.jpg" > CACM digital dark age </a>
The base is made of lines, strictly formatted on the left, rather free on the right. Examples :
34797 2005 2 Paris 00 0 5 W 5 <a href = "!!!SITE_WEB/dicoport/AHDicnc_3181.html" > RPC</a> 
62971 2005 4 ML 00 149 27 H 5  <a href = "Roxame/data/Test\Test2.JPG" > Test2 </a> 
Unique in the full base for each line. But numbers may miss. 
A code to ensure the unicity of each line, and qukk search (event sourcing concept) 
year of reference (event, publication...). Possibly with suffixes , notably C (circa) and P (period)
0 : !!!SITE_WEB//Science" ; //Science en généraltDir
0 : !!!SITE_WEB//Science" ; //Science en général
0.1 : !!!SITE_WEB//Science" ; //Minéraux, univers
0.2 : !!!SITE_WEB//Science" ; //végétaux et vie en général
0.3 : !!!SITE_WEB//Science" ; //animaux
0.4 : !!!SITE_WEB//Science" ; //humanité
0.5 : Famille" ; //famille /branches/périodes 
0.6 : Pierre_Personnel" ; //moi
0.7 : PS" ;
0.8 Siggraph" ; 
0.9 Pleiades 
1!!!SITE_WEB//Technology" ; //
1.1 : !!!SITE_WEB//Technology" ; // transport technologies
//1.1.0 Automobile
//1.1.2 Rail
//1.1.3 Mer
//1.1.4 Air 
1.2 : !!!SITE_WEB//Technology" ; //military technologies
2 : !!!SITE_WEB//Computers" ; //technologies de l'information
// 2.0 Hardware, constructeurs ? 
// 2.1 Hardware 
// 2.2 Périphériques
// 2.3 Software
// 2.5 Communications Médias 
// 2.6 Méthodes 
// 2.9 Mys, Diccan 
3 : Utilisateurs-Entreprises" ; //management
4 : !!!SITE_WEB//Blog" ; //art en général
// 4.1  Jeux
// 4.2 Jeux
// 4.3 Jeux
// 4.4 Jeu de cartes
// 4.5 Sport
//  4.6 Arts de mouvement : Musique, théâtre, performance, cuisine
// 4.7 Arts statiques : peinture, sculpture, architecture 
4.8 : !!!SITE_WEB//Literature" ; // langage linguistique poésie 
4.9 : !!!SITE_WEB//Philosophy" ; //philosophie inclut PAM, Olympus Transgression 
5 : !!!SITE_WEB//Spirituality" ; //spiritualité
// 5.1 Event 
// 5.2 Groups 
// 5.3 Person 
// 5.4 Concept 
// 5.5 Place 
// 5.6 Text 
6 : !!!SITE_WEB//Politics" ; // politique
//8 : Berger, textes théoriques 
9 : Roxame 
can be WW for worldwidde of NL for non location-related lines
In clear. Normally, the present geographic region, even for past events. But with some flexibility.
Will be possibly used with the help of the semanctic tree INFE
Incremented each time an item is selected 
Number of times the line has been seleced by the function searchword()
dsat (for an image) For an image, medium saturation of the colors. For a text, number of words.
difgRatio (for an image) for a text, number of lines
B book 
  D other kind of documet 
  H image, horizontal proportions (landscape)
  I image, format other than jpg JPG png 
  L line without link 
  T text (.txt) link 
  V image vertical proportions (portrait) 
W HTML page
hand-attributed by Pierre Berger 
 0 to be deleted
1 private
2 poor quality
10 standard
20 the best ones 
if any
is free.
tDir = "Pierre_Personnel";
Small notes acquiring with upload
You write them in a Journal file, placed directly in refDir directory. 
Each small text is introduced by *** at the beginning of its first line 
The code ; A_measure.
check service 0005 000 1434
  check.c comment 000 000 loof for errors in Roxame base or selections
  checkb service 26 to edit back base files
  checke generator  50
  checke.c comment 000 000 generation of a web page for editing
  checki generator 0093 -1105 51
  checki.c comment 000 000 generation of a web page for editing
  checkt generator 0085 -1102 52
  checkt.c comment 000 000 generation of a web page for editing
  checkz generator 0082 -1101 53
checkz.c comment 000 000 generation of a web page for editing
Batch operations on the base or parts of it
formadj is a quite open toolbox to change someting in all the lines of a .txt file. 
  
It is specified by the number variable, with the present cases (on may 2016) : 
02 : experiment for inferonal 
03 : for Roxame directories report 
04 : add a column 
05 :  line end cleaning
06 : for Journal
07 : au format base, 
08 : to remove duplicate lines 
09 : to renumber 
10 : id. 
11 : au format base
12 : pour les fichiers Berger
13 : test  pour Diccanieriser Diccan
14 :  addeval , with differenciated process according to the extension 
15 :image     saturation, difg, H/V, cote d'amour, ancienne formule 
16 :  for neuron networks  (no longer useful ...) 
dirimg  : dirList(5) ;
  
  
  dirrename dirRename(1); 
void textSave(String textTosave, int column, int columnSup){
void extensionSearch() {  auxiliary function to get the extensionSearch  in a data base line 
and extensionSearch2() 
