author | weiher |
Mon, 04 Jun 2018 16:38:36 +0200 | |
changeset 18 | 57431f642e82 |
parent 17 | 02a3741242b2 |
--- a/elog2labfolder/_build/html/_sources/importing_from_elog.rst.txt Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/html/_sources/importing_from_elog.rst.txt Mon Jun 04 16:38:36 2018 +0200 @@ -1,6 +1,27 @@ Importing projects from e.g. the ELOGbook to Labfolder at the FHI ================================================================= +This is how you generally do it:: + + + 1. In labfolder, create a new group project. + 2. Get the ELOG logbook "operating" and export it as RAW. Remember where you've put the text file with the raw output and the directory with attachments files. + 3. Only once: Get the elog2labfolder repository from github. + 4. Adapt elog2labfolder.py to your needs. Specify the name of the project that you created previously. + 4. Run elog2labfolder.py + +These steps are explained in more detail in the following. + + +Creating a group project +------------------------ + +As the group admin (or one of the admins) in labfolder create a group project, for example, "operating" in a group named "FEL". You are now the owner of this project. Make sure you don't have several projects of the same name in one group. + + +Entries from ELOG +----------------- + The ELOG entries of a certain project need to be exported as *Raw* which looks like this:: $@MID@$: 12 @@ -41,6 +62,32 @@ The script *elog2labfolder.py* is meant to be executed from remote, that is, not on the machine on which labfolder is running. A prerequisit is the python MySQLDB package because for a few methods the labfolder API cannot be used, instead, direct manipulation of the labfolder MySQL database is needed. The actual labfolder API is applied in the methodes collected in *myPythonAPIv1.py* and *myPythonAPIv2.py*. Mostly, API version 2 is used but adding text at the end of an entry can only be accomplished by using the version 1 API call. *getListOfAuthors.py* gives you a list of all authors that are mentioned in a raw ELOG export file. +To finally import an ELOG logbook to a labfolder project you need to run ``$ python elog2labfolder.py``. Prior to this you need to make some changes to the header of the file, that is, these lines:: + + ### Set the hostname + #hostname = 'lftest' + hostname = 'labfolder' + + if hostname == 'lftest': + server = 'http://' + hostname + '.rz-berlin.mpg.de:9091' + elif hostname == 'labfolder': + server = 'https://' + hostname + '.rz-berlin.mpg.de:9091' + + ### The entries will be created using the following labfolder account which specifies the author of the entry. During the creation process, however, the entry's author ID will be changed to the real author's ID if the real author is already contained in the user table of the labfolder DB. + email = 'weiher@fhi-berlin.mpg.de' + password = getpass.getpass('Enter the labfolder password associated with ' + emailAddress+': ') + + ### Specify the absolute path to the raw ELOG export file. + elogExportFile = '/home/stefan/Dokumente/labfolder/OperatingLogbook_exportRaw_ORIGINAL.txt' + + ### Full path to where the attachments of the logbook to be imported are stored: + attachmentsDirectory = '/home/stefan/Dokumente/labfolder/Operating/' + + ### Project name in labfolder + projectName = 'operating' + + + Alternatives to manipulating the labfolder DB on MySQL level ------------------------------------------------------------
--- a/elog2labfolder/_build/html/_sources/index.rst.txt Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/html/_sources/index.rst.txt Mon Jun 04 16:38:36 2018 +0200 @@ -11,10 +11,10 @@ :caption: Contents: installation.rst - installation_cups.rst groups.rst import_export.rst importing_from_elog.rst + installation_cups.rst .. DONE: elog2labfolder.py
--- a/elog2labfolder/_build/html/_sources/installation_cups.rst.txt Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/html/_sources/installation_cups.rst.txt Mon Jun 04 16:38:36 2018 +0200 @@ -4,6 +4,7 @@ Follow this guide to set up CUPS virtual printers to be able to print webpages and pictures/files (PDF, PNG, JPG, PS) to one of labfolder's logbooks, thus, creating a new entry with an attachment. If you are an admin of the labfolder VM read the section :ref:`section_cups_admin`. Users of labfolder read the section :ref:`section_cups_user`. + .. _section_cups_admin: Set up CUPS as labfolder admin @@ -121,13 +122,16 @@ mysql> use labfolder; mysql> INSERT INTO user (email, password, firstname, lastname, signupTimestamp, maxStorage) VALUES ('printer@fhi-berlin.mpg.de', '91a13f2aba4a35b00c35dfacadd1d75f4a5171dfa7a465fca9c40e6b007ce982', 'Printer', 'Print', '2018-03-21 10:54:00', '10000000'); +Das Passwort steht für "test1234". Der entsprechende Hash-Wert im MySQL-Kommando wurde von Florian Hauer (labfolder) erstellt. + + .. _section_cups_user: Printing to labfolder projects ------------------------------ -The last thing you need to do is to set up a printer *operating* on your local machine. In Ubuntu Gnome hit Alt+F2 keys and enter ``system-config-printer``. In this printer config interface add a new printer *operating* as follows: +The last thing you need to do is to set up a printer, for example, *operating* on your local machine. In Ubuntu Gnome hit Alt+F2 keys and enter ``system-config-printer``. In this printer config interface add a new printer *operating* as follows: .. image:: _static/create_local_printer01.png :width: 70 % @@ -163,3 +167,5 @@ :width: 70 % :align: center +Now, just select this printer when printing a webpage or a picture to a labfolder project. +
--- a/elog2labfolder/_build/html/importing_from_elog.html Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/html/importing_from_elog.html Mon Jun 04 16:38:36 2018 +0200 @@ -24,6 +24,7 @@ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> + <link rel="next" title="Printing via CUPS and attaching files to labfolder logbooks" href="installation_cups.html" /> <link rel="prev" title="Import and export of projects and entries" href="import_export.html" /> <link rel="stylesheet" href="_static/custom.css" type="text/css" /> @@ -42,6 +43,21 @@ <div class="section" id="importing-projects-from-e-g-the-elogbook-to-labfolder-at-the-fhi"> <h1>Importing projects from e.g. the ELOGbook to Labfolder at the FHI<a class="headerlink" href="#importing-projects-from-e-g-the-elogbook-to-labfolder-at-the-fhi" title="Permalink to this headline">¶</a></h1> +<p>This is how you generally do it:</p> +<div class="highlight-default"><div class="highlight"><pre><span></span><span class="mf">1.</span> <span class="n">In</span> <span class="n">labfolder</span><span class="p">,</span> <span class="n">create</span> <span class="n">a</span> <span class="n">new</span> <span class="n">group</span> <span class="n">project</span><span class="o">.</span> +<span class="mf">2.</span> <span class="n">Get</span> <span class="n">the</span> <span class="n">ELOG</span> <span class="n">logbook</span> <span class="s2">"operating"</span> <span class="ow">and</span> <span class="n">export</span> <span class="n">it</span> <span class="k">as</span> <span class="n">RAW</span><span class="o">.</span> <span class="n">Remember</span> <span class="n">where</span> <span class="n">you</span><span class="s1">'ve put the text file with the raw output and the directory with attachments files.</span> +<span class="mf">3.</span> <span class="n">Only</span> <span class="n">once</span><span class="p">:</span> <span class="n">Get</span> <span class="n">the</span> <span class="n">elog2labfolder</span> <span class="n">repository</span> <span class="kn">from</span> <span class="nn">github.</span> +<span class="mf">4.</span> <span class="n">Adapt</span> <span class="n">elog2labfolder</span><span class="o">.</span><span class="n">py</span> <span class="n">to</span> <span class="n">your</span> <span class="n">needs</span><span class="o">.</span> <span class="n">Specify</span> <span class="n">the</span> <span class="n">name</span> <span class="n">of</span> <span class="n">the</span> <span class="n">project</span> <span class="n">that</span> <span class="n">you</span> <span class="n">created</span> <span class="n">previously</span><span class="o">.</span> +<span class="mf">4.</span> <span class="n">Run</span> <span class="n">elog2labfolder</span><span class="o">.</span><span class="n">py</span> +</pre></div> +</div> +<p>These steps are explained in more detail in the following.</p> +<div class="section" id="creating-a-group-project"> +<h2>Creating a group project<a class="headerlink" href="#creating-a-group-project" title="Permalink to this headline">¶</a></h2> +<p>As the group admin (or one of the admins) in labfolder create a group project, for example, “operating” in a group named “FEL”. You are now the owner of this project. Make sure you don’t have several projects of the same name in one group.</p> +</div> +<div class="section" id="entries-from-elog"> +<h2>Entries from ELOG<a class="headerlink" href="#entries-from-elog" title="Permalink to this headline">¶</a></h2> <p>The ELOG entries of a certain project need to be exported as <em>Raw</em> which looks like this:</p> <div class="highlight-default"><div class="highlight"><pre><span></span>$@MID@$: 12 Date: Tue, 03 Dec 2013 12:15:14 +0100 @@ -63,6 +79,7 @@ <p>What is noticeable is that the ELOG export comes with an “ö” instead of an “ö”. Interestingly, if only entries done by Wieland are exported the export file has UTF-8 encoding which can actually print German “Umlaute” (ö, ä, ü). If, however, all entries are exported the encoding changes to an encoding that cannot handle e.g. “ö”.</p> <p>After importing the above ELOG entry into labfolder this entry appears like that:</p> <a class="reference internal image-reference" href="_images/entry_after_import.png"><img alt="_images/entry_after_import.png" class="align-center" src="_images/entry_after_import.png" style="width: 100%;" /></a> +</div> <div class="section" id="using-python-to-import-from-elog-to-labfolder"> <h2>Using python to import from ELOG to labfolder<a class="headerlink" href="#using-python-to-import-from-elog-to-labfolder" title="Permalink to this headline">¶</a></h2> <p>There is a GitHub project containing a python program for importing a raw (see the export example above) ELOG project. Get the project files by typing:</p> @@ -70,6 +87,30 @@ </pre></div> </div> <p>The script <em>elog2labfolder.py</em> is meant to be executed from remote, that is, not on the machine on which labfolder is running. A prerequisit is the python MySQLDB package because for a few methods the labfolder API cannot be used, instead, direct manipulation of the labfolder MySQL database is needed. The actual labfolder API is applied in the methodes collected in <em>myPythonAPIv1.py</em> and <em>myPythonAPIv2.py</em>. Mostly, API version 2 is used but adding text at the end of an entry can only be accomplished by using the version 1 API call. <em>getListOfAuthors.py</em> gives you a list of all authors that are mentioned in a raw ELOG export file.</p> +<p>To finally import an ELOG logbook to a labfolder project you need to run <code class="docutils literal"><span class="pre">$</span> <span class="pre">python</span> <span class="pre">elog2labfolder.py</span></code>. Prior to this you need to make some changes to the header of the file, that is, these lines:</p> +<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1">### Set the hostname</span> +<span class="c1">#hostname = 'lftest'</span> +<span class="n">hostname</span> <span class="o">=</span> <span class="s1">'labfolder'</span> + +<span class="k">if</span> <span class="n">hostname</span> <span class="o">==</span> <span class="s1">'lftest'</span><span class="p">:</span> + <span class="n">server</span> <span class="o">=</span> <span class="s1">'http://'</span> <span class="o">+</span> <span class="n">hostname</span> <span class="o">+</span> <span class="s1">'.rz-berlin.mpg.de:9091'</span> +<span class="k">elif</span> <span class="n">hostname</span> <span class="o">==</span> <span class="s1">'labfolder'</span><span class="p">:</span> + <span class="n">server</span> <span class="o">=</span> <span class="s1">'https://'</span> <span class="o">+</span> <span class="n">hostname</span> <span class="o">+</span> <span class="s1">'.rz-berlin.mpg.de:9091'</span> + +<span class="c1">### The entries will be created using the following labfolder account which specifies the author of the entry. During the creation process, however, the entry's author ID will be changed to the real author's ID if the real author is already contained in the user table of the labfolder DB.</span> +<span class="n">email</span> <span class="o">=</span> <span class="s1">'weiher@fhi-berlin.mpg.de'</span> +<span class="n">password</span> <span class="o">=</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getpass</span><span class="p">(</span><span class="s1">'Enter the labfolder password associated with '</span> <span class="o">+</span> <span class="n">emailAddress</span><span class="o">+</span><span class="s1">': '</span><span class="p">)</span> + +<span class="c1">### Specify the absolute path to the raw ELOG export file.</span> +<span class="n">elogExportFile</span> <span class="o">=</span> <span class="s1">'/home/stefan/Dokumente/labfolder/OperatingLogbook_exportRaw_ORIGINAL.txt'</span> + +<span class="c1">### Full path to where the attachments of the logbook to be imported are stored:</span> +<span class="n">attachmentsDirectory</span> <span class="o">=</span> <span class="s1">'/home/stefan/Dokumente/labfolder/Operating/'</span> + +<span class="c1">### Project name in labfolder</span> +<span class="n">projectName</span> <span class="o">=</span> <span class="s1">'operating'</span> +</pre></div> +</div> </div> <div class="section" id="alternatives-to-manipulating-the-labfolder-db-on-mysql-level"> <h2>Alternatives to manipulating the labfolder DB on MySQL level<a class="headerlink" href="#alternatives-to-manipulating-the-labfolder-db-on-mysql-level" title="Permalink to this headline">¶</a></h2> @@ -98,6 +139,7 @@ <ul> <li><a href="index.html">Documentation overview</a><ul> <li>Previous: <a href="import_export.html" title="previous chapter">Import and export of projects and entries</a></li> + <li>Next: <a href="installation_cups.html" title="next chapter">Printing via CUPS and attaching files to labfolder logbooks</a></li> </ul></li> </ul> </div>
--- a/elog2labfolder/_build/html/index.html Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/html/index.html Mon Jun 04 16:38:36 2018 +0200 @@ -46,11 +46,6 @@ <p class="caption"><span class="caption-text">Contents:</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation of labfolder</a></li> -<li class="toctree-l1"><a class="reference internal" href="installation_cups.html">Printing via CUPS and attaching files to labfolder logbooks</a><ul> -<li class="toctree-l2"><a class="reference internal" href="installation_cups.html#set-up-cups-as-labfolder-admin">Set up CUPS as labfolder admin</a></li> -<li class="toctree-l2"><a class="reference internal" href="installation_cups.html#printing-to-labfolder-projects">Printing to labfolder projects</a></li> -</ul> -</li> <li class="toctree-l1"><a class="reference internal" href="groups.html">Groups, ownership and sharing in labfolder</a><ul> <li class="toctree-l2"><a class="reference internal" href="groups.html#private-projects">Private projects</a></li> <li class="toctree-l2"><a class="reference internal" href="groups.html#group-projects">Group projects</a></li> @@ -63,10 +58,17 @@ </ul> </li> <li class="toctree-l1"><a class="reference internal" href="importing_from_elog.html">Importing projects from e.g. the ELOGbook to Labfolder at the FHI</a><ul> +<li class="toctree-l2"><a class="reference internal" href="importing_from_elog.html#creating-a-group-project">Creating a group project</a></li> +<li class="toctree-l2"><a class="reference internal" href="importing_from_elog.html#entries-from-elog">Entries from ELOG</a></li> <li class="toctree-l2"><a class="reference internal" href="importing_from_elog.html#using-python-to-import-from-elog-to-labfolder">Using python to import from ELOG to labfolder</a></li> <li class="toctree-l2"><a class="reference internal" href="importing_from_elog.html#alternatives-to-manipulating-the-labfolder-db-on-mysql-level">Alternatives to manipulating the labfolder DB on MySQL level</a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="installation_cups.html">Printing via CUPS and attaching files to labfolder logbooks</a><ul> +<li class="toctree-l2"><a class="reference internal" href="installation_cups.html#set-up-cups-as-labfolder-admin">Set up CUPS as labfolder admin</a></li> +<li class="toctree-l2"><a class="reference internal" href="installation_cups.html#printing-to-labfolder-projects">Printing to labfolder projects</a></li> +</ul> +</li> </ul> </div> </div>
--- a/elog2labfolder/_build/html/installation_cups.html Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/html/installation_cups.html Mon Jun 04 16:38:36 2018 +0200 @@ -24,8 +24,7 @@ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> - <link rel="next" title="Groups, ownership and sharing in labfolder" href="groups.html" /> - <link rel="prev" title="Installation of labfolder" href="installation.html" /> + <link rel="prev" title="Importing projects from e.g. the ELOGbook to Labfolder at the FHI" href="importing_from_elog.html" /> <link rel="stylesheet" href="_static/custom.css" type="text/css" /> @@ -156,10 +155,11 @@ mysql> INSERT INTO user (email, password, firstname, lastname, signupTimestamp, maxStorage) VALUES ('printer@fhi-berlin.mpg.de', '91a13f2aba4a35b00c35dfacadd1d75f4a5171dfa7a465fca9c40e6b007ce982', 'Printer', 'Print', '2018-03-21 10:54:00', '10000000'); </pre></div> </div> +<p>Das Passwort steht für “test1234”. Der entsprechende Hash-Wert im MySQL-Kommando wurde von Florian Hauer (labfolder) erstellt.</p> </div> <div class="section" id="printing-to-labfolder-projects"> <span id="section-cups-user"></span><h2>Printing to labfolder projects<a class="headerlink" href="#printing-to-labfolder-projects" title="Permalink to this headline">¶</a></h2> -<p>The last thing you need to do is to set up a printer <em>operating</em> on your local machine. In Ubuntu Gnome hit Alt+F2 keys and enter <code class="docutils literal"><span class="pre">system-config-printer</span></code>. In this printer config interface add a new printer <em>operating</em> as follows:</p> +<p>The last thing you need to do is to set up a printer, for example, <em>operating</em> on your local machine. In Ubuntu Gnome hit Alt+F2 keys and enter <code class="docutils literal"><span class="pre">system-config-printer</span></code>. In this printer config interface add a new printer <em>operating</em> as follows:</p> <a class="reference internal image-reference" href="_images/create_local_printer01.png"><img alt="_images/create_local_printer01.png" class="align-center" src="_images/create_local_printer01.png" style="width: 70%;" /></a> <a class="reference internal image-reference" href="_images/create_local_printer02.png"><img alt="_images/create_local_printer02.png" class="align-center" src="_images/create_local_printer02.png" style="width: 70%;" /></a> <a class="reference internal image-reference" href="_images/create_local_printer03.png"><img alt="_images/create_local_printer03.png" class="align-center" src="_images/create_local_printer03.png" style="width: 70%;" /></a> @@ -167,6 +167,7 @@ <a class="reference internal image-reference" href="_images/create_local_printer05.png"><img alt="_images/create_local_printer05.png" class="align-center" src="_images/create_local_printer05.png" style="width: 70%;" /></a> <a class="reference internal image-reference" href="_images/create_local_printer06.png"><img alt="_images/create_local_printer06.png" class="align-center" src="_images/create_local_printer06.png" style="width: 70%;" /></a> <a class="reference internal image-reference" href="_images/create_local_printer07.png"><img alt="_images/create_local_printer07.png" class="align-center" src="_images/create_local_printer07.png" style="width: 70%;" /></a> +<p>Now, just select this printer when printing a webpage or a picture to a labfolder project.</p> </div> </div> @@ -179,8 +180,7 @@ <h3>Related Topics</h3> <ul> <li><a href="index.html">Documentation overview</a><ul> - <li>Previous: <a href="installation.html" title="previous chapter">Installation of labfolder</a></li> - <li>Next: <a href="groups.html" title="next chapter">Groups, ownership and sharing in labfolder</a></li> + <li>Previous: <a href="importing_from_elog.html" title="previous chapter">Importing projects from e.g. the ELOGbook to Labfolder at the FHI</a></li> </ul></li> </ul> </div>
--- a/elog2labfolder/_build/html/searchindex.js Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/html/searchindex.js Mon Jun 04 16:38:36 2018 +0200 @@ -1,1 +1,1 @@ -Search.setIndex({docnames:["cups_admin_guide","cups_user_guide","groups","import_export","importing_from_elog","index","installation","installation_cups"],envversion:52,filenames:["cups_admin_guide.rst","cups_user_guide.rst","groups.rst","import_export.rst","importing_from_elog.rst","index.rst","installation.rst","installation_cups.rst"],objects:{},objnames:{},objtypes:{},terms:{"1st":4,"91a13f2aba4a35b00c35dfacadd1d75f4a5171dfa7a465fca9c40e6b007ce982":7,"case":[2,7],"default":[4,6,7],"export":[4,5,6],"import":5,"new":[4,7],"sch\u00e3":4,"switch":[2,4],"true":[4,6],"var":[6,7],But:2,For:[6,7],INTO:7,One:7,The:[3,4,6,7],Their:2,Then:4,There:4,These:4,Use:6,Using:5,With:4,Yes:7,a2dissit:6,a2enmod:6,a2ensit:6,abl:7,about:3,abov:4,accept:2,acces_log:7,access:[4,7],accomplish:4,account:4,activ:2,active_user_report_use_default_mail_cli:6,actual:4,adapt:7,add:[2,7],adding:4,addition:6,address:7,admin:[2,5],administr:[2,7],after:4,afterward:4,again:[2,4],against:4,alex:4,all:[2,3,4,7],allow:[2,7],alon:2,along:3,alreadi:2,also:2,alt:7,altern:5,ani:2,anoth:[2,3],anyon:2,apach:6,apache2:6,api:[3,4],app:3,apparmor:7,appear:[3,4],appli:4,apt:[6,7],around:4,ascii:[],attach:[4,5],auth:4,authent:[4,6,7],author:[3,4],authtyp:7,avail:6,back:2,background:[],bash:[],basic:7,becaus:4,befor:2,beforehand:4,behind:3,belong:[],below:6,beplac:[],berlin:[3,4,6,7],better:7,between:2,blockid:4,broad:6,brows:7,browseaddress:7,browseallow:7,browselocalprotocol:7,browseord:7,browser:3,bsd:7,build:6,button:2,call:4,can:[2,3,4,7],cannot:[2,4],categori:4,certain:4,certif:6,chang:[2,4,7],characterencod:6,check:[2,4],chmod:[],chown:[],client:[6,7],clone:[4,7],cnf:6,collect:4,com:6,come:4,command:7,commun:6,complain:7,complet:[3,7],conf:[6,7],config:[6,7],configur:[6,7],connect:7,contain:[3,4],content:[2,3,5],control:6,copi:[],could:[2,3,4,6,7],creat:[2,4,6,7],createuseraccount:4,creation:4,credenti:4,cup:5,cupsd:7,cupsprint:7,current:2,cursor:4,custom:4,customer_identifi:6,data:[2,3],databas:[2,4,6,7],date:[3,4],deactiv:7,debug2:7,debug:7,dec:4,decid:2,default_domain:6,default_group_s:6,default_group_type_maxi:6,default_http_protocol:6,default_user_storag:6,defaultauthtyp:7,deflat:6,delet:2,deni:7,descript:7,detail:[3,6],develop:3,differ:3,digitalocean:6,direct:4,directli:2,directori:7,disabl:4,dnssd:7,doc:3,docker:6,docu:4,document:3,doe:4,doesn:2,done:[3,4,7],door:2,download:3,dropbox:6,dropbox_consumer_kei:6,dropbox_consumer_secret:6,dummi:4,dure:4,each:4,easi:6,edit:2,electron:4,eln:6,elog2labfold:4,elog:5,elogbook:5,els:2,email:[4,7],enabl:4,encod:4,encrypt:[4,6],end:4,endpoint:[3,4],energi:4,enter:[4,7],entri:[4,5,7],entrycont:4,error:[6,7],error_log:7,errorlog:6,especi:7,essenti:6,etc:[6,7],europ:6,event:6,exact:6,exampl:[4,6,7],execut:[4,7],exist:[2,4],experi:4,explain:6,export_document_repository_typ:6,extern:6,fals:[4,6],feature_dropbox:6,feature_figshar:6,feature_global_prevent_delete_cont:6,feature_ldap_authent:[4,6],feature_mendelei:6,feature_xhtml_export:6,fel:[4,7],few:4,fhi:[5,6,7],fhilab:6,figshar:6,file:[3,4,5,6],filedevic:7,filesystem:6,fileupload_maxuploads:6,filter:4,find:3,finish:[3,4],first:[2,3,4,7],firstnam:7,fly:4,follow:[2,4,6,7],format:3,former:2,forward:6,found:7,fritz:6,from:[2,3,5,6,7],fullchain:6,gadolinium:4,gallium:4,garnet:4,gener:[2,7],german:4,gesendet:[],get:[3,4,6,7],getlistofauthor:4,ggg:4,git:[4,7],github:[4,7],give:4,given:6,gnome:7,grep:[],group:[5,6,7],guid:[6,7],haber:6,handl:4,has:[3,4],have:[2,4],header:6,here:[3,7],herzog:4,hidden:[2,3],hit:7,hold:[],host:6,hostnamelookup:7,how:6,howev:[3,4],href:4,html:[3,4],http:[3,4,6,7],ignor:4,imag:3,includ:2,index:3,inform:[3,6,7],input:[],insert:7,insid:7,instal:[3,5,7],instanc:[3,4],instead:4,institut:[2,6],instruct:6,interestingli:4,interfac:7,intern:7,invit:2,involv:4,irrelev:4,jdbc:6,jdbc_database_url:6,jdbc_password:6,jdbc_schema_nam:6,jdbc_server_timezon:6,jdbc_usernam:6,job:7,jpg:7,json:3,just:3,kei:7,keyword:4,known:4,labfold:[3,5],labold:[4,6],last:7,lastnam:7,ldap:[4,6],ldap_anonymous_read_onli:6,ldap_attribute_search_nam:6,ldap_bas:6,ldap_is_attribute_search_en:6,ldap_is_tls_en:6,ldap_password:6,ldap_server_typ:6,ldap_url:6,ldap_user_dn:6,ldap_user_dn_pattern:6,leav:2,let:6,letsencrypt:6,level:5,lftest:7,like:[2,4,6,7],link:[3,6],list:[2,4],listen:7,live:6,llkopf:4,local:7,localhost:[6,7],locat:7,log:[4,6,7],log_to_fil:6,logbook:[3,4,5],logfil:7,login:4,loglevel:[6,7],logrot:7,look:[4,6],lpadmin:7,lplisten:[],machin:[4,7],mail:[2,6,7],mail_authentication_en:6,mail_email:6,mail_host:6,mail_password:6,mail_port:6,mail_starttl:6,mail_usernam:6,mailto:4,make:[4,6],man:7,manag:[2,3],mani:2,manipul:[2,5],manual:[4,6,7],marc:4,matter:4,maximum:6,maxlogs:7,maxstorag:7,mean:[2,3],meant:4,measur:4,member:2,mendelei:6,mendeley_client_callbackurl:6,mendeley_client_id:6,mendeley_client_secret:6,mention:4,mere:2,method:4,mev:4,micron:4,mid:4,miss:3,mkfifo:[],modif:4,molgen:[4,7],moment:3,monitor:6,more:6,mostli:4,move:2,mpg:[3,4,6,7],must:[4,7],mypythonapiv1:4,mypythonapiv2:4,mysql:[5,6,7],mysqldb:4,name:[3,7],necessari:4,necessarili:2,need:[2,4,7],network:[6,7],newli:[],newprint:7,next:7,note:4,notic:4,now:[4,6,7],oauthcallback:6,off:[2,4,7],onc:[4,7],one:[3,4,7],ones:2,onli:[2,3,4,6,7],open:3,oper:7,option:2,order:[4,6,7],org:4,origin:[4,7],other:2,otherwis:4,overview:3,own:[2,3],owner:2,ownership:5,oxygen:4,paarmann:4,packag:[4,7],page:7,pass:4,password:[4,7],pdf:[3,7],pem:6,peopl:6,person:4,phase:3,pictur:7,pipe:[],place:[4,7],pleas:6,png:7,point:[],polici:[2,7],possibl:[2,3,4],ppb:6,prerequisit:4,prevent:[2,4,7],previous:4,print:[4,5],printer:7,privaci:6,privacy_link:6,privat:5,privkei:6,prnt:[],probabl:7,process:[3,4],profil:7,program:4,project:5,properti:6,prostetnikvogonjeltz:6,provid:7,proxi:6,proxy_ajp:6,proxy_balanc:6,proxy_connect:6,proxy_html:6,proxy_http:6,proxypass:6,proxypassrevers:6,put:[],pwcheck:6,python:5,queri:4,quit:6,rang:4,raw:4,read:7,readi:[],record:4,recoveri:4,redirect:6,remot:[4,7],remov:2,remove_abandoned_timeout:6,reopen:4,repositori:[],requir:7,respons:3,restart:[4,6,7],restrict:7,revers:6,rewrit:6,right:7,role:2,root:7,run:[4,6,7],same:4,sampl:7,satisfi:7,schedul:7,screen:4,script:[4,7],search:4,section:[3,7],section_cups_admin:[],section_cups_us:[],secur:6,see:[2,4,6,7],select:3,send:[],server:[4,6,7],serveradmin:7,serveralia:7,servernam:6,servic:[6,7],set:[3,4,5,6],sever:[2,4],shall:7,share:[5,7],shift:4,should:4,show:[6,7],shown:4,sieh:[],signup:4,signuptimestamp:7,similar:[3,4],sinc:4,singl:3,site:6,size:6,sock:7,softwar:3,solid:4,some:7,soon:3,special:4,ssl:6,sslcertificatefil:6,sslcertificatekeyfil:6,sslengin:6,stamp:4,start:[],state:4,statement:7,step:6,still:3,store:4,straight:6,sub:[2,4],subgroup:2,subject:4,sudo:[6,7],suggest:[4,7],summari:4,support:4,sure:4,syslog:7,system:7,systemgroup:7,tag:3,term:6,terms_of_use_link:6,test1234:[],test:0,text:[3,4],thei:[2,4],thi:[0,2,3,4,6,7],thick:4,thing:7,three:3,through:[2,6],thu:7,time:4,timestamp:4,titl:4,todai:4,token:4,took:4,transfer:2,troubleshoot:7,tue:4,turn:4,tutori:6,type:[3,4,7],ubuntu:[6,7],uid:6,ultim:2,umlaut:4,univers:4,updat:4,updateauthor:4,updatedateandtim:4,upload:6,usabl:7,usag:6,use:[3,4,7],useabl:3,used:4,useful:3,user:[2,4,6,7],userid:4,uses:[],useunicod:6,using:4,usr:7,utf:[4,6],util:7,valu:7,verboseoutput:4,version:[3,4],via:[2,3,4,5,6],view:3,virtual:[6,7],virtualhost:6,visibl:2,vom:[],want:[],warn:[6,7],wavelength:4,web:7,webinterfac:[2,3,4,7],webpag:7,weiher:[4,7],well:2,what:4,when:[2,4,7],where:7,which:[2,4],whose:4,wieland:4,wiki:4,wikipedia:4,within:[2,3],work:4,would:2,wschoell:4,www:6,xhtml:[3,6],xml2enc:6,yet:4,you:[2,3,4,6,7],your:[2,7],zip:3},titles:["Set up CUPS as labfolder admin","<no title>","Groups, ownership and sharing in labfolder","Import and export of projects and entries","Importing projects from e.g. the ELOGbook to Labfolder at the FHI","Welcome to elog2labfolder\u2019s documentation!","Installation of labfolder","Printing via CUPS and attaching files to labfolder logbooks"],titleterms:{"export":3,"import":[3,4],Using:4,admin:[0,7],altern:4,attach:7,cup:[0,7],document:5,elog2labfold:5,elog:4,elogbook:4,entri:3,fhi:4,file:7,from:4,group:2,instal:6,labfold:[0,2,4,6,7],level:4,logbook:7,manipul:4,mysql:4,ownership:2,print:7,privat:2,project:[2,3,4,7],python:4,set:[0,2,7],share:2,user:[],via:7,welcom:5}}) \ No newline at end of file +Search.setIndex({docnames:["groups","import_export","importing_from_elog","index","installation","installation_cups"],envversion:52,filenames:["groups.rst","import_export.rst","importing_from_elog.rst","index.rst","installation.rst","installation_cups.rst"],objects:{},objnames:{},objtypes:{},terms:{"1st":2,"91a13f2aba4a35b00c35dfacadd1d75f4a5171dfa7a465fca9c40e6b007ce982":5,"case":[0,5],"default":[2,4,5],"export":[2,3,4],"f\u00fcr":5,"final":2,"import":3,"new":[2,5],"sch\u00e3":2,"switch":[0,2],"true":[2,4],"var":[4,5],But:0,Das:5,For:[4,5],INTO:5,One:5,The:[1,2,4,5],Their:0,Then:2,There:2,These:2,Use:4,Using:3,With:2,Yes:5,a2dissit:4,a2enmod:4,a2ensit:4,abl:5,about:1,abov:2,absolut:2,accept:0,acces_log:5,access:[2,5],accomplish:2,account:2,activ:0,active_user_report_use_default_mail_cli:4,actual:2,adapt:[2,5],add:[0,5],adding:2,addition:4,address:5,admin:[0,2,3],administr:[0,5],after:2,afterward:2,again:[0,2],against:2,alex:2,all:[0,1,2,5],allow:[0,5],alon:0,along:1,alreadi:[0,2],also:0,alt:5,altern:3,ani:0,anoth:[0,1],anyon:0,apach:4,apache2:4,api:[1,2],app:1,apparmor:5,appear:[1,2],appli:2,apt:[4,5],around:2,ascii:[],associ:2,attach:[2,3],attachmentsdirectori:2,auth:2,authent:[2,4,5],author:[1,2],authtyp:5,avail:4,back:0,background:[],bash:[],basic:5,becaus:2,befor:0,beforehand:2,behind:1,belong:[],below:4,beplac:[],berlin:[1,2,4,5],better:5,between:0,blockid:2,broad:4,brows:5,browseaddress:5,browseallow:5,browselocalprotocol:5,browseord:5,browser:1,bsd:5,build:4,button:0,call:2,can:[0,1,2,5],cannot:[0,2],categori:2,certain:2,certif:4,chang:[0,2,5],characterencod:4,check:[0,2],chmod:[],chown:[],client:[4,5],clone:[2,5],cnf:4,collect:2,com:4,come:2,command:5,commun:4,complain:5,complet:[1,5],conf:[4,5],config:[4,5],configur:[4,5],connect:5,contain:[1,2],content:[0,1,3],control:4,copi:[],could:[0,1,2,4,5],creat:[0,3,4,5],createuseraccount:2,creation:2,credenti:2,cup:3,cupsd:5,cupsprint:5,current:0,cursor:2,custom:2,customer_identifi:4,data:[0,1],databas:[0,2,4,5],date:[1,2],deactiv:5,debug2:5,debug:5,dec:2,decid:0,default_domain:4,default_group_s:4,default_group_type_maxi:4,default_http_protocol:4,default_user_storag:4,defaultauthtyp:5,deflat:4,delet:0,deni:5,der:5,descript:5,detail:[1,2,4],develop:1,differ:1,digitalocean:4,direct:2,directli:0,directori:[2,5],disabl:2,dnssd:5,doc:1,docker:4,docu:2,document:1,doe:2,doesn:0,dokument:2,don:2,done:[1,2,5],door:0,download:1,dropbox:4,dropbox_consumer_kei:4,dropbox_consumer_secret:4,dummi:2,dure:2,each:2,easi:4,edit:0,electron:2,elif:2,eln:4,elog2labfold:2,elog:3,elogbook:3,elogexportfil:2,els:0,email:[2,5],emailaddress:2,enabl:2,encod:2,encrypt:[2,4],end:2,endpoint:[1,2],energi:2,enter:[2,5],entri:[3,5],entrycont:2,entsprechend:5,error:[4,5],error_log:5,errorlog:4,erstellt:5,especi:5,essenti:4,etc:[4,5],europ:4,event:4,exact:4,exampl:[2,4,5],execut:[2,5],exist:[0,2],experi:2,explain:[2,4],export_document_repository_typ:4,extern:4,fals:[2,4],feature_dropbox:4,feature_figshar:4,feature_global_prevent_delete_cont:4,feature_ldap_authent:[2,4],feature_mendelei:4,feature_xhtml_export:4,fel:[2,5],few:2,fhi:[3,4,5],fhilab:4,figshar:4,file:[1,2,3,4],filedevic:5,filesystem:4,fileupload_maxuploads:4,filter:2,find:1,finish:[1,2],first:[0,1,2,5],firstnam:5,florian:5,fly:2,follow:[0,2,4,5],format:1,former:0,forward:4,found:5,fritz:4,from:[0,1,3,4,5],full:2,fullchain:4,gadolinium:2,gallium:2,garnet:2,gener:[0,2,5],german:2,gesendet:[],get:[1,2,4,5],getlistofauthor:2,getpass:2,ggg:2,git:[2,5],github:[2,5],give:2,given:4,gnome:5,grep:[],group:[3,4,5],guid:[4,5],haber:4,handl:2,has:[1,2],hash:5,hauer:5,have:[0,2],header:[2,4],here:[1,5],herzog:2,hidden:[0,1],hit:5,hold:[],home:2,host:4,hostnam:2,hostnamelookup:5,how:[2,4],howev:[1,2],href:2,html:[1,2],http:[1,2,4,5],ignor:2,imag:1,includ:0,index:1,inform:[1,4,5],input:[],insert:5,insid:5,instal:[1,3,5],instanc:[1,2],instead:2,institut:[0,4],instruct:4,interestingli:2,interfac:5,intern:5,invit:0,involv:2,irrelev:2,jdbc:4,jdbc_database_url:4,jdbc_password:4,jdbc_schema_nam:4,jdbc_server_timezon:4,jdbc_usernam:4,job:5,jpg:5,json:1,just:[1,5],kei:5,keyword:2,known:2,kommando:5,labfold:[1,3],labold:[2,4],last:5,lastnam:5,ldap:[2,4],ldap_anonymous_read_onli:4,ldap_attribute_search_nam:4,ldap_bas:4,ldap_is_attribute_search_en:4,ldap_is_tls_en:4,ldap_password:4,ldap_server_typ:4,ldap_url:4,ldap_user_dn:4,ldap_user_dn_pattern:4,leav:0,let:4,letsencrypt:4,level:3,lftest:[2,5],like:[0,2,4,5],line:2,link:[1,4],list:[0,2],listen:5,live:4,llkopf:2,local:5,localhost:[4,5],locat:5,log:[2,4,5],log_to_fil:4,logbook:[1,2,3],logfil:5,login:2,loglevel:[4,5],logrot:5,look:[2,4],lpadmin:5,lplisten:[],machin:[2,5],mail:[0,4,5],mail_authentication_en:4,mail_email:4,mail_host:4,mail_password:4,mail_port:4,mail_starttl:4,mail_usernam:4,mailto:2,make:[2,4],man:5,manag:[0,1],mani:0,manipul:[0,3],manual:[2,4,5],marc:2,matter:2,maximum:4,maxlogs:5,maxstorag:5,mean:[0,1],meant:2,measur:2,member:0,mendelei:4,mendeley_client_callbackurl:4,mendeley_client_id:4,mendeley_client_secret:4,mention:2,mere:0,method:2,mev:2,micron:2,mid:2,miss:1,mkfifo:[],modif:2,molgen:[2,5],moment:1,monitor:4,more:[2,4],mostli:2,move:0,mpg:[1,2,4,5],must:[2,5],mypythonapiv1:2,mypythonapiv2:2,mysql:[3,4,5],mysqldb:2,name:[1,2,5],necessari:2,necessarili:0,need:[0,2,5],network:[4,5],newli:[],newprint:5,next:5,note:2,notic:2,now:[2,4,5],oauthcallback:4,off:[0,2,5],onc:[2,5],one:[1,2,5],ones:0,onli:[0,1,2,4,5],open:1,oper:[2,5],operatinglogbook_exportraw_origin:2,option:0,order:[2,4,5],org:2,origin:[2,5],other:0,otherwis:2,output:2,overview:1,own:[0,1],owner:[0,2],ownership:3,oxygen:2,paarmann:2,packag:[2,5],page:5,pass:2,password:[2,5],passwort:5,path:2,pdf:[1,5],pem:4,peopl:4,person:2,phase:1,pictur:5,pipe:[],place:[2,5],pleas:4,png:5,point:[],polici:[0,5],possibl:[0,1,2],ppb:4,prerequisit:2,prevent:[0,2,5],previous:2,print:[2,3],printer:5,prior:2,privaci:4,privacy_link:4,privat:3,privkei:4,prnt:[],probabl:5,process:[1,2],profil:5,program:2,project:3,projectnam:2,properti:4,prostetnikvogonjeltz:4,provid:5,proxi:4,proxy_ajp:4,proxy_balanc:4,proxy_connect:4,proxy_html:4,proxy_http:4,proxypass:4,proxypassrevers:4,put:2,pwcheck:4,python:3,queri:2,quit:4,rang:2,raw:2,read:5,readi:[],real:2,record:2,recoveri:2,redirect:4,rememb:2,remot:[2,5],remov:0,remove_abandoned_timeout:4,reopen:2,repositori:2,requir:5,respons:1,restart:[2,4,5],restrict:5,revers:4,rewrit:4,right:5,role:0,root:5,run:[2,4,5],same:2,sampl:5,satisfi:5,schedul:5,screen:2,script:[2,5],search:2,section:[1,5],section_cups_admin:[],section_cups_us:[],secur:4,see:[0,2,4,5],select:[1,5],send:[],server:[2,4,5],serveradmin:5,serveralia:5,servernam:4,servic:[4,5],set:[1,2,3,4],sever:[0,2],shall:5,share:[3,5],shift:2,should:2,show:[4,5],shown:2,sieh:[],signup:2,signuptimestamp:5,similar:[1,2],sinc:2,singl:1,site:4,size:4,sock:5,softwar:1,solid:2,some:[2,5],soon:1,special:2,specifi:2,ssl:4,sslcertificatefil:4,sslcertificatekeyfil:4,sslengin:4,stamp:2,start:[],state:2,statement:5,stefan:2,steht:5,step:[2,4],still:1,store:2,straight:4,sub:[0,2],subgroup:0,subject:2,sudo:[4,5],suggest:[2,5],summari:2,support:2,sure:2,syslog:5,system:5,systemgroup:5,tabl:2,tag:1,term:4,terms_of_use_link:4,test1234:5,test:[],text:[1,2],thei:[0,2],thi:[0,1,2,4,5],thick:2,thing:5,three:1,through:[0,4],thu:5,time:2,timestamp:2,titl:2,todai:2,token:2,took:2,transfer:0,troubleshoot:5,tue:2,turn:2,tutori:4,txt:2,type:[1,2,5],ubuntu:[4,5],uid:4,ultim:0,umlaut:2,univers:2,updat:2,updateauthor:2,updatedateandtim:2,upload:4,usabl:5,usag:4,use:[1,2,5],useabl:1,used:2,useful:1,user:[0,2,4,5],userid:2,uses:[],useunicod:4,using:2,usr:5,utf:[2,4],util:5,valu:5,verboseoutput:2,version:[1,2],via:[0,1,2,3,4],view:1,virtual:[4,5],virtualhost:4,visibl:0,vom:[],von:5,want:[],warn:[4,5],wavelength:2,web:5,webinterfac:[0,1,2,5],webpag:5,weiher:[2,5],well:0,wert:5,what:2,when:[0,2,5],where:[2,5],which:[0,2],whose:2,wieland:2,wiki:2,wikipedia:2,within:[0,1],work:2,would:0,wschoell:2,wurd:5,www:4,xhtml:[1,4],xml2enc:4,yet:2,you:[0,1,2,4,5],your:[0,2,5],zip:1},titles:["Groups, ownership and sharing in labfolder","Import and export of projects and entries","Importing projects from e.g. the ELOGbook to Labfolder at the FHI","Welcome to elog2labfolder\u2019s documentation!","Installation of labfolder","Printing via CUPS and attaching files to labfolder logbooks"],titleterms:{"export":1,"import":[1,2],Using:2,admin:5,altern:2,attach:5,creat:2,cup:5,document:3,elog2labfold:3,elog:2,elogbook:2,entri:[1,2],fhi:2,file:5,from:2,group:[0,2],instal:4,labfold:[0,2,4,5],level:2,logbook:5,manipul:2,mysql:2,ownership:0,print:5,privat:0,project:[0,1,2,5],python:2,set:[0,5],share:0,user:[],via:5,welcom:3}}) \ No newline at end of file
--- a/elog2labfolder/_build/latex/elog2labfolder.aux Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/latex/elog2labfolder.aux Mon Jun 04 16:38:36 2018 +0200 @@ -27,43 +27,47 @@ \newlabel{installation:welcome-to-elog2labfolder-s-documentation}{{1}{1}{Installation of labfolder}{chapter.1}{}} \newlabel{installation::doc}{{1}{1}{Installation of labfolder}{chapter.1}{}} \newlabel{installation:installation-of-labfolder}{{1}{1}{Installation of labfolder}{chapter.1}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {2}Printing via CUPS and attaching files to labfolder logbooks}{5}{chapter.2}} +\@writefile{toc}{\contentsline {chapter}{\numberline {2}Groups, ownership and sharing in labfolder}{5}{chapter.2}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{installation_cups:printing-via-cups-and-attaching-files-to-labfolder-logbooks}{{2}{5}{Printing via CUPS and attaching files to labfolder logbooks}{chapter.2}{}} -\newlabel{installation_cups::doc}{{2}{5}{Printing via CUPS and attaching files to labfolder logbooks}{chapter.2}{}} -\@writefile{toc}{\contentsline {section}{\numberline {2.1}Set up CUPS as labfolder admin}{5}{section.2.1}} -\newlabel{installation_cups:section-cups-admin}{{2.1}{5}{Set up CUPS as labfolder admin}{section.2.1}{}} -\newlabel{installation_cups:set-up-cups-as-labfolder-admin}{{2.1}{5}{Set up CUPS as labfolder admin}{section.2.1}{}} -\@writefile{toc}{\contentsline {section}{\numberline {2.2}Printing to labfolder projects}{7}{section.2.2}} -\newlabel{installation_cups:printing-to-labfolder-projects}{{2.2}{7}{Printing to labfolder projects}{section.2.2}{}} -\newlabel{installation_cups:section-cups-user}{{2.2}{7}{Printing to labfolder projects}{section.2.2}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {3}Groups, ownership and sharing in labfolder}{11}{chapter.3}} +\newlabel{groups:groups-ownership-and-sharing-in-labfolder}{{2}{5}{Groups, ownership and sharing in labfolder}{chapter.2}{}} +\newlabel{groups::doc}{{2}{5}{Groups, ownership and sharing in labfolder}{chapter.2}{}} +\@writefile{toc}{\contentsline {section}{\numberline {2.1}Private projects}{5}{section.2.1}} +\newlabel{groups:private-projects}{{2.1}{5}{Private projects}{section.2.1}{}} +\@writefile{toc}{\contentsline {section}{\numberline {2.2}Group projects}{5}{section.2.2}} +\newlabel{groups:group-projects}{{2.2}{5}{Group projects}{section.2.2}{}} +\@writefile{toc}{\contentsline {section}{\numberline {2.3}Group settings}{6}{section.2.3}} +\newlabel{groups:group-settings}{{2.3}{6}{Group settings}{section.2.3}{}} +\@writefile{toc}{\contentsline {chapter}{\numberline {3}Import and export of projects and entries}{7}{chapter.3}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{groups:groups-ownership-and-sharing-in-labfolder}{{3}{11}{Groups, ownership and sharing in labfolder}{chapter.3}{}} -\newlabel{groups::doc}{{3}{11}{Groups, ownership and sharing in labfolder}{chapter.3}{}} -\@writefile{toc}{\contentsline {section}{\numberline {3.1}Private projects}{11}{section.3.1}} -\newlabel{groups:private-projects}{{3.1}{11}{Private projects}{section.3.1}{}} -\@writefile{toc}{\contentsline {section}{\numberline {3.2}Group projects}{11}{section.3.2}} -\newlabel{groups:group-projects}{{3.2}{11}{Group projects}{section.3.2}{}} -\@writefile{toc}{\contentsline {section}{\numberline {3.3}Group settings}{12}{section.3.3}} -\newlabel{groups:group-settings}{{3.3}{12}{Group settings}{section.3.3}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {4}Import and export of projects and entries}{13}{chapter.4}} +\newlabel{import_export::doc}{{3}{7}{Import and export of projects and entries}{chapter.3}{}} +\newlabel{import_export:import-and-export-of-projects-and-entries}{{3}{7}{Import and export of projects and entries}{chapter.3}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.1}Import}{7}{section.3.1}} +\newlabel{import_export:import}{{3.1}{7}{Import}{section.3.1}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.2}Export}{7}{section.3.2}} +\newlabel{import_export:export}{{3.2}{7}{Export}{section.3.2}{}} +\@writefile{toc}{\contentsline {chapter}{\numberline {4}Importing projects from e.g. the ELOGbook to Labfolder at the FHI}{9}{chapter.4}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{import_export::doc}{{4}{13}{Import and export of projects and entries}{chapter.4}{}} -\newlabel{import_export:import-and-export-of-projects-and-entries}{{4}{13}{Import and export of projects and entries}{chapter.4}{}} -\@writefile{toc}{\contentsline {section}{\numberline {4.1}Import}{13}{section.4.1}} -\newlabel{import_export:import}{{4.1}{13}{Import}{section.4.1}{}} -\@writefile{toc}{\contentsline {section}{\numberline {4.2}Export}{13}{section.4.2}} -\newlabel{import_export:export}{{4.2}{13}{Export}{section.4.2}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {5}Importing projects from e.g. the ELOGbook to Labfolder at the FHI}{15}{chapter.5}} +\newlabel{importing_from_elog:importing-projects-from-e-g-the-elogbook-to-labfolder-at-the-fhi}{{4}{9}{Importing projects from e.g. the ELOGbook to Labfolder at the FHI}{chapter.4}{}} +\newlabel{importing_from_elog::doc}{{4}{9}{Importing projects from e.g. the ELOGbook to Labfolder at the FHI}{chapter.4}{}} +\@writefile{toc}{\contentsline {section}{\numberline {4.1}Creating a group project}{9}{section.4.1}} +\newlabel{importing_from_elog:creating-a-group-project}{{4.1}{9}{Creating a group project}{section.4.1}{}} +\@writefile{toc}{\contentsline {section}{\numberline {4.2}Entries from ELOG}{9}{section.4.2}} +\newlabel{importing_from_elog:entries-from-elog}{{4.2}{9}{Entries from ELOG}{section.4.2}{}} +\@writefile{toc}{\contentsline {section}{\numberline {4.3}Using python to import from ELOG to labfolder}{10}{section.4.3}} +\newlabel{importing_from_elog:using-python-to-import-from-elog-to-labfolder}{{4.3}{10}{Using python to import from ELOG to labfolder}{section.4.3}{}} +\@writefile{toc}{\contentsline {section}{\numberline {4.4}Alternatives to manipulating the labfolder DB on MySQL level}{11}{section.4.4}} +\newlabel{importing_from_elog:alternatives-to-manipulating-the-labfolder-db-on-mysql-level}{{4.4}{11}{Alternatives to manipulating the labfolder DB on MySQL level}{section.4.4}{}} +\@writefile{toc}{\contentsline {chapter}{\numberline {5}Printing via CUPS and attaching files to labfolder logbooks}{13}{chapter.5}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{importing_from_elog:importing-projects-from-e-g-the-elogbook-to-labfolder-at-the-fhi}{{5}{15}{Importing projects from e.g. the ELOGbook to Labfolder at the FHI}{chapter.5}{}} -\newlabel{importing_from_elog::doc}{{5}{15}{Importing projects from e.g. the ELOGbook to Labfolder at the FHI}{chapter.5}{}} -\@writefile{toc}{\contentsline {section}{\numberline {5.1}Using python to import from ELOG to labfolder}{16}{section.5.1}} -\newlabel{importing_from_elog:using-python-to-import-from-elog-to-labfolder}{{5.1}{16}{Using python to import from ELOG to labfolder}{section.5.1}{}} -\@writefile{toc}{\contentsline {section}{\numberline {5.2}Alternatives to manipulating the labfolder DB on MySQL level}{16}{section.5.2}} -\newlabel{importing_from_elog:alternatives-to-manipulating-the-labfolder-db-on-mysql-level}{{5.2}{16}{Alternatives to manipulating the labfolder DB on MySQL level}{section.5.2}{}} +\newlabel{installation_cups:printing-via-cups-and-attaching-files-to-labfolder-logbooks}{{5}{13}{Printing via CUPS and attaching files to labfolder logbooks}{chapter.5}{}} +\newlabel{installation_cups::doc}{{5}{13}{Printing via CUPS and attaching files to labfolder logbooks}{chapter.5}{}} +\@writefile{toc}{\contentsline {section}{\numberline {5.1}Set up CUPS as labfolder admin}{13}{section.5.1}} +\newlabel{installation_cups:section-cups-admin}{{5.1}{13}{Set up CUPS as labfolder admin}{section.5.1}{}} +\newlabel{installation_cups:set-up-cups-as-labfolder-admin}{{5.1}{13}{Set up CUPS as labfolder admin}{section.5.1}{}} +\@writefile{toc}{\contentsline {section}{\numberline {5.2}Printing to labfolder projects}{15}{section.5.2}} +\newlabel{installation_cups:printing-to-labfolder-projects}{{5.2}{15}{Printing to labfolder projects}{section.5.2}{}} +\newlabel{installation_cups:section-cups-user}{{5.2}{15}{Printing to labfolder projects}{section.5.2}{}}
--- a/elog2labfolder/_build/latex/elog2labfolder.fdb_latexmk Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/latex/elog2labfolder.fdb_latexmk Mon Jun 04 16:38:36 2018 +0200 @@ -1,10 +1,10 @@ # Fdb version 3 -["makeindex elog2labfolder.idx"] 1515425753 "elog2labfolder.idx" "elog2labfolder.ind" "elog2labfolder" 1522159329 - "elog2labfolder.idx" 1522159328 0 d41d8cd98f00b204e9800998ecf8427e "" +["makeindex elog2labfolder.idx"] 1515425753 "elog2labfolder.idx" "elog2labfolder.ind" "elog2labfolder" 1528122983 + "elog2labfolder.idx" 1528122980 0 d41d8cd98f00b204e9800998ecf8427e "" (generated) "elog2labfolder.ind" "elog2labfolder.ilg" -["pdflatex"] 1522159328 "elog2labfolder.tex" "elog2labfolder.pdf" "elog2labfolder" 1522159329 +["pdflatex"] 1528122980 "elog2labfolder.tex" "elog2labfolder.pdf" "elog2labfolder" 1528122983 "/etc/texmf/web2c/texmf.cnf" 1444387830 1101 af7716885e081ab43982cab7b4672c1a "" "/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1165713224 4850 80dc9bab7f31fb78a000ccfed0e27cab "" "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1272929888 3287 e6b82fe08f5336d4d5ebc73fb1152e87 "" @@ -162,11 +162,11 @@ "create_local_printer05.png" 1518017944 36161 842755fa2893d202ee68b1564008d66e "" "create_local_printer06.png" 1518017958 35620 1e5034eb5317bdba2ba819aadd2f1b9c "" "create_local_printer07.png" 1518018015 70875 37e141327592404bf769711573eb913c "" - "elog2labfolder.aux" 1522159329 5228 d5918ff2a99373490c00194d5f6fb541 "" + "elog2labfolder.aux" 1528122980 5613 9e6e5c4f39d8a13353286b954dea6488 "" "elog2labfolder.ind" 1515658418 0 d41d8cd98f00b204e9800998ecf8427e "makeindex elog2labfolder.idx" - "elog2labfolder.out" 1522159329 3142 0c861c2f5f92db13483a4269ad616b62 "" - "elog2labfolder.tex" 1522159328 31468 17cc928acb17a49f9ae1ae24a4f70294 "" - "elog2labfolder.toc" 1522159329 1296 9d82b1ab4dd396ef7781bdfc6af9cee7 "" + "elog2labfolder.out" 1528122980 3472 ce8d3856ab4d811a055fb9c6b7c4e167 "" + "elog2labfolder.tex" 1528122983 36097 e1cce87bbdf9821adecf6545ead45939 "" + "elog2labfolder.toc" 1528122980 1450 9b4b2c02459bcb2f158641e8877214ca "" "elog_entry.png" 1515666304 32578 2c2af6c7a27a977bff0584bf2eb5b99e "" "entry_after_import.png" 1515669498 25489 640d3c2545e24da42d28bc8e45d3546d "" "export_of_projects.png" 1515658418 71687 08fe1d9c71553d6c84baf749a96cca4e "" @@ -176,13 +176,13 @@ "group_settings.png" 1515658418 25681 87db44875d57bfe6a28d581928155a35 "" "private_projects.png" 1515658418 30377 1ba519cb43ea7403e53a7245f8e1a148 "" "sphinx.sty" 1515658418 64257 27389b3f9c27254b2f20d236bdb2ebcf "" - "sphinxhighlight.sty" 1522159328 8137 b8d4ef963833564f6e4eadc09cd757c4 "" + "sphinxhighlight.sty" 1528122983 8137 b8d4ef963833564f6e4eadc09cd757c4 "" "sphinxmanual.cls" 1515658418 3589 0b0aac49c6f36925cf5f9d524a75a978 "" "sphinxmulticell.sty" 1515658418 14618 0defbdc8536ad2e67f1eac6a1431bc55 "" (generated) + "elog2labfolder.toc" "elog2labfolder.log" + "elog2labfolder.idx" "elog2labfolder.aux" - "elog2labfolder.idx" - "elog2labfolder.toc" "elog2labfolder.pdf" "elog2labfolder.out"
--- a/elog2labfolder/_build/latex/elog2labfolder.fls Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/latex/elog2labfolder.fls Mon Jun 04 16:38:36 2018 +0200 @@ -269,17 +269,42 @@ INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8t.vf INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8c.vf +INPUT private_projects.png +INPUT ./private_projects.png +INPUT ./private_projects.png +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8c.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8c.vf +INPUT group_settings.png +INPUT ./group_settings.png +INPUT ./group_settings.png +INPUT export_of_projects.png +INPUT ./export_of_projects.png +INPUT ./export_of_projects.png +INPUT export_of_projects2.png +INPUT ./export_of_projects2.png +INPUT ./export_of_projects2.png +INPUT export_xhtml.png +INPUT ./export_xhtml.png +INPUT ./export_xhtml.png INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8t.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8t.vf +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8t.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrb8t.vf +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8r.tfm +INPUT elog_entry.png +INPUT ./elog_entry.png +INPUT ./elog_entry.png +INPUT entry_after_import.png +INPUT ./entry_after_import.png +INPUT ./entry_after_import.png INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrro8t.tfm INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrro8c.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrro8t.vf INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrro8r.tfm INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrro8c.vf -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrb8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8r.tfm INPUT create_local_printer01.png INPUT ./create_local_printer01.png INPUT ./create_local_printer01.png @@ -301,31 +326,6 @@ INPUT create_local_printer07.png INPUT ./create_local_printer07.png INPUT ./create_local_printer07.png -INPUT private_projects.png -INPUT ./private_projects.png -INPUT ./private_projects.png -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8c.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8c.vf -INPUT group_settings.png -INPUT ./group_settings.png -INPUT ./group_settings.png -INPUT export_of_projects.png -INPUT ./export_of_projects.png -INPUT ./export_of_projects.png -INPUT export_of_projects2.png -INPUT ./export_of_projects2.png -INPUT ./export_of_projects2.png -INPUT export_xhtml.png -INPUT ./export_xhtml.png -INPUT ./export_xhtml.png -INPUT elog_entry.png -INPUT ./elog_entry.png -INPUT ./elog_entry.png -INPUT entry_after_import.png -INPUT ./entry_after_import.png -INPUT ./entry_after_import.png INPUT elog2labfolder.ind INPUT elog2labfolder.ind INPUT elog2labfolder.aux
--- a/elog2labfolder/_build/latex/elog2labfolder.log Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/latex/elog2labfolder.log Mon Jun 04 16:38:36 2018 +0200 @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2017.8.31) 27 MAR 2018 16:02 +This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2017.8.31) 4 JUN 2018 16:36 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -1055,141 +1055,145 @@ ] Chapter 2. -LaTeX Font Info: Font shape `T1/pcr/m/it' in size <9> not available -(Font) Font shape `T1/pcr/m/sl' tried instead on input line 219. -LaTeX Font Info: Font shape `TS1/pcr/m/it' in size <9> not available -(Font) Font shape `TS1/pcr/m/sl' tried instead on input line 226. -LaTeX Font Info: Font shape `T1/pcr/bx/n' in size <9> not available -(Font) Font shape `T1/pcr/b/n' tried instead on input line 232. -[5] [6] <create_local_printer01.png, id=134, 728.7225pt x 377.41pt> -File: create_local_printer01.png Graphic file (type png) - -<use create_local_printer01.png> -Package pdftex.def Info: create_local_printer01.png used on input line 343. -(pdftex.def) Requested size: 328.82707pt x 170.2994pt. - -<create_local_printer02.png, id=136, 746.79pt x 593.21625pt> -File: create_local_printer02.png Graphic file (type png) - -<use create_local_printer02.png> -Package pdftex.def Info: create_local_printer02.png used on input line 345. -(pdftex.def) Requested size: 328.82707pt x 261.20604pt. - [7 <./create_local_printer01.png>] -<create_local_printer03.png, id=142, 745.78625pt x 594.22pt> -File: create_local_printer03.png Graphic file (type png) - -<use create_local_printer03.png> -Package pdftex.def Info: create_local_printer03.png used on input line 347. -(pdftex.def) Requested size: 328.82707pt x 261.99257pt. - -<create_local_printer04.png, id=143, 741.77126pt x 590.205pt> -File: create_local_printer04.png Graphic file (type png) - -<use create_local_printer04.png> -Package pdftex.def Info: create_local_printer04.png used on input line 349. -(pdftex.def) Requested size: 328.82707pt x 261.63625pt. - [8 <./create_local_printer02.png> <./create_local_printer03.png>] -<create_local_printer05.png, id=150, 743.77875pt x 590.205pt> -File: create_local_printer05.png Graphic file (type png) - -<use create_local_printer05.png> -Package pdftex.def Info: create_local_printer05.png used on input line 351. -(pdftex.def) Requested size: 328.82707pt x 260.93379pt. - -<create_local_printer06.png, id=151, 744.7825pt x 591.20876pt> -File: create_local_printer06.png Graphic file (type png) - -<use create_local_printer06.png> -Package pdftex.def Info: create_local_printer06.png used on input line 353. -(pdftex.def) Requested size: 328.82707pt x 261.02574pt. - [9 <./create_local_printer04.png> <./create_local_printer05.png>] -<create_local_printer07.png, id=159, 729.72626pt x 794.97pt> -File: create_local_printer07.png Graphic file (type png) - -<use create_local_printer07.png> -Package pdftex.def Info: create_local_printer07.png used on input line 355. -(pdftex.def) Requested size: 328.82707pt x 358.2184pt. - [10 <./create_local_printer06.png> <./create_local_printer07.png>] -Chapter 3. -<private_projects.png, id=166, 719.68875pt x 251.94125pt> +<private_projects.png, id=132, 719.68875pt x 251.94125pt> File: private_projects.png Graphic file (type png) <use private_projects.png> -Package pdftex.def Info: private_projects.png used on input line 367. +Package pdftex.def Info: private_projects.png used on input line 210. (pdftex.def) Requested size: 328.82707pt x 115.11398pt. -LaTeX Font Info: Try loading font information for TS1+ptm on input line 376. +LaTeX Font Info: Try loading font information for TS1+ptm on input line 219. (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd File: ts1ptm.fd 2001/06/04 font definitions for TS1/ptm. -) [11 - - <./private_projects.png>] <group_settings.png, id=172, 622.325pt x 400.49625pt -> +) [5 <./private_projects.png>] <group_settings.png, id=139, 622.325pt x 400.496 +25pt> File: group_settings.png Graphic file (type png) <use group_settings.png> -Package pdftex.def Info: group_settings.png used on input line 401. +Package pdftex.def Info: group_settings.png used on input line 244. (pdftex.def) Requested size: 328.82707pt x 211.61423pt. - [12 <./group_settings.png>] -Chapter 4. -<export_of_projects.png, id=181, 608.2725pt x 332.24126pt> + [6 <./group_settings.png>] +Chapter 3. +<export_of_projects.png, id=147, 608.2725pt x 332.24126pt> File: export_of_projects.png Graphic file (type png) <use export_of_projects.png> -Package pdftex.def Info: export_of_projects.png used on input line 434. +Package pdftex.def Info: export_of_projects.png used on input line 277. (pdftex.def) Requested size: 328.82707pt x 179.61038pt. -<export_of_projects2.png, id=182, 731.73375pt x 201.75375pt> +<export_of_projects2.png, id=148, 731.73375pt x 201.75375pt> File: export_of_projects2.png Graphic file (type png) <use export_of_projects2.png> -Package pdftex.def Info: export_of_projects2.png used on input line 438. +Package pdftex.def Info: export_of_projects2.png used on input line 281. (pdftex.def) Requested size: 328.82707pt x 90.66519pt. - [13 + [7 <./export_of_projects.png>] -<export_xhtml.png, id=188, 450.68375pt x 107.40125pt> +<export_xhtml.png, id=154, 450.68375pt x 107.40125pt> File: export_xhtml.png Graphic file (type png) <use export_xhtml.png> -Package pdftex.def Info: export_xhtml.png used on input line 442. +Package pdftex.def Info: export_xhtml.png used on input line 285. (pdftex.def) Requested size: 328.82707pt x 78.3662pt. -[14 <./export_of_projects2.png> <./export_xhtml.png>] -Chapter 5. -<elog_entry.png, id=195, 1261.71375pt x 236.885pt> +[8 <./export_of_projects2.png> <./export_xhtml.png>] +Chapter 4. +LaTeX Font Info: Font shape `T1/pcr/bx/n' in size <9> not available +(Font) Font shape `T1/pcr/b/n' tried instead on input line 299. + +Overfull \vbox (14.48473pt too high) detected at line 332 + [] + +[9 + +] <elog_entry.png, id=168, 1261.71375pt x 236.885pt> File: elog_entry.png Graphic file (type png) <use elog_entry.png> -Package pdftex.def Info: elog_entry.png used on input line 472. +Package pdftex.def Info: elog_entry.png used on input line 336. (pdftex.def) Requested size: 469.75502pt x 88.19548pt. -<entry_after_import.png, id=196, 742.775pt x 191.71625pt> +<entry_after_import.png, id=169, 742.775pt x 191.71625pt> File: entry_after_import.png Graphic file (type png) <use entry_after_import.png> -Package pdftex.def Info: entry_after_import.png used on input line 478. +Package pdftex.def Info: entry_after_import.png used on input line 342. (pdftex.def) Requested size: 469.75502pt x 121.24992pt. - [15 +LaTeX Font Info: Font shape `T1/pcr/m/it' in size <9> not available +(Font) Font shape `T1/pcr/m/sl' tried instead on input line 360. +LaTeX Font Info: Font shape `TS1/pcr/m/it' in size <9> not available +(Font) Font shape `TS1/pcr/m/sl' tried instead on input line 361. + [10 <./elog_entry.png> <./entry_after_import.png>] [11] [12] +Chapter 5. +[13 + +] [14] <create_local_printer01.png, id=195, 728.7225pt x 377.41pt> +File: create_local_printer01.png Graphic file (type png) + +<use create_local_printer01.png> +Package pdftex.def Info: create_local_printer01.png used on input line 557. +(pdftex.def) Requested size: 328.82707pt x 170.2994pt. + +<create_local_printer02.png, id=196, 746.79pt x 593.21625pt> +File: create_local_printer02.png Graphic file (type png) + +<use create_local_printer02.png> +Package pdftex.def Info: create_local_printer02.png used on input line 559. +(pdftex.def) Requested size: 328.82707pt x 261.20604pt. + [15 <./create_local_printer01.png>] +<create_local_printer03.png, id=203, 745.78625pt x 594.22pt> +File: create_local_printer03.png Graphic file (type png) + +<use create_local_printer03.png> +Package pdftex.def Info: create_local_printer03.png used on input line 561. +(pdftex.def) Requested size: 328.82707pt x 261.99257pt. + +<create_local_printer04.png, id=204, 741.77126pt x 590.205pt> +File: create_local_printer04.png Graphic file (type png) - <./elog_entry.png>] [16 <./entry_after_import.png>] (./elog2labfolder.ind) -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 525. - [17] -Package atveryend Info: Empty hook `AfterLastShipout' on input line 525. +<use create_local_printer04.png> +Package pdftex.def Info: create_local_printer04.png used on input line 563. +(pdftex.def) Requested size: 328.82707pt x 261.63625pt. + [16 <./create_local_printer02.png> <./create_local_printer03.png>] +<create_local_printer05.png, id=211, 743.77875pt x 590.205pt> +File: create_local_printer05.png Graphic file (type png) + +<use create_local_printer05.png> +Package pdftex.def Info: create_local_printer05.png used on input line 565. +(pdftex.def) Requested size: 328.82707pt x 260.93379pt. + +<create_local_printer06.png, id=212, 744.7825pt x 591.20876pt> +File: create_local_printer06.png Graphic file (type png) + +<use create_local_printer06.png> +Package pdftex.def Info: create_local_printer06.png used on input line 567. +(pdftex.def) Requested size: 328.82707pt x 261.02574pt. + [17 <./create_local_printer04.png> <./create_local_printer05.png>] +<create_local_printer07.png, id=219, 729.72626pt x 794.97pt> +File: create_local_printer07.png Graphic file (type png) + +<use create_local_printer07.png> +Package pdftex.def Info: create_local_printer07.png used on input line 569. +(pdftex.def) Requested size: 328.82707pt x 358.2184pt. + (./elog2labfolder.ind) +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 577. + [18 <./create_local_printer06.png> <./create_local_printer07.png>] +Package atveryend Info: Empty hook `AfterLastShipout' on input line 577. (./elog2labfolder.aux) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 525. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 525. +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 577. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 577. Package rerunfilecheck Info: File `elog2labfolder.out' has not changed. -(rerunfilecheck) Checksum: 0C861C2F5F92DB13483A4269AD616B62;3142. -Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 525. +(rerunfilecheck) Checksum: CE8D3856AB4D811A055FB9C6B7C4E167;3472. +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 577. ) Here is how much of TeX's memory you used: - 13485 strings out of 493304 - 187644 string characters out of 6139871 - 315778 words of memory out of 5000000 - 16593 multiletter control sequences out of 15000+600000 + 13492 strings out of 493304 + 187784 string characters out of 6139871 + 315868 words of memory out of 5000000 + 16597 multiletter control sequences out of 15000+600000 46369 words of font info for 70 fonts, out of 8000000 for 9000 958 hyphenation exceptions out of 8191 - 37i,12n,49p,1094b,470s stack positions out of 5000i,500n,10000p,200000b,80000s + 37i,12n,45p,1094b,470s stack positions out of 5000i,500n,10000p,200000b,80000s {/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texliv e/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi5.pfb></usr/share/texlive/texmf -dist/fonts/type1/public/amsfonts/cm/cmsy5.pfb></usr/share/texlive/texmf-dist/f @@ -1200,10 +1204,10 @@ xlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/share/texlive/texmf-dis t/fonts/type1/urw/times/utmr8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/u rw/times/utmri8a.pfb> -Output written on elog2labfolder.pdf (21 pages, 593346 bytes). +Output written on elog2labfolder.pdf (22 pages, 601263 bytes). PDF statistics: - 255 PDF objects out of 1000 (max. 8388607) - 187 compressed objects within 2 object streams - 36 named destinations out of 1000 (max. 500000) - 203 words of extra memory for PDF output out of 10000 (max. 10000000) + 273 PDF objects out of 1000 (max. 8388607) + 203 compressed objects within 3 object streams + 39 named destinations out of 1000 (max. 500000) + 219 words of extra memory for PDF output out of 10000 (max. 10000000)
--- a/elog2labfolder/_build/latex/elog2labfolder.out Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/latex/elog2labfolder.out Mon Jun 04 16:38:36 2018 +0200 @@ -1,14 +1,16 @@ \BOOKMARK [0][-]{chapter.1}{\376\377\000I\000n\000s\000t\000a\000l\000l\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r}{}% 1 -\BOOKMARK [0][-]{chapter.2}{\376\377\000P\000r\000i\000n\000t\000i\000n\000g\000\040\000v\000i\000a\000\040\000C\000U\000P\000S\000\040\000a\000n\000d\000\040\000a\000t\000t\000a\000c\000h\000i\000n\000g\000\040\000f\000i\000l\000e\000s\000\040\000t\000o\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r\000\040\000l\000o\000g\000b\000o\000o\000k\000s}{}% 2 -\BOOKMARK [1][-]{section.2.1}{\376\377\000S\000e\000t\000\040\000u\000p\000\040\000C\000U\000P\000S\000\040\000a\000s\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r\000\040\000a\000d\000m\000i\000n}{chapter.2}% 3 -\BOOKMARK [1][-]{section.2.2}{\376\377\000P\000r\000i\000n\000t\000i\000n\000g\000\040\000t\000o\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r\000\040\000p\000r\000o\000j\000e\000c\000t\000s}{chapter.2}% 4 -\BOOKMARK [0][-]{chapter.3}{\376\377\000G\000r\000o\000u\000p\000s\000,\000\040\000o\000w\000n\000e\000r\000s\000h\000i\000p\000\040\000a\000n\000d\000\040\000s\000h\000a\000r\000i\000n\000g\000\040\000i\000n\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r}{}% 5 -\BOOKMARK [1][-]{section.3.1}{\376\377\000P\000r\000i\000v\000a\000t\000e\000\040\000p\000r\000o\000j\000e\000c\000t\000s}{chapter.3}% 6 -\BOOKMARK [1][-]{section.3.2}{\376\377\000G\000r\000o\000u\000p\000\040\000p\000r\000o\000j\000e\000c\000t\000s}{chapter.3}% 7 -\BOOKMARK [1][-]{section.3.3}{\376\377\000G\000r\000o\000u\000p\000\040\000s\000e\000t\000t\000i\000n\000g\000s}{chapter.3}% 8 -\BOOKMARK [0][-]{chapter.4}{\376\377\000I\000m\000p\000o\000r\000t\000\040\000a\000n\000d\000\040\000e\000x\000p\000o\000r\000t\000\040\000o\000f\000\040\000p\000r\000o\000j\000e\000c\000t\000s\000\040\000a\000n\000d\000\040\000e\000n\000t\000r\000i\000e\000s}{}% 9 -\BOOKMARK [1][-]{section.4.1}{\376\377\000I\000m\000p\000o\000r\000t}{chapter.4}% 10 -\BOOKMARK [1][-]{section.4.2}{\376\377\000E\000x\000p\000o\000r\000t}{chapter.4}% 11 -\BOOKMARK [0][-]{chapter.5}{\376\377\000I\000m\000p\000o\000r\000t\000i\000n\000g\000\040\000p\000r\000o\000j\000e\000c\000t\000s\000\040\000f\000r\000o\000m\000\040\000e\000.\000g\000.\000\040\000t\000h\000e\000\040\000E\000L\000O\000G\000b\000o\000o\000k\000\040\000t\000o\000\040\000L\000a\000b\000f\000o\000l\000d\000e\000r\000\040\000a\000t\000\040\000t\000h\000e\000\040\000F\000H\000I}{}% 12 -\BOOKMARK [1][-]{section.5.1}{\376\377\000U\000s\000i\000n\000g\000\040\000p\000y\000t\000h\000o\000n\000\040\000t\000o\000\040\000i\000m\000p\000o\000r\000t\000\040\000f\000r\000o\000m\000\040\000E\000L\000O\000G\000\040\000t\000o\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r}{chapter.5}% 13 -\BOOKMARK [1][-]{section.5.2}{\376\377\000A\000l\000t\000e\000r\000n\000a\000t\000i\000v\000e\000s\000\040\000t\000o\000\040\000m\000a\000n\000i\000p\000u\000l\000a\000t\000i\000n\000g\000\040\000t\000h\000e\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r\000\040\000D\000B\000\040\000o\000n\000\040\000M\000y\000S\000Q\000L\000\040\000l\000e\000v\000e\000l}{chapter.5}% 14 +\BOOKMARK [0][-]{chapter.2}{\376\377\000G\000r\000o\000u\000p\000s\000,\000\040\000o\000w\000n\000e\000r\000s\000h\000i\000p\000\040\000a\000n\000d\000\040\000s\000h\000a\000r\000i\000n\000g\000\040\000i\000n\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r}{}% 2 +\BOOKMARK [1][-]{section.2.1}{\376\377\000P\000r\000i\000v\000a\000t\000e\000\040\000p\000r\000o\000j\000e\000c\000t\000s}{chapter.2}% 3 +\BOOKMARK [1][-]{section.2.2}{\376\377\000G\000r\000o\000u\000p\000\040\000p\000r\000o\000j\000e\000c\000t\000s}{chapter.2}% 4 +\BOOKMARK [1][-]{section.2.3}{\376\377\000G\000r\000o\000u\000p\000\040\000s\000e\000t\000t\000i\000n\000g\000s}{chapter.2}% 5 +\BOOKMARK [0][-]{chapter.3}{\376\377\000I\000m\000p\000o\000r\000t\000\040\000a\000n\000d\000\040\000e\000x\000p\000o\000r\000t\000\040\000o\000f\000\040\000p\000r\000o\000j\000e\000c\000t\000s\000\040\000a\000n\000d\000\040\000e\000n\000t\000r\000i\000e\000s}{}% 6 +\BOOKMARK [1][-]{section.3.1}{\376\377\000I\000m\000p\000o\000r\000t}{chapter.3}% 7 +\BOOKMARK [1][-]{section.3.2}{\376\377\000E\000x\000p\000o\000r\000t}{chapter.3}% 8 +\BOOKMARK [0][-]{chapter.4}{\376\377\000I\000m\000p\000o\000r\000t\000i\000n\000g\000\040\000p\000r\000o\000j\000e\000c\000t\000s\000\040\000f\000r\000o\000m\000\040\000e\000.\000g\000.\000\040\000t\000h\000e\000\040\000E\000L\000O\000G\000b\000o\000o\000k\000\040\000t\000o\000\040\000L\000a\000b\000f\000o\000l\000d\000e\000r\000\040\000a\000t\000\040\000t\000h\000e\000\040\000F\000H\000I}{}% 9 +\BOOKMARK [1][-]{section.4.1}{\376\377\000C\000r\000e\000a\000t\000i\000n\000g\000\040\000a\000\040\000g\000r\000o\000u\000p\000\040\000p\000r\000o\000j\000e\000c\000t}{chapter.4}% 10 +\BOOKMARK [1][-]{section.4.2}{\376\377\000E\000n\000t\000r\000i\000e\000s\000\040\000f\000r\000o\000m\000\040\000E\000L\000O\000G}{chapter.4}% 11 +\BOOKMARK [1][-]{section.4.3}{\376\377\000U\000s\000i\000n\000g\000\040\000p\000y\000t\000h\000o\000n\000\040\000t\000o\000\040\000i\000m\000p\000o\000r\000t\000\040\000f\000r\000o\000m\000\040\000E\000L\000O\000G\000\040\000t\000o\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r}{chapter.4}% 12 +\BOOKMARK [1][-]{section.4.4}{\376\377\000A\000l\000t\000e\000r\000n\000a\000t\000i\000v\000e\000s\000\040\000t\000o\000\040\000m\000a\000n\000i\000p\000u\000l\000a\000t\000i\000n\000g\000\040\000t\000h\000e\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r\000\040\000D\000B\000\040\000o\000n\000\040\000M\000y\000S\000Q\000L\000\040\000l\000e\000v\000e\000l}{chapter.4}% 13 +\BOOKMARK [0][-]{chapter.5}{\376\377\000P\000r\000i\000n\000t\000i\000n\000g\000\040\000v\000i\000a\000\040\000C\000U\000P\000S\000\040\000a\000n\000d\000\040\000a\000t\000t\000a\000c\000h\000i\000n\000g\000\040\000f\000i\000l\000e\000s\000\040\000t\000o\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r\000\040\000l\000o\000g\000b\000o\000o\000k\000s}{}% 14 +\BOOKMARK [1][-]{section.5.1}{\376\377\000S\000e\000t\000\040\000u\000p\000\040\000C\000U\000P\000S\000\040\000a\000s\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r\000\040\000a\000d\000m\000i\000n}{chapter.5}% 15 +\BOOKMARK [1][-]{section.5.2}{\376\377\000P\000r\000i\000n\000t\000i\000n\000g\000\040\000t\000o\000\040\000l\000a\000b\000f\000o\000l\000d\000e\000r\000\040\000p\000r\000o\000j\000e\000c\000t\000s}{chapter.5}% 16
--- a/elog2labfolder/_build/latex/elog2labfolder.tex Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/latex/elog2labfolder.tex Mon Jun 04 16:38:36 2018 +0200 @@ -55,7 +55,7 @@ \title{Labfolder at FHI Documentation} -\date{Mar 27, 2018} +\date{Jun 04, 2018} \release{1.0} \author{Stefan Weiher} \newcommand{\sphinxlogo}{\vbox{}} @@ -198,6 +198,218 @@ \end{sphinxVerbatim} +\chapter{Groups, ownership and sharing in labfolder} +\label{\detokenize{groups:groups-ownership-and-sharing-in-labfolder}}\label{\detokenize{groups::doc}} +As labfolder user you can create groups (ultimately: group projects) and private projects. In \sphinxstyleemphasis{Manage \textgreater{} Projects} you see all projects that you own and that you are a member of. + + +\section{Private projects} +\label{\detokenize{groups:private-projects}} +You alone are the owner of these projects in \sphinxstyleemphasis{My Private Projects}. Their ownership cannot be transfered from you to anyone else via the webinterface. Only via accepting the invitation to a group with the policy that private projects are not allowed the content of the former private project would be visible (and administrable) also to the group’s admin(s). By directly manipulating the database the ownership could be changed to an active user as well. + +\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{private_projects}.png}\hspace*{\fill}} + +\sphinxstylestrong{Private projects are possible through a back door} if a user creates their own group which doesn’t necessarily mean that they invite other users to this group. In their own group they could create as many (private) projects as they like. + + +\section{Group projects} +\label{\detokenize{groups:group-projects}} +Any labfolder user can create groups and subgroups in \sphinxstyleemphasis{Manage \textgreater{} Groups \textgreater{} Button “+Add”}. But within an already existing group a member can only create subgroups if they are set as an administrator of this group. In the role of the admin you can do the following: +\begin{itemize} +\item {} +Create (sub)groups + +\item {} +Invite users to your (sub)group via e-mail + +\item {} +Move users between subgroups + +\item {} +Set and remove (sub)group members as admins + +\item {} +Remove users from a (sub)group e.g. when they are leaving the institute (\sphinxstylestrong{In this case the ownership of this user’s projects within the (sub)group needs to be transfered first!}) + +\item {} +Delete (sub)groups (before deleting it you need to remove all group members) + +\end{itemize} + + +\section{Group settings} +\label{\detokenize{groups:group-settings}} +Administrators of groups (but not the ones of the subgroups) can edit the general settings of groups. + +\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{group_settings}.png}\hspace*{\fill}} +\begin{itemize} +\item {} +Through the option \sphinxstyleemphasis{Prevent group members from deleting content} all users (including the admin) are prevented from deleting projects or any other data from the labfolder database. Projects will merely be hidden if a user decides to \sphinxstyleemphasis{Remove} it from their list of projects. + +\item {} +By checking the option \sphinxstyleemphasis{Prevent group members from having private projects}, group members will not be allowed to have private projects. All private projects of group members will be moved into the group projects, but will not be shared with any other group members. + +\item {} +By switching on \sphinxstyleemphasis{Users can be members of several subgroups}, users which are already members of a group can be invited again to another subgroup within the group. If switched to off members cannot be invited to subgroups of their current group. + +\end{itemize} + + +\chapter{Import and export of projects and entries} +\label{\detokenize{import_export::doc}}\label{\detokenize{import_export:import-and-export-of-projects-and-entries}} + +\section{Import} +\label{\detokenize{import_export:import}} +The import of projects (from another labfolder instance or from another logbook software) is only possible via the labfolder API. An import of labfolder-own projects via webinterface is not possible to date. You can find the API documentation here: + +\begin{DUlineblock}{0em} +\item[] Version 1: \sphinxurl{http://labfolder.rz-berlin.mpg.de:9091/api/v1} +\item[] Version 2: \sphinxurl{https://labfolder.rz-berlin.mpg.de/api/v2/docs/development.html} +\end{DUlineblock} + +Version 2 is still in the development phase. + + +\section{Export} +\label{\detokenize{import_export:export}} +Exporting projects (or just single entries) is possible in three different formats: PDF, XHTML and JSON. The \sphinxstylestrong{export as PDF} can be done from within a project … + +\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{export_of_projects}.png}\hspace*{\fill}} + +… or from the project overview (\sphinxstyleemphasis{Manage \textgreater{} Projects}): + +\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{export_of_projects2}.png}\hspace*{\fill}} + +The \sphinxstylestrong{XHTML export} can be done via the settings: + +\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{export_xhtml}.png}\hspace*{\fill}} + +However, to use this type of export it has to be installed first in the \sphinxstyleemphasis{Manage \textgreater{} Apps} section. By means of the XHTML export all projects that one owns will be exported. A detailled selection of projects or entries to be exported is not possible. As soon as the export process is finished a download link appears in the settings in \sphinxstyleemphasis{Data exports}. The downloadable ZIP file contains all images and files along with an index.html file that contains information about all entries. You could open and view the index.html file in a browser similar to the view in labfolder. + +The \sphinxstylestrong{JSON export} is only useable via the API endpoint \sphinxcode{GET /entries}. However, at the moment the response only contains useful information such as dates and tags. The author name is hidden behind the author ID and the entry text content is completely missing. + + +\chapter{Importing projects from e.g. the ELOGbook to Labfolder at the FHI} +\label{\detokenize{importing_from_elog:importing-projects-from-e-g-the-elogbook-to-labfolder-at-the-fhi}}\label{\detokenize{importing_from_elog::doc}} +This is how you generally do it: + +\fvset{hllines={, ,}}% +\begin{sphinxVerbatim}[commandchars=\\\{\}] +\PYG{l+m+mf}{1.} \PYG{n}{In} \PYG{n}{labfolder}\PYG{p}{,} \PYG{n}{create} \PYG{n}{a} \PYG{n}{new} \PYG{n}{group} \PYG{n}{project}\PYG{o}{.} +\PYG{l+m+mf}{2.} \PYG{n}{Get} \PYG{n}{the} \PYG{n}{ELOG} \PYG{n}{logbook} \PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{operating}\PYG{l+s+s2}{\PYGZdq{}} \PYG{o+ow}{and} \PYG{n}{export} \PYG{n}{it} \PYG{k}{as} \PYG{n}{RAW}\PYG{o}{.} \PYG{n}{Remember} \PYG{n}{where} \PYG{n}{you}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{ve put the text file with the raw output and the directory with attachments files.} +\PYG{l+m+mf}{3.} \PYG{n}{Only} \PYG{n}{once}\PYG{p}{:} \PYG{n}{Get} \PYG{n}{the} \PYG{n}{elog2labfolder} \PYG{n}{repository} \PYG{k+kn}{from} \PYG{n+nn}{github}\PYG{n+nn}{.} +\PYG{l+m+mf}{4.} \PYG{n}{Adapt} \PYG{n}{elog2labfolder}\PYG{o}{.}\PYG{n}{py} \PYG{n}{to} \PYG{n}{your} \PYG{n}{needs}\PYG{o}{.} \PYG{n}{Specify} \PYG{n}{the} \PYG{n}{name} \PYG{n}{of} \PYG{n}{the} \PYG{n}{project} \PYG{n}{that} \PYG{n}{you} \PYG{n}{created} \PYG{n}{previously}\PYG{o}{.} +\PYG{l+m+mf}{4.} \PYG{n}{Run} \PYG{n}{elog2labfolder}\PYG{o}{.}\PYG{n}{py} +\end{sphinxVerbatim} + +These steps are explained in more detail in the following. + + +\section{Creating a group project} +\label{\detokenize{importing_from_elog:creating-a-group-project}} +As the group admin (or one of the admins) in labfolder create a group project, for example, “operating” in a group named “FEL”. You are now the owner of this project. Make sure you don’t have several projects of the same name in one group. + + +\section{Entries from ELOG} +\label{\detokenize{importing_from_elog:entries-from-elog}} +The ELOG entries of a certain project need to be exported as \sphinxstyleemphasis{Raw} which looks like this: + +\fvset{hllines={, ,}}% +\begin{sphinxVerbatim}[commandchars=\\\{\}] +\PYGZdl{}@MID@\PYGZdl{}: 12 +Date: Tue, 03 Dec 2013 12:15:14 +0100 +Author: Wieland SchÃ\P{}llkopf +Author Email: mailto:wschoell@fhi\PYGZhy{}berlin.mpg.de +Category: Shift summary +Subject: 1st solid\PYGZhy{}state experiment with FHI FEL +Severity: DOCU +Keywords: +Record date: 1386069171 +Attachment: +Encoding: HTML +======================================== +\PYGZlt{}p\PYGZgt{}Today Alex Paarmann and Marc Herzog are measuring in the wavelength range from 10 to 20 micron with a 0.5 mm thick GGG (Gadolinium Gallium Garnet, \PYGZlt{}a title=\PYGZdq{}Gadolinium\PYGZdq{} href=\PYGZdq{}http://en.wikipedia.org/wiki/Gadolinium\PYGZdq{}\PYGZgt{}Gd\PYGZlt{}/a\PYGZgt{}\PYGZlt{}sub\PYGZgt{}3\PYGZlt{}/sub\PYGZgt{}\PYGZlt{}a title=\PYGZdq{}Gallium\PYGZdq{} href=\PYGZdq{}http://en.wikipedia.org/wiki/Gallium\PYGZdq{}\PYGZgt{}Ga\PYGZlt{}/a\PYGZgt{}\PYGZlt{}sub\PYGZgt{}5\PYGZlt{}/sub\PYGZgt{}\PYGZlt{}a title=\PYGZdq{}Oxygen\PYGZdq{} href=\PYGZdq{}http://en.wikipedia.org/wiki/Oxygen\PYGZdq{}\PYGZgt{}O\PYGZlt{}/a\PYGZgt{}\PYGZlt{}sub\PYGZgt{}12\PYGZlt{}/sub\PYGZgt{}). Electron energy is set to 26 MeV.\PYGZlt{}/p\PYGZgt{} +\end{sphinxVerbatim} + +The entry shown above looks like this in the ELOG webinterface: + +\noindent{\hspace*{\fill}\sphinxincludegraphics[width=1.000\linewidth]{{elog_entry}.png}\hspace*{\fill}} + +What is noticeable is that the ELOG export comes with an “Ã\P{}” instead of an “ö”. Interestingly, if only entries done by Wieland are exported the export file has UTF-8 encoding which can actually print German “Umlaute” (ö, ä, ü). If, however, all entries are exported the encoding changes to an encoding that cannot handle e.g. “ö”. + +After importing the above ELOG entry into labfolder this entry appears like that: + +\noindent{\hspace*{\fill}\sphinxincludegraphics[width=1.000\linewidth]{{entry_after_import}.png}\hspace*{\fill}} + + +\section{Using python to import from ELOG to labfolder} +\label{\detokenize{importing_from_elog:using-python-to-import-from-elog-to-labfolder}} +There is a GitHub project containing a python program for importing a raw (see the export example above) ELOG project. Get the project files by typing: + +\fvset{hllines={, ,}}% +\begin{sphinxVerbatim}[commandchars=\\\{\}] +\PYGZdl{} git clone https://github.molgen.mpg.de/weiher/elog2labfolder.git +\end{sphinxVerbatim} + +The script \sphinxstyleemphasis{elog2labfolder.py} is meant to be executed from remote, that is, not on the machine on which labfolder is running. A prerequisit is the python MySQLDB package because for a few methods the labfolder API cannot be used, instead, direct manipulation of the labfolder MySQL database is needed. The actual labfolder API is applied in the methodes collected in \sphinxstyleemphasis{myPythonAPIv1.py} and \sphinxstyleemphasis{myPythonAPIv2.py}. Mostly, API version 2 is used but adding text at the end of an entry can only be accomplished by using the version 1 API call. \sphinxstyleemphasis{getListOfAuthors.py} gives you a list of all authors that are mentioned in a raw ELOG export file. + +To finally import an ELOG logbook to a labfolder project you need to run \sphinxcode{\$ python elog2labfolder.py}. Prior to this you need to make some changes to the header of the file, that is, these lines: + +\fvset{hllines={, ,}}% +\begin{sphinxVerbatim}[commandchars=\\\{\}] +\PYG{c+c1}{\PYGZsh{}\PYGZsh{}\PYGZsh{} Set the hostname} +\PYG{c+c1}{\PYGZsh{}hostname = \PYGZsq{}lftest\PYGZsq{}} +\PYG{n}{hostname} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{labfolder}\PYG{l+s+s1}{\PYGZsq{}} + +\PYG{k}{if} \PYG{n}{hostname} \PYG{o}{==} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{lftest}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{:} + \PYG{n}{server} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{http://}\PYG{l+s+s1}{\PYGZsq{}} \PYG{o}{+} \PYG{n}{hostname} \PYG{o}{+} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{.rz\PYGZhy{}berlin.mpg.de:9091}\PYG{l+s+s1}{\PYGZsq{}} +\PYG{k}{elif} \PYG{n}{hostname} \PYG{o}{==} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{labfolder}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{:} + \PYG{n}{server} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{https://}\PYG{l+s+s1}{\PYGZsq{}} \PYG{o}{+} \PYG{n}{hostname} \PYG{o}{+} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{.rz\PYGZhy{}berlin.mpg.de:9091}\PYG{l+s+s1}{\PYGZsq{}} + +\PYG{c+c1}{\PYGZsh{}\PYGZsh{}\PYGZsh{} The entries will be created using the following labfolder account which specifies the author of the entry. During the creation process, however, the entry\PYGZsq{}s author ID will be changed to the real author\PYGZsq{}s ID if the real author is already contained in the user table of the labfolder DB.} +\PYG{n}{email} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{weiher@fhi\PYGZhy{}berlin.mpg.de}\PYG{l+s+s1}{\PYGZsq{}} +\PYG{n}{password} \PYG{o}{=} \PYG{n}{getpass}\PYG{o}{.}\PYG{n}{getpass}\PYG{p}{(}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{Enter the labfolder password associated with }\PYG{l+s+s1}{\PYGZsq{}} \PYG{o}{+} \PYG{n}{emailAddress}\PYG{o}{+}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{: }\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{)} + +\PYG{c+c1}{\PYGZsh{}\PYGZsh{}\PYGZsh{} Specify the absolute path to the raw ELOG export file.} +\PYG{n}{elogExportFile} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{/home/stefan/Dokumente/labfolder/OperatingLogbook\PYGZus{}exportRaw\PYGZus{}ORIGINAL.txt}\PYG{l+s+s1}{\PYGZsq{}} + +\PYG{c+c1}{\PYGZsh{}\PYGZsh{}\PYGZsh{} Full path to where the attachments of the logbook to be imported are stored:} +\PYG{n}{attachmentsDirectory} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{/home/stefan/Dokumente/labfolder/Operating/}\PYG{l+s+s1}{\PYGZsq{}} + +\PYG{c+c1}{\PYGZsh{}\PYGZsh{}\PYGZsh{} Project name in labfolder} +\PYG{n}{projectName} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{operating}\PYG{l+s+s1}{\PYGZsq{}} +\end{sphinxVerbatim} + + +\section{Alternatives to manipulating the labfolder DB on MySQL level} +\label{\detokenize{importing_from_elog:alternatives-to-manipulating-the-labfolder-db-on-mysql-level}} +As mentioned previously: a few methods in the python API use a direct manipulation of the labfolder DB via MySQL queries. These methods are: +\begin{itemize} +\item {} +\sphinxstyleemphasis{createUserAccount(email, author, entryContent, verboseOutput, cursor, db)}: If an author of an ELOG logbook entry does not yet have a labolder account this account is created on the fly by setting a default (encrypted) password. This password is irrelevant because labfolder checks the entered password with the one from the LDAP server. Note: when setting a password in the DB labfolder’s LDAP authentication needs to be disabled (FEATURE\_LDAP\_AUTHENTICATION=false) beforehand and enabled again after the setting process is finished. + +\item {} +\sphinxstyleemphasis{updateAuthor(userID, blockID, cursor, db)}: Update the author of an entry. With the script \sphinxstyleemphasis{elog2labfolder.py} an entry is created with the author that is the person whose labfolder credentials are used to get the login token. Via this method the true author can be set to the passed in \sphinxstyleemphasis{userID}. + +\item {} +\sphinxstyleemphasis{updateDateAndTime(date, blockID, cursor, db)}: Similar to \sphinxstyleemphasis{updateAuthor()} this method sets the creation and modification date to the creation time and date of the entry to be imported. This is necessary because otherwise creation and modification date in labfolder are the time and date when the import took place. + +\end{itemize} + +The labfolder support suggested the following alternative involving using the labfolder API: +\begin{itemize} +\item {} +User account: A user account can be created via the API 2 endpoint \sphinxcode{/auth/signup}. The password will be an encrypted dummy password. In order for this to work the LDAP authentication must be turned off when this endpoint is called. After the account creation LDAP authentication should be turned on again. Once the true user of this account logs in labfolder will ignore the dummy password and check the entered password against the password stored in LDAP. + +\item {} +Author: To create a labfolder entry by using the original entry’s author needs a special work-around. \sphinxstylestrong{First, make sure to prevent labfolder users from accessing labfolder for the time of the import.} Then, manually change all user passwords in the DB to the same (encrypted) password. Switch off the LDAP authentication and restart labolder. Now, import entry by entry and get a new login token for each new entry. It is only possible to get login tokens for all users because they all have the same known password. If the author of the entry to be imported does not exist yet in the DB you need to create an account via the API 2 endpoint \sphinxcode{/auth/signup}. Now you reopen the access to the labfolder instance and switch on LDAP again restarting labfolder afterwards. The users can login using their FHI credentials no matter the “universal” password in the DB. If LDAP authentication is not turned on the users could do a password recovery on the login screen and re-set their password to their liking. + +\item {} +Date and time: Since you cannot change creation and modification time stamp of an entry via the API you could instead create custom dates during the import of an entry. The original entry creation timestamp could be “Original entry creation” followed by the creation time and date of the import. All entries can be filtered and searched by the custom dates. + +\end{itemize} + + \chapter{Printing via CUPS and attaching files to labfolder logbooks} \label{\detokenize{installation_cups:printing-via-cups-and-attaching-files-to-labfolder-logbooks}}\label{\detokenize{installation_cups::doc}} Follow this guide to set up CUPS virtual printers to be able to print webpages and pictures/files (PDF, PNG, JPG, PS) to one of labfolder’s logbooks, thus, creating a new entry with an attachment. If you are an admin of the labfolder VM read the section {\hyperref[\detokenize{installation_cups:section-cups-admin}]{\sphinxcrossref{\DUrole{std,std-ref}{Set up CUPS as labfolder admin}}}}. Users of labfolder read the section {\hyperref[\detokenize{installation_cups:section-cups-user}]{\sphinxcrossref{\DUrole{std,std-ref}{Printing to labfolder projects}}}}. @@ -335,10 +547,12 @@ mysql\PYGZgt{} INSERT INTO user (email, password, firstname, lastname, signupTimestamp, maxStorage) VALUES (\PYGZsq{}printer@fhi\PYGZhy{}berlin.mpg.de\PYGZsq{}, \PYGZsq{}91a13f2aba4a35b00c35dfacadd1d75f4a5171dfa7a465fca9c40e6b007ce982\PYGZsq{}, \PYGZsq{}Printer\PYGZsq{}, \PYGZsq{}Print\PYGZsq{}, \PYGZsq{}2018\PYGZhy{}03\PYGZhy{}21 10:54:00\PYGZsq{}, \PYGZsq{}10000000\PYGZsq{}); \end{sphinxVerbatim} +Das Passwort steht für “test1234”. Der entsprechende Hash-Wert im MySQL-Kommando wurde von Florian Hauer (labfolder) erstellt. + \section{Printing to labfolder projects} \label{\detokenize{installation_cups:printing-to-labfolder-projects}}\label{\detokenize{installation_cups:section-cups-user}} -The last thing you need to do is to set up a printer \sphinxstyleemphasis{operating} on your local machine. In Ubuntu Gnome hit Alt+F2 keys and enter \sphinxcode{system-config-printer}. In this printer config interface add a new printer \sphinxstyleemphasis{operating} as follows: +The last thing you need to do is to set up a printer, for example, \sphinxstyleemphasis{operating} on your local machine. In Ubuntu Gnome hit Alt+F2 keys and enter \sphinxcode{system-config-printer}. In this printer config interface add a new printer \sphinxstyleemphasis{operating} as follows: \noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{create_local_printer01}.png}\hspace*{\fill}} @@ -354,169 +568,7 @@ \noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{create_local_printer07}.png}\hspace*{\fill}} - -\chapter{Groups, ownership and sharing in labfolder} -\label{\detokenize{groups:groups-ownership-and-sharing-in-labfolder}}\label{\detokenize{groups::doc}} -As labfolder user you can create groups (ultimately: group projects) and private projects. In \sphinxstyleemphasis{Manage \textgreater{} Projects} you see all projects that you own and that you are a member of. - - -\section{Private projects} -\label{\detokenize{groups:private-projects}} -You alone are the owner of these projects in \sphinxstyleemphasis{My Private Projects}. Their ownership cannot be transfered from you to anyone else via the webinterface. Only via accepting the invitation to a group with the policy that private projects are not allowed the content of the former private project would be visible (and administrable) also to the group’s admin(s). By directly manipulating the database the ownership could be changed to an active user as well. - -\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{private_projects}.png}\hspace*{\fill}} - -\sphinxstylestrong{Private projects are possible through a back door} if a user creates their own group which doesn’t necessarily mean that they invite other users to this group. In their own group they could create as many (private) projects as they like. - - -\section{Group projects} -\label{\detokenize{groups:group-projects}} -Any labfolder user can create groups and subgroups in \sphinxstyleemphasis{Manage \textgreater{} Groups \textgreater{} Button “+Add”}. But within an already existing group a member can only create subgroups if they are set as an administrator of this group. In the role of the admin you can do the following: -\begin{itemize} -\item {} -Create (sub)groups - -\item {} -Invite users to your (sub)group via e-mail - -\item {} -Move users between subgroups - -\item {} -Set and remove (sub)group members as admins - -\item {} -Remove users from a (sub)group e.g. when they are leaving the institute (\sphinxstylestrong{In this case the ownership of this user’s projects within the (sub)group needs to be transfered first!}) - -\item {} -Delete (sub)groups (before deleting it you need to remove all group members) - -\end{itemize} - - -\section{Group settings} -\label{\detokenize{groups:group-settings}} -Administrators of groups (but not the ones of the subgroups) can edit the general settings of groups. - -\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{group_settings}.png}\hspace*{\fill}} -\begin{itemize} -\item {} -Through the option \sphinxstyleemphasis{Prevent group members from deleting content} all users (including the admin) are prevented from deleting projects or any other data from the labfolder database. Projects will merely be hidden if a user decides to \sphinxstyleemphasis{Remove} it from their list of projects. - -\item {} -By checking the option \sphinxstyleemphasis{Prevent group members from having private projects}, group members will not be allowed to have private projects. All private projects of group members will be moved into the group projects, but will not be shared with any other group members. - -\item {} -By switching on \sphinxstyleemphasis{Users can be members of several subgroups}, users which are already members of a group can be invited again to another subgroup within the group. If switched to off members cannot be invited to subgroups of their current group. - -\end{itemize} - - -\chapter{Import and export of projects and entries} -\label{\detokenize{import_export::doc}}\label{\detokenize{import_export:import-and-export-of-projects-and-entries}} - -\section{Import} -\label{\detokenize{import_export:import}} -The import of projects (from another labfolder instance or from another logbook software) is only possible via the labfolder API. An import of labfolder-own projects via webinterface is not possible to date. You can find the API documentation here: - -\begin{DUlineblock}{0em} -\item[] Version 1: \sphinxurl{http://labfolder.rz-berlin.mpg.de:9091/api/v1} -\item[] Version 2: \sphinxurl{https://labfolder.rz-berlin.mpg.de/api/v2/docs/development.html} -\end{DUlineblock} - -Version 2 is still in the development phase. - - -\section{Export} -\label{\detokenize{import_export:export}} -Exporting projects (or just single entries) is possible in three different formats: PDF, XHTML and JSON. The \sphinxstylestrong{export as PDF} can be done from within a project … - -\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{export_of_projects}.png}\hspace*{\fill}} - -… or from the project overview (\sphinxstyleemphasis{Manage \textgreater{} Projects}): - -\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{export_of_projects2}.png}\hspace*{\fill}} - -The \sphinxstylestrong{XHTML export} can be done via the settings: - -\noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{export_xhtml}.png}\hspace*{\fill}} - -However, to use this type of export it has to be installed first in the \sphinxstyleemphasis{Manage \textgreater{} Apps} section. By means of the XHTML export all projects that one owns will be exported. A detailled selection of projects or entries to be exported is not possible. As soon as the export process is finished a download link appears in the settings in \sphinxstyleemphasis{Data exports}. The downloadable ZIP file contains all images and files along with an index.html file that contains information about all entries. You could open and view the index.html file in a browser similar to the view in labfolder. - -The \sphinxstylestrong{JSON export} is only useable via the API endpoint \sphinxcode{GET /entries}. However, at the moment the response only contains useful information such as dates and tags. The author name is hidden behind the author ID and the entry text content is completely missing. - - -\chapter{Importing projects from e.g. the ELOGbook to Labfolder at the FHI} -\label{\detokenize{importing_from_elog:importing-projects-from-e-g-the-elogbook-to-labfolder-at-the-fhi}}\label{\detokenize{importing_from_elog::doc}} -The ELOG entries of a certain project need to be exported as \sphinxstyleemphasis{Raw} which looks like this: - -\fvset{hllines={, ,}}% -\begin{sphinxVerbatim}[commandchars=\\\{\}] -\PYGZdl{}@MID@\PYGZdl{}: 12 -Date: Tue, 03 Dec 2013 12:15:14 +0100 -Author: Wieland SchÃ\P{}llkopf -Author Email: mailto:wschoell@fhi\PYGZhy{}berlin.mpg.de -Category: Shift summary -Subject: 1st solid\PYGZhy{}state experiment with FHI FEL -Severity: DOCU -Keywords: -Record date: 1386069171 -Attachment: -Encoding: HTML -======================================== -\PYGZlt{}p\PYGZgt{}Today Alex Paarmann and Marc Herzog are measuring in the wavelength range from 10 to 20 micron with a 0.5 mm thick GGG (Gadolinium Gallium Garnet, \PYGZlt{}a title=\PYGZdq{}Gadolinium\PYGZdq{} href=\PYGZdq{}http://en.wikipedia.org/wiki/Gadolinium\PYGZdq{}\PYGZgt{}Gd\PYGZlt{}/a\PYGZgt{}\PYGZlt{}sub\PYGZgt{}3\PYGZlt{}/sub\PYGZgt{}\PYGZlt{}a title=\PYGZdq{}Gallium\PYGZdq{} href=\PYGZdq{}http://en.wikipedia.org/wiki/Gallium\PYGZdq{}\PYGZgt{}Ga\PYGZlt{}/a\PYGZgt{}\PYGZlt{}sub\PYGZgt{}5\PYGZlt{}/sub\PYGZgt{}\PYGZlt{}a title=\PYGZdq{}Oxygen\PYGZdq{} href=\PYGZdq{}http://en.wikipedia.org/wiki/Oxygen\PYGZdq{}\PYGZgt{}O\PYGZlt{}/a\PYGZgt{}\PYGZlt{}sub\PYGZgt{}12\PYGZlt{}/sub\PYGZgt{}). Electron energy is set to 26 MeV.\PYGZlt{}/p\PYGZgt{} -\end{sphinxVerbatim} - -The entry shown above looks like this in the ELOG webinterface: - -\noindent{\hspace*{\fill}\sphinxincludegraphics[width=1.000\linewidth]{{elog_entry}.png}\hspace*{\fill}} - -What is noticeable is that the ELOG export comes with an “Ã\P{}” instead of an “ö”. Interestingly, if only entries done by Wieland are exported the export file has UTF-8 encoding which can actually print German “Umlaute” (ö, ä, ü). If, however, all entries are exported the encoding changes to an encoding that cannot handle e.g. “ö”. - -After importing the above ELOG entry into labfolder this entry appears like that: - -\noindent{\hspace*{\fill}\sphinxincludegraphics[width=1.000\linewidth]{{entry_after_import}.png}\hspace*{\fill}} - - -\section{Using python to import from ELOG to labfolder} -\label{\detokenize{importing_from_elog:using-python-to-import-from-elog-to-labfolder}} -There is a GitHub project containing a python program for importing a raw (see the export example above) ELOG project. Get the project files by typing: - -\fvset{hllines={, ,}}% -\begin{sphinxVerbatim}[commandchars=\\\{\}] -\PYGZdl{} git clone https://github.molgen.mpg.de/weiher/elog2labfolder.git -\end{sphinxVerbatim} - -The script \sphinxstyleemphasis{elog2labfolder.py} is meant to be executed from remote, that is, not on the machine on which labfolder is running. A prerequisit is the python MySQLDB package because for a few methods the labfolder API cannot be used, instead, direct manipulation of the labfolder MySQL database is needed. The actual labfolder API is applied in the methodes collected in \sphinxstyleemphasis{myPythonAPIv1.py} and \sphinxstyleemphasis{myPythonAPIv2.py}. Mostly, API version 2 is used but adding text at the end of an entry can only be accomplished by using the version 1 API call. \sphinxstyleemphasis{getListOfAuthors.py} gives you a list of all authors that are mentioned in a raw ELOG export file. - - -\section{Alternatives to manipulating the labfolder DB on MySQL level} -\label{\detokenize{importing_from_elog:alternatives-to-manipulating-the-labfolder-db-on-mysql-level}} -As mentioned previously: a few methods in the python API use a direct manipulation of the labfolder DB via MySQL queries. These methods are: -\begin{itemize} -\item {} -\sphinxstyleemphasis{createUserAccount(email, author, entryContent, verboseOutput, cursor, db)}: If an author of an ELOG logbook entry does not yet have a labolder account this account is created on the fly by setting a default (encrypted) password. This password is irrelevant because labfolder checks the entered password with the one from the LDAP server. Note: when setting a password in the DB labfolder’s LDAP authentication needs to be disabled (FEATURE\_LDAP\_AUTHENTICATION=false) beforehand and enabled again after the setting process is finished. - -\item {} -\sphinxstyleemphasis{updateAuthor(userID, blockID, cursor, db)}: Update the author of an entry. With the script \sphinxstyleemphasis{elog2labfolder.py} an entry is created with the author that is the person whose labfolder credentials are used to get the login token. Via this method the true author can be set to the passed in \sphinxstyleemphasis{userID}. - -\item {} -\sphinxstyleemphasis{updateDateAndTime(date, blockID, cursor, db)}: Similar to \sphinxstyleemphasis{updateAuthor()} this method sets the creation and modification date to the creation time and date of the entry to be imported. This is necessary because otherwise creation and modification date in labfolder are the time and date when the import took place. - -\end{itemize} - -The labfolder support suggested the following alternative involving using the labfolder API: -\begin{itemize} -\item {} -User account: A user account can be created via the API 2 endpoint \sphinxcode{/auth/signup}. The password will be an encrypted dummy password. In order for this to work the LDAP authentication must be turned off when this endpoint is called. After the account creation LDAP authentication should be turned on again. Once the true user of this account logs in labfolder will ignore the dummy password and check the entered password against the password stored in LDAP. - -\item {} -Author: To create a labfolder entry by using the original entry’s author needs a special work-around. \sphinxstylestrong{First, make sure to prevent labfolder users from accessing labfolder for the time of the import.} Then, manually change all user passwords in the DB to the same (encrypted) password. Switch off the LDAP authentication and restart labolder. Now, import entry by entry and get a new login token for each new entry. It is only possible to get login tokens for all users because they all have the same known password. If the author of the entry to be imported does not exist yet in the DB you need to create an account via the API 2 endpoint \sphinxcode{/auth/signup}. Now you reopen the access to the labfolder instance and switch on LDAP again restarting labfolder afterwards. The users can login using their FHI credentials no matter the “universal” password in the DB. If LDAP authentication is not turned on the users could do a password recovery on the login screen and re-set their password to their liking. - -\item {} -Date and time: Since you cannot change creation and modification time stamp of an entry via the API you could instead create custom dates during the import of an entry. The original entry creation timestamp could be “Original entry creation” followed by the creation time and date of the import. All entries can be filtered and searched by the custom dates. - -\end{itemize} +Now, just select this printer when printing a webpage or a picture to a labfolder project.
--- a/elog2labfolder/_build/latex/elog2labfolder.toc Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/_build/latex/elog2labfolder.toc Mon Jun 04 16:38:36 2018 +0200 @@ -1,15 +1,17 @@ \select@language {english} \contentsline {chapter}{\numberline {1}Installation of labfolder}{1}{chapter.1} -\contentsline {chapter}{\numberline {2}Printing via CUPS and attaching files to labfolder logbooks}{5}{chapter.2} -\contentsline {section}{\numberline {2.1}Set up CUPS as labfolder admin}{5}{section.2.1} -\contentsline {section}{\numberline {2.2}Printing to labfolder projects}{7}{section.2.2} -\contentsline {chapter}{\numberline {3}Groups, ownership and sharing in labfolder}{11}{chapter.3} -\contentsline {section}{\numberline {3.1}Private projects}{11}{section.3.1} -\contentsline {section}{\numberline {3.2}Group projects}{11}{section.3.2} -\contentsline {section}{\numberline {3.3}Group settings}{12}{section.3.3} -\contentsline {chapter}{\numberline {4}Import and export of projects and entries}{13}{chapter.4} -\contentsline {section}{\numberline {4.1}Import}{13}{section.4.1} -\contentsline {section}{\numberline {4.2}Export}{13}{section.4.2} -\contentsline {chapter}{\numberline {5}Importing projects from e.g. the ELOGbook to Labfolder at the FHI}{15}{chapter.5} -\contentsline {section}{\numberline {5.1}Using python to import from ELOG to labfolder}{16}{section.5.1} -\contentsline {section}{\numberline {5.2}Alternatives to manipulating the labfolder DB on MySQL level}{16}{section.5.2} +\contentsline {chapter}{\numberline {2}Groups, ownership and sharing in labfolder}{5}{chapter.2} +\contentsline {section}{\numberline {2.1}Private projects}{5}{section.2.1} +\contentsline {section}{\numberline {2.2}Group projects}{5}{section.2.2} +\contentsline {section}{\numberline {2.3}Group settings}{6}{section.2.3} +\contentsline {chapter}{\numberline {3}Import and export of projects and entries}{7}{chapter.3} +\contentsline {section}{\numberline {3.1}Import}{7}{section.3.1} +\contentsline {section}{\numberline {3.2}Export}{7}{section.3.2} +\contentsline {chapter}{\numberline {4}Importing projects from e.g. the ELOGbook to Labfolder at the FHI}{9}{chapter.4} +\contentsline {section}{\numberline {4.1}Creating a group project}{9}{section.4.1} +\contentsline {section}{\numberline {4.2}Entries from ELOG}{9}{section.4.2} +\contentsline {section}{\numberline {4.3}Using python to import from ELOG to labfolder}{10}{section.4.3} +\contentsline {section}{\numberline {4.4}Alternatives to manipulating the labfolder DB on MySQL level}{11}{section.4.4} +\contentsline {chapter}{\numberline {5}Printing via CUPS and attaching files to labfolder logbooks}{13}{chapter.5} +\contentsline {section}{\numberline {5.1}Set up CUPS as labfolder admin}{13}{section.5.1} +\contentsline {section}{\numberline {5.2}Printing to labfolder projects}{15}{section.5.2}
--- a/elog2labfolder/importing_from_elog.rst Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/importing_from_elog.rst Mon Jun 04 16:38:36 2018 +0200 @@ -1,6 +1,27 @@ Importing projects from e.g. the ELOGbook to Labfolder at the FHI ================================================================= +This is how you generally do it:: + + + 1. In labfolder, create a new group project. + 2. Get the ELOG logbook "operating" and export it as RAW. Remember where you've put the text file with the raw output and the directory with attachments files. + 3. Only once: Get the elog2labfolder repository from github. + 4. Adapt elog2labfolder.py to your needs. Specify the name of the project that you created previously. + 4. Run elog2labfolder.py + +These steps are explained in more detail in the following. + + +Creating a group project +------------------------ + +As the group admin (or one of the admins) in labfolder create a group project, for example, "operating" in a group named "FEL". You are now the owner of this project. Make sure you don't have several projects of the same name in one group. + + +Entries from ELOG +----------------- + The ELOG entries of a certain project need to be exported as *Raw* which looks like this:: $@MID@$: 12 @@ -41,6 +62,32 @@ The script *elog2labfolder.py* is meant to be executed from remote, that is, not on the machine on which labfolder is running. A prerequisit is the python MySQLDB package because for a few methods the labfolder API cannot be used, instead, direct manipulation of the labfolder MySQL database is needed. The actual labfolder API is applied in the methodes collected in *myPythonAPIv1.py* and *myPythonAPIv2.py*. Mostly, API version 2 is used but adding text at the end of an entry can only be accomplished by using the version 1 API call. *getListOfAuthors.py* gives you a list of all authors that are mentioned in a raw ELOG export file. +To finally import an ELOG logbook to a labfolder project you need to run ``$ python elog2labfolder.py``. Prior to this you need to make some changes to the header of the file, that is, these lines:: + + ### Set the hostname + #hostname = 'lftest' + hostname = 'labfolder' + + if hostname == 'lftest': + server = 'http://' + hostname + '.rz-berlin.mpg.de:9091' + elif hostname == 'labfolder': + server = 'https://' + hostname + '.rz-berlin.mpg.de:9091' + + ### The entries will be created using the following labfolder account which specifies the author of the entry. During the creation process, however, the entry's author ID will be changed to the real author's ID if the real author is already contained in the user table of the labfolder DB. + email = 'weiher@fhi-berlin.mpg.de' + password = getpass.getpass('Enter the labfolder password associated with ' + emailAddress+': ') + + ### Specify the absolute path to the raw ELOG export file. + elogExportFile = '/home/stefan/Dokumente/labfolder/OperatingLogbook_exportRaw_ORIGINAL.txt' + + ### Full path to where the attachments of the logbook to be imported are stored: + attachmentsDirectory = '/home/stefan/Dokumente/labfolder/Operating/' + + ### Project name in labfolder + projectName = 'operating' + + + Alternatives to manipulating the labfolder DB on MySQL level ------------------------------------------------------------
--- a/elog2labfolder/importing_from_elog.rst~ Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/importing_from_elog.rst~ Mon Jun 04 16:38:36 2018 +0200 @@ -1,6 +1,27 @@ Importing projects from e.g. the ELOGbook to Labfolder at the FHI ================================================================= +This is how you generally do it:: + + + 1. In labfolder, create a new group project. + 2. Get the ELOG logbook "operating" and export it as RAW. Remember where you've put the text file with the raw output and the directory with attachments files. + 3. Only once: Get the elog2labfolder repository from github. + 4. Adapt elog2labfolder.py to your needs. Specify the name of the project that you created previously. + 4. Run elog2labfolder.py + +These steps are explained in more detail in the following. + + +Creating a group project +------------------------ + +As the group admin (or one of the admins) in labfolder create a group project, for example, "operating" in a group named "FEL". You are now the owner of this project. Make sure you don't have several projects of the same name in one group. + + +Entries from ELOG +----------------- + The ELOG entries of a certain project need to be exported as *Raw* which looks like this:: $@MID@$: 12 @@ -41,6 +62,32 @@ The script *elog2labfolder.py* is meant to be executed from remote, that is, not on the machine on which labfolder is running. A prerequisit is the python MySQLDB package because for a few methods the labfolder API cannot be used, instead, direct manipulation of the labfolder MySQL database is needed. The actual labfolder API is applied in the methodes collected in *myPythonAPIv1.py* and *myPythonAPIv2.py*. Mostly, API version 2 is used but adding text at the end of an entry can only be accomplished by using the version 1 API call. *getListOfAuthors.py* gives you a list of all authors that are mentioned in a raw ELOG export file. +To finally import an ELOG logbook to a labfolder project you need to run ``$ python elog2labfolder.py``. Prior to this you need to make some changes to the header of the file, that is, these lines: + + ### Set the hostname + #hostname = 'lftest' + hostname = 'labfolder' + + if hostname == 'lftest': + server = 'http://' + hostname + '.rz-berlin.mpg.de:9091' + elif hostname == 'labfolder': + server = 'https://' + hostname + '.rz-berlin.mpg.de:9091' + + ### The entries will be created using the following labfolder account which specifies the author of the entry. During the creation process, however, the entry's author ID will be changed to the real author's ID if the real author is already contained in the user table of the labfolder DB. + email = 'weiher@fhi-berlin.mpg.de' + password = getpass.getpass('Enter the labfolder password associated with ' + emailAddress+': ') + + ### Specify the absolute path to the raw ELOG export file. + elogExportFile = '/home/stefan/Dokumente/labfolder/OperatingLogbook_exportRaw_ORIGINAL.txt' + + ### Full path to where the attachments of the logbook to be imported are stored: + attachmentsDirectory = '/home/stefan/Dokumente/labfolder/Operating/' + + ### Project name in labfolder + projectName = 'operating' + + + Alternatives to manipulating the labfolder DB on MySQL level ------------------------------------------------------------ @@ -58,9 +105,7 @@ * Author: To create a labfolder entry by using the original entry's author needs a special work-around. **First, make sure to prevent labfolder users from accessing labfolder for the time of the import.** Then, manually change all user passwords in the DB to the same (encrypted) password. Switch off the LDAP authentication and restart labolder. Now, import entry by entry and get a new login token for each new entry. It is only possible to get login tokens for all users because they all have the same known password. If the author of the entry to be imported does not exist yet in the DB you need to create an account via the API 2 endpoint ``/auth/signup``. Now you reopen the access to the labfolder instance and switch on LDAP again restarting labfolder afterwards. The users can login using their FHI credentials no matter the "universal" password in the DB. If LDAP authentication is not turned on the users could do a password recovery on the login screen and re-set their password to their liking. -* Date and time: Since you cannot change creation and modification time stamp of an entry via the API you could instead create custom dates during the import - -creation time wird das Datum bleiben, an dem der Eintrag importiert wurde; beim Import wird aber ein custom date angelegt, das z.B. "Original-Erstellungsdatum" heißt und als Datum das Erstellungsdatum aus Elog enthält (alle Einträge sind dann auch nach diesem Datum filterbar und durchsuchbar) +* Date and time: Since you cannot change creation and modification time stamp of an entry via the API you could instead create custom dates during the import of an entry. The original entry creation timestamp could be "Original entry creation" followed by the creation time and date of the import. All entries can be filtered and searched by the custom dates.
--- a/elog2labfolder/index.rst Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/index.rst Mon Jun 04 16:38:36 2018 +0200 @@ -11,10 +11,10 @@ :caption: Contents: installation.rst - installation_cups.rst groups.rst import_export.rst importing_from_elog.rst + installation_cups.rst .. DONE: elog2labfolder.py
--- a/elog2labfolder/index.rst~ Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/index.rst~ Mon Jun 04 16:38:36 2018 +0200 @@ -12,8 +12,6 @@ installation.rst installation_cups.rst - cups_admin_guide.rst - cups_user_guide.rst groups.rst import_export.rst importing_from_elog.rst
--- a/elog2labfolder/installation_cups.rst Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/installation_cups.rst Mon Jun 04 16:38:36 2018 +0200 @@ -4,6 +4,7 @@ Follow this guide to set up CUPS virtual printers to be able to print webpages and pictures/files (PDF, PNG, JPG, PS) to one of labfolder's logbooks, thus, creating a new entry with an attachment. If you are an admin of the labfolder VM read the section :ref:`section_cups_admin`. Users of labfolder read the section :ref:`section_cups_user`. + .. _section_cups_admin: Set up CUPS as labfolder admin @@ -121,14 +122,16 @@ mysql> use labfolder; mysql> INSERT INTO user (email, password, firstname, lastname, signupTimestamp, maxStorage) VALUES ('printer@fhi-berlin.mpg.de', '91a13f2aba4a35b00c35dfacadd1d75f4a5171dfa7a465fca9c40e6b007ce982', 'Printer', 'Print', '2018-03-21 10:54:00', '10000000'); -Das Passwort steht für "test1234". +Das Passwort steht für "test1234". Der entsprechende Hash-Wert im MySQL-Kommando wurde von Florian Hauer (labfolder) erstellt. + + .. _section_cups_user: Printing to labfolder projects ------------------------------ -The last thing you need to do is to set up a printer *operating* on your local machine. In Ubuntu Gnome hit Alt+F2 keys and enter ``system-config-printer``. In this printer config interface add a new printer *operating* as follows: +The last thing you need to do is to set up a printer, for example, *operating* on your local machine. In Ubuntu Gnome hit Alt+F2 keys and enter ``system-config-printer``. In this printer config interface add a new printer *operating* as follows: .. image:: _static/create_local_printer01.png :width: 70 % @@ -164,3 +167,5 @@ :width: 70 % :align: center +Now, just select this printer when printing a webpage or a picture to a labfolder project. +
--- a/elog2labfolder/installation_cups.rst~ Mon Jun 04 13:54:51 2018 +0200 +++ b/elog2labfolder/installation_cups.rst~ Mon Jun 04 16:38:36 2018 +0200 @@ -121,13 +121,14 @@ mysql> use labfolder; mysql> INSERT INTO user (email, password, firstname, lastname, signupTimestamp, maxStorage) VALUES ('printer@fhi-berlin.mpg.de', '91a13f2aba4a35b00c35dfacadd1d75f4a5171dfa7a465fca9c40e6b007ce982', 'Printer', 'Print', '2018-03-21 10:54:00', '10000000'); +Das Passwort steht für "test1234". Der entsprechende Hash-Wert im MySQL-Kommando wurde von Florian Hauer (labfolder) erstellt. .. _section_cups_user: Printing to labfolder projects ------------------------------ -The last thing you need to do is to set up a printer *operating* on your local machine. In Ubuntu Gnome hit Alt+F2 keys and enter ``system-config-printer``. In this printer config interface add a new printer *operating* as follows: +The last thing you need to do is to set up a printer, for example, *operating* on your local machine. In Ubuntu Gnome hit Alt+F2 keys and enter ``system-config-printer``. In this printer config interface add a new printer *operating* as follows: .. image:: _static/create_local_printer01.png :width: 70 % @@ -163,3 +164,5 @@ :width: 70 % :align: center +Now, just select this printer when printing a webpage or a picture to a labfolder project. +