[Xprint] GISWxprint-sparc-2004-07-07-release_009_001 Prints too large

Aleksander Adamowski aleksander.adamowski.xprint at altkom.pl
Mon Oct 25 13:16:17 EDT 2004


Thomas Dodd wrote:

> Never seen IPP outside of CUPS. How do I configure Win98 to 
> automatically get the pinter info from a CUPS server?

It's in Windows since version 2000. Win98 isn't supported by MS anyway 
for some time, it's too old.

In Win 2000, when adding a printer, you select adding by URL, and you 
can paste a IPP URL there (from CUPS it would be 
http://cupsserver/printers/printer_name).

>
>> Maybe I'm wrong, maybe I don't know something you do know. What are 
>> those long term methods that you have mentioned?
>
>
> Networked filesystems and file acess.

I know that, but as I've said it's not enough. The UNIX filesystem model 
is too limited. For a rationale, read my next reply.

>
>> But there's no standard covering filesystem representation of LDAP of
>> NIS data, so those would be purely ad-hoc solutions.
>
> That's unfortunate. What about the libc functions that get data from 
> files, NIS, LDAP and other sources? The apps that uses that info don't 
> know or care if the data is a file or NIS.

But that's using getent(), not the filesystem-related functions. Which 
only illustrates that the filesystem model is not perfect for solving 
all thge problems.

We have a key->value database problem, with a need for efficient 
searching based on various object attributes, and traditional UNIX 
filesystem model is weak at this task.

> That's been claimed for 20 years, yet it still works well. Look at the 
> linux /proc and nor /sys psudoe filesystems. It uses "files" for thing 
> others said a file wouldn't work for.

It works only, if you know precisely the name and location of the object 
which you want to get. This is indeed good for storing system settings, 
and printer model configs.

But when you want to centralise organization-wide information, this is 
not enough, hence the popularity of LDAP and directory services in 
general these days.

CUPS could be thought of as a "directory service for printers", and it 
will probably integrated with LDAP some time in the future.

>
> You don't have to have full access for PPDs. You just populate a CUPS 
> directory, with print queue directories, which has a PPD file. Maybe 
> some other info, but we don't need it.

That would be nice, but there's no implementation nor a standard 
covering this.

If XPrint were accepting a directory of PPDs with printer names as 
filenames, one could simply NFS mount the directory /etc/cups/ppd from 
the CUPS server at a proper mount point- that would be a nice 
filesystem-based standard for the start.

But this layout is internal to the CUPS server, it can change in the 
future and the CUPS API is the most proper way of extracting model 
information.

>
> Or write to the 600DPI subqueue.
>
> CUPS/
>    lp1/
>        600dpi
>        300dpi
>    lp2/
>        600dpi
>       1200dpi

Then you'd need:
CUPS/
   lp1/
       600dpi/
          A4
             doublesidedlongedge
             doublesidedshortedge
             singlesided
          A3
             doublesidedlongedge
             doublesidedshortedge
             singlesided

          Letter
             doublesidedlongedge
             doublesidedshortedge
             singlesided
       300dpi
          A4
             doublesidedlongedge
...

You get the idea?

Now imagine you want to add support for e.g. media source (envelope 
feeder, manual feeder, tray 1, tray 2...). Or economy mode.

This directory structure becomes exponentially complex, because the 
information is multidimensional. There are multiple orthogonal 
attributes (paper sizes; possible plexes; resolution). You end up with 
thousands of symlinks for a few printers. At some point your filesystem 
will run out of inodes. Earlier it will become very slow.

> You only need the different queues for info that won't fit in the 
> postscript data. Not sure what postscript supports, but I know plex 
> mode and paper tray selection are.

The structure is not only for submitting, but also for discovering 
information about supported printer input, e.g. so you can see whether a 
printer can print 600DPI duplex on the Letter format paper. This is what 
we are discussing: a way to specify model config information to Xprint 
in a functional way.

>> There are currently no tools to populate that data to Xprint, so each 
>> deployment requires writing them by hand. And they'd have to be 
>> launched periodically from crontab (the changes wouldn't be instant), 
>> or modyfying the CUPS source so that it launches a synchronisation 
>> script after each change in printers configuration.
>
>
> If the PPDs are being used, you don't have to write it by hand.

I know, I were talking about distribution of those PPDs in large 
corporate environments.

>
>> If yes, then when you have a couple dozen's of printers, either users 
>> would be denied printing access for a couple of seconds a number of 
>> times a day, or in the case of replacing a broken printer the users 
>> would have to wait with their printouts till next day. Both solutions 
>> are unacceptable.
>
>
> And restarting CUPS is instant? 

No, but it's not needed.

> All changes are immediately available on all clients?

Exactly. CUPS is designed as a heavy duty multi-user, multi-workstation, 
multi-printer system.

> And xprint doesn't take that long to start.

For environments where there are thousands of user, a restart taking a 
couple of seconds is unacceptable. Of course, one could cluster Xprint 
servers and provide dynamic failover, but it would be better if it could 
just run continuosly and not be restarted when a trivial thing such as a 
change of a printer somewhere on the network occurs.

> I do think that Xprint need a way to reload config data other than a 
> complete restart. With X getting RandR most reasons for an X restart 
> are  going away.

Agreed.

> Then again, for a long time, lpr has required a restart to get config 
> changes. We've all survived that so far.

Some have got fed up with that. And CUPS is the result. It was designed 
to eliminate that problem (among others).

-- 
Best Regards,
    Aleksander Adamowski
        GG#: 274614
        ICQ UIN: 19780575 
	http://olo.ab.altkom.pl



More information about the Xprint mailing list