[2836] | 1 | <!-- $Id$ --> |
---|
| 2 | |
---|
| 3 | <chapter> |
---|
| 4 | <title>Interact with end users with pknotify and pykoticon</title> |
---|
| 5 | <para>Last modified on $Date$</para> |
---|
[3413] | 6 | |
---|
[2836] | 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> |
---|
[3413] | 12 | |
---|
[2836] | 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> |
---|
[3413] | 19 | |
---|
[2836] | 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> |
---|
[3413] | 51 | |
---|
[2836] | 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> |
---|
[3413] | 57 | |
---|
[2836] | 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> |
---|
[3413] | 63 | |
---|
[2836] | 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> |
---|
[3413] | 74 | |
---|
[2836] | 75 | <para> |
---|
| 76 | For more details, see <command>pknotify</command>'s manual page. |
---|
| 77 | </para> |
---|
[3413] | 78 | |
---|
[2836] | 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 | |
---|