added new chapter on installation of CUPS printers
authorweiher
Tue, 27 Mar 2018 16:07:14 +0200
changeset 15 523ca1dfd077
parent 13 a21f3604f1db
child 16 4afdd7d61fe2
added new chapter on installation of CUPS printers
elog2labfolder/_build/doctrees/cups_admin_guide.doctree
elog2labfolder/_build/doctrees/cups_user_guide.doctree
elog2labfolder/_build/doctrees/environment.pickle
elog2labfolder/_build/doctrees/installation_cups.doctree
elog2labfolder/_build/html/_images/create_local_printer01.png
elog2labfolder/_build/html/_images/create_local_printer02.png
elog2labfolder/_build/html/_images/create_local_printer03.png
elog2labfolder/_build/html/_images/create_local_printer04.png
elog2labfolder/_build/html/_images/create_local_printer05.png
elog2labfolder/_build/html/_images/create_local_printer06.png
elog2labfolder/_build/html/_images/create_local_printer07.png
elog2labfolder/_build/html/_images/cups_print_operating.png
elog2labfolder/_build/html/_sources/cups_admin_guide.rst.txt
elog2labfolder/_build/html/_sources/cups_user_guide.rst.txt
elog2labfolder/_build/html/_sources/import_export.rst.txt
elog2labfolder/_build/html/_sources/importing_from_elog.rst.txt
elog2labfolder/_build/html/_sources/index.rst.txt
elog2labfolder/_build/html/_sources/installation_cups.rst.txt
elog2labfolder/_build/html/_static/create_local_printer01.png
elog2labfolder/_build/html/_static/create_local_printer02.png
elog2labfolder/_build/html/_static/create_local_printer03.png
elog2labfolder/_build/html/_static/create_local_printer04.png
elog2labfolder/_build/html/_static/create_local_printer05.png
elog2labfolder/_build/html/_static/create_local_printer06.png
elog2labfolder/_build/html/_static/create_local_printer07.png
elog2labfolder/_build/html/_static/cups_print_operating.png
elog2labfolder/_build/html/cups_admin_guide.html
elog2labfolder/_build/html/cups_user_guide.html
elog2labfolder/_build/html/import_export.html
elog2labfolder/_build/html/importing_from_elog.html
elog2labfolder/_build/html/index.html
elog2labfolder/_build/html/installation_cups.html
elog2labfolder/_build/html/objects.inv
elog2labfolder/_build/html/searchindex.js
elog2labfolder/_build/latex/elog2labfolder.aux
elog2labfolder/_build/latex/elog2labfolder.fdb_latexmk
elog2labfolder/_build/latex/elog2labfolder.fls
elog2labfolder/_build/latex/elog2labfolder.log
elog2labfolder/_build/latex/elog2labfolder.out
elog2labfolder/_build/latex/elog2labfolder.pdf
elog2labfolder/_build/latex/elog2labfolder.tex
elog2labfolder/_build/latex/elog2labfolder.toc
elog2labfolder/index.rst~
elog2labfolder/installation_cups.rst
elog2labfolder/installation_cups.rst~
Binary file elog2labfolder/_build/doctrees/cups_admin_guide.doctree has changed
Binary file elog2labfolder/_build/doctrees/cups_user_guide.doctree has changed
Binary file elog2labfolder/_build/doctrees/environment.pickle has changed
Binary file elog2labfolder/_build/doctrees/installation_cups.doctree has changed
Binary file elog2labfolder/_build/html/_images/create_local_printer01.png has changed
Binary file elog2labfolder/_build/html/_images/create_local_printer02.png has changed
Binary file elog2labfolder/_build/html/_images/create_local_printer03.png has changed
Binary file elog2labfolder/_build/html/_images/create_local_printer04.png has changed
Binary file elog2labfolder/_build/html/_images/create_local_printer05.png has changed
Binary file elog2labfolder/_build/html/_images/create_local_printer06.png has changed
Binary file elog2labfolder/_build/html/_images/create_local_printer07.png has changed
Binary file elog2labfolder/_build/html/_images/cups_print_operating.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/elog2labfolder/_build/html/_sources/cups_admin_guide.rst.txt	Tue Mar 27 16:07:14 2018 +0200
@@ -0,0 +1,7 @@
+.. _my-reference-label:
+
+Set up CUPS as labfolder admin
+------------------------------
+
+This is a test.
+
--- a/elog2labfolder/_build/html/_sources/import_export.rst.txt	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/html/_sources/import_export.rst.txt	Tue Mar 27 16:07:14 2018 +0200
@@ -13,7 +13,7 @@
 
 Export
 ------
-Exporting projects (or just single entries) is possible in three different formats: PDF, XHTML and JSON. The export as PDF can be done from within a project ...
+Exporting projects (or just single entries) is possible in three different formats: PDF, XHTML and JSON. The **export as PDF** can be done from within a project ...
 
 .. image:: _static/export_of_projects.png
    :width: 70 %
@@ -25,7 +25,7 @@
    :width: 70 %
    :align: center
 
-The XHTML export can be done via the settings:
+The **XHTML export** can be done via the settings:
 
 .. image:: _static/export_xhtml.png
    :width: 70 %
@@ -33,5 +33,5 @@
 
 However, to use this type of export it has to be installed first in the *Manage > 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 *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 JSON export is only useable via the API endpoint ``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.
+The **JSON export** is only useable via the API endpoint ``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.
 
--- a/elog2labfolder/_build/html/_sources/importing_from_elog.rst.txt	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/html/_sources/importing_from_elog.rst.txt	Tue Mar 27 16:07:14 2018 +0200
@@ -39,22 +39,27 @@
 
 	$ git clone https://github.molgen.mpg.de/weiher/elog2labfolder.git
 
-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 in a raw ELOG export file.
+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.
 
-Alternatives to the manipulating the labfolder DB on MySQL level
-----------------------------------------------------------------
+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:
 
-* *createUserAccount(email, author, entryContent, verboseOutput, cursor, db)*: If an author of an ELOG logbook entry has not yet 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) and enabled again after the setting process is finished.
+* *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.
 
 * *updateAuthor(userID, blockID, cursor, db)*: Update the author of an entry. With the script *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 *userID*.
 
-* *updateDateAndTime(date, blockID, cursor, db)*: Similar to *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 are the time and date of the import of the entry.
+* *updateDateAndTime(date, blockID, cursor, db)*: Similar to *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.
 
 The labfolder support suggested the following alternative involving using the labfolder API:
 
-* ... siehe E-Mail (gesendet) vom 15.12. ...
+* User account: A user account can be created via the API 2 endpoint ``/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.
+
+* 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 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/_build/html/_sources/index.rst.txt	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/html/_sources/index.rst.txt	Tue Mar 27 16:07:14 2018 +0200
@@ -11,19 +11,17 @@
    :caption: Contents:
 
    installation.rst
+   installation_cups.rst
    groups.rst
    import_export.rst
    importing_from_elog.rst
 
 ..
-	elog2labfolder.py
+	DONE: elog2labfolder.py
 
 	Installation von Cups
 
-	Funktion und Nutzung der labfolder-APIs
-
-	    Mit welcher API funktioniert was?
-	    Generell nicht möglich mit den APIs: Ändern der User-ID und des Timestamps
+	DONE: Funktion und Nutzung der labfolder-APIs: Mit welcher API funktioniert was? Generell nicht möglich mit den APIs: Ändern der User-ID und des Timestamps
 
 	Was sind die Probleme, die uns derzeit an der Umstellung hindern bzw. die uns langfristig gesehen skeptisch machen, ob Labfolder wirklich geeignet ist?
 
@@ -35,7 +33,7 @@
 	    Darstellung von Umlauten im elog-Export
 	    Darstellung von Text in PDFs im labfolder-PDF-Viewer (labfolder weiß Bescheid)
 
-	Informationen aus meiner E-Mail an Heinz vom 15.12. hinzufügen
+	DONE: Informationen aus meiner E-Mail an Heinz vom 15.12. hinzufügen
 
 	Versuch einer REST-API
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/elog2labfolder/_build/html/_sources/installation_cups.rst.txt	Tue Mar 27 16:07:14 2018 +0200
@@ -0,0 +1,165 @@
+Printing via CUPS and attaching files to labfolder logbooks
+===========================================================
+
+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
+------------------------------
+
+First, you need to install CUPS on the virtual machine that runs labfolder::
+
+	sudo apt-get install cups cups-client cups-bsd
+
+Next, configure ``/etc/cups/cupsd.conf``::
+
+	# Sample configuration file for the CUPS scheduler.  See "man cupsd.conf" for a
+	# complete description of this file.
+
+	# Log general information in error_log - change "warn" to "debug"
+	# for troubleshooting...
+	LogLevel debug
+
+	# Deactivate CUPS' internal logrotating, as we provide a better one, especially
+	# LogLevel debug2 gets usable now
+	MaxLogSize 0
+
+	# Administrator user group...
+	SystemGroup lpadmin
+	ServerAdmin <name>@fhi-berlin.mpg.de
+
+	HostNameLookups On
+	ServerAlias *
+
+	# Only listen for connections from the local machine.
+	Listen lftest.rz-berlin.mpg.de:631
+	Listen /var/run/cups/cups.sock
+
+	# Show shared printers on the local network.
+	Browsing Off
+	BrowseOrder allow,deny
+	BrowseAllow all
+	BrowseLocalProtocols CUPS dnssd
+	BrowseAddress @LOCAL
+
+	# Default authentication type, when authentication is required...
+	DefaultAuthType Basic
+
+	# Web interface setting...
+	WebInterface Yes
+
+	# Restrict access to the server...
+	<Location />
+	  Satisfy All
+	  Allow localhost
+	  Allow 141.14.*
+	  Allow 172.16.*
+	  Allow 192.*
+	  Allow all
+	  # Allow shared printing and remote administration...
+	  Order allow,deny
+	  Allow all
+	</Location>
+
+	# Restrict access to the admin pages...
+	<Location /admin>
+	  Order deny,allow
+	  Satisfy All
+	  AuthType Basic
+	  Require user @SYSTEM
+	  Deny All
+	  Allow localhost
+	  Allow 141.14.*
+	  Allow 172.16.*
+	</Location>
+
+	# Restrict access to configuration files...
+	<Location /admin/conf>
+	  Order deny,allow
+	  AuthType Default
+	  Require user @SYSTEM
+	  Satisfy All
+	  Require user root
+	  Deny All
+	  Allow 127.0.0.1
+	  Allow 141.14.*
+	  Allow 172.16.*
+	</Location>
+
+	# Set the default printer/job policies...
+	<Policy default>
+	  ... # probably as in the original
+	</Policy>
+
+Change the *Server Admin*'s e-mail address and the server that shall be listened to (see the ``Listen`` statement). Set ``FileDevice Yes`` in ``/etc/cups/cups-files.conf``. Now, create a directory where all printers will go, e.g. ``/usr/local/labfolder/printers``.
+
+Get the package for creating new printers from git::
+
+	labfolder@lftest:~$ git clone https://github.molgen.mpg.de/weiher/cupsPrinters
+	labfolder@lftest:~$ ls
+	cupsPrinters  labfolder
+
+The only file you need to adapt is ``newPrinter.sh``. It is not a must but it is suggested to name the printers like the projects. For example, the FEL projects *operating* and *installation* could be placed at ``.../printers/FEL/operating`` and ``.../printers/FEL/installation``. Execute the script with sudo rights::
+
+	labfolder@lftest:~/cupsPrinters$ sudo ./newPrinter.sh
+
+To prevent ``DENIED`` errors from apparmor install and set the following and restart the CUPS server::
+
+	$ sudo apt-get install apparmor-utils apparmor-profiles
+	$ sudo aa-complain cupsd
+	$ sudo service cups restart
+
+In case you need to debug some logfiles can be found here: */var/log/syslog*, */var/log/cups/error_log* and */var/log/cups/acces_log*
+
+One last change is that you need to once add a user named *Printer Print* (firstname lastname) to the labfolder database. This can be done manually inside the DB by this command::
+
+	$ mysql -u root -p
+	Enter password:
+	...
+	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');
+
+
+.. _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:
+
+.. image:: _static/create_local_printer01.png
+   :width: 70 %
+   :align: center
+
+
+.. image:: _static/create_local_printer02.png   
+   :width: 70 %
+   :align: center
+
+
+.. image:: _static/create_local_printer03.png
+   :width: 70 %
+   :align: center
+
+
+.. image:: _static/create_local_printer04.png
+   :width: 70 %
+   :align: center
+
+
+.. image:: _static/create_local_printer05.png
+   :width: 70 %
+   :align: center
+
+
+.. image:: _static/create_local_printer06.png
+   :width: 70 %
+   :align: center
+
+
+.. image:: _static/create_local_printer07.png
+   :width: 70 %
+   :align: center
+
Binary file elog2labfolder/_build/html/_static/create_local_printer01.png has changed
Binary file elog2labfolder/_build/html/_static/create_local_printer02.png has changed
Binary file elog2labfolder/_build/html/_static/create_local_printer03.png has changed
Binary file elog2labfolder/_build/html/_static/create_local_printer04.png has changed
Binary file elog2labfolder/_build/html/_static/create_local_printer05.png has changed
Binary file elog2labfolder/_build/html/_static/create_local_printer06.png has changed
Binary file elog2labfolder/_build/html/_static/create_local_printer07.png has changed
Binary file elog2labfolder/_build/html/_static/cups_print_operating.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/elog2labfolder/_build/html/cups_admin_guide.html	Tue Mar 27 16:07:14 2018 +0200
@@ -0,0 +1,93 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Set up CUPS as labfolder admin &#8212; Labfolder at FHI 1.0 documentation</title>
+    <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '1.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <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="&lt;no title&gt;" href="cups_user_guide.html" />
+    <link rel="prev" title="Printing via CUPS and attaching files to labfolder logbooks" href="installation_cups.html" />
+   
+  <link rel="stylesheet" href="_static/custom.css" type="text/css" />
+  
+  
+  <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+  </head>
+  <body>
+  
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  <div class="section" id="set-up-cups-as-labfolder-admin">
+<span id="my-reference-label"></span><h1>Set up CUPS as labfolder admin<a class="headerlink" href="#set-up-cups-as-labfolder-admin" title="Permalink to this headline">¶</a></h1>
+<p>This is a test.</p>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper"><div class="relations">
+<h3>Related Topics</h3>
+<ul>
+  <li><a href="index.html">Documentation overview</a><ul>
+      <li>Previous: <a href="installation_cups.html" title="previous chapter">Printing via CUPS and attaching files to labfolder logbooks</a></li>
+      <li>Next: <a href="cups_user_guide.html" title="next chapter">&lt;no title&gt;</a></li>
+  </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <div><input type="text" name="q" /></div>
+      <div><input type="submit" value="Go" /></div>
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="footer">
+      &copy;2018, Stefan Weiher.
+      
+      |
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.6</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
+      
+      |
+      <a href="_sources/cups_admin_guide.rst.txt"
+          rel="nofollow">Page source</a>
+    </div>
+
+    
+
+    
+  </body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/elog2labfolder/_build/html/cups_user_guide.html	Tue Mar 27 16:07:14 2018 +0200
@@ -0,0 +1,89 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>&lt;no title&gt; &#8212; Labfolder at FHI 1.0 documentation</title>
+    <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '1.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <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="Set up CUPS as labfolder admin" href="cups_admin_guide.html" />
+   
+  <link rel="stylesheet" href="_static/custom.css" type="text/css" />
+  
+  
+  <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+  </head>
+  <body>
+  
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper"><div class="relations">
+<h3>Related Topics</h3>
+<ul>
+  <li><a href="index.html">Documentation overview</a><ul>
+      <li>Previous: <a href="cups_admin_guide.html" title="previous chapter">Set up CUPS as labfolder admin</a></li>
+      <li>Next: <a href="groups.html" title="next chapter">Groups, ownership and sharing in labfolder</a></li>
+  </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <div><input type="text" name="q" /></div>
+      <div><input type="submit" value="Go" /></div>
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="footer">
+      &copy;2018, Stefan Weiher.
+      
+      |
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.6</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
+      
+      |
+      <a href="_sources/cups_user_guide.rst.txt"
+          rel="nofollow">Page source</a>
+    </div>
+
+    
+
+    
+  </body>
+</html>
\ No newline at end of file
--- a/elog2labfolder/_build/html/import_export.html	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/html/import_export.html	Tue Mar 27 16:07:14 2018 +0200
@@ -54,14 +54,14 @@
 </div>
 <div class="section" id="export">
 <h2>Export<a class="headerlink" href="#export" title="Permalink to this headline">¶</a></h2>
-<p>Exporting projects (or just single entries) is possible in three different formats: PDF, XHTML and JSON. The export as PDF can be done from within a project …</p>
+<p>Exporting projects (or just single entries) is possible in three different formats: PDF, XHTML and JSON. The <strong>export as PDF</strong> can be done from within a project …</p>
 <a class="reference internal image-reference" href="_images/export_of_projects.png"><img alt="_images/export_of_projects.png" class="align-center" src="_images/export_of_projects.png" style="width: 70%;" /></a>
 <p>… or from the project overview (<em>Manage &gt; Projects</em>):</p>
 <a class="reference internal image-reference" href="_images/export_of_projects2.png"><img alt="_images/export_of_projects2.png" class="align-center" src="_images/export_of_projects2.png" style="width: 70%;" /></a>
-<p>The XHTML export can be done via the settings:</p>
+<p>The <strong>XHTML export</strong> can be done via the settings:</p>
 <a class="reference internal image-reference" href="_images/export_xhtml.png"><img alt="_images/export_xhtml.png" class="align-center" src="_images/export_xhtml.png" style="width: 70%;" /></a>
 <p>However, to use this type of export it has to be installed first in the <em>Manage &gt; Apps</em> 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 <em>Data exports</em>. 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.</p>
-<p>The JSON export is only useable via the API endpoint <code class="docutils literal"><span class="pre">GET</span> <span class="pre">/entries</span></code>. 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.</p>
+<p>The <strong>JSON export</strong> is only useable via the API endpoint <code class="docutils literal"><span class="pre">GET</span> <span class="pre">/entries</span></code>. 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.</p>
 </div>
 </div>
 
--- a/elog2labfolder/_build/html/importing_from_elog.html	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/html/importing_from_elog.html	Tue Mar 27 16:07:14 2018 +0200
@@ -69,19 +69,21 @@
 <div class="highlight-default"><div class="highlight"><pre><span></span>$ git clone https://github.molgen.mpg.de/weiher/elog2labfolder.git
 </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 in a raw ELOG export file.</p>
+<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>
 </div>
-<div class="section" id="alternatives-to-the-manipulating-the-labfolder-db-on-mysql-level">
-<h2>Alternatives to the manipulating the labfolder DB on MySQL level<a class="headerlink" href="#alternatives-to-the-manipulating-the-labfolder-db-on-mysql-level" title="Permalink to this headline">¶</a></h2>
+<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>
 <p>As mentioned previously: a few methods in the python API use a direct manipulation of the labfolder DB via MySQL queries. These methods are:</p>
 <ul class="simple">
-<li><em>createUserAccount(email, author, entryContent, verboseOutput, cursor, db)</em>: If an author of an ELOG logbook entry has not yet 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) and enabled again after the setting process is finished.</li>
+<li><em>createUserAccount(email, author, entryContent, verboseOutput, cursor, db)</em>: 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.</li>
 <li><em>updateAuthor(userID, blockID, cursor, db)</em>: Update the author of an entry. With the script <em>elog2labfolder.py</em> 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 <em>userID</em>.</li>
-<li><em>updateDateAndTime(date, blockID, cursor, db)</em>: Similar to <em>updateAuthor()</em> 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 are the time and date of the import of the entry.</li>
+<li><em>updateDateAndTime(date, blockID, cursor, db)</em>: Similar to <em>updateAuthor()</em> 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.</li>
 </ul>
 <p>The labfolder support suggested the following alternative involving using the labfolder API:</p>
 <ul class="simple">
-<li>… siehe E-Mail (gesendet) vom 15.12. …</li>
+<li>User account: A user account can be created via the API 2 endpoint <code class="docutils literal"><span class="pre">/auth/signup</span></code>. 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.</li>
+<li>Author: To create a labfolder entry by using the original entry’s author needs a special work-around. <strong>First, make sure to prevent labfolder users from accessing labfolder for the time of the import.</strong> 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 <code class="docutils literal"><span class="pre">/auth/signup</span></code>. 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.</li>
+<li>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.</li>
 </ul>
 </div>
 </div>
--- a/elog2labfolder/_build/html/index.html	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/html/index.html	Tue Mar 27 16:07:14 2018 +0200
@@ -46,6 +46,11 @@
 <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>
@@ -59,7 +64,7 @@
 </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#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-the-manipulating-the-labfolder-db-on-mysql-level">Alternatives to the manipulating the labfolder DB on MySQL level</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>
 </ul>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/elog2labfolder/_build/html/installation_cups.html	Tue Mar 27 16:07:14 2018 +0200
@@ -0,0 +1,217 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Printing via CUPS and attaching files to labfolder logbooks &#8212; Labfolder at FHI 1.0 documentation</title>
+    <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '1.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <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="stylesheet" href="_static/custom.css" type="text/css" />
+  
+  
+  <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+  </head>
+  <body>
+  
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  <div class="section" id="printing-via-cups-and-attaching-files-to-labfolder-logbooks">
+<h1>Printing via CUPS and attaching files to labfolder logbooks<a class="headerlink" href="#printing-via-cups-and-attaching-files-to-labfolder-logbooks" title="Permalink to this headline">¶</a></h1>
+<p>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 <a class="reference internal" href="#section-cups-admin"><span class="std std-ref">Set up CUPS as labfolder admin</span></a>. Users of labfolder read the section <a class="reference internal" href="#section-cups-user"><span class="std std-ref">Printing to labfolder projects</span></a>.</p>
+<div class="section" id="set-up-cups-as-labfolder-admin">
+<span id="section-cups-admin"></span><h2>Set up CUPS as labfolder admin<a class="headerlink" href="#set-up-cups-as-labfolder-admin" title="Permalink to this headline">¶</a></h2>
+<p>First, you need to install CUPS on the virtual machine that runs labfolder:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">cups</span> <span class="n">cups</span><span class="o">-</span><span class="n">client</span> <span class="n">cups</span><span class="o">-</span><span class="n">bsd</span>
+</pre></div>
+</div>
+<p>Next, configure <code class="docutils literal"><span class="pre">/etc/cups/cupsd.conf</span></code>:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># Sample configuration file for the CUPS scheduler.  See &quot;man cupsd.conf&quot; for a</span>
+<span class="c1"># complete description of this file.</span>
+
+<span class="c1"># Log general information in error_log - change &quot;warn&quot; to &quot;debug&quot;</span>
+<span class="c1"># for troubleshooting...</span>
+<span class="n">LogLevel</span> <span class="n">debug</span>
+
+<span class="c1"># Deactivate CUPS&#39; internal logrotating, as we provide a better one, especially</span>
+<span class="c1"># LogLevel debug2 gets usable now</span>
+<span class="n">MaxLogSize</span> <span class="mi">0</span>
+
+<span class="c1"># Administrator user group...</span>
+<span class="n">SystemGroup</span> <span class="n">lpadmin</span>
+<span class="n">ServerAdmin</span> <span class="o">&lt;</span><span class="n">name</span><span class="o">&gt;</span><span class="nd">@fhi</span><span class="o">-</span><span class="n">berlin</span><span class="o">.</span><span class="n">mpg</span><span class="o">.</span><span class="n">de</span>
+
+<span class="n">HostNameLookups</span> <span class="n">On</span>
+<span class="n">ServerAlias</span> <span class="o">*</span>
+
+<span class="c1"># Only listen for connections from the local machine.</span>
+<span class="n">Listen</span> <span class="n">lftest</span><span class="o">.</span><span class="n">rz</span><span class="o">-</span><span class="n">berlin</span><span class="o">.</span><span class="n">mpg</span><span class="o">.</span><span class="n">de</span><span class="p">:</span><span class="mi">631</span>
+<span class="n">Listen</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">run</span><span class="o">/</span><span class="n">cups</span><span class="o">/</span><span class="n">cups</span><span class="o">.</span><span class="n">sock</span>
+
+<span class="c1"># Show shared printers on the local network.</span>
+<span class="n">Browsing</span> <span class="n">Off</span>
+<span class="n">BrowseOrder</span> <span class="n">allow</span><span class="p">,</span><span class="n">deny</span>
+<span class="n">BrowseAllow</span> <span class="nb">all</span>
+<span class="n">BrowseLocalProtocols</span> <span class="n">CUPS</span> <span class="n">dnssd</span>
+<span class="n">BrowseAddress</span> <span class="nd">@LOCAL</span>
+
+<span class="c1"># Default authentication type, when authentication is required...</span>
+<span class="n">DefaultAuthType</span> <span class="n">Basic</span>
+
+<span class="c1"># Web interface setting...</span>
+<span class="n">WebInterface</span> <span class="n">Yes</span>
+
+<span class="c1"># Restrict access to the server...</span>
+<span class="o">&lt;</span><span class="n">Location</span> <span class="o">/&gt;</span>
+  <span class="n">Satisfy</span> <span class="n">All</span>
+  <span class="n">Allow</span> <span class="n">localhost</span>
+  <span class="n">Allow</span> <span class="mf">141.14</span><span class="o">.*</span>
+  <span class="n">Allow</span> <span class="mf">172.16</span><span class="o">.*</span>
+  <span class="n">Allow</span> <span class="mf">192.</span><span class="o">*</span>
+  <span class="n">Allow</span> <span class="nb">all</span>
+  <span class="c1"># Allow shared printing and remote administration...</span>
+  <span class="n">Order</span> <span class="n">allow</span><span class="p">,</span><span class="n">deny</span>
+  <span class="n">Allow</span> <span class="nb">all</span>
+<span class="o">&lt;/</span><span class="n">Location</span><span class="o">&gt;</span>
+
+<span class="c1"># Restrict access to the admin pages...</span>
+<span class="o">&lt;</span><span class="n">Location</span> <span class="o">/</span><span class="n">admin</span><span class="o">&gt;</span>
+  <span class="n">Order</span> <span class="n">deny</span><span class="p">,</span><span class="n">allow</span>
+  <span class="n">Satisfy</span> <span class="n">All</span>
+  <span class="n">AuthType</span> <span class="n">Basic</span>
+  <span class="n">Require</span> <span class="n">user</span> <span class="nd">@SYSTEM</span>
+  <span class="n">Deny</span> <span class="n">All</span>
+  <span class="n">Allow</span> <span class="n">localhost</span>
+  <span class="n">Allow</span> <span class="mf">141.14</span><span class="o">.*</span>
+  <span class="n">Allow</span> <span class="mf">172.16</span><span class="o">.*</span>
+<span class="o">&lt;/</span><span class="n">Location</span><span class="o">&gt;</span>
+
+<span class="c1"># Restrict access to configuration files...</span>
+<span class="o">&lt;</span><span class="n">Location</span> <span class="o">/</span><span class="n">admin</span><span class="o">/</span><span class="n">conf</span><span class="o">&gt;</span>
+  <span class="n">Order</span> <span class="n">deny</span><span class="p">,</span><span class="n">allow</span>
+  <span class="n">AuthType</span> <span class="n">Default</span>
+  <span class="n">Require</span> <span class="n">user</span> <span class="nd">@SYSTEM</span>
+  <span class="n">Satisfy</span> <span class="n">All</span>
+  <span class="n">Require</span> <span class="n">user</span> <span class="n">root</span>
+  <span class="n">Deny</span> <span class="n">All</span>
+  <span class="n">Allow</span> <span class="mf">127.0</span><span class="o">.</span><span class="mf">0.1</span>
+  <span class="n">Allow</span> <span class="mf">141.14</span><span class="o">.*</span>
+  <span class="n">Allow</span> <span class="mf">172.16</span><span class="o">.*</span>
+<span class="o">&lt;/</span><span class="n">Location</span><span class="o">&gt;</span>
+
+<span class="c1"># Set the default printer/job policies...</span>
+<span class="o">&lt;</span><span class="n">Policy</span> <span class="n">default</span><span class="o">&gt;</span>
+  <span class="o">...</span> <span class="c1"># probably as in the original</span>
+<span class="o">&lt;/</span><span class="n">Policy</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+<p>Change the <em>Server Admin</em>’s e-mail address and the server that shall be listened to (see the <code class="docutils literal"><span class="pre">Listen</span></code> statement). Set <code class="docutils literal"><span class="pre">FileDevice</span> <span class="pre">Yes</span></code> in <code class="docutils literal"><span class="pre">/etc/cups/cups-files.conf</span></code>. Now, create a directory where all printers will go, e.g. <code class="docutils literal"><span class="pre">/usr/local/labfolder/printers</span></code>.</p>
+<p>Get the package for creating new printers from git:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span>labfolder@lftest:~$ git clone https://github.molgen.mpg.de/weiher/cupsPrinters
+labfolder@lftest:~$ ls
+cupsPrinters  labfolder
+</pre></div>
+</div>
+<p>The only file you need to adapt is <code class="docutils literal"><span class="pre">newPrinter.sh</span></code>. It is not a must but it is suggested to name the printers like the projects. For example, the FEL projects <em>operating</em> and <em>installation</em> could be placed at <code class="docutils literal"><span class="pre">.../printers/FEL/operating</span></code> and <code class="docutils literal"><span class="pre">.../printers/FEL/installation</span></code>. Execute the script with sudo rights:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span>labfolder@lftest:~/cupsPrinters$ sudo ./newPrinter.sh
+</pre></div>
+</div>
+<p>To prevent <code class="docutils literal"><span class="pre">DENIED</span></code> errors from apparmor install and set the following and restart the CUPS server:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ sudo apt-get install apparmor-utils apparmor-profiles
+$ sudo aa-complain cupsd
+$ sudo service cups restart
+</pre></div>
+</div>
+<p>In case you need to debug some logfiles can be found here: <em>/var/log/syslog</em>, <em>/var/log/cups/error_log</em> and <em>/var/log/cups/acces_log</em></p>
+<p>One last change is that you need to once add a user named <em>Printer Print</em> (firstname lastname) to the labfolder database. This can be done manually inside the DB by this command:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ mysql -u root -p
+Enter password:
+...
+mysql&gt; use labfolder;
+mysql&gt; INSERT INTO user (email, password, firstname, lastname, signupTimestamp, maxStorage) VALUES (&#39;printer@fhi-berlin.mpg.de&#39;, &#39;91a13f2aba4a35b00c35dfacadd1d75f4a5171dfa7a465fca9c40e6b007ce982&#39;, &#39;Printer&#39;, &#39;Print&#39;, &#39;2018-03-21 10:54:00&#39;, &#39;10000000&#39;);
+</pre></div>
+</div>
+</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>
+<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>
+<a class="reference internal image-reference" href="_images/create_local_printer04.png"><img alt="_images/create_local_printer04.png" class="align-center" src="_images/create_local_printer04.png" style="width: 70%;" /></a>
+<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>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper"><div class="relations">
+<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>
+  </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <div><input type="text" name="q" /></div>
+      <div><input type="submit" value="Go" /></div>
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="footer">
+      &copy;2018, Stefan Weiher.
+      
+      |
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.6</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
+      
+      |
+      <a href="_sources/installation_cups.rst.txt"
+          rel="nofollow">Page source</a>
+    </div>
+
+    
+
+    
+  </body>
+</html>
\ No newline at end of file
Binary file elog2labfolder/_build/html/objects.inv has changed
--- a/elog2labfolder/_build/html/searchindex.js	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/html/searchindex.js	Tue Mar 27 16:07:14 2018 +0200
@@ -1,1 +1,1 @@
-Search.setIndex({docnames:["groups","import_export","importing_from_elog","index","installation"],envversion:52,filenames:["groups.rst","import_export.rst","importing_from_elog.rst","index.rst","installation.rst"],objects:{},objnames:{},objtypes:{},terms:{"1st":2,"case":0,"default":[2,4],"export":[2,3,4],"import":3,"sch\u00e3":2,"switch":0,"true":[2,4],"var":4,But:0,For:4,The:[1,2,4],Their:0,There:2,These:2,Use:4,Using:3,With:2,a2dissit:4,a2enmod:4,a2ensit:4,about:1,abov:2,accept:0,accomplish:2,account:2,activ:0,active_user_report_use_default_mail_cli:4,actual:2,add:0,adding:2,addition:4,admin:0,administr:0,after:2,again:[0,2],alex:2,all:[0,1,2],allow:0,alon:0,along:1,alreadi:0,also:0,altern:3,ani:0,anoth:[0,1],anyon:0,apach:4,apache2:4,api:[1,2],app:1,appear:[1,2],appli:2,apt:4,ascii:[],attach:2,authent:[2,4],author:[1,2],avail:4,back:0,becaus:2,befor:0,behind:1,below:4,berlin:[1,2,4],between:0,blockid:2,broad:4,browser:1,build:4,button:0,call:2,can:[0,1,2],cannot:[0,2],categori:2,certain:2,certif:4,chang:[0,2],characterencod:4,check:[0,2],client:4,clone:2,cnf:4,collect:2,com:4,come:2,commun:4,complet:1,conf:4,config:4,configur:4,contain:[1,2],content:[0,1,3],control:4,could:[0,1,4],creat:[0,2,4],createuseraccount:2,creation:2,credenti:2,current:0,cursor:2,customer_identifi:4,data:[0,1],databas:[0,2,4],date:[1,2],dec:2,decid:0,default_domain:4,default_group_s:4,default_group_type_maxi:4,default_http_protocol:4,default_user_storag:4,deflat:4,delet:0,detail:[1,4],develop:1,differ:1,digitalocean:4,direct:2,directli:0,disabl:2,doc:1,docker:4,docu:2,document:1,doesn:0,done:[1,2],door:0,download:1,dropbox:4,dropbox_consumer_kei:4,dropbox_consumer_secret:4,easi:4,edit:0,electron:2,eln:4,elog2labfold:2,elog:3,elogbook:3,els:0,email:2,enabl:2,encod:2,encrypt:[2,4],end:2,endpoint:1,energi:2,enter:2,entri:[2,3],entrycont:2,error:4,errorlog:4,essenti:4,etc:4,europ:4,event:4,exact:4,exampl:[2,4],execut:2,exist:0,experi:2,explain: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,few:2,fhi:[3,4],fhilab:4,figshar:4,file:[1,2,4],filesystem:4,fileupload_maxuploads:4,find:1,finish:[1,2],first:[0,1],fly:2,follow:[0,2,4],format:1,former:0,forward:4,fritz:4,from:[0,1,3,4],fullchain:4,gadolinium:2,gallium:2,garnet:2,gener:0,german:2,gesendet:2,get:[1,2,4],getlistofauthor:2,ggg:2,git:2,github:2,give:2,given:4,group:[3,4],guid:4,haber:4,handl:2,has:[1,2],have:0,header:4,here:1,herzog:2,hidden:[0,1],host:4,how:4,howev:[1,2],href:2,html:[1,2],http:[1,2,4],imag:1,includ:0,index:1,inform:[1,4],instal:[1,3],instanc:1,instead:2,institut:[0,4],instruct:4,interestingli:2,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,json:1,just:1,keyword:2,labfold:[1,3],labold:[2,4],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,like:[0,2,4],link:[1,4],list:[0,2],live:4,llkopf:2,localhost:4,log:4,log_to_fil:4,logbook:[1,2],login:2,loglevel:4,look:[2,4],machin:2,mail:[0,2,4],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:4,manag:[0,1],mani:0,manipul:[0,3],manual:4,marc:2,maximum:4,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,modif:2,molgen:2,moment:1,monitor:4,more:4,mostli:2,move:0,mpg:[1,2,4],mypythonapiv1:2,mypythonapiv2:2,mysql:[3,4],mysqldb:2,name:1,necessari:2,necessarili:0,need:[0,2],network:4,note:2,notic:2,now:4,oauthcallback:4,off:0,one:[1,2],ones:0,onli:[0,1,2,4],open:1,option:0,order:4,org:2,other:0,otherwis:2,overview:1,own:[0,1],owner:0,ownership:3,oxygen:2,paarmann:2,packag:2,pass:2,password:2,pdf:1,pem:4,peopl:4,person:2,phase:1,pleas:4,polici:0,possibl:[0,1],ppb:4,prerequisit:2,prevent:0,previous:2,print:2,privaci:4,privacy_link:4,privat:3,privkei:4,process:[1,2],program:2,project:3,properti:4,prostetnikvogonjeltz:4,proxi:4,proxy_ajp:4,proxy_balanc:4,proxy_connect:4,proxy_html:4,proxy_http:4,proxypass:4,proxypassrevers:4,pwcheck:4,python:3,queri:2,quit:4,rang:2,raw:2,record:2,redirect:4,remot:2,remov:0,remove_abandoned_timeout:4,respons:1,restart:4,revers:4,rewrit:4,role:0,run:[2,4],script:2,section:1,secur:4,see:[0,2,4],select:1,server:[2,4],servernam:4,servic:4,set:[1,2,3,4],sever:[0,2],share:3,shift:2,show:4,shown:2,sieh:2,similar:[1,2],singl:1,site:4,size:4,softwar:1,solid:2,soon:1,ssl:4,sslcertificatefil:4,sslcertificatekeyfil:4,sslengin:4,state:2,step:4,still:1,straight:4,sub:[0,2],subgroup:0,subject:2,sudo:4,suggest:2,summari:2,support:2,tag:1,term:4,terms_of_use_link:4,text:[1,2],thei:0,thi:[0,1,2,4],thick:2,three:1,through:[0,4],time:2,titl:2,todai:2,token:2,transfer:0,tue:2,tutori:4,type:[1,2],ubuntu:4,uid:4,ultim:0,umlaut:2,updat:2,updateauthor:2,updatedateandtim:2,upload:4,usag:4,use:[1,2],useabl:1,used:2,useful:1,user:[0,4],userid:2,useunicod:4,using:2,utf:[2,4],verboseoutput:2,version:[1,2],via:[0,1,2,4],view:1,virtual:4,virtualhost:4,visibl:0,vom:2,warn:4,wavelength:2,webinterfac:[0,1,2],weiher:2,well:0,what:2,when:[0,2],which:[0,2],whose:2,wieland:2,wiki:2,wikipedia:2,within:[0,1],would:0,wschoell:2,www:4,xhtml:[1,4],xml2enc:4,yet:2,you:[0,1,2,4],your:0,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"],titleterms:{"export":1,"import":[1,2],Using:2,altern:2,document:3,elog2labfold:3,elog:2,elogbook:2,entri:1,fhi:2,from:2,group:0,instal:4,labfold:[0,2,4],level:2,manipul:2,mysql:2,ownership:0,privat:0,project:[0,1,2],python:2,set:0,share:0,welcom:3}})
\ No newline at end of file
+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","&lt;no title&gt;","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
--- a/elog2labfolder/_build/latex/elog2labfolder.aux	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/latex/elog2labfolder.aux	Tue Mar 27 16:07:14 2018 +0200
@@ -32,6 +32,12 @@
 \@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}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
--- a/elog2labfolder/_build/latex/elog2labfolder.fdb_latexmk	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/latex/elog2labfolder.fdb_latexmk	Tue Mar 27 16:07:14 2018 +0200
@@ -1,10 +1,10 @@
 # Fdb version 3
-["makeindex elog2labfolder.idx"] 1515425753 "elog2labfolder.idx" "elog2labfolder.ind" "elog2labfolder" 1518018527
-  "elog2labfolder.idx" 1518018526 0 d41d8cd98f00b204e9800998ecf8427e ""
+["makeindex elog2labfolder.idx"] 1515425753 "elog2labfolder.idx" "elog2labfolder.ind" "elog2labfolder" 1522159329
+  "elog2labfolder.idx" 1522159328 0 d41d8cd98f00b204e9800998ecf8427e ""
   (generated)
   "elog2labfolder.ind"
   "elog2labfolder.ilg"
-["pdflatex"] 1518018526 "elog2labfolder.tex" "elog2labfolder.pdf" "elog2labfolder" 1518018527
+["pdflatex"] 1522159328 "elog2labfolder.tex" "elog2labfolder.pdf" "elog2labfolder" 1522159329
   "/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,12 +162,11 @@
   "create_local_printer05.png" 1518017944 36161 842755fa2893d202ee68b1564008d66e ""
   "create_local_printer06.png" 1518017958 35620 1e5034eb5317bdba2ba819aadd2f1b9c ""
   "create_local_printer07.png" 1518018015 70875 37e141327592404bf769711573eb913c ""
-  "cups_print_operating.png" 1518017171 66271 4a788ad6fce0104f7edab7ca90960639 ""
-  "elog2labfolder.aux" 1518018527 4571 eece79ecca3118525b3003008bc7c863 ""
+  "elog2labfolder.aux" 1522159329 5228 d5918ff2a99373490c00194d5f6fb541 ""
   "elog2labfolder.ind" 1515658418 0 d41d8cd98f00b204e9800998ecf8427e "makeindex elog2labfolder.idx"
-  "elog2labfolder.out" 1518018527 2708 65715dea9babb09bc1e19f98a58cc065 ""
-  "elog2labfolder.tex" 1518018525 30710 ef687efa1422e6600d548e45d357d97e ""
-  "elog2labfolder.toc" 1518018527 1118 c8ccc8f569c4625afd9dcc2931c996cf ""
+  "elog2labfolder.out" 1522159329 3142 0c861c2f5f92db13483a4269ad616b62 ""
+  "elog2labfolder.tex" 1522159328 31468 17cc928acb17a49f9ae1ae24a4f70294 ""
+  "elog2labfolder.toc" 1522159329 1296 9d82b1ab4dd396ef7781bdfc6af9cee7 ""
   "elog_entry.png" 1515666304 32578 2c2af6c7a27a977bff0584bf2eb5b99e ""
   "entry_after_import.png" 1515669498 25489 640d3c2545e24da42d28bc8e45d3546d ""
   "export_of_projects.png" 1515658418 71687 08fe1d9c71553d6c84baf749a96cca4e ""
@@ -177,13 +176,13 @@
   "group_settings.png" 1515658418 25681 87db44875d57bfe6a28d581928155a35 ""
   "private_projects.png" 1515658418 30377 1ba519cb43ea7403e53a7245f8e1a148 ""
   "sphinx.sty" 1515658418 64257 27389b3f9c27254b2f20d236bdb2ebcf ""
-  "sphinxhighlight.sty" 1518018525 8137 b8d4ef963833564f6e4eadc09cd757c4 ""
+  "sphinxhighlight.sty" 1522159328 8137 b8d4ef963833564f6e4eadc09cd757c4 ""
   "sphinxmanual.cls" 1515658418 3589 0b0aac49c6f36925cf5f9d524a75a978 ""
   "sphinxmulticell.sty" 1515658418 14618 0defbdc8536ad2e67f1eac6a1431bc55 ""
   (generated)
   "elog2labfolder.log"
+  "elog2labfolder.aux"
   "elog2labfolder.idx"
-  "elog2labfolder.aux"
   "elog2labfolder.toc"
   "elog2labfolder.pdf"
   "elog2labfolder.out"
--- a/elog2labfolder/_build/latex/elog2labfolder.fls	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/latex/elog2labfolder.fls	Tue Mar 27 16:07:14 2018 +0200
@@ -280,9 +280,6 @@
 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 cups_print_operating.png
-INPUT ./cups_print_operating.png
-INPUT ./cups_print_operating.png
 INPUT create_local_printer01.png
 INPUT ./create_local_printer01.png
 INPUT ./create_local_printer01.png
--- a/elog2labfolder/_build/latex/elog2labfolder.log	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/latex/elog2labfolder.log	Tue Mar 27 16:07:14 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)  7 FEB 2018 16:48
+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
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -1056,148 +1056,137 @@
 ]
 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 214.
+(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 221.
+(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 227.
-
-Overfull \vbox (0.56996pt too high) detected at line 291
- []
-
-[5] [6] <cups_print_operating.png, id=122, 1476.51625pt x 690.58pt>
-File: cups_print_operating.png Graphic file (type png)
-
-<use cups_print_operating.png>
-Package pdftex.def Info: cups_print_operating.png used on input line 318.
-(pdftex.def)             Requested size: 469.75502pt x 219.70454pt.
-
-<create_local_printer01.png, id=124, 728.7225pt x 377.41pt>
+(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 344.
+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=125, 746.79pt x 593.21625pt>
+<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 346.
+Package pdftex.def Info: create_local_printer02.png used on input line 345.
 (pdftex.def)             Requested size: 328.82707pt x 261.20604pt.
- [7 <./cups_print_operating.png> <./create_local_printer01.png>] <create_local_
-printer03.png, id=132, 745.78625pt x 594.22pt>
+ [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 348.
+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=133, 741.77126pt x 590.205pt>
+<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 350.
+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=140, 743.77875pt x 590.205pt>
+<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 352.
+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=141, 744.7825pt x 591.20876pt>
+<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 354.
+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=149, 729.72626pt x 794.97pt>
+<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 356.
+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=156, 719.68875pt x 251.94125pt>
+<private_projects.png, id=166, 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 368.
+Package pdftex.def Info: private_projects.png used on input line 367.
 (pdftex.def)             Requested size: 328.82707pt x 115.11398pt.
-LaTeX Font Info:    Try loading font information for TS1+ptm on input line 377.
+LaTeX Font Info:    Try loading font information for TS1+ptm on input line 376.
 
 
 (/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=162, 622.325pt x 400.49625pt
+ <./private_projects.png>] <group_settings.png, id=172, 622.325pt x 400.49625pt
 >
 File: group_settings.png Graphic file (type png)
 
 <use group_settings.png>
-Package pdftex.def Info: group_settings.png used on input line 402.
+Package pdftex.def Info: group_settings.png used on input line 401.
 (pdftex.def)             Requested size: 328.82707pt x 211.61423pt.
  [12 <./group_settings.png>]
 Chapter 4.
-<export_of_projects.png, id=170, 608.2725pt x 332.24126pt>
+<export_of_projects.png, id=181, 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 435.
+Package pdftex.def Info: export_of_projects.png used on input line 434.
 (pdftex.def)             Requested size: 328.82707pt x 179.61038pt.
 
-<export_of_projects2.png, id=171, 731.73375pt x 201.75375pt>
+<export_of_projects2.png, id=182, 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 439.
+Package pdftex.def Info: export_of_projects2.png used on input line 438.
 (pdftex.def)             Requested size: 328.82707pt x 90.66519pt.
  [13
 
  <./export_of_projects.png>]
-<export_xhtml.png, id=178, 450.68375pt x 107.40125pt>
+<export_xhtml.png, id=188, 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 443.
+Package pdftex.def Info: export_xhtml.png used on input line 442.
 (pdftex.def)             Requested size: 328.82707pt x 78.3662pt.
 
 [14 <./export_of_projects2.png> <./export_xhtml.png>]
 Chapter 5.
-<elog_entry.png, id=185, 1261.71375pt x 236.885pt>
+<elog_entry.png, id=195, 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 473.
+Package pdftex.def Info: elog_entry.png used on input line 472.
 (pdftex.def)             Requested size: 469.75502pt x 88.19548pt.
 
-<entry_after_import.png, id=186, 742.775pt x 191.71625pt>
+<entry_after_import.png, id=196, 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 479.
+Package pdftex.def Info: entry_after_import.png used on input line 478.
 (pdftex.def)             Requested size: 469.75502pt x 121.24992pt.
  [15
 
  <./elog_entry.png>] [16 <./entry_after_import.png>] (./elog2labfolder.ind)
-Package atveryend Info: Empty hook `BeforeClearDocument' on input line 526.
+Package atveryend Info: Empty hook `BeforeClearDocument' on input line 525.
  [17]
-Package atveryend Info: Empty hook `AfterLastShipout' on input line 526.
+Package atveryend Info: Empty hook `AfterLastShipout' on input line 525.
  (./elog2labfolder.aux)
-Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 526.
-Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 526.
+Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 525.
+Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 525.
 Package rerunfilecheck Info: File `elog2labfolder.out' has not changed.
-(rerunfilecheck)             Checksum: 65715DEA9BABB09BC1E19F98A58CC065;2708.
-Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 526.
+(rerunfilecheck)             Checksum: 0C861C2F5F92DB13483A4269AD616B62;3142.
+Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 525.
  ) 
 Here is how much of TeX's memory you used:
- 13482 strings out of 493304
- 187560 string characters out of 6139871
- 317550 words of memory out of 5000000
- 16591 multiletter control sequences out of 15000+600000
+ 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
  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
@@ -1211,10 +1200,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, 639722 bytes).
+Output written on elog2labfolder.pdf (21 pages, 593346 bytes).
 PDF statistics:
- 245 PDF objects out of 1000 (max. 8388607)
- 175 compressed objects within 2 object streams
- 34 named destinations out of 1000 (max. 500000)
- 192 words of extra memory for PDF output out of 10000 (max. 10000000)
+ 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)
 
--- a/elog2labfolder/_build/latex/elog2labfolder.out	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/latex/elog2labfolder.out	Tue Mar 27 16:07:14 2018 +0200
@@ -1,12 +1,14 @@
 \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 [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}{}% 3
-\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}% 4
-\BOOKMARK [1][-]{section.3.2}{\376\377\000G\000r\000o\000u\000p\000\040\000p\000r\000o\000j\000e\000c\000t\000s}{chapter.3}% 5
-\BOOKMARK [1][-]{section.3.3}{\376\377\000G\000r\000o\000u\000p\000\040\000s\000e\000t\000t\000i\000n\000g\000s}{chapter.3}% 6
-\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}{}% 7
-\BOOKMARK [1][-]{section.4.1}{\376\377\000I\000m\000p\000o\000r\000t}{chapter.4}% 8
-\BOOKMARK [1][-]{section.4.2}{\376\377\000E\000x\000p\000o\000r\000t}{chapter.4}% 9
-\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}{}% 10
-\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}% 11
-\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}% 12
+\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
Binary file elog2labfolder/_build/latex/elog2labfolder.pdf has changed
--- a/elog2labfolder/_build/latex/elog2labfolder.tex	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/latex/elog2labfolder.tex	Tue Mar 27 16:07:14 2018 +0200
@@ -55,7 +55,7 @@
 
 
 \title{Labfolder at FHI Documentation}
-\date{Feb 07, 2018}
+\date{Mar 27, 2018}
 \release{1.0}
 \author{Stefan Weiher}
 \newcommand{\sphinxlogo}{\vbox{}}
@@ -200,14 +200,19 @@
 
 \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}}
-If you want to print a webpage as PDF and send it to onf of labfolder’s logbooks you could create a CUPS printer for each logbook that uses the labfolder API to attach this PDF to a newly created entry. First, you need to install CUPS on the virtual machine that runs labfolder:
+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}}}}.
+
+
+\section{Set up CUPS as labfolder admin}
+\label{\detokenize{installation_cups:section-cups-admin}}\label{\detokenize{installation_cups:set-up-cups-as-labfolder-admin}}
+First, you need to install CUPS on the virtual machine that runs labfolder:
 
 \fvset{hllines={, ,}}%
 \begin{sphinxVerbatim}[commandchars=\\\{\}]
 \PYG{n}{sudo} \PYG{n}{apt}\PYG{o}{\PYGZhy{}}\PYG{n}{get} \PYG{n}{install} \PYG{n}{cups} \PYG{n}{cups}\PYG{o}{\PYGZhy{}}\PYG{n}{client} \PYG{n}{cups}\PYG{o}{\PYGZhy{}}\PYG{n}{bsd}
 \end{sphinxVerbatim}
 
-Next, you need to configure \sphinxcode{/etc/cups/cupsd.conf}. This is how it looks like on \sphinxstyleemphasis{lftest}:
+Next, configure \sphinxcode{/etc/cups/cupsd.conf}:
 
 \fvset{hllines={, ,}}%
 \begin{sphinxVerbatim}[commandchars=\\\{\}]
@@ -224,7 +229,7 @@
 
 \PYG{c+c1}{\PYGZsh{} Administrator user group...}
 \PYG{n}{SystemGroup} \PYG{n}{lpadmin}
-\PYG{n}{ServerAdmin} \PYG{n}{weiher}\PYG{n+nd}{@fhi}\PYG{o}{\PYGZhy{}}\PYG{n}{berlin}\PYG{o}{.}\PYG{n}{mpg}\PYG{o}{.}\PYG{n}{de}
+\PYG{n}{ServerAdmin} \PYG{o}{\PYGZlt{}}\PYG{n}{name}\PYG{o}{\PYGZgt{}}\PYG{n+nd}{@fhi}\PYG{o}{\PYGZhy{}}\PYG{n}{berlin}\PYG{o}{.}\PYG{n}{mpg}\PYG{o}{.}\PYG{n}{de}
 
 \PYG{n}{HostNameLookups} \PYG{n}{On}
 \PYG{n}{ServerAlias} \PYG{o}{*}
@@ -290,55 +295,49 @@
 \PYG{o}{\PYGZlt{}}\PYG{o}{/}\PYG{n}{Policy}\PYG{o}{\PYGZgt{}}
 \end{sphinxVerbatim}
 
-Now, you need to create a file system that will hold all CUPS printers, For example, the printers belonging to the logbooks \sphinxstyleemphasis{FEL/operating} and \sphinxstyleemphasis{FEL/installation} could be put in \sphinxcode{/usr/local/labfolder/printers/FEL}. Copy the lplisten script from the git repository \sphinxcode{https://github.molgen.mpg.de/weiher/elog2labfolder.git} to \sphinxcode{/usr/local/labfolder/printers/FEL/operating} and to \sphinxcode{.../FEL/installation}. Also, create a pipe that redirects the printer input to the lplisten script:
+Change the \sphinxstyleemphasis{Server Admin}’s e-mail address and the server that shall be listened to (see the \sphinxcode{Listen} statement). Set \sphinxcode{FileDevice Yes} in \sphinxcode{/etc/cups/cups-files.conf}. Now, create a directory where all printers will go, e.g. \sphinxcode{/usr/local/labfolder/printers}.
+
+Get the package for creating new printers from git:
 
 \fvset{hllines={, ,}}%
 \begin{sphinxVerbatim}[commandchars=\\\{\}]
-/usr/local/labfolder/printers/FEL/operating\PYGZdl{} mkfifo prnt
+labfolder@lftest:\PYGZti{}\PYGZdl{} git clone https://github.molgen.mpg.de/weiher/cupsPrinters
+labfolder@lftest:\PYGZti{}\PYGZdl{} ls
+cupsPrinters  labfolder
 \end{sphinxVerbatim}
 
-Adapt rights and ownership of lplisten and prnt:
+The only file you need to adapt is \sphinxcode{newPrinter.sh}. It is not a must but it is suggested to name the printers like the projects. For example, the FEL projects \sphinxstyleemphasis{operating} and \sphinxstyleemphasis{installation} could be placed at \sphinxcode{.../printers/FEL/operating} and \sphinxcode{.../printers/FEL/installation}. Execute the script with sudo rights:
 
 \fvset{hllines={, ,}}%
 \begin{sphinxVerbatim}[commandchars=\\\{\}]
-\PYGZdl{} chmod 744 lplisten
-\PYGZdl{} chmod 666 prnt
-\PYGZdl{} chown lp:lpadmin lplisten prnt
+labfolder@lftest:\PYGZti{}/cupsPrinters\PYGZdl{} sudo ./newPrinter.sh
 \end{sphinxVerbatim}
 
-Add the labfolder user to the lpadmin group in /etc/group:
+To prevent \sphinxcode{DENIED} errors from apparmor install and set the following and restart the CUPS server:
 
 \fvset{hllines={, ,}}%
 \begin{sphinxVerbatim}[commandchars=\\\{\}]
-\PYG{n}{lpadmin}\PYG{p}{:}\PYG{n}{x}\PYG{p}{:}\PYG{l+m+mi}{115}\PYG{p}{:}\PYG{n}{labfolder}
+\PYGZdl{} sudo apt\PYGZhy{}get install apparmor\PYGZhy{}utils apparmor\PYGZhy{}profiles
+\PYGZdl{} sudo aa\PYGZhy{}complain cupsd
+\PYGZdl{} sudo service cups restart
 \end{sphinxVerbatim}
 
-Now, create the CUPS printers via the web interface at \sphinxcode{http://lftest.rz-berlin.mpg.de:631/} (as configured in cupsd.conf). For example, the \sphinxstyleemphasis{operating} printer points at \sphinxcode{FEL/operating/prnt}. The ready configured printer looks like this in the web interface:
+In case you need to debug some logfiles can be found here: \sphinxstyleemphasis{/var/log/syslog}, \sphinxstyleemphasis{/var/log/cups/error\_log} and \sphinxstyleemphasis{/var/log/cups/acces\_log}
 
-\noindent{\hspace*{\fill}\sphinxincludegraphics[width=1.000\linewidth]{{cups_print_operating}.png}\hspace*{\fill}}
-
-To prevent \sphinxcode{DENIED} errors from apparmor install and set the following:
+One last change is that you need to once add a user named \sphinxstyleemphasis{Printer Print} (firstname lastname) to the labfolder database. This can be done manually inside the DB by this command:
 
 \fvset{hllines={, ,}}%
 \begin{sphinxVerbatim}[commandchars=\\\{\}]
-\PYG{n}{sudo} \PYG{n}{apt}\PYG{o}{\PYGZhy{}}\PYG{n}{get} \PYG{n}{install} \PYG{n}{apparmor}\PYG{o}{\PYGZhy{}}\PYG{n}{utils} \PYG{n}{apparmor}\PYG{o}{\PYGZhy{}}\PYG{n}{profiles}
-\PYG{n}{sudo} \PYG{n}{aa}\PYG{o}{\PYGZhy{}}\PYG{n}{complain} \PYG{n}{cupsd}
+\PYGZdl{} mysql \PYGZhy{}u root \PYGZhy{}p
+Enter password:
+...
+mysql\PYGZgt{} use labfolder;
+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}
 
-Restart the CUPS server:
 
-\fvset{hllines={, ,}}%
-\begin{sphinxVerbatim}[commandchars=\\\{\}]
-\PYGZdl{} service cupsd restart
-\end{sphinxVerbatim}
-
-Start the lplisten script in the background:
-
-\fvset{hllines={, ,}}%
-\begin{sphinxVerbatim}[commandchars=\\\{\}]
-/usr/local/labfolder/printers/FEL/operating\PYGZdl{} ./lplisten \PYGZam{}
-\end{sphinxVerbatim}
-
+\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:
 
 \noindent{\hspace*{\fill}\sphinxincludegraphics[width=0.700\linewidth]{{create_local_printer01}.png}\hspace*{\fill}}
--- a/elog2labfolder/_build/latex/elog2labfolder.toc	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/_build/latex/elog2labfolder.toc	Tue Mar 27 16:07:14 2018 +0200
@@ -1,6 +1,8 @@
 \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}
--- a/elog2labfolder/index.rst~	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/index.rst~	Tue Mar 27 16:07:14 2018 +0200
@@ -11,6 +11,9 @@
    :caption: Contents:
 
    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	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/installation_cups.rst	Tue Mar 27 16:07:14 2018 +0200
@@ -1,11 +1,19 @@
 Printing via CUPS and attaching files to labfolder logbooks
 ===========================================================
 
-If you want to print a webpage as PDF and send it to onf of labfolder's logbooks you could create a CUPS printer for each logbook that uses the labfolder API to attach this PDF to a newly created entry. First, you need to install CUPS on the virtual machine that runs labfolder::
+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
+------------------------------
+
+First, you need to install CUPS on the virtual machine that runs labfolder::
 
 	sudo apt-get install cups cups-client cups-bsd
 
-Next, you need to configure ``/etc/cups/cupsd.conf``. This is how it looks like on *lftest*::
+Next, configure ``/etc/cups/cupsd.conf``::
 
 	# Sample configuration file for the CUPS scheduler.  See "man cupsd.conf" for a
 	# complete description of this file.
@@ -20,7 +28,7 @@
 
 	# Administrator user group...
 	SystemGroup lpadmin
-	ServerAdmin weiher@fhi-berlin.mpg.de
+	ServerAdmin <name>@fhi-berlin.mpg.de
 
 	HostNameLookups On
 	ServerAlias *
@@ -85,38 +93,39 @@
 	  ... # probably as in the original
 	</Policy>
 
-Now, you need to create a file system that will hold all CUPS printers, For example, the printers belonging to the logbooks *FEL/operating* and *FEL/installation* could be put in ``/usr/local/labfolder/printers/FEL``. Copy the lplisten script from the git repository ``https://github.molgen.mpg.de/weiher/elog2labfolder.git`` to ``/usr/local/labfolder/printers/FEL/operating`` and to ``.../FEL/installation``. Also, create a pipe that redirects the printer input to the lplisten script::
+Change the *Server Admin*'s e-mail address and the server that shall be listened to (see the ``Listen`` statement). Set ``FileDevice Yes`` in ``/etc/cups/cups-files.conf``. Now, create a directory where all printers will go, e.g. ``/usr/local/labfolder/printers``.
 
-	/usr/local/labfolder/printers/FEL/operating$ mkfifo prnt
-
-Adapt rights and ownership of lplisten and prnt::
+Get the package for creating new printers from git::
 
-	$ chmod 744 lplisten
-	$ chmod 666 prnt
-	$ chown lp:lpadmin lplisten prnt
+	labfolder@lftest:~$ git clone https://github.molgen.mpg.de/weiher/cupsPrinters
+	labfolder@lftest:~$ ls
+	cupsPrinters  labfolder
 
-Add the labfolder user to the lpadmin group in /etc/group::
+The only file you need to adapt is ``newPrinter.sh``. It is not a must but it is suggested to name the printers like the projects. For example, the FEL projects *operating* and *installation* could be placed at ``.../printers/FEL/operating`` and ``.../printers/FEL/installation``. Execute the script with sudo rights::
 
-	lpadmin:x:115:labfolder
+	labfolder@lftest:~/cupsPrinters$ sudo ./newPrinter.sh
 
-Now, create the CUPS printers via the web interface at ``http://lftest.rz-berlin.mpg.de:631/`` (as configured in cupsd.conf). For example, the *operating* printer points at ``FEL/operating/prnt``. The ready configured printer looks like this in the web interface:
+To prevent ``DENIED`` errors from apparmor install and set the following and restart the CUPS server::
 
-.. image:: _static/cups_print_operating.png
-   :width: 100 %
-   :align: center
+	$ sudo apt-get install apparmor-utils apparmor-profiles
+	$ sudo aa-complain cupsd
+	$ sudo service cups restart
 
-To prevent ``DENIED`` errors from apparmor install and set the following::
+In case you need to debug some logfiles can be found here: */var/log/syslog*, */var/log/cups/error_log* and */var/log/cups/acces_log*
+
+One last change is that you need to once add a user named *Printer Print* (firstname lastname) to the labfolder database. This can be done manually inside the DB by this command::
 
-	sudo apt-get install apparmor-utils apparmor-profiles
-	sudo aa-complain cupsd
-
-Restart the CUPS server::
+	$ mysql -u root -p
+	Enter password:
+	...
+	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');
 
-	$ service cupsd restart
+
+.. _section_cups_user:
 
-Start the lplisten script in the background::
-
-	/usr/local/labfolder/printers/FEL/operating$ ./lplisten &
+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:
 
@@ -124,26 +133,32 @@
    :width: 70 %
    :align: center
 
+
 .. image:: _static/create_local_printer02.png   
    :width: 70 %
    :align: center
 
+
 .. image:: _static/create_local_printer03.png
    :width: 70 %
    :align: center
 
+
 .. image:: _static/create_local_printer04.png
    :width: 70 %
    :align: center
 
+
 .. image:: _static/create_local_printer05.png
    :width: 70 %
    :align: center
 
+
 .. image:: _static/create_local_printer06.png
    :width: 70 %
    :align: center
 
+
 .. image:: _static/create_local_printer07.png
    :width: 70 %
    :align: center
--- a/elog2labfolder/installation_cups.rst~	Wed Feb 07 16:53:37 2018 +0100
+++ b/elog2labfolder/installation_cups.rst~	Tue Mar 27 16:07:14 2018 +0200
@@ -1,11 +1,19 @@
 Printing via CUPS and attaching files to labfolder logbooks
 ===========================================================
 
-If you want to print a webpage as PDF and send it to onf of labfolder's logbooks you could create a CUPS printer for each logbook that uses the labfolder API to attach this PDF to a newly created entry. First, you need to install CUPS on the virtual machine that runs labfolder::
+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
+------------------------------
+
+First, you need to install CUPS on the virtual machine that runs labfolder::
 
 	sudo apt-get install cups cups-client cups-bsd
 
-Next, you need to configure ``/etc/cups/cupsd.conf``. This is how it looks like on *lftest*::
+Next, configure ``/etc/cups/cupsd.conf``::
 
 	# Sample configuration file for the CUPS scheduler.  See "man cupsd.conf" for a
 	# complete description of this file.
@@ -20,7 +28,7 @@
 
 	# Administrator user group...
 	SystemGroup lpadmin
-	ServerAdmin weiher@fhi-berlin.mpg.de
+	ServerAdmin <name>@fhi-berlin.mpg.de
 
 	HostNameLookups On
 	ServerAlias *
@@ -85,38 +93,39 @@
 	  ... # probably as in the original
 	</Policy>
 
-Now, you need to create a file system that will hold all CUPS printers, For example, the printers belonging to the logbooks *FEL/operating* and *FEL/installation* could be put in ``/usr/local/labfolder/printers/FEL``. Copy the lplisten script from the git repository ``https://github.molgen.mpg.de/weiher/elog2labfolder.git`` to ``/usr/local/labfolder/printers/FEL/operating`` and to ``.../FEL/installation``. Also, create a pipe that redirects the printer input to the lplisten script::
+Change the *Server Admin*'s e-mail address and the server that shall be listened to (see the ``Listen`` statement). Set `FileDevice Yes` in ``/etc/cups/cups-files.conf``. Now, create a directory where all printers will go, e.g. ``/usr/local/labfolder/printers``.
 
-	/usr/local/labfolder/printers/FEL/operating$ mkfifo prnt
-
-Adapt rights and ownership of lplisten and prnt::
+Get the package for creating new printers from git::
 
-	$ chmod 744 lplisten
-	$ chmod 666 prnt
-	$ chown lp:lpadmin lplisten prnt
+	labfolder@lftest:~$ git clone https://github.molgen.mpg.de/weiher/cupsPrinters
+	labfolder@lftest:~$ ls
+	cupsPrinters  labfolder
 
-Add the labfolder user to the lpadmin group in /etc/group::
+The only file you need to adapt is ``newPrinter.sh``. It is not a must but it is suggested to name the printers like the projects. For example, the FEL projects *operating* and *installation* could be placed at ``.../printers/FEL/operating`` and ``.../printers/FEL/installation``. Execute the script with sudo rights::
 
-	lpadmin:x:115:labfolder
+	labfolder@lftest:~/cupsPrinters$ sudo ./newPrinter.sh
 
-Now, create the CUPS printers via the web interface at ``http://lftest.rz-berlin.mpg.de:631/`` (as configured in cupsd.conf). For example, the *operating* printer points at ``FEL/operating/prnt``. The ready configured printer looks like this in the web interface:
+To prevent ``DENIED`` errors from apparmor install and set the following and restart the CUPS server::
 
-.. image:: _static/cups_print_operating.png
-   :width: 100 %
-   :align: center
+	$ sudo apt-get install apparmor-utils apparmor-profiles
+	$ sudo aa-complain cupsd
+	$ sudo service cups restart
 
-To prevent ``DENIED`` errors from apparmor install and set the following::
+In case you need to debug some logfiles can be found here: */var/log/syslog*, */var/log/cups/error_log* and */var/log/cups/acces_log*
+
+One last change is that you need to once add a user named *Printer Print* (firstname lastname) to the labfolder database. This can be done manually inside the DB by this command::
 
-	sudo apt-get install apparmor-utils apparmor-profiles
-	sudo aa-complain cupsd
-
-Restart the CUPS server::
+	$ mysql -u root -p
+	Enter password:
+	...
+	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');
 
-	$ service cupsd restart
+
+.. _section_cups_user:
 
-Start the lplisten script in the background::
-
-	/usr/local/labfolder/printers/FEL/operating$ ./lplisten &
+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:
 
@@ -125,8 +134,32 @@
    :align: center
 
 
+.. image:: _static/create_local_printer02.png   
+   :width: 70 %
+   :align: center
 
 
+.. image:: _static/create_local_printer03.png
+   :width: 70 %
+   :align: center
+
+
+.. image:: _static/create_local_printer04.png
+   :width: 70 %
+   :align: center
+
 
+.. image:: _static/create_local_printer05.png
+   :width: 70 %
+   :align: center
 
 
+.. image:: _static/create_local_printer06.png
+   :width: 70 %
+   :align: center
+
+
+.. image:: _static/create_local_printer07.png
+   :width: 70 %
+   :align: center
+