From sh162551@sac.sfbay.sun.com Wed Jun 18 22:02:04 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5J523cn001196
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 18 Jun 2008 22:02:03 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m5J51vDl017251;
	Thu, 19 Jun 2008 13:02:02 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2P007171ZD9200@nwk-avmta-2.sfbay.sun.com>; Wed,
 18 Jun 2008 22:02:01 -0700 (PDT)
Received: from dm-sfbay-01.sfbay.sun.com ([129.145.155.118])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2P00FCX1ZD40D0@nwk-avmta-2.sfbay.sun.com>; Wed,
 18 Jun 2008 22:02:01 -0700 (PDT)
Received: from sac.sfbay.sun.com (new-sac.SFBay.Sun.COM [129.146.175.65])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id m5J51wus024853; Wed, 18 Jun 2008 22:01:58 -0700 (PDT)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5J51uBY001173; Wed,
 18 Jun 2008 22:01:56 -0700 (PDT)
Received: (from sh162551@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id m5J51uVc001169; Wed,
 18 Jun 2008 22:01:56 -0700 (PDT)
Date: Wed, 18 Jun 2008 22:01:56 -0700 (PDT)
From: Shi-Ying Irene Huang <sh162551@sac.sfbay.sun.com>
Subject: presto phase II [LSARC/2008/389 FastTrack timeout 06/25/2008]
To: lsarc-ext@sun.com
Cc: Halton.huo@sun.com, evan.yan@sun.com, ghee.teo@sun.com
Message-id: <200806190501.m5J51uVc001169@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 19666


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@sun.com>
	Halton Huo 	<halton.huo@sun.com>
	Evan Yan 	<evan.yan@sun.com>
	Norm Jacobs 	<norm.jacobs@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@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@sun.com
    	1.5.2. Responsible Engineer: 	ghee.teo@sun.com
    	1.5.3. Marketing Manager:	Jeff.McMeekin@sun.com
	1.5.4. Interest List:		presto-discuss@opensolaris.org
					printing-discuss@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


From Irene.Huang@sun.com Wed Jun 18 22:06:38 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5J56baw001313
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 18 Jun 2008 22:06:38 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m5J56aM0011901
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Thu, 19 Jun 2008 06:06:36 +0100 (BST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2P0071X270YG00@brm-avmta-1.central.sun.com> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Wed, 18 Jun 2008 23:06:36 -0600 (MDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2P006U826YRD10@brm-avmta-1.central.sun.com> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Wed,
 18 Jun 2008 23:06:35 -0600 (MDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m5J56vow002006	for
 <lsarc-ext@sun.com>; Thu, 19 Jun 2008 05:06:57 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K2P00H0124NCS00@mail-apac.sun.com>
 (original mail from Irene.Huang@Sun.COM)
 for lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Thu,
 19 Jun 2008 13:06:10 +0800 (SGT)
Received: from [129.158.146.215] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K2P00M7G267LRZ4@mail-apac.sun.com>; Thu,
 19 Jun 2008 13:06:08 +0800 (SGT)
Date: Thu, 19 Jun 2008 13:06:29 +0800
From: Irene Huang <Irene.Huang@sun.com>
Subject: Re: presto phase II [LSARC/2008/389 FastTrack timeout 06/25/2008]
In-reply-to: <200806190501.m5J51uVc001169@sac.sfbay.sun.com>
Sender: Irene.Huang@sun.com
To: Shi-Ying Irene Huang <sh162551@sac.sfbay.sun.com>
Cc: lsarc-ext@sun.com, Halton.Huo@sun.com, Evan.Yan@sun.com, Ghee.Teo@sun.com
Message-id: <4859E955.2050407@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200806190501.m5J51uVc001169@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.14 (Windows/20080421)
Status: RO
Content-Length: 20732

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@sun.com>
> 	Halton Huo 	<halton.huo@sun.com>
> 	Evan Yan 	<evan.yan@sun.com>
> 	Norm Jacobs 	<norm.jacobs@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@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@sun.com
>     	1.5.2. Responsible Engineer: 	ghee.teo@sun.com
>     	1.5.3. Marketing Manager:	Jeff.McMeekin@sun.com
> 	1.5.4. Interest List:		presto-discuss@opensolaris.org
> 					printing-discuss@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
>
>   


From Irene.Huang@sun.com Wed Jun 18 22:26:54 2008
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5J5QsMO001622
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 18 Jun 2008 22:26:54 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m5J5QrEJ022570
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Wed, 18 Jun 2008 22:26:54 -0700 (PDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2P0090J34T2S00@brm-avmta-1.central.sun.com> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Wed, 18 Jun 2008 23:26:53 -0600 (MDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2P006GV34NRD30@brm-avmta-1.central.sun.com> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Wed,
 18 Jun 2008 23:26:48 -0600 (MDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m5J5RASC003538	for
 <lsarc-ext@sun.com>; Thu, 19 Jun 2008 05:27:10 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K2P00C012TKVJ00@mail-apac.sun.com>
 (original mail from Irene.Huang@Sun.COM)
 for lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Thu,
 19 Jun 2008 13:24:57 +0800 (SGT)
Received: from [129.158.146.215] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K2P00FUG30ZR1M2@mail-apac.sun.com>; Thu,
 19 Jun 2008 13:24:36 +0800 (SGT)
Date: Thu, 19 Jun 2008 13:26:22 +0800
From: Irene Huang <Irene.Huang@sun.com>
Subject: Re: presto phase II [LSARC/2008/389 FastTrack timeout 06/25/2008]
In-reply-to: <4859E955.2050407@sun.com>
Sender: Irene.Huang@sun.com
To: Irene Huang <Irene.Huang@sun.com>
Cc: Shi-Ying Irene Huang <sh162551@sac.sfbay.sun.com>, lsarc-ext@sun.com,
        Halton.Huo@sun.com, Evan.Yan@sun.com, Ghee.Teo@sun.com
Message-id: <4859EDFE.1070102@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200806190501.m5J51uVc001169@sac.sfbay.sun.com>
 <4859E955.2050407@sun.com>
User-Agent: Thunderbird 2.0.0.14 (Windows/20080421)
Status: RO
Content-Length: 22652

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@sun.com>
>>     Halton Huo     <halton.huo@sun.com>
>>     Evan Yan     <evan.yan@sun.com>
>>     Norm Jacobs     <norm.jacobs@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@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@sun.com
>>         1.5.2. Responsible Engineer:     ghee.teo@sun.com
>>         1.5.3. Marketing Manager:    Jeff.McMeekin@sun.com
>>     1.5.4. Interest List:        presto-discuss@opensolaris.org
>>                     printing-discuss@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
>>
>>   
>


From Halton.Huo@sun.com Wed Jun 18 22:32:21 2008
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5J5WLMJ001686
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 18 Jun 2008 22:32:21 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m5J5WJTY045273
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Wed, 18 Jun 2008 23:32:20 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2P0080F3DVQA00@nwk-avmta-2.sfbay.sun.com> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Wed, 18 Jun 2008 22:32:19 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2P00FFX3DU40E0@nwk-avmta-2.sfbay.sun.com> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Wed,
 18 Jun 2008 22:32:19 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m5J5XEDP006378	for
 <lsarc-ext@sun.com>; Thu, 19 Jun 2008 05:33:14 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K2P00E0139RBO00@mail-apac.sun.com>
 (original mail from Halton.Huo@Sun.COM) for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Thu, 19 Jun 2008 13:31:54 +0800 (SGT)
Received: from [129.158.217.65] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K2P003LP3D5JPNG@mail-apac.sun.com>; Thu,
 19 Jun 2008 13:31:54 +0800 (SGT)
Date: Thu, 19 Jun 2008 13:37:34 +0800
From: Halton Huo <Halton.Huo@sun.com>
Subject: Re: presto phase II [LSARC/2008/389 FastTrack timeout 06/25/2008]
In-reply-to: <4859EDFE.1070102@sun.com>
Sender: Halton.Huo@sun.com
To: Irene Huang <Irene.Huang@sun.com>
Cc: Shi-Ying Irene Huang <sh162551@sac.sfbay.sun.com>, lsarc-ext@sun.com,
        Evan.Yan@sun.com, Ghee.Teo@sun.com, Norm Jacobs <Norm.Jacobs@sun.com>
Message-id: <1213853854.1010.0.camel@judo>
MIME-version: 1.0
X-Mailer: Evolution 2.22.2
Content-type: text/plain
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200806190501.m5J51uVc001169@sac.sfbay.sun.com>
 <4859E955.2050407@sun.com> <4859EDFE.1070102@sun.com>
Status: RO
Content-Length: 23960

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@sun.com>
> >>     Halton Huo     <halton.huo@sun.com>
> >>     Evan Yan     <evan.yan@sun.com>
> >>     Norm Jacobs     <norm.jacobs@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@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@sun.com
> >>         1.5.2. Responsible Engineer:     ghee.teo@sun.com
> >>         1.5.3. Marketing Manager:    Jeff.McMeekin@sun.com
> >>     1.5.4. Interest List:        presto-discuss@opensolaris.org
> >>                     printing-discuss@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
> >>
> >>   
> >
> 


From Artem.Kachitchkin@Sun.COM Wed Jun 18 23:49:28 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5J6nR92003714
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 18 Jun 2008 23:49:28 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m5J6nKEq014839
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Thu, 19 Jun 2008 07:49:26 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2P00C016YCKI00@nwk-avmta-2.sfbay.sun.com> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Wed, 18 Jun 2008 23:49:24 -0700 (PDT)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2P00C606YBGD00@nwk-avmta-2.sfbay.sun.com> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Wed,
 18 Jun 2008 23:49:23 -0700 (PDT)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m5J6nNp4007762	for
 <lsarc-ext@sun.com>; Wed, 18 Jun 2008 23:49:23 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K2P00L016UFI300@fe-sfbay-10.sun.com>
 (original mail from Artem.Kachitchkin@Sun.COM)
 for lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Wed,
 18 Jun 2008 23:49:23 -0700 (PDT)
Received: from [192.168.1.100] ([75.7.23.37])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0K2P000G36YBME80@fe-sfbay-10.sun.com>; Wed,
 18 Jun 2008 23:49:23 -0700 (PDT)
Date: Wed, 18 Jun 2008 23:48:10 -0700
From: Artem Kachitchkine <Artem.Kachitchkin@Sun.COM>
Subject: Re: presto phase II [LSARC/2008/389 FastTrack timeout 06/25/2008]
In-reply-to: <1213853854.1010.0.camel@judo>
Sender: Artem.Kachitchkin@Sun.COM
To: Halton Huo <Halton.Huo@Sun.COM>
Cc: Irene Huang <Irene.Huang@Sun.COM>,
        Shi-Ying Irene Huang <sh162551@sac.sfbay.sun.com>, lsarc-ext@Sun.COM,
        Evan.Yan@Sun.COM, Ghee.Teo@Sun.COM, Norm Jacobs <Norm.Jacobs@Sun.COM>
Message-id: <485A012A.10506@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200806190501.m5J51uVc001169@sac.sfbay.sun.com>
 <4859E955.2050407@sun.com> <4859EDFE.1070102@sun.com>
 <1213853854.1010.0.camel@judo>
User-Agent: Mozilla/5.0 Gecko/20040113
Status: RO
Content-Length: 764


The "signal between X and Y" or "X sends signal to Y" language is 
confusing. DBus signals in general are not peer to peer, they are 
messages broadcast on a bus. Arbitrary number of applications can listen 
on the bus. It is possible, however, to establish a peer to peer DBus 
connection between two applications, much like FIFOs or System V message 
queues. You need to specify:

- the path of the object(s) that implement the 
org.opensolaris.ospm.applet interface

- which of the many possible DBus buses (system? session?) or private 
connections the object is instantiated on

- signal parameters, if any (UDI? queue name?)

Also your proposal has three variations on the signal name: 
PrinterAdded, printerAdded and Printeradded. Which one is it?

-Artem

From Halton.Huo@Sun.COM Thu Jun 19 02:04:21 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5J94KWI008161
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 19 Jun 2008 02:04:21 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m5J94BSw012537
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Thu, 19 Jun 2008 10:04:19 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2P00I0DD73BG00@nwk-avmta-2.sfbay.sun.com> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Thu, 19 Jun 2008 02:04:15 -0700 (PDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2P00CM5D71G7E0@nwk-avmta-2.sfbay.sun.com> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Thu,
 19 Jun 2008 02:04:14 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m5J94b7a022916	for
 <lsarc-ext@sun.com>; Thu, 19 Jun 2008 09:04:37 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K2P00601D10OM00@mail-apac.sun.com>
 (original mail from Halton.Huo@Sun.COM) for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Thu, 19 Jun 2008 17:03:49 +0800 (SGT)
Received: from [129.158.217.65] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K2P003PGD6CJPSH@mail-apac.sun.com>; Thu,
 19 Jun 2008 17:03:49 +0800 (SGT)
Date: Thu, 19 Jun 2008 17:09:30 +0800
From: Halton Huo <Halton.Huo@Sun.COM>
Subject: Re: presto phase II [LSARC/2008/389 FastTrack timeout 06/25/2008]
In-reply-to: <485A012A.10506@sun.com>
Sender: Halton.Huo@Sun.COM
To: Artem Kachitchkine <Artem.Kachitchkin@Sun.COM>
Cc: Irene Huang <Irene.Huang@Sun.COM>,
        Shi-Ying Irene Huang <sh162551@sac.sfbay.sun.com>, lsarc-ext@Sun.COM,
        Evan.Yan@Sun.COM, Ghee.Teo@Sun.COM, Norm Jacobs <Norm.Jacobs@Sun.COM>
Message-id: <1213866570.1010.20.camel@judo>
MIME-version: 1.0
X-Mailer: Evolution 2.22.2
Content-type: text/plain
Content-transfer-encoding: 8BIT
X-PMX-Version: 5.4.1.325704
References: <200806190501.m5J51uVc001169@sac.sfbay.sun.com>
 <4859E955.2050407@sun.com> <4859EDFE.1070102@sun.com>
 <1213853854.1010.0.camel@judo> <485A012A.10506@sun.com>
Status: RO
Content-Length: 2624

On Wed, 2008-06-18 at 23:48 -0700, Artem Kachitchkine wrote:
> The "signal between X and Y" or "X sends signal to Y" language is 
> confusing. DBus signals in general are not peer to peer, they are 
> messages broadcast on a bus. Arbitrary number of applications can listen 
> on the bus. It is possible, however, to establish a peer to peer DBus 
> connection between two applications, much like FIFOs or System V message 
> queues. You need to specify:
Artem,

Thanks for your review.

Here is updates on this part, please review.

  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 "DeviceAdded" 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. Then it 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".
  - If the Print Manager is running at the time, it will be notified by 
    the message "PrinterAdded", and will refresh its view immediately
    and hence shows the newly added queues. Otherwise, these messages
    are ignored.
> 
> - the path of the object(s) that implement the 
> org.opensolaris.ospm.applet interface
> 
> - which of the many possible DBus buses (system? session?) or private 
> connections the object is instantiated on
> 
> - signal parameters, if any (UDI? queue name?)
We're using two DBus signals. One is a system one "﻿﻿DeviceAdded",
another one is our application customized one "﻿PrinterAdded"
1.  ﻿DeviceAdded
   path: /org/freedesktop/Hal/Manager
   interface: ﻿org.freedesktop.Hal.Manager
   bus: system
   
2.  PrinterAdded
   path: ﻿/org/opensolaris/ospm/applet
   interface: ﻿org.opensolaris.ospm.applet
﻿   bus: session

Where need I mention this in the arc document?

Thanks,
Halton.

> 
> Also your proposal has three variations on the signal name: 
> PrinterAdded, printerAdded and Printeradded. Which one is it?
> 
> -Artem


From Irene.Huang@sun.com Sun Jun 22 20:44:52 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5N3ip0m020269
	for <LSARC-ext@sac.sfbay.sun.com>; Sun, 22 Jun 2008 20:44:51 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m5N3imBB000916
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Mon, 23 Jun 2008 11:44:50 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2W00E01D2O8A00@nwk-avmta-1.sfbay.Sun.COM> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Sun, 22 Jun 2008 20:44:48 -0700 (PDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2W0052JD2NWA30@nwk-avmta-1.sfbay.Sun.COM> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Sun,
 22 Jun 2008 20:44:48 -0700 (PDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m5N3jCCB014153	for
 <lsarc-ext@sun.com>; Mon, 23 Jun 2008 03:45:12 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K2W00401CWKQ200@mail-apac.sun.com>
 (original mail from Irene.Huang@Sun.COM)
 for lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Mon,
 23 Jun 2008 11:42:54 +0800 (SGT)
Received: from [129.158.146.126] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K2W00FOVCZBQYKR@mail-apac.sun.com>; Mon,
 23 Jun 2008 11:42:48 +0800 (SGT)
Date: Mon, 23 Jun 2008 11:44:37 +0800
From: Irene Huang <Irene.Huang@sun.com>
Subject: Re: presto phase II [LSARC/2008/389 FastTrack timeout 06/25/2008]
In-reply-to: <1213866570.1010.20.camel@judo>
Sender: Irene.Huang@sun.com
To: Halton Huo <Halton.Huo@sun.com>
Cc: Artem Kachitchkine <Artem.Kachitchkin@sun.com>,
        Shi-Ying Irene Huang <sh162551@sac.sfbay.sun.com>, lsarc-ext@sun.com,
        Evan.Yan@sun.com, Ghee.Teo@sun.com, Norm Jacobs <Norm.Jacobs@sun.com>
Message-id: <485F1C25.3010108@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 8BIT
X-PMX-Version: 5.4.1.325704
References: <200806190501.m5J51uVc001169@sac.sfbay.sun.com>
 <4859E955.2050407@sun.com> <4859EDFE.1070102@sun.com>
 <1213853854.1010.0.camel@judo> <485A012A.10506@sun.com>
 <1213866570.1010.20.camel@judo>
User-Agent: Thunderbird 2.0.0.14 (Windows/20080421)
Status: RO
Content-Length: 2900

Reminder.

This case is due timeout on Tuesday, any further issues, please send an 
email before then.

Thanks

--Irene
Halton Huo wrote:
> On Wed, 2008-06-18 at 23:48 -0700, Artem Kachitchkine wrote:
>   
>> The "signal between X and Y" or "X sends signal to Y" language is 
>> confusing. DBus signals in general are not peer to peer, they are 
>> messages broadcast on a bus. Arbitrary number of applications can listen 
>> on the bus. It is possible, however, to establish a peer to peer DBus 
>> connection between two applications, much like FIFOs or System V message 
>> queues. You need to specify:
>>     
> Artem,
>
> Thanks for your review.
>
> Here is updates on this part, please review.
>
>   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 "DeviceAdded" 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. Then it 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".
>   - If the Print Manager is running at the time, it will be notified by 
>     the message "PrinterAdded", and will refresh its view immediately
>     and hence shows the newly added queues. Otherwise, these messages
>     are ignored.
>   
>> - the path of the object(s) that implement the 
>> org.opensolaris.ospm.applet interface
>>
>> - which of the many possible DBus buses (system? session?) or private 
>> connections the object is instantiated on
>>
>> - signal parameters, if any (UDI? queue name?)
>>     
> We're using two DBus signals. One is a system one "﻿﻿DeviceAdded",
> another one is our application customized one "﻿PrinterAdded"
> 1.  ﻿DeviceAdded
>    path: /org/freedesktop/Hal/Manager
>    interface: ﻿org.freedesktop.Hal.Manager
>    bus: system
>    
> 2.  PrinterAdded
>    path: ﻿/org/opensolaris/ospm/applet
>    interface: ﻿org.opensolaris.ospm.applet
> ﻿   bus: session
>
> Where need I mention this in the arc document?
>
> Thanks,
> Halton.
>
>   
>> Also your proposal has three variations on the signal name: 
>> PrinterAdded, printerAdded and Printeradded. Which one is it?
>>
>> -Artem
>>     
>
>   


From Artem.Kachitchkin@sun.com Sun Jun 22 21:33:23 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5N4XMQv021601
	for <LSARC-ext@sac.sfbay.sun.com>; Sun, 22 Jun 2008 21:33:23 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m5N4XJoB016654
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Mon, 23 Jun 2008 12:33:22 +0800 (SGT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2W00409FBJGZ00@brm-avmta-1.central.sun.com> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Sun, 22 Jun 2008 22:33:19 -0600 (MDT)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2W0013OFBIXQ30@brm-avmta-1.central.sun.com> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Sun,
 22 Jun 2008 22:33:18 -0600 (MDT)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m5N4XIgx020536	for
 <lsarc-ext@sun.com>; Sun, 22 Jun 2008 21:33:18 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K2W00A01FAXTC00@fe-sfbay-09.sun.com>
 (original mail from Artem.Kachitchkin@Sun.COM)
 for lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Sun,
 22 Jun 2008 21:33:18 -0700 (PDT)
Received: from [192.168.1.100] ([75.7.5.188])
 by fe-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0K2W009DQFBCSNE0@fe-sfbay-09.sun.com>; Sun,
 22 Jun 2008 21:33:17 -0700 (PDT)
Date: Sun, 22 Jun 2008 21:31:39 -0700
From: Artem Kachitchkine <Artem.Kachitchkin@sun.com>
Subject: Re: presto phase II [LSARC/2008/389 FastTrack timeout 06/25/2008]
In-reply-to: <485F1C25.3010108@sun.com>
Sender: Artem.Kachitchkin@sun.com
To: Irene Huang <Irene.Huang@sun.com>
Cc: Halton Huo <Halton.Huo@sun.com>,
        Shi-Ying Irene Huang <sh162551@sac.sfbay.sun.com>, lsarc-ext@sun.com,
        Evan.Yan@sun.com, Ghee.Teo@sun.com, Norm Jacobs <Norm.Jacobs@sun.com>
Message-id: <485F272B.9040504@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 8BIT
X-PMX-Version: 5.4.1.325704
References: <200806190501.m5J51uVc001169@sac.sfbay.sun.com>
 <4859E955.2050407@sun.com> <4859EDFE.1070102@sun.com>
 <1213853854.1010.0.camel@judo> <485A012A.10506@sun.com>
 <1213866570.1010.20.camel@judo> <485F1C25.3010108@sun.com>
User-Agent: Mozilla/5.0 Gecko/20040113
Status: RO
Content-Length: 3008


I have no further questions.

-Artem

> This case is due timeout on Tuesday, any further issues, please send an 
> email before then.
> 
> Thanks
> 
> --Irene
> Halton Huo wrote:
>> On Wed, 2008-06-18 at 23:48 -0700, Artem Kachitchkine wrote:
>>  
>>> The "signal between X and Y" or "X sends signal to Y" language is 
>>> confusing. DBus signals in general are not peer to peer, they are 
>>> messages broadcast on a bus. Arbitrary number of applications can 
>>> listen on the bus. It is possible, however, to establish a peer to 
>>> peer DBus connection between two applications, much like FIFOs or 
>>> System V message queues. You need to specify:
>>>     
>> Artem,
>>
>> Thanks for your review.
>>
>> Here is updates on this part, please review.
>>
>>   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 "DeviceAdded" 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. Then it 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".
>>   - If the Print Manager is running at the time, it will be notified 
>> by     the message "PrinterAdded", and will refresh its view immediately
>>     and hence shows the newly added queues. Otherwise, these messages
>>     are ignored.
>>  
>>> - the path of the object(s) that implement the 
>>> org.opensolaris.ospm.applet interface
>>>
>>> - which of the many possible DBus buses (system? session?) or private 
>>> connections the object is instantiated on
>>>
>>> - signal parameters, if any (UDI? queue name?)
>>>     
>> We're using two DBus signals. One is a system one "﻿﻿DeviceAdded",
>> another one is our application customized one "﻿PrinterAdded"
>> 1.  ﻿DeviceAdded
>>    path: /org/freedesktop/Hal/Manager
>>    interface: ﻿org.freedesktop.Hal.Manager
>>    bus: system
>>    2.  PrinterAdded
>>    path: ﻿/org/opensolaris/ospm/applet
>>    interface: ﻿org.opensolaris.ospm.applet
>> ﻿   bus: session
>>
>> Where need I mention this in the arc document?
>>
>> Thanks,
>> Halton.
>>
>>  
>>> Also your proposal has three variations on the signal name: 
>>> PrinterAdded, printerAdded and Printeradded. Which one is it?
>>>
>>> -Artem
>>>     
>>
>>   
> 


From Irene.Huang@sun.com Tue Jun 24 19:25:10 2008
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m5P2PAB2006706
	for <LSARC-ext@sac.sfbay.sun.com>; Tue, 24 Jun 2008 19:25:10 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m5P2P9Cu014803
	for <@sunmail2sca.sfbay.sun.com:lsarc-ext@sun.com>; Tue, 24 Jun 2008 19:25:10 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K2Z00L0NYPXIY00@nwk-avmta-1.sfbay.Sun.COM> for lsarc-ext@sun.com
 (ORCPT lsarc-ext@sun.com); Tue, 24 Jun 2008 19:25:09 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K2Z00GQNYPWM7C0@nwk-avmta-1.sfbay.Sun.COM> for
 lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Tue,
 24 Jun 2008 19:25:09 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m5P2Q6ci010584	for
 <lsarc-ext@sun.com>; Wed, 25 Jun 2008 02:26:06 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K2Z00F01YL82X00@mail-apac.sun.com>
 (original mail from Irene.Huang@Sun.COM)
 for lsarc-ext@sun.com (ORCPT lsarc-ext@sun.com); Wed,
 25 Jun 2008 10:24:42 +0800 (SGT)
Received: from [129.158.146.126] by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 with ESMTPSA id <0K2Z003H3YP5JPAV@mail-apac.sun.com>; Wed,
 25 Jun 2008 10:24:42 +0800 (SGT)
Date: Wed, 25 Jun 2008 10:25:03 +0800
From: Irene Huang <Irene.Huang@sun.com>
Subject: Re: presto phase II [LSARC/2008/389 FastTrack timeout 06/25/2008]
In-reply-to: <485F272B.9040504@sun.com>
Sender: Irene.Huang@sun.com
To: Artem Kachitchkine <Artem.Kachitchkin@sun.com>
Cc: Halton Huo <Halton.Huo@sun.com>,
        Shi-Ying Irene Huang <sh162551@sac.sfbay.sun.com>, lsarc-ext@sun.com,
        Evan.Yan@sun.com, Ghee.Teo@sun.com, Norm Jacobs <Norm.Jacobs@sun.com>
Message-id: <4861AC7F.3070504@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 8BIT
X-PMX-Version: 5.4.1.325704
References: <200806190501.m5J51uVc001169@sac.sfbay.sun.com>
 <4859E955.2050407@sun.com> <4859EDFE.1070102@sun.com>
 <1213853854.1010.0.camel@judo> <485A012A.10506@sun.com>
 <1213866570.1010.20.camel@judo> <485F1C25.3010108@sun.com>
 <485F272B.9040504@sun.com>
User-Agent: Thunderbird 2.0.0.14 (Windows/20080421)
Status: RO
Content-Length: 3157

Closing as approved.

--Irene
Artem Kachitchkine wrote:
>
> I have no further questions.
>
> -Artem
>
>> This case is due timeout on Tuesday, any further issues, please send 
>> an email before then.
>>
>> Thanks
>>
>> --Irene
>> Halton Huo wrote:
>>> On Wed, 2008-06-18 at 23:48 -0700, Artem Kachitchkine wrote:
>>>  
>>>> The "signal between X and Y" or "X sends signal to Y" language is 
>>>> confusing. DBus signals in general are not peer to peer, they are 
>>>> messages broadcast on a bus. Arbitrary number of applications can 
>>>> listen on the bus. It is possible, however, to establish a peer to 
>>>> peer DBus connection between two applications, much like FIFOs or 
>>>> System V message queues. You need to specify:
>>>>     
>>> Artem,
>>>
>>> Thanks for your review.
>>>
>>> Here is updates on this part, please review.
>>>
>>>   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 "DeviceAdded" 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. Then it 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".
>>>   - If the Print Manager is running at the time, it will be notified 
>>> by     the message "PrinterAdded", and will refresh its view 
>>> immediately
>>>     and hence shows the newly added queues. Otherwise, these messages
>>>     are ignored.
>>>  
>>>> - the path of the object(s) that implement the 
>>>> org.opensolaris.ospm.applet interface
>>>>
>>>> - which of the many possible DBus buses (system? session?) or 
>>>> private connections the object is instantiated on
>>>>
>>>> - signal parameters, if any (UDI? queue name?)
>>>>     
>>> We're using two DBus signals. One is a system one "﻿﻿DeviceAdded",
>>> another one is our application customized one "﻿PrinterAdded"
>>> 1.  ﻿DeviceAdded
>>>    path: /org/freedesktop/Hal/Manager
>>>    interface: ﻿org.freedesktop.Hal.Manager
>>>    bus: system
>>>    2.  PrinterAdded
>>>    path: ﻿/org/opensolaris/ospm/applet
>>>    interface: ﻿org.opensolaris.ospm.applet
>>> ﻿   bus: session
>>>
>>> Where need I mention this in the arc document?
>>>
>>> Thanks,
>>> Halton.
>>>
>>>  
>>>> Also your proposal has three variations on the signal name: 
>>>> PrinterAdded, printerAdded and Printeradded. Which one is it?
>>>>
>>>> -Artem
>>>>     
>>>
>>>   
>>
>


