{ "assignments": [
			{"component": "About", 			"assignee": "wsudol", 	"expert": "", "description": "About dialog and System Summary Editor"},
			{"component": "ActionSets", 	"assignee": "wsudol", "expert": "pwebster", "description": "Action sets"},
			{"component": "ActivityMgmt", 	"assignee": "wsudol", 	"expert": "", "description":  "Support for activity grouping of functionality (AKA: Capabilities)"},
			{"component": "BiDi", 			"assignee": "wsudol", "expert": "", "description": "Bidirectional support. Triage '-dir rtl' defects to the appropriate component area first (i.e. if it's a Drag 'n Drop issue that only shows up in 'rtl' mode then triage to [DnD]...)"},
			{"component": "CellEditors", 	"assignee": "wsudol", "expert": "", "description": "Cell editors in Tasks view, Properties view or other views"},
			{"component": "Commands", 		"assignee": "wsudol", "expert": "pwebster", "description": "Command support (added in 3.0)<p><ul>\
		<li><em>handlers</em>.  Anything dealing with handlers and handler submissions.</li>\
		<li><em>instrumentation</em>.  Instrumenting the command architecture for gathering user information.</li>\
		<li><em>macros</em>.  Sequential list of commands.  Grouping commands.</li>\
		<li><em>parameters</em>.  The ability to pass parameters to commands.  This is generally requested so that dyanamic commands can be defined (e.g., launch configurations).</li>\
		<li><em>performance</em>.  The performance of the key binding architecture, or its registry.</li>\
		<li><em>request</em>.  A request for a new command or a new key binding (or both).</li>\
	</ul></p>" },
			{"component": "CommonNavigator","assignee": "wsudol", 	"expert": "", "description": "The generic navigator API (org.eclipse.ui.navigator)."},
			{"component": "Contexts", 		"assignee": "wsudol", "expert": "pwebster", "description": "Support for context grouping of functionality"},
			{"component": "EclipseContexts", 		"assignee": "wsudol", "expert": "pwebster", "description": "Eclipse4 IEclipseContext support, the OSGI context, and IContextFunctions"},
			{"component": "Contributions", 	"assignee": "wsudol", "expert": "pwebster", "description": "ContributionManager, ContributionItem hierarchy, org.eclipse.jface.action, action contributions from plugin.xml\
	<ul>\
		<li><em>adapters</em>.  Anything to do with the adapter mechanism and its friends.</li>\
		<li><em>configurability</em>.  The end user's ability to manipulate contributions.</li>\
		<li><em>duplication</em>.  Places where code needs to be duplicated needlessly.</li>\
		<li><em>dynamic</em>.  Anything dealing with dynamic menus</li>\
		<li><em>dynamic plug-ins</em>.  The ability to respond to plug-ins appearing or disappearing.</li>\
		<li><em>errors</em>.  Error handling in the contributions framework.</li>\
		<li><em>interactions</em>.  How contributions from different plug-ins interact with each other.  How different contributions interact with each other in the same plug-in.  Also, things which the workbench can do, but plug-ins can't.</li>\
		<li><em>ordering</em>.  Controlling the order of items in the menu -- in Java or XML.</li>\
		<li><em>updating</em>.  Behaviour of the menu and toolbar management code, in response to changes in its components.  This primarily deals with visibility and whether items are enabled.  It also covers selection and optimization of selection changes.</li>\
		<li><em>visible/enabled</em>.  The control of visibility and the enabled state through XML.</li>\
		<li><em>widgets</em>.  Controlling the type of widget used to display a contribution.  This only includes controlling widget behaviour and state (other than visible and enabled).</li>\
	</ul>"},
			{"component": "Coolbar", 		"assignee": "wsudol", "expert": "", "description": "Coolbar support (including layout within coolbar)"},
			{"component": "CSS", 		"assignee": "wsudol", "expert": "bsd,drolka", "description": "CSS support in eclipse, including the CSS engine"},
			{"component": "DataBinding", 	"assignee": "wsudol","expert": "", "description": "JFace Data Binding" },
			{"component": "Decorators", 	"assignee": "wsudol", "expert": "", "description": "Decorators mechanism and Label Decorations preference page"},
			{"component": "DI", 	"assignee": "wsudol", "expert": "pwebster,tschindl", "description": "The Dependency Injection and invocation mechanisms for Eclipse4"},
			{"component": "DetachedView", 	"assignee": "wsudol", "expert": "emoffatt", "description": "Views and editors in separate windows"},
			{"component": "Dialogs", 		"assignee": "wsudol","expert": "", "description": "JFace and UI dialogs other than IDE, Filtered Items/Open Resource"},
			{"component": "DND", 			"assignee": "wsudol", "expert": "emoffatt", "description": "Drag and Drop. Does not include dragging views and editors."},
			{"component": "DynamicGUI", 	"assignee": "wsudol", 	"expert": "", "description": "The ability to add/remove plug-ins from a running Eclipse"},
			{"component": "EditorMgmt", 	"assignee": "wsudol","expert": "emoffatt", "description": "General editor management, not text editor specific\
	<ul>\
		<li><em>associations</em>.  The file associations mechanism: behaviour, preferences and functionality.</li>\
		<li><em>drop-down</em>.  The editor drop-down: look, feel, bugs, etc.</li>\
		<li><em>history</em>.  The navigation history mechanism.</li>\
		<li><em>tabs</em>.  The tabbed editor user experience, and bugs related to editor tabs.</li>\
	</ul>"},
			{"component": "EFS", 			"assignee": "dmegert", "expert": "", "description": "Extended File System Support"},
			{"component": "ErrorHandling", 	"assignee": "wsudol", "expert": "", "description": "OutOfMemory, NPE etc. Exceptions that are not exepected but need to be handled to make it robust. Also includes issues related to Status Handling support introduced in 3.3"},
			{"component": "Examples", 		"assignee": "wsudol", "expert": "", "description": "The 3 workbench examples (multipageeditor, propertysheet, readmetool) but not javaeditor (owned by platform-text component)"},
			{"component": "FastView", 		"assignee": "wsudol", "expert": "", "description": "Issues related to fast views"},
			{"component": "Features",		"assignee": "wsudol", 	"expert": "", "description": "UI related to features, other than [About], e.g. product branding, default perspective, etc."},
			{"component": "FieldAssist", 	"assignee": "wsudol","expert": "", "description": "Defects concerning ControlDecoration, Required Fields, Content Proposal, Decorated Fields or Field Assistance"},
			{"component": "Forms", 		"assignee": "wsudol", "expert": "", "description": "UI Forms related problems"},
			{"component": "GlobalActions", 	"assignee": "wsudol", "expert": "", "description": "actions created in workbench action builder that are not directly related to other components"},
			{"component": "Graphics", 		"assignee": "wsudol", "expert": "", "description": "Any graphics that UI has control over."},
			{"component": "GTK/Linux", 		"assignee": "wsudol", "expert": "", "description": "GTK/Linux specific issues."},
			{"component": "Help", 			"assignee": "wsudol", "expert": "", "description": "F1 help; missing or problems with content"},
			{"component": "IDE", 			"assignee": "wsudol", "expert": "", "description": "Issues related to the IDE as an app (as opposed to RCP)"},
			{"component": "Intro", 			"assignee": "wsudol", "expert": "", "description": "Intro part management and legacy welcome page support"},
			{"component": "Import/Export", 	"assignee": "wsudol", "expert": "", "description": "Import/Export wizards"},
			{"component": "JFace", 			"assignee": "wsudol","expert": "", "description": "parts of JFace not covered by [Dialogs], [Preferences], [Viewers] and [Wizards]"},
			{"component": "KeyBindings", 	"assignee": "wsudol", "expert": "pwebster", "description": "Key bindings engine and preferences; requests to change key bindings, or keys not working \
	<ul>\
		<li><em>assist</em>.  The key binding assist dialog.</li>\
		<li><em>doc</em>.  Documentation, articles or notes about best practices.  Also, changing code to conform to best practices.</li>\
		<li><em>errors</em>.  Error handling.</li>\
		<li><em>interactions</em>.  Interactions between the key binding architecture and native facilities (e.g., mnemonics).  Also, the order in which events arrive.</li>\
		<li><em>misc</em>  Anything does not fit in other categories.</li>\
		<li><em>out-of-order</em>.  Anything dealing with the two special keys: ESC and DEL.</li>\
		<li><em>performance</em>.  The performance of the key binding architecture, or its registry.</li>\
		<li><em>preference page</em>.  The keys preference page.</li>\
		<li><em>registry</em>.  The registry, its syntax, and backward compatibility.</li>\
		<li><em>request</em>.  A request for a new command or a new key binding (or both).</li>\
	</ul>"},
			{"component": "LinkedResources","assignee": "sbeauchamp","expert": "", "description": "Handling of linked resources in Navigator and New File/Folder wizards", "cc": "sbrandys"},
			{"component": "Mac", 			"assignee": "wsudol", 	"expert": "", "description": "Mac specific issues"},
			{"component": "Markers", 		"assignee": "wsudol", "expert": "dmegert", "description": "Issues related to markers, including tasks, problems, bookmarks, etc. e.g. bugs related to MarkerImageProvider, MarkerHelp, MarkerResolutions"},
			{"component": "Metadata", 		"assignee": "wsudol", "expert": "", "description": "Anything related to the metadata associated with plug-ins (e.g., MANIFEST.MF, build.properties, .classpath, version numbers, compiler settings, formatter settings, etc.)"},
			{"component": "Model", 			"assignee": "wsudol", "expert": "emoffatt,tschindl", "description": "Anything related to the Eclipse4 model in general and fragment processing.  Also org.eclipse.ui.model classes IWorkbenchAdapter, WorkbenchLabelProvider, WorkbenchContentProvider"},
			{"component": "MPE", 			"assignee": "wsudol", "expert": "", "description": "Bugs related to Multipage editor that are not [Editor Mgmt] and not editor specific"},
			{"component": "Navigator", 		"assignee": "wsudol", 	"expert": "", "description": "Resource Navigator view"},
			{"component": "OLE", 			"assignee": "wsudol", "expert": "", "description": "OLE support on Windows"},
			{"component": "OpenModes", 		"assignee": "wsudol","expert": "", "description": "Single click, double click support"},
			{"component": "Outline", 		"assignee": "wsudol", 	"expert": "", "description": "Open Resource and FilteredItemsSelection dialogs"},
			{"component": "PerspectiveBar", "assignee": "wsudol", "expert": "", "description": "The bar used to indicate which perspectives are currently open and allow easy switching between them."},
			{"component": "Perspectives", 	"assignee": "wsudol", "expert": "emoffatt", "description": "Perspective management"},
			{"component": "Preferences", 	"assignee": "wsudol", "expert": "", "description": "Preferences dialog, field editors and workbench preference pages"},
			{"component": "PresentationAPI","assignee": "wsudol", "expert": "", "description": "Bugs pertaining to the presentation API."},
			{"component": "Presentations", 	"assignee": "wsudol", "expert": "", "description": "Code related to maintaining the Eclipse 2.1 and 3.0 look and feel."},
			{"component": "Progress", 		"assignee": "wsudol", "expert": "", "description": "Responsive UI work relating to Progress View and Progress dialogs"},
			{"component": "PropertiesDialog","assignee": "wsudol","expert": "", "description": "Properties dialog"},
			{"component": "PropertiesView", "assignee": "wsudol", "expert": "", "description": "Properties view"},
			{"component": "QuickAccess", 	"assignee": "wsudol","expert": "", "description": "Ctrl-3 quick access dialog issues"},
			{"component": "RCP", 			"assignee": "wsudol","expert": "lvogel", "description": "Rich Client Platform issues"},
			{"component": "RenderingEngine",	"assignee": "wsudol","expert": "emoffatt", "description": "PartRenderingEngine and its interaction with the renderers."},
			{"component": "TabbedProperties","assignee": "wsudol","expert": "anthonyh", "description": "Tabbed Properties issues (plugin org.eclipse.ui.views.properties.tabbed)"},
			{"component": "Themes", 		"assignee": "wsudol", 	"expert": "", "description": "Dealing with dialog/window fonts/colours and the theme API"},
			{"component": "Trim", 			"assignee": "wsudol", "expert": "emoffatt", "description": "Defects in Trim contributions or trim management (DnD, persistance, layout...)"},
			{"component": "Undo", 			"assignee": "wsudol","expert": "", "description": "Dealing with the new undo/redo support introduced in Eclipse 3.1"},
			{"component": "UX", 			"assignee": "wsudol","expert": "", "description": "User experience, usability, UI consistency"},
			{"component": "ViewMgmt", 		"assignee": "wsudol","expert": "emoffatt", "description": "View management"},
			{"component": "Viewers", 		"assignee": "wsudol","expert": "lvogel", "description": "JFace viewers"},
			{"component": "Win32", 			"assignee": "wsudol", "expert": "", "description": "Win32 specific issues"},
			{"component": "Wizards", 		"assignee": "wsudol", "expert": "", "description": "JFace wizards and workbench new item wizards (excluding import/export)"},
			{"component": "Workbench", 		"assignee": "wsudol", "expert": "", "description": "ui.plugin, Workbench, WorkbenchWindow"},
			{"component": "WorkbenchParts", "assignee": "wsudol", "expert": "emoffatt", "description": "Bugs pertaining to part lifecycle, activation, bringToTop, etc"},
			{"component": "WorkbenchLauncher", "assignee": "wsudol","expert": "", "description": "Primarily, that portion of startup where the UI team decides where the workspace will be."},
			{"component": "WorkingSets", 	"assignee": "wsudol", 	"expert": "", "description": "Working sets"}
],"users": [
			{"user": "anthonyh" ,	"name": "Anthony Hunter", 	"email": "anthonyh@ca.ibm.com"},
			{"user": "bbokowski", 	"name": "Boris Bokowski", 	"email": "Boris_Bokowski@ca.ibm.com"},
			{"user": "dmegert",		"name":	"Dani Megert",		"email": "daniel_megert@ch.ibm.com"},
			{"user": "hitesh",		"name":	"Hitesh K Soliwal",	"email": "hsoliwal@in.ibm.com"},
			{"user": "prakash",		"name":	"Prakash Rangaraj",	"email": "grprakash@in.ibm.com"},
			{"user": "emoffatt", 	"name": "Eric Moffatt", 	"email": "emoffatt@ca.ibm.com"},
			{"user": "kmcguire",	"name": "Kevin Mcguire",	"email": "kevin_mcguire@ca.ibm.com"},
			{"user": "mcq", 		"name": "Mike Wilson", 		"email": "Mike_Wilson@ca.ibm.com"},
			{"user": "mhall", 		"name": "Matthew Hall",	"email": "matthall@woodcraftmill.com"},
			{"user": "obesedin", 	"name": "Oleg Besedin", 	"email": "obesedin@ca.ibm.com"},
			{"user": "pwebster", 	"name": "Paul Webster", 	"email": "pwebster@ca.ibm.com"},
			{"user": "drolka", 	    "name": "Daniel Rolka", 	"email": "daniel.rolka@gmail.com"},
			{"user": "wsudol",   	"name": "Wojtek Sudol", 	"email": "wojciech.sudol@pl.ibm.com"},
			{"user": "pelder", 	    "name": "Paul Elder", 	"email": "pelder@ca.ibm.com"},
			{"user": "rcjsuen", 	"name": "Remy Suen", 	"email": "remysuen@ca.ibm.com"},
			{"user": "sbeauchamp", 	"name": "Serge Beauchamp",	"email": "serge@freescale.com"},
			{"user": "sbrandys", 	"name": "Szymon Brandys",	"email": "Szymon.Brandys@pl.ibm.com"},
			{"user": "sfranklin", 	"name": "Susan Franklin",	"email": "susan_franklin@us.ibm.com"},
			{"user": "fupton", 		"name": "Francis Upton IV",  "email": "francisu@ieee.org"},
			{"user": "lvogel", 		"name": "Lars Vogel",  "email": "lars.vogel@gmail.com"},
			{"user": "tschindl", 	"name": "Tom Schindl",  "email": "tom.schindl@bestsolution.at"},
			{"user": "bsd",			"name": "Brian de Alwis",  "email": "bsd@mt.ca"}   
]} 
