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 | |
---|