system-config-printer
John (J5) Palmieri
johnp at redhat.com
Thu Feb 3 22:16:29 UTC 2005
Oh, one more thing I forgot:
I would like to see an easy way for the backend to mark and configure a
local queue for sharing.
On Thu, 2005-02-03 at 15:02 -0500, John (J5) Palmieri wrote:
> Ok,
>
> Now that I have outlined the current process I would like to make some
> suggestions on what I would like to see in terms of a printer
> configuration architecture in the future.
>
> * Kill hal_lpadmin - I originally wrote this so I could create queues
> using IPP[1] and it worked up to the point that I needed to create an
> actual PPD[2] file. I ended up changing it to just exec printconf. In
> theory all the functionality in here should move to the new printing
> backend.
>
> * Eventually get rid of cups-config-daemon - We need to keep it for now
> since it takes up minimal resources. cups-config-daemon should become a
> liaison for translating dbus messages to the new printconf backend
> commands. Once system service activation is developed we can dump cups-
> config-daemon and place all the D-BUS functionality directly into the
> printconf backend. Activation will then be able to start up the
> backend which can in turn service D-BUS requests directly. Resource
> usage is less important when activation is in play because the resources
> can be returned after printconf services the request (unlike the
> situation now where cups-config-daemon need to run all time on the off
> chance it will be called upon to configure a printer).
>
> * Enhancements to the backend:
> - Make it more knowledgeable - have it use hal to track printers
>
> - Make it more intelligent
> - Give it one command to auto-configure a printer.
>
> - Have it determine if it has the drivers it needs
> and automatically create a queue and name it.
>
> - If it can't find the driver have it talk to the
> console session so that it can get the user configured
> driver.
>
> - Give it the ability to have queue's renamed and
> remember those queue names the next time the printer
> is plugged in.
>
> - Give it the ability to accept and install 3rd party
> PPD files and use that PPD file whenever the printer
> shows up again (How secure is this? Can PPD files
> execute code it shouldn't?)
>
> - Have the ability to lock down specific printers from
> being auto-configured and also the ability to not
> allow any printers to be auto-configured.
>
> - Have the ability to delete queues by name or hal udi
>
> - Have it talk CUPS' language - CUPS speaks IPP and since it
> will be hard to get D-BUS patches upstream we should just
> use IPP to do live configurations of auto-configured
> printers. I was successfully doing this in hal_lpadmin
> sans the PPD files. This works great because CUPS gets
> the configuration on the fly so it doesn't have to
> refresh its printer list like it does now when we send
> the HUP signal. We will use the D-BUS protocol where
> authentication is a problem (user session) and translate
> those D-BUS calls to IPP calls.
>
> - Allow an admin to change or add configuration to the foomatic
> database just in case things are wrong or nonexistent.
> Perhaps add a way to export these changes for attachment
> to a bug report.
>
> - Make sure the system-config tools and the desktop tools play
> nice with the queues. (i.e. the two should not step on each
> others feet. If a printer is already statically added via the
> admin tool auto-configure should not create a new queue. Also
> if the admin tool made changes to an auto-configured queue
> those changes should be honored the next time the printer is
> plugged in)
>
> - Figure out a way to have this all still work in a stateless
> environment (read only root)
>
> Ok, that is all I can think of for now. It is enough to discuss. Would
> like input on what everyone thinks about this and anything they would
> add, remove or tweak.
>
> [1] The Internet Printing Protocol (IPP) is a sanctioned Internet
> Engineering Task Force (IETF) standard for printing documents over the
> web. IPP defines basic handshaking and communication methods, but does
> not enforce the format of the print data stream. Typically, a standard
> page description language, such as HP PCL or Adobe PostScript, would be
> used.
>
> [2] PostScript Printer Description file. A file that contains
> information on screen angle, resolution, page size and device-specific
> information for a file to be printed on a PostScript device.
>
--
John (J5) Palmieri
Associate Software Engineer
Desktop Group
Red Hat, Inc.
Blog: http://martianrock.com
More information about the fedora-devel-list
mailing list