OpenPrinting / openprinting.github.io

Organization Pages for OpenPrinting
Apache License 2.0
12 stars 25 forks source link

User manual: Add "Before we start" #154

Closed zdohnal closed 4 months ago

zdohnal commented 1 year ago

Add a new paragraph where we explain user stories, current printer application coverage and means of distribution.

zdohnal commented 1 year ago

IMO we need something like this paragraph because questions like those https://github.com/OpenPrinting/cups/discussions/707#discussioncomment-5973624 .

tillkamppeter commented 1 year ago

Please replace the start of the file _documentation/05-User-Manual.md as follows:

---
title: User Manual for Printer Applications
toc: true
toc_sticky: true
h_range: [1,3]
---

**This document is a user manual, containing information about installing drivers provided as Printer/Scanner Applications, installing the CUPS Snap, configuring and using web interface options, and finally use the printer or scanner to print and scan respectively.**

## Introduction

The user is relieved from most of the complexities arising from classic CUPS printer drivers, like needing packages for their particular distro, or ate least compatible with it, ...  With new format for printer drivers they just need to install the driver provided as a Printer/Scanner Application (based on the manufacturer and model) and use the same to get their devices working.

Further, many manufacturer's devices have options that cannot be translated into IPP attributes. So the users can change their printer/scanner properties through the administration Web GUI provided by the Printer/Scanner Application.

## Before you start

**If you have a modern, driverless IPP printer or scanner (AirPrint, Mopria, IPP Everywhere, Wi-Fi Direct Print), you do not need any Printer/Scanner Application.**

The Printer/Scanner Application you need to use depends on your printer's manufacturer, model and which classic driver supports it. We at OpenPrinting have developed Printer Applications covering printer drivers which are available in Debian/Ubuntu to provide retro-fitting (to keep the old devices working, but without adding new features) support for older devices which are currently supported in the distributions, and we provide the Legacy Printer Application for devices, which drivers are no longer supported by the manufacturer or they aren't in distributions for various reasons (no open-source license, no public source code, nobody packaged it...). The Legacy Printer Application is able to find classic drivers installed on the system and use them without CUPS to be able to print on the supported printers. The PostScript Printer Application also allows uploading PPD files for printers via its web administration interface.

We at OpenPrinting provide Printer Applications as Snaps, so these manuals contain Snap-related information. However distributions might provide Printer Applications packaged under classic packaging systems like DEB or RPM, or by another container solution, f.e. Podman or OCI containers. The exception is the Legacy Printer Application, which cannot be containerized due to its nature, so it is part of [pappl-retrofit](https://github.com/OpenPrinting/pappl-retrofit/) and can be shipped only by classic packaging systems.

All the 4 Printer Applications currently available at OpenPrinting are only for retrofitting purposes and any new drivers should be written as native Printer/Scanner Applications, which can be shipped as a container (Snap, Podman, OCI containers) or via classic packaging systems. The Native Printer Applications can be provided by the printer's manufacturer or by community developers who have access to the printer.

### Printer Application Snaps/containers or Legacy Printer Application

1. For your printer you have used a driver which came with your distribution. Thn one of the Printer Applications on OpenPrinting contains it.

2. For your printer you used a driver not coming as package in your distribution, a proprietary driver from the printer's manufacturer for example. Install the Legacy Printer Application and it will see your classically installed driver and use it.

## Installation

...
zdohnal commented 1 year ago

@tillkamppeter I've made some small changes for your text:

  1. in the Legacy printer application part, I've removed "and use them without CUPS" - it could lead common users to think the printer application is a replacement for CUPS, which is not - of course, any client can implement IPP interface and bypass CUPS, but IMO we still want CUPS to manage IPP services at one place to make it easier for user. If you don't believe someone can get the idea, check "When will PAPPL replace CUPS" discussion on fedora-devel list several years ago :D . Got even lwn.net article too.
  2. I have adjust the last article to be more targeted to the user reading the doc. My main aim was to stress out it is not required to use driverless in case printer application provides more functionality, and look at it from user's POV.
tillkamppeter commented 1 year ago

@tillkamppeter I've made some small changes for your text:

1. in the Legacy printer application part, I've removed "and use them without CUPS"

Do not remove it, use "and use them without classically installed CUPS".

tillkamppeter commented 1 year ago

Also there is a "Thn" which should be "Then" in the part you have worked on.

Otherwise it looks all OK.

zdohnal commented 1 year ago

@tillkamppeter I've made some small changes for your text:

1. in the Legacy printer application part, I've removed "and use them without CUPS"

Do not remove it, use "and use them without classically installed CUPS".

@tillkamppeter We don't want to use Legacy printer application with CUPS or RPM/DEB CUPS? Or do you mean by "classically installed CUPS" an older CUPS with driver support? Because I don't see a difference in classically installed CUPS and CUPS snap where they handle legacy printer application and services shared by it.

Would you mind helping me here to understand?

Right now it looks to me you wanted to stress out that the printer will be working even with CUPS which dropped driver support, but I'm not sure.