KJobViewer
by Kurt Pfeifle, Network Printing Consultant, Danka Deutschland GmbH, <kpfeifle@danka.de>
Powerful Queue and Spool Manager
A first description and summary of features
There are different ways to access the list of pending jobs. The command "kjobviewer -d danka_infotec_IS2027" f.e opens a first window, showing the jobs for the named printer only. From there, you can go everywhere. You can switch to a view to see all queued jobs of all printers in a single list, or you can select the jobs of any other printer. Checkout the button showing a printer icon to navigate through the different queues. "kjobviewer -a" starts the window in the "all jobs for all printers"-mode, "kjobviewer --help" shows all available options. Once open, all icons show "tooltips", if you park the mouse for a short moment over it.
kjobviewer -- not just for viewing!
kjobviewer in reality is much more than its humble name suggest. Of course one can view jobs in the different queues waiting for print. But it can also manipulate jobs in many different ways. It has quickly evolved in the recent months to become more of a general Print Spool and Queue Management System than a mere "viewer".
Summary
The details are, again, as with all other modules of KDEPrint, dependent on the print subsystem in use. CUPS, as is usual now, in this field is the most feature-complete system for "doing something with jobs that are sent away already and wait for print, possibly on a remote print server".
With kjobviewer you can...
- ...see an overview for a certain queue or see all jobs on all queues;
- ...filter the list to see your "own" jobs only;
- ...sort the pending jobs according to different criteria (size, ownership, job-ide, job-name; billing-tags);
- ...stop a job from printing, putting it into a "held" state;
- ...re-start a held job;
- ...manually release a job that was sent to "hold" from the client already;
- ...reschedule a job for printing at a specified time;
- ...increase or decrease the job-priorities (allowed values are 1-100) to re-arrange the order of automatic printing;
- ...move a job to a different print-queue;
- ..stop jobs from leaving the queue (while still accepting incoming ones);
- ...reject new incoming jobs (while still printing all the pending ones until the queue is empty);
- ...check and re-set all job options -- even adapt them to another target printet which might have a complete different set of commands;
- ...view the existing and re-assign a new job-billing tag to a job;
- ...pop up on screen a nicely formatted report of IPP attributes for any job and also print it;
- ...increase or decrease the number of required copies;
- ...cancel and delete a no-longer-required job.
Note, that some of these manipulations require job ownership or root access.
Pending and completed jobs
kjobviewer can retrieve detailed information even about past and completed jobs. This requires to set CUPS to "PreserveJobHistory True". If you additionally set "PreserveJobFiles True", you can even re-print old jobs without sending them anew across the network!
So kjobviewer is a great tool for users and admins as well as printshop operators and managers to run their daily tasks. It is on par with some very expensive commercial software applications that run in the Windows world of enterprise printing.
Automatic start
kjobviewer is automatically started if you print a job. It remains in the background, only visible as a small printer icon in kicker. Click on the icon to open a window with a list of jobs.
Manual start
To start kjobviewer manually, type its name into a terminal window (like konsole) or into the "Mini-CLI" that opens upon [ALT]+[F2]. You need to give a parameter to the command:
- "kjobviewer --all" shows all pending jobs of all printers.
- "kjobviewer -d danka_infotec" shows the jobs for a printer named danka_infotec.
- "kjobviewer --help", typed in a terminal, gives a short explanation of other options.
Once started, the view can always be extended to all printers or limited to one specific by using the printer icon with the little arrow in the toolbar.
Embedded view
If you have the KDEPrint Printing Manager opened (with the viewing option to "Show Printer Details" activated), selecting a printer and opening the tab called "Jobs" gives you the kjobviewer window as an embedded part of the KDE Printing Manager. It is then restricted to the view of the highlighted printer.
Sorted view
You can use all visible column headers to sort the order of the visible jobs. Clicking on "Owner" groups together all jobs belonging to the same owner, clicking on Job-ID sorts in the order of the numerical job id (while a second click will just reverse this order). This is very useful if you are searching for a particular job in a long list.
NOTE: the order of processing for the jobs is always according to the "job-priority"-value, and, if this is equal for multiple jobs, the order of the "Job-ID".
Benefits of kjobviewer
kjobviewer is not only good for screening the queued up jobs. You can also "manipulate" the order of the jobs, put them on hold, re-start them, cancel them completely, move jobs to a different destination and do various other things. However, not all sorts of manipulations are possible for all print subsystems.
kjobviewer usage with CUPS
kjobviewer provides the most feature-rich presentation of your joblists if it deals with CUPS printjobs.
If you are using a different print subsystem, and miss some of the features presented here, this is most likely because this feature is not present in that print subsystem at all. In some cases, kjobviewer might not yet have it implemented at the present time and possibly supports it at a later stage.
Network wide usage
You can use kjobviewer to access printers on any remote CUPS server to query for jobs. Of course, this is subordinate to your granted access rights for this server's ressources... If used in the "embedded" form in the Printer Manager, you can even edit remote jobs queued on a remote server, after you logged into this server using the "System Options" button.
Moving a job to a different printer
You can move any queued job to a different printer. Highlight the job in question and rightclick: you will see a context-menu of allowe actions. One is the entry "Move to Printer..."
NOTE: You need to have sufficient access rights to conduct the action (like owning the job, being allowed to use the new printer, not having overdone with possible job-quotas set on the new printer, etc.).
Restarting completed jobs
CUPS supports the restart of completed jobs on printers that are defined on the local host. However, this requires the enabling of the "PreserveJobHistory On" *plus* the "PreserveJobFiles On" directive in the CUPS configuration, otherwise it will not work. (You will see a "Requested Operation could not be completed" error message). Also, it is a feature unique to CUPS and not supported by other print subsystems.
Editing of job attributes
Depending on access rights, with CUPS you can edit job attributes of a pending job. Right-click on a pending job (not in the state of "processing") and select "Edit Attributes". All options are accessible, just like if you send the job initially.
Basic view of kjobviewer
Taskbar icons in kjobviewer are "active", if the related action is possible -- otherwise they are "grayed out". The icons are associated with "tooltips". Tooltips explain what the icons mean (if you can't guess it). A tooltip appears, if you "park" the mouse over an icon for a short moment.
The icons are, from left to right:
- Hold Job: this puts the highlighted job into a "held" state until it is cancelled altogether or resumed.
- Resume Job: this activates a job again for queuing and processing, taking it out of the "held" state.
- Remove Job: this cancels and delets a job.
- Move to other Printer: this moves a job to another available printer, which needs to be specified.
- Restart Print: this re-starts an already completed job (possible if "PreserveJobFiles Yes" is set).
- Job IPP Report: this displays a detailed list job attributes (containing their official IPP names).
- Increase Priority: this increases the current value of the job-priority, usually by 10 (possible values 1-100).
- Decrease Priority: this decreases the current value of the job-priority, usually by 10 (possible values 1-100).
- Edit Job Attributes: this allows to check or change all job settings as set by the client.
- Select Printer(s): this changes to a different queue for a different printer.
- Show only User Jobs: this toggles the view to show jobs of all users or just the user you are (not yet active feature).
- Toggle Job List: this toggles the listview from current (queued/held/processing) to the past (completed/cancelled/aborted) ones or back.
- Refresh View: this builds the list of shown jobs anew.
If a particular action is not possible or not allowed, the icon is "grayed out". For job-specific actions you need to have the job highlighted first, before the icons become active.
Different Views
You can list the jobs for different specific printers in separate windows. You can also have all jobs of all printers in one window. (You can not yet create a joint view of the jobs from a few selected printers in one window; this feature might appear in a future release).
Tables
All views of job lists are presented as a table with different headings.
Possible headings are:
- Job-ID: this is automatically assigned to every job by the spooler.
- Owner: this is automatically assigne to every job by the spooler, but may be manually changed.
- Name: this is automatically assigne to every job by the spooler, but may be manually changed.
- State: this describes the current state of a job.
- Size (KB): this shows the size of the job file.
- Page(s): this shows the number of pages for the job; always "1" for "raw" jobs, "0" for not-yet-processed ones and the actual number of pages if it was completely processed by the CUPS-internal pstops filter.
- Priority: this is automatically set to "50" upon job creation, unless changed befor sending of while in the spooling area.
- Billing Information: This is normally empty, but can be set to any useful string value; this string will appear also in the CUPS page_log file for later statistic or billing purposes.
Sorting Jobs
As you might expect, you can sort those lists according to your needs. Long lists might have hundreds of jobs enumerated from dozens of different users. Imagine you want to see all queued jobs by one Michael Goffioul. Clicking on the column heading "Owner" will aggregate all jobs associated with the same job owners together. So Michael's jobs are easily identifyable. Now you can easily select one of them to give it a higher priority, cancel it or whatever action is wanted. -- Jobs could also be sorted according to their size in kBytes or their amount of pages (completed jobs only).
Job IPP Report
The job IPP report gives an overview on the IPP attributes that have been assigned to the selected job. You can also print this report for further reference. The IPP report may be useful for troubleshooting and accounting purposes. Imagine you want to know when exactly the job was sent to printing, when it was called from the queue for processing, and when it was finished. Look for the attributes "time-at-creation", "time-at-processing" and "time-at-completion". These are the new official names as defined in the new IPP standard protocol for the purpose of logging the timings of printjobs.
Many other jobsettings can be extracted by KDEPrint from the Job-IPP-report. [NOTE: Job-IPP-reports are only available when using CUPS.]
Edit Job Attributes
The "Edit Job Attributes" dialog lets you change a job's print settings. Imagine you sent this one long printjob to printing, when you discover, that you had set it to simplex, but had meant to print it duplex. This dialog is for you! Use it to change your print settings without going back to your original document (which you'd need to send a second time over the network, while deleting the first shot.)
Also, after moving the job from one print queue to another, there is the need to at least check-control, but often also adapt the print settings to your new target device.
In some cases you will want to re-schedule a printjob for later printing (like when you have checked that the right paper is loaded, or for the late office hours, when you are pretty sure that there won't be someone else, claiming more karma than you, to get print priority over your running job...)
Job Billing Information
Every CUPS (or, more general, IPP) printjob has a "job-billing" information tagged to it. This would often be just an "empty string". But you can use it to connect a billing account to every (or some) printjobs sent. The next version of KDEPrint will probably include a module that provides nicely formated reports and statistics from the CUPS page_log. At present, you need to use other tools for this.
Manage centralized printing for large organisations
Imagine a professional printing department in some large organisation (as you often see in government bodies or large companies). They have many users printing to a central reproduction department, where digital monster network printers are running all day. In there, one or more operators handle the incoming jobs, assign target printers to them, load papertrays, unload output trays, deliver the finished products and do some amount of book-keeping. The job-billing option is visible in kjobviewer, and may even be edited by an administrator after the job is queued. It later will also appear in the CUPS page_log file (normally in the /var/log/cups/-directory), that counts every single page that is processed by the "pstops" filter.
[ Edit ]
KDEPrint Homepage






