summaryrefslogtreecommitdiffstats
path: root/kdeprint/TODO.cups12
blob: 436f7d0b0aafd304339a151bf1b616829af06798 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293

TODO.cups12
===========

This is a list of features that need to be implemented in KDEPrint for 
KDE4.

Many gaps have opened by the continuing CUPS 1.1.x development already 
(which added quite some new parameters and features), while KDEPrint
development got dormant in recent years. Plus, even more new gaps by 
the recent CUPS 1.2 release (which added even more new features).


            ---------------------------
              In General:
            ---------------------------
* a GUI to configure client.conf is missing [1.1]
* a GUI to configure snmp.conf is missing [1.2]
* a GUI to configure subscriptions.conf is missing [1.2]

Other stuff that's new:

- port monitor support [1.2]
- unique job IDs support [1.2]
- print a self test page (if driver supports CUPS command file format, 
  you can now print the printer's self-test page) [1.2]
- perform a self-cleaning of print heads (if driver supports CUPS 
  command file format, you can now clean print heads) [1.2]
- per-printer sharing support [1.2]
- per-printer error policy support [1.2]
- per-printer operation policy support [1.2]
- IPP notifications support [1.2]
- cupsd.conf environment variable support [1.2]
- driver interfaces support (CUPS 1.2 supports "driver interfaces" 
  which allow a driver to advertise the printers it supports and 
  automatically generate the PPD file as needed) [1.2]
- improved error handling support (CUPS 1.2 API provides convenience 
  functions to get full error message of last request) [1.2]
- improved "backchannel" support (CUPS 1.2 API provides backends and 
  filters with access to information sent back from a printer) [1.2]
- globalized PPD support [1.2]
- custom PPD option support [1.2]
- extended PPD API support (CUPS 1.2 PPD API got added new functions:
  reading from CUPS files; localization of globalized PPD files; 
  emitting of arbitrary ranges of options; custom option support [like
  passwords, passcodes, curves, integers, points, reals and strings];
  enhanced JCL support; and access to all options in a PPD file) [1.2]
- CUPS ICC profiles support [1.2]


          --------------------------------
            More specifically:
          --------------------------------

kprinter
--------

* add support for "-U username somebody" (or, in a more IPP-conforming 
  syntax:  "-o job-originating-username=username").

* add support for multilanguage PPD files

* add support for other CUPS extensions re. PPD parameters; especially
  important is support for handling custom PPD options!


kaddprinterwizard
-----------------

* add support for IPv6 syntax when specifying or parsing network 
  addresses

* add support for new "snmp" backend in CUPS 1.2.

  The snmp backend can auto-discover most printer types which are 
  attached to the LAN with a NIC. For a sort of introduction to its
  features see http://www.kdedevelopers.org/node/2138/.

  To check it from the commandline, just run it without any parameter:
  "/usr/lib/cups/backend/snmp" (Ubuntu Dapper users have it disabled 
  by default; just run "/usr/lib/cups/backend-available/snmp". If you
  have network printers in your LAN, you'll likely see an output like

    network ipp://10.162.2.92:631/ipp "Ricoh IPP Printer v2.0" "Ricoh IPP Printer v2.0 10.162.2.92" ""
    network socket://10.162.2.93 "infotec  ISC824" "infotec  ISC824 10.162.2.93" ""
    network lpd://10.162.2.94/passthru "Canon iR5000-6000" "Canon iR5000-6000 10.162.2.94" ""

  kaddprintwizard should be able to parse the CUPS snmp backend's
  output for adding the auto-discovered network printers to the 
  local setup.

* add support for the following parameters in printers.conf (which
  where newly added in CUPS 1.2.0):
  - ErrorPolicy
  - OpPolicy
  - Option
  - PortMonitor
  - Shared
  - StateTime
  For information purposes: currently supported parameters are:
  - Accepting
  - AllowUser
  - DenyUser
  - DeviceURI
  - Info
  - JobSheets
  - KLimit
  - Location
  - PageLimit
  - QuotaPeriod
  - State
  - StateMessage



kaddprinterwizard --kdeconfig
-----------------------------

* add support for unix domain socket support (was added in CUPS 1.2.x)

  CUPS 1.2 newly introduced the option to communicate via "unix 
  domain sockets" for local cases (CUPS client and server on the
  same host [=localhost]. That means, you can now have 2 types of
  "Listen" directives (concurrently):
    Listen localhost:631
    Listen /path/to/domain.sock.name

  Support for unix domain socket communication should be added at
  "CUPS Server Settings" --> "Server information".


kaddprinterwizard --serverconfig
--------------------------------

* Add support for currently unsupported cupsd.conf 1.1.x parameters.
  All in all 15 unsupported parameters:
  - ConfigFilePerm
  - FaxRetryInterval
  - FaxRetryLimit
  - FileDevice
  - FilterNice
  - Include
  - LimitRequestBody
  - LogFilePerm
  - MaxClientsPerHost
  - MaxCopies
  - PrintcapGUI
  - ReloadTimeout
  - RootCertDuration
  - RunAsUser
  - ServerTokens

* add support for cupsd.conf parameters newly introduced in CUPS 1.2.0.
  Note, "RunAsUser" is no longer supported in CUPS 1.2.x!
  All in all about 18 new parameters (on top of the 15 unsupported ones
  from CUPS 1.1.x):
  - BrowseLDAPBindDN
  - BrowseLDAPDN
  - BrowseLDAPPassword
  - BrowseLDAPServer
  - BrowseLocalOptions
  - BrowseLocalProtocols
  - BrowseRemoteOptions
  - BrowseRemoteProtocols
  - DefaultEncryption
  - DefaultPolicy
  - DefaultShared
  - JobRetryInterval
  - JobRetryLimit
  - PassEnv
  - Policy
  - SetEnv
  - UseNetworkDefault


Complete list of 1.2.0 cupsd.conf directives
--------------------------------------------

This is a complete list of all cupsd.conf parameters that may be 
used in CUPS 1.2.x, alongside a listing if they are supported in
KDEPrint 3.5.3:


  ++ = supported
  -- = unsupported

 ------------+-----------------------------------------------------
  Supported? | cupsd.conf directive
 ------------+-----------------------------------------------------
  ++         | AccessLog
  ++         | Allow
  ++         | AuthClass
  ++         | AuthGroupName
  ++         | AuthType
  ++         | AutoPurgeJobs
  ++         | BrowseAddress
  ++         | BrowseAllow
  ++         | BrowseDeny
  ++         | BrowseInterval
  -- (1.2)   | BrowseLDAPBindDN
  -- (1.2)   | BrowseLDAPDN
  -- (1.2)   | BrowseLDAPPassword
  -- (1.2)   | BrowseLDAPServer
  -- (1.2)   | BrowseLocalOptions
  -- (1.2)   | BrowseLocalProtocols
  ++         | BrowseOrder
  ++         | BrowsePoll
  ++         | BrowsePort
  ++         | BrowseProtocols
  ++         | BrowseRelay
  ++         | BrowseRemoteOptions
  ++         | BrowseRemoteProtocols
  ++         | BrowseShortNames
  ++         | BrowseTimeout
  ++         | Browsing
  ++         | Classification
  ++         | ClassifyOverride
  -- (1.1)   | ConfigFilePerm
  ++         | DataDir
  ++         | DefaultAuthType
  ++         | DefaultCharset
  -- (1.2)   | DefaultEncryption
  ++         | DefaultLanguage
  -- (1.2)   | DefaultPolicy
  -- (1.2)   | DefaultShared
  ++         | Deny
  ++         | DocumentRoot
  ++         | Encryption
  ++         | ErrorLog
  -- (1.1)   | FileDevice
  ++         | FilterLimit
  -- (1.1)   | FilterNice
  ++         | FontPath
  ++         | Group
  ++         | HideImplicitMembers
  ++         | HostNameLookups
  ++         | ImplicitAnyClasses
  ++         | ImplicitClasses
  -- (1.1)   | Include
  -- (1.2)   | JobRetryInterval      # 1.1 had "FaxRetryInterval"
  -- (1.2)   | JobRetryLimit         # 1.1 had "FaxRetryLimit"
  ++         | KeepAlive
  ++         | KeepAliveTimeout
  ++         | Limit (Location)
  ++         | Limit (Policy)
  ++         | LimitExcept
  -- (1.1)   | LimitRequestBody
  ++         | Listen
  ++         | ListenBackLog
  ++         | Location
  -- (1.1)   | LogFilePerm
  ++         | LogLevel
  ++         | MaxClients
  -- (1.1)   | MaxClientsPerHost
  -- (1.1)   | MaxCopies
  ++         | MaxJobs
  ++         | MaxJobsPerPrinter
  ++         | MaxJobsPerUser
  ++         | MaxLogSize
  ++         | MaxRequestSize
  ++         | Order
  ++         | PageLog
  ++         | PassEnv
  -- (1.2)   | Policy
  ++         | Port
  ++         | PreserveJobFiles
  ++         | PreserveJobHistory
  ++         | Printcap
  ++         | PrintcapFormat
  -- (1.1)   | PrintcapGUI
  -- (1.1)   | ReloadTimeout
  ++         | RemoteRoot
  ++         | RequestRoot
  ++         | Require
  ++         | RIPCache
  -- (1.1)   | RootCertDuration
  --(removed)| (RunAsUser)       # present in 1.1
  ++         | Satisfy
  ++         | ServerAdmin
  ++         | ServerBin
  ++         | ServerCertificate
  ++         | ServerKey
  ++         | ServerRoot
  -- (1.1)   | ServerTokens
  ++         | SetEnv
  -- (1.2)   | SSLListen
  ++         | SSLPort
  ++         | SystemGroup
  ++         | TempDir
  ++         | Timeout
  -- (1.2)   | UseNetworkDefault
  ++         | User
 ------------+-----------------------------------------------------