Document |
Printer (auto)configurator |
Author |
Jan Holesovsky <kendy@suse.cz> |
Id |
$Id: spec_printconf.html,v 1.2 2002/07/15 11:53:33 jsrain Exp $ |
Vision
Configuration of the printer should be as easy as a children play. This
should be provided by as much autoconfiguration and default values as possible.
Keep in mind that children games can be rather complicated and also pretty cruel. Have
you ever thought about slipping wings off your printer?
The main point of this document is The Configuration
Wizard. The printer instatallation tool is in fact the poor Wizard,
the administration tool has these additional features:
- Listing of already configured (accessible) printers.
- Adding a new printer using The Configuration
Wizard.
- Deleting a printer.
- Editing the printer configuration.
- Configuring the filter.
The Configurator should ask user if he is really sure. After it, it should
remove everything it previously installed.
This is similar to Manual addition of the printer,
step 5. of the Configuration Wizard, but the current settings of the edited
printer are used as the default values.
Configuring the filter
Starts the Filter Setup.
If you want to know deeply, how to get particular information for
configuration, have a look at Printer connection
document.
When the user starts the Configuration Wizard, the following steps should be
walked through:
- Perform autodetection of possible printer connections.
Check for necessary packages and detect currently used spooler from the list of them.
In case of inconsistency ask user to choose spooler and reinstall it.
- Autoprobe printer models on detected connections.
Reference: Printer connection
document
- Add all autoprobed printers sitting on
autodetected connections to the spooling system.
The connection (/dev/lp?, network address, etc.), manufacturer and
type of these printers is known.
- Ask user about the manufacturer and the model of
all unknown printers sitting on autodetected connections and
add them to the spooling system.
The connection is known and it is known that there is a printer on
it, but its manufacturer and its type is unknown. (E.g. when a queue on a
remote host is detected --- you know the name of the queue but not the
printer type. Another example: Autodetected printer is not in the printer
database.) More printers can use one kind of connection!
- Manual addition of the printers.
This is necessary for printers or printer connections that cannot
provide information about themselves, or when some parts of the system
weren't configured properly.
- Ask the user about the type of connection (parport, serial, ...,
remote, ...)
- Ask the user for all required information about the connection and
for printer's manufacturer and model.
Of course, help him as much as possible (e.g. provide list of serial
devices, list near hosts, ...)
(Reference: Printer connection
document)
- Ask the printer name.
- Configure the filter. (See The Filter Setup section.)
- Add the printer to the spooling system.
Repeat the manual addition until the user answers, that he has no
other printers to configure.
- Finish, congratulate, etc. :-)
See the Printer Database.
The Configurator should provide a list of all printers in the printer
database. This list should be structured --- into a tree or into two windows,
where in one, there are vendors and in the other, there are models of the
selected vendor there.
Ask for this (required) information:
- Queue name. The Configurator should provide default names for
printers. The user should be able to specify more names than one. One of
the printers in the spooling system should be lp,
the default printer.
At this point, the Configurator knows every required information about
the printer. It means:
- Printer connection and its parameters.
- Printer's manufacturer and model.
- Queue name.
Now it should update the spooling system:
- Write the spooler and filter configuration files
(/etc/gs.upp/y2prn_printername.upp if using LPRng or
call CUPS daemon via IPP call to force it save change if using CUPS)
and YaST2 Printer configuration file (/var/lib/YaST2/printers).
- Call /var/lib/apsfilter/apsfilter.setup to add the printer
(with /etc/gs.upp/y2prn_printername.upp as the configuration
file) if configuring LPRng.
- Adjust starting of configured spooler
- Call SuSEConfig.