Hi, all I am sponsoring this case, setting the timeout to be 06/25/2008
Manpages for the binaries are available at Internally http://sac.eng/Archives/CaseLog/arc/LSARC/2008/389/manpages/ Externally http://sac.eng/Archives/CaseLog/arc/LSARC/2008/389 --Irene Shi-Ying Irene Huang wrote: > Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI > This information is Copyright 2008 Sun Microsystems > 1. Introduction > 1.1. Project/Component Working Name: > presto phase II > 1.2. Name of Document Author/Supplier: > Author: Halton Huo > 1.3 Date of This Document: > 18 June, 2008 > 4. Technical Description > 1. Introduction > 1.1. Project/Component Working Name: > > Presto Phase II: OpenSolaris Print Manager > > 1.2. Name of Document Author/Supplier: > > Ghee Teo <ghee.teo at sun.com> > Halton Huo <halton.huo at sun.com> > Evan Yan <evan.yan at sun.com> > Norm Jacobs <norm.jacobs at sun.com> > > 1.3. Date of This Document: > > 06/12/08 > > 1.3.1. Date this project was conceived: > > Phase 1 of this project (LSARC/2007/287) was integrated into > Nevada build 69 in June 2007. Phase 2 started then in July 2007. > > > 1.4. Name of Major Document Customer(s)/Consumer(s): > 1.4.1. The PAC or CPT you expect to review your project: > > Solaris PAC > > 1.4.2. The ARC(s) you expect to review your project: > > LSARC > > 1.4.3. The Director/VP who is "Sponsoring" this project: > > Robert.Odea at Sun.Com > > 1.4.4. The name of your business unit: > > Software - New Solaris - Open Source > > 1.5. Email Aliases: > 1.5.1. Responsible Manager: leo.binchy at sun.com > 1.5.2. Responsible Engineer: ghee.teo at sun.com > 1.5.3. Marketing Manager: Jeff.McMeekin at sun.com > 1.5.4. Interest List: presto-discuss at opensolaris.org > printing-discuss at opensolaris,org > > 2. Project Summary > 2.1. Project Description: > > This project is the desktop side of phase 2 of the OpenSolaris Project, > Presto: Automatic Printing Configuration. The overall goal of Presto is > to automatically discover and configure access to directly attached, > network attached, and remotely served printers [2]. Phase 1 of > desktop side of Presto (LSARC/2007/287) covered the the work required to > automatically detect and configure access for locally attached USB > printers. Print queues are be detected or created by user when plugged > in. A notification dialog is popped up when a printer is unplugged or > when error is encountered. > > This project is to support the auto-discovery of network attached > printers from the desktop end. The OS level to auto-discover network > printers was implemented by PSARC/2007/499 which has been integrated > into Nevada build 77. The interface between the discovery services, be > it for USB or network device through SNMP, remains the same. Hence the > same desktop daemon, ospm-applet, can be notified of printer events be > it from USB port or on the network. > > Once a network printer is discovered, the ospm-applet noted that and > proceeds to create the print queue automatically. The print queue > created can then be modified using the OpenSolaris Print Manager. This > is necessary as the automated fuzzy lookup of the printer driver's name > is not always accurate. > > The Print Manager not only allows the user to modify the print queue's > settings, it also allow the user to manage his print queues, jobs and > organizing print queues into logical groups. > > The reasons for such an elaboration of functionalities is to allow us > to partially or completely replace a couple of printing tools which are > currently made available on the JDS Desktop menu. The two tools are: > (1) gnome-printinfo(1), a queue and job monitoring tool which wrapped > around lpstat(1). Highly inefficient and unmaintained. > (2) printmgr(1M), a JAVA based GUI for creating print queues. The > recommended tool to create print queues for network printer, > attached printer and also creating access to remote print server. > It even supports NIS/LDAP database of printer setup. > > The Print Manager provides a complete replacement for > gnome-printinfo(1) and supports only file level printer database, > printers.conf(4). Hence, it only provides partial functionalities of > printmgr(1M). The primary lack in support in between that of > printmgr(1M) and OpenSolaris Print Manager is that the former does not > support printer management under NIS/LDAP. However, the project team > perceive that printers.conf(4) level of support is sufficient in an > unmanaged network environment. So the plan of record is to remove the > above two tools from the desktop menu and replace them with the > OpenSolaris Print Manager. > > printmgr(1M) will continue to be available through command line. > gnome-printinfo(1) will be obsoleted and removed in a future ARC case. > > > 2.2. Risks and Assumptions: > > No risk is perceived. > > > 4. Technical Description: > 4.1. Details: > > The work done in this project can be divided into: > - Extending the ospm-applet from phase 1 to handle network printers > - Extending the ospm-preferences to allow new preferences introduced > in phase 2 to be configured, notably that for network printers. > - Print Manager which is integrated with the auto-detected and auto- > discovered printers. > > Extensions to ospm-applet > Ospm-applet is the daemon that is launched when user logs into the GNOME > desktop. It sits and waits for HAL printer events. It responds > accordingly when either a local USB or network printer is added or > removed through the DBUS message sent from hald. > > hald is the privileged process that handles detection/discovery of > printers, it stores the printer's data in the HAL device tree from > which ospm-applet read from regardless of local USB and network printer. > However, ospm-applet does handle creation of local printer and network > printer queues slightly differently. For network printer, queues will be > added automatically. Whereas for local printer, the user can configure > whether to be prompted or not. In both cases, ospm-applet will send a > DBUS message when a printer is added, "PrinterAdded", this is handled > by the Print Manager. > > Extensions to ospm-preferences > The capplet or preferences dialog is now extended into 3 tabs. > Tab 1: Print Manager > It allows the configuration of 3 things. > > Notification: It handles how the printer icon is managed in the > notification area. > > Unavailable Printers: how the print manager should depict off line > printers. > > Refresh rate for Queue View and Job View: it allows users to specify > how frequently the queue view and job view are to be refreshed. > > Tab 2: Local Printers > contains the options which were in Phase 1. > > Tab 3: Network Printers > It allows configuration of how network printers be being handled in the > print manager. > > Print Manager > The Print Manager integrates with the rest of Presto and its role > within the Presto Architecture can be seen in section 3 of [1]. > The relationship of the Print Manager and the user Add Queue daemon > (ospm-applet) can be described as such: > > Local USB Printer: > - the OpenSolaris kernel notices the Device HotPlug event > - the kernel sends out a sysevent that devfsadmd(1M) is listening for > - devfsadmd(1M) notices the Printer Add or Remove sysevent, it notifies > hald (HAL daemon) > - hald uses an external probe program to interrogate the printer and > populate the HAL device tree with all the relevant data it can get > hald sends out a Device Added or Removed DBUS signal > - ospm-applet, which is a user's session daemon, is waiting and > responding to these signals. Based on the unique udi (Unique Device > Identifier) it received from hald, it looks up the rest of the data > from the Hal device tree. > - Ospm-applet then displays fully populated Add Queue Dialog for the > user to add the queue, the displaying of this dialog is configurable. > If it is turned off, the queue will be automatically added. > - Once the queue is added, a notification bubble is shown on the > notification area of the panel > Once the above steps are completed, the printer is ready to be used. > > Network Printer (via SNMP): > - Enable network printer discovery service, > svc:/network/device-discovery/printers:snmp > - The hald network printer add-on broadcast a SNMP GET > - Network printer which is SNMP capable would then respond to it > - The SNMP agent then populates the HAL Device Tree with the network > printer data. > - hald detected changes in the HAL device tree and deduces that these > are printers, it sends out the "printerAdded" DBUS signal to > ospm-applet. > - ospm-applet adds print queues for these printers in the background > until these are all done. > - ospm-applet pop-ups a generic message as a notification bubble > notifying the user that network print queues have been added. > - ospm-applet also sends out a DBUS message, "printerAdded" to the > print manager, ospm-pm. > - If the Print Manager is running at the time, it will refresh its view > immediately and hence shows the newly added queues. Otherwise, these > messages are ignored. > > > > 4.4. Out of Scope: > > Obsoletion and removal of gnome-printinfo(1) which should be handled > by a separate ARC case. > > While phase 2 of the project has pretty much implemented the key > elements of Presto for both local and network printers and integrated > with the OpenSolaris Print Manager. The limitation is that this only > for OpenSolairs LP Print System, it doesn't handle CUPS. Since CUPS > queues and LP queues are not compatible to be used by the Print Manager. > There is no sharing of these queues data. While it is quite feasible to > create a CUPS implementation of for the Print Manager, this may not be > the route that the project team sees the road map.There are much work > and momentum on CUPS in the Open Source communities, it would be more > effective if we can make use and contribute to that for OpenSolairs CUPS > print system. > > Other important aspect such as handling of Windows printers, integration > of printer groups into the GTK+ print dialog are all feasible and > important to improve the user's experience on OpenSolaris. > > > 4.5. Interfaces: > > Interfaces inherited from phase 1 of the project (LSARC/2007/287) > > > ___________________________________________________________________________ > | Interfaces Exported > | > > ___________________________________________________________________________ > | Interface Name | Classification | Comment > | > > ___________________________________________________________________________ > | /usr/lib/ospm | Project Private | Project private directory > | > > --------------------------------------------------------------------------- > | /usr/lib/ospm\ | Volatile | applet handling HAL events > | > | /ospm-applet | | through DBUS > | > > --------------------------------------------------------------------------- > | /usr/lib/ospm\ | Project Private | RBAC program to create, > | > | /lp-queue-helper | | enable, disable print queue. > | > | | | Invokes a subset of lpadmin > | > > --------------------------------------------------------------------------- > | /usr/lib/ospm\ | Project Private | script to extract serial > | > | lp-queue-exists-by-serial.sh | number associated with the > | > | | | plugged in printer. > | > > --------------------------------------------------------------------------- > | /usr/bin\ | Volatile | GUI dialog to change > | > | /ospm-preferences | | preferences, internally > | > | | | represented by a number of > | > | | | gconf keys. > | > > --------------------------------------------------------------------------- > | /usr/lib/ospm\ | Project Private | Shared library used by applet > | > | /libospm-prefs.so.0.0.0 | and capplet > | > > --------------------------------------------------------------------------- > | /usr/lib/ospm\ | Project Private | Shared library used by applet > | > | /libospm-utils.so.0.0.0 | and capplet > | > > --------------------------------------------------------------------------- > | SUNWprint-monitor | Uncommitted | Package name containing the > | > | | | project binaries. > | > > --------------------------------------------------------------------------- > | SUNWprint-monitor-root| Uncommitted | Package that contains project > | > | | | configuration data. > | > > --------------------------------------------------------------------------- > > This project (Phase 2) exports the following new interfaces: > > ___________________________________________________________________________ > | Interfaces Exported > | > > |-------------------------------------------------------------------------| > | Interface Name | Classification | Comment > | > > |-----------------------|-----------------|-------------------------------| > | /usr/lib/ospm-pm | Volatile | Print Manager GUI | > > |-----------------------|-----------------|-------------------------------| > |org.opensolaris.ospm.\ | | > | > | applet | | | > | Printeradded | Project Private | DBUS signal between | > | | | ospm-applet and ospm-p > | > > |-----------------------|-----------------|-------------------------------| > | /etc/gconf/schemas/ | Volatile | GCONF keys schemas that > define| > | ospm.schema | | the preferences for the tools > | > > |-----------------------|-----------------|-------------------------------| > | $HOME/ | | XML file that stores the data | > |.ospm-printer-groups.xml | Volatile | for printer groups. > Stability | > | | | is Volatile as the the format > | > | | | may change in future > | > | | | development. > | > > |-----------------------|-----------------|-------------------------------| > > > > Interfaces imported (inherited) from phase 1 of the project > (LSARC/2007/287) > > ___________________________________________________________________________ > | Interfaces Imported > | > > ___________________________________________________________________________ > | Interface Name | Classification | Comment > | > > ___________________________________________________________________________ > | lpadmin(1M) | Obsolete | Obsoleted by PSARC/1993/348, > | > | | | lpadmin(1M) was changed to > | > | | | obsolete because it was > | > | | | planned to be replaced. > | > | | | However, thing has changed > | > | | | since, it remains the single > | > | | | command to create print > queues| > | | | on Solaris. It is likely to > | > | | | stay around for a long time > to| > | | | come. > | > > --------------------------------------------------------------------------- > | Printers(4) | Committed | PSARC/1994/162, This file > | > | | | needs to be updated for the > | > | | | user to reflect default > | > | | | printer and printers of > | > | | | interest. > | > > --------------------------------------------------------------------------- > | pfexec(1) | Committed | PSARC/2002/188, used to > invoke| > | | | lp-queue-helper with RBAC. > | > > --------------------------------------------------------------------------- > | libpapi | Contracted | LSARC/2001/259, Already has a > | > | | Project Private | contract with Printing group > | > | | | as part of LSARC/2006/462 [2] > | > > --------------------------------------------------------------------------- > | /usr/lib/libdbus-1.so | Volatile | LSARC 2006/368 > | > > --------------------------------------------------------------------------- > | /usr/lib\ | Volatile | LSARC/2006/368 > | > | /libdbus-glib-1.so | | > | > > --------------------------------------------------------------------------- > | libnotify.so | Volatile | LSARC 2007/137 > | > > ___________________________________________________________________________ > > > New interfaces imported in this project. > > > ___________________________________________________________________________ > | Interfaces Imported > | > > ___________________________________________________________________________ > | Interface Name | Classification | Comment > | > > ___________________________________________________________________________ > | libxml.so | Standard | PSARC 2008/032 > | > > ___________________________________________________________________________ > > 4.6. Doc Impact: > > One new man page ospm-pm(1) will be provided for this project. > ospm-preferences(1) will be updated to reflect the updated features. > > > 4.7. Admin/Config Impact: > > None. > > 4.8. HA Impact: > > N/A > > 4.9. I18N/L10N Impact: > > Yes. G11N has been contacted for evaluation for this project. > Most of the L10N from phase 1 of this project can be re-used, though > there are new G10N and L10N required for ospm-preferences(1) and > ospm-pm(1). > > 4.10. Packaging & Delivery: > > No new package is delivered. The two existing packages: > - SUNWprint-monitor > - SUNWprint-monitor-root > will be used to package the new feature. > > > 4.11. Security Impact: > > No new security related issue is raised in this phase. > All security related issues were discussed and included in phase 1 > of the project as in LSARC/2007/287. > > > 4.12. Dependencies: > > No known pending dependency. > > > 5. Reference Documents: > > > [1] "Presto - Printing Made easy", Ghee Teo, OpenSolaris Developer > Conference, Prague, June 24-27, 2008. > http://www.opensolaris.org/os/project/presto/Documents/osdevpaper > [2] Presto OpenSolaris poject, > http://www.opensolaris.org/os/project/presto/ > > 6. Resources and Schedule: > 6.1. Projected Availability: > > Planned integration data: August 2008, Nevada build 97, > > 6.5. ARC review type: > > FastTrack > > 6.6. ARC Exposure: > > Open. > > This project is one of the OpenSolaris project, Presto [2]. > > > 6. Resources and Schedule > 6.4. Steering Committee requested information > 6.4.1. Consolidation C-team Name: > Desktop > 6.5. ARC review type: FastTrack > 6.6. ARC Exposure: open > >
