Add Norm in cc list in case he could answer some questions.

-Halton.

On Thu, 2008-06-19 at 13:26 +0800, Irene Huang wrote:
> Sorry, the External link should be on opensolaris
> http://www.opensolaris.org/os/community/arc/caselog/2008/389
> 
> --Irene
> Irene Huang wrote:
> > 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
> >>
> >>   
> >
> 


Reply via email to