Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Support for option presets #244

Open
tillkamppeter opened this issue Dec 21, 2022 · 2 comments
Open

Feature Request: Support for option presets #244

tillkamppeter opened this issue Dec 21, 2022 · 2 comments
Assignees
Labels
enhancement New feature or request priority-low
Milestone

Comments

@tillkamppeter
Copy link
Contributor

Generally, Printer Applications as emulation of driverless IPP printers only support standard IPP job attributes as user-settable options: media size/type/source, duplex, printer-resolution, print-quality, print-content-optimize, ... but some drivers, like Gutenprint, have many options to fine-tune the printout and those cannot get individually mapped to IPP options so that the user can control them in a print dialog. Also many print dialogs, especially of phones, are limited to standard IPP attributes.

So what I want to suggest is to have a preset functionality in PAPPL. On an extra web interface page you can create and edit any number of named presets.

On this page you can create, copy, edit, and delete presets.

You see a list of the existing presets, each with buttons for copy, edit, and delete. At the top you see the create button.

If you click on the create button, you will get on the page for editing a preset.

This page contains a field for the preset's name at the top, being empty if you are creating a new preset. You enter the desired name, only with a valid name you can save your preset.

Under that you see the same options as on the "Printing Defaults" page, both the IPP standard attributes and the vendor option, but in the choices for each option is an extra one "Do not Set" to not include this setting in the template. This is chosen by default in a newly created template. The rest of the choices are the ones which there are also under "Printing Defaults" but with the choice which is the current default under "Printing Defaults" having " (current default)" added, to ease the orientation for the user. To define the template, the user chooses the settings for the desired attributes/options and leaves the attributes/options they do not to include in the template on "Do not Set". If the user edits the name of the template, it gets renamed. Then the user clicks on "Save" to save the template. This brings them back to the list view, with the new template in the list.

The user can for example create a "photo" template choosing photo paper, 4x6 size, and high print quality, or a "draft" template choosing recycled paper and draft print quality. With Gutenprint they could fine-tune a lot of knobs for each paper type, photo style, ... and quickly get back to all their by choosing the right template.

There should be some standard IPP attribute for such templates (is it job-presets? Please correct me.) to be selected by the client and the Printer Application should enumerate all the user defined presets with their names in the response to a get-printer-attributes IPP request (job-presets-supported=None,Preset1,Preset2,...). None should be always there to not select any of the presets.

This, I think, is the best way to cope with printer drivers which have extended settings not mappable to standard IPP attributes, especially for complex drivers like Gutenprint, but also for the retro-fitting Printer Applications as the PPD files (treated by pappl-retrofit) always have non-standard options which end up as vendor options in a PAPPL-based Printer Application, not mapped to standard IPP options.

I post the feature request for PAPPL and not for pappl-retrofit, as the problem occurs for both native and retro-fitting Printer Applications. One can easily see it when one takes the (retro-fitting) Gutenprint Printer Application. See also the screenshot of the "Printing Defaults" page in the Snap Store listing. And this will not change when we create a native Printer Aplication of Gutenprint.

This was already considered in the discussion during the work on the native Gutenprint Printer Application in this year's GSoC.

For the user experience with Gutenprint this preset feature would be even more important than the switchover to a native Printer Application.

Description of job-presets attribute

@michaelrsweet michaelrsweet self-assigned this Dec 24, 2022
@michaelrsweet michaelrsweet added enhancement New feature or request priority-low labels Dec 24, 2022
@michaelrsweet michaelrsweet added this to the Future milestone Dec 24, 2022
@michaelrsweet
Copy link
Owner

Assigning this to "future" for now, but I suspect Gutenprint will need a more complex web UI than I can provide as standard in PAPPL. We can probably coordinate so that the Gutenprint version replaces the "standard" presets UI, but they otherwise retain a similar UX.

@tillkamppeter
Copy link
Contributor Author

I understand, what I have suggested here is a general solution for the fact that existing printer drivers have often vwndor/driver-specific options which cannot get mapped to IPP attributes. I have mentioned Gutenprint as an extreme example. These changes in PAPPL should be done independently of Gutenprint.

So we should do as I have suggested here in PAPPL, and for Gutenprint, after having it converted to a native Printer Application, design an adapted user interface which we put into additional web interface pages, but this would be a feature request to the Gutenprint Printer Application.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request priority-low
Projects
None yet
Development

No branches or pull requests

2 participants