<pre>
                        .__                          
  ____             _____|  |__ _____ _______   ____  
_/ __ \   ______  /  ___/  |  \\__  \\_  __ \_/ __ \ 
\  ___/  /_____/  \___ \|   Y  \/ __ \|  | \/\  ___/ 
 \___  >         /____  >___|  (____  /__|    \___  >
     \/               \/     \/     \/            \/ 

</pre>

## e-share

Das Designdokument __e-share__ implementiert Client-Grundbedürfnisse wie:


* Infrastruktur zur Auswahl 
* Duplizieren oder 
* liefern einer Vorlage eines

[Kalibrierdokuments (KD)](http://a73434.berlin.ptb.de/mediawiki/index.php/Glossar#Kalibrierdokument).

### Duplizieren

Ein KD auf Basis eines Früheren wurde im Design _share_ über eine url der Art: 

     .../_design/share/_list/up/calib?standard=xxx&type=yyy&sign=zzz&give=dup 
	 
erstellt. In __e-share__ sind keine url-Parameter wie _sign_ oder _give_ mehr
nötig; die Angabe der KD-_id_ des zu duplizierendn Dokumentes reicht aus:
     
     .../_design/e-share/_show/dup/id
 

Bsp.:

<pre>
http://a73434.berlin.ptb.de:5984/vaclab_db/_design/e-share/_show/dup/73eda2bf9694bb4f78edaecba90cdc49
</pre>


Die Parameter __type__ und __standard__ können benutzt werden; in diesem
Fall werden sie gleich in das KD eingearbeitet.

### Neu

Ein neues KD erstellt man in __e-share__ über den Aufruf:
    
     .../_design/e-share/_show/new
	 
Auch hier funktionieren die url-params __standard__, __type__ und __sign__;
zusätzlich __maintainer__. Die angegebenen Parameter werden dann eingearbeitet.

Bsp.:
<pre>
http://a73434.berlin.ptb.de:5984/vaclab_db/_design/e-share/_show/new?standard=CE3&sign=75038_0002&type=KK
</pre>

lieferte am 24. Mai 2013 um 16:48 Uhr:
<pre>
{
    "Calibration": {
        "Sign": "75038_0002",
        "Type": "KK",
        "Year": "2013",
        "Standard": "CE3",
        "Presettings": {
            "Date": [
                {
                    "Value": "2013-05-24 16:48",
                    "Type": "generated"
                }
            ]
        },
        "Measurement": {
            "CalibrationObject": [
                { }
            ]
        }
    }
}
</pre>

 


### Datenbankabfragen (_views)

Hier die von __e-share__ bereitgestellten _views_ mit je einer kurzen Erläuterung: 


     .../vaclab_db/_design/e-share/_view/allCalObj
     .../vaclab_db/_design/e-share/_view/allCustomers
     .../vaclab_db/_design/e-share/_view/allToDo


werden von  _diwan_ und  _mmp_ benutzt um die in der Datenbank abgelegten
_CalibrationObjects_, _Customers_ und _ToDo_ Dokumente zu finden. 

     .../vaclab_db/_design/e-share/_view/calib
	 
Wird für den _Updateprozess (UP)_ benutzt.

     .../vaclab_db/_design/e-share/_view/constants
	 
Zum Erzeugen von Tabellen, die Konstanten oder Unsicherheiten auflisten

     .../vaclab_db/_design/e-share/_view/reduceStandard
     .../vaclab_db/_design/e-share/_view/reduceType
     .../vaclab_db/_design/e-share/_view/reduceYear
	 
Ermöglichen das Füllen von entsprechenden Auswahlboxen (z.B. in __diwan__ zum
Wählen eines KD)

     .../vaclab_db/_design/e-share/_view/servers
	 
spielt bei der autom. Replikation eine Rolle

     .../vaclab_db/_design/e-share/_view/type-sign
     .../vaclab_db/_design/e-share/_view/year-sign
     .../vaclab_db/_design/e-share/_view/sign-sign
     .../vaclab_db/_design/e-share/_view/standard-sign
     .../vaclab_db/_design/e-share/_view/standard_type-sign
     .../vaclab_db/_design/e-share/_view/standard-year
     .../vaclab_db/_design/e-share/_view/standard_year-sign
     .../vaclab_db/_design/e-share/_view/standard_year-type
     .../vaclab_db/_design/e-share/_view/standard_year_type_sign
     .../vaclab_db/_design/e-share/_view/standard_year_type-sign
     .../vaclab_db/_design/e-share/_view/standard_year_type_sign-doc

Auswahl eines KD erfolgt in _diwan_  durch Kombination von Abfrageresultaten wie
[hier](http://a73434.berlin.ptb.de/mediawiki/index.php/Abfragen_%28views%29)
beschrieben.

     .../vaclab_db/_design/e-share/_view/translations

_diwan_ soll Deutsch sprechen 


Die in den __Kalibrierdokumenten__ benutzten __Einheiten__ (und ihre Häufigkeit)
erhält man über die url:

    .../vaclab_db/_design/e-share/_view/reduceUnit?group=true
	

Die view __schedule__ 

      ...vaclab_db/_design/e-share/_view/schedule

erzeugt auf der Value-Seite Objecte der Form:

<pre>
	{"id":"910fd907311a80c24cee9ad18a07bf58",
	"title":"<b>Kunde@Standard:</b> Sign",
	"start":"2013-08-29 02:00",
	"end":"2013-09-05 02:00"}
</pre>

aus den Angaben unter Presettings.Date (Type:"schedule") in den
Kalibrierdokumenten. Auf der Key-Seite wird ein Array bestehend aus 

      [ Standard, Date]
	  
emited. Die Auswahl kann z.B. über 

      .../schedule?startkey=["CE3","2013-08-29 02:00"]&endkey=["CE3","2013-10-01 02:00"]

eingeschränkt werden.