root / pykota / trunk / docs / pknotify.sgml @ 2836

Revision 2836, 3.9 kB (checked in by jerome, 18 years ago)

Improved documentation again

  • Property svn:keywords set to Author Date Id Revision
Line 
1<!-- $Id$ -->
2
3<chapter>
4  <title>Interact with end users with pknotify and pykoticon</title>
5  <para>Last modified on $Date$</para>
6 
7  <para>
8    Printing under GNU/Linux and UNIX-Like systems usually lack features to dialog with end users.
9    They usually submit their print jobs, and then wait for them to complete, most of the time
10    silently.
11  </para>
12 
13  <para>
14    Some add-ons to printing systems, like print accounting software, could however benefit
15    a lot from being able to interact with users who submitted print jobs. That's exactly what
16    allow the <command>pknotify</command> and <command>pykoticon</command> commands, and they
17    do so in a completely generic way.
18  </para>
19 
20  <para>
21    <application>PyKotIcon</application> is a cross-platform, generic, networked, dialog box manager
22    which sits on client hosts and listen for incoming connections coming from the print servers.
23    This application is in fact a small server which publishes some of its functions over XML-RPC.
24    These functions offer the following possibilities :
25    <itemizedlist>
26      <listitem>
27        <para>
28          Display an informational message to the end user ;
29        </para>
30      </listitem>
31      <listitem>
32        <para>
33          Display a message to the end user and asks for confirmation or cancellation.
34          The result is sent back to the calling program, usually on the print server ;
35        </para>
36      </listitem>
37      <listitem>
38        <para>
39          Asks the end user to fill a simple form containing a number of labelled fields.
40          The values the user typed in are sent back to the calling program, usually on the print server ;
41        </para>
42      </listitem>
43      <listitem>
44        <para>
45          Automatically shutdown the <application>PyKotIcon</application> application when asked to
46          do so by an authorized host, usually the print server.
47        </para>
48      </listitem>
49    </itemizedlist>
50  </para>
51 
52  <para>
53    It is important to know that <application>PyKotIcon</application> is completely independant from <application>PyKota</application>
54    and can be used outside of <application>PyKota</application>. In reality <application>PyKotIcon</application>
55    knows NOTHING about print accounting, and doesn't need to. That's why it's distributed separately.
56  </para>
57 
58  <para>
59    <application>pknotify</application> is a client program for <application>PyKotIcon</application>, which is usually
60    launched from directives in <filename>~pykota/pykota.conf</filename>, but which can be used directly
61    from the command line as well, if needed.
62  </para>
63 
64  <para>
65    <application>pknotify</application>, through command line options, can use any of the functions published
66    by <application>PyKotIcon</application>. In addition, if it is configured to tell <application>PyKotIcon</application>
67    to ask the end user for an username and password, it can try to authenticate this user with this password on the print server side.
68    This possibility is extremely useful when you allow anonymous logins on printing clients, but still want
69    print accounting to be done on a per user basis : each time an anonymous user prints, we can ask
70    him remotely to enter his authentication credentials. These credentials are then sent back to the
71    print server (NB : in the clear for now), which uses them to decide if printing is to be denied, or
72    allowed to continue until the next phase of print accounting and optional quota enforcement.
73  </para>
74 
75  <para>
76    For more details, see <command>pknotify</command>'s manual page.
77  </para>
78 
79  <warning><title>Warning</title>
80    <para>
81      While <application>PyKotIcon</application> sits on the printing clients, it is in fact
82      a server application. While <application>pknotify</application> is run on the print server,
83      it is in fact a client application to <application>PyKotIcon</application>.
84    </para>
85  </warning>
86</chapter>
87
Note: See TracBrowser for help on using the browser.