Jump to: navigation, search

Difference between revisions of "JEE Status Meetings/2009-07-23"

(Content of the Module Dependency Page (Note that this is focused at EAR module assembly))
Line 14: Line 14:
 
==== Action Items  ====
 
==== Action Items  ====
  
==== Content of the Module Dependency Page (Note that this is focused at EAR module assembly)  ====
+
==== Content of the Module Dependency Page (Note that this is focused at EAR module assembly (but shouldn't be ;))  ====
  
===== Update on Rob's latest work  =====
+
===== Structure of the Page =====
 
+
* [http://imagebin.ca/img/LOaeqx6.jpg screenshot]
*Rob reduced the number of columns to 2
+
* One entry point (Module Dependencies page, ModuleAssemblyRootPage)
*The UI can now change deploy path *and* archiveName in the descriptor component.xml file
+
** root page checks if the project has facets (if not, error composite is shown)
*Both deploy path and archive name are editable in column 0 in the editor as one path, which is then separated during the operations
+
** root page checks if the project can be converted to a virtual component (if not, error composite is shown)
*Rob has not added UI for adding wb-resource elements as there was no general consensus on whether this is a desired feature
+
** root page checks for an extension point (moduleDependencyPropertyPage ) that accepts this project
*Rob has not migrated the buttons into a multi-page wizard yet as there was no clear agreement on what should go into it  
+
*** If it finds one, that extension point can provide an array of controls
*Current [http://imagebin.ca/img/tOvn_6WJ.jpg screenshot] or [http://oxbeef.net/image2/jeemeeting20090709.jpg here]<br>
+
*** This works very similar to how J2EEPropertiesPage works, but expanded via extension point to more types
 +
*** This is not the suggested use case, but it's provided in case a project type really wants to provide several controls / tabs
 +
** If it does not find an extension point for this project, it uses AddModuleDependenciesPropertiesPage
 +
*** Project types can use the extension point and just subclass this page, overriding key methods if they want
 +
*** In the screenshot above, the addButtons() has been overridden and the "Change Library Directory..." button has been added. (This is as an example. We can discuss whether it belongs there)
 +
* AddModuleDependenciesPropertiesPage
 +
** Contains a two column viewer, and some buttons
 +
*** viewer's right column shows the source of the entry / reference
 +
*** viewer's left column shows the suggested deploy-path / archive-name for the reference
 +
**** This can be edited by the user
 +
**** This would be persisted in the component.xml via the archive-name attribute
 +
**** This is currently buggy due to underlying EAR-oriented operations [https://bugs.eclipse.org/280416 280416] but using the standard CreateReferenceComponentsDataModelProvider works fine
 +
*** viewer can currently only display IVirtualComponent objects
 +
*** viewer would like to display wb-resource mappings but cannot [https://bugs.eclipse.org/284060 284060] - lacks API)
 +
** Buttons
 +
*** Add Resource Mapping... (currently unimplemented due to API concerns of displaying mappings in viewer)
 +
*** Add Reference...
 +
**** "Add Reference..." opens a multi-page wizard dialog
 +
**** This dialog is based on the wst.server's TaskModelDialog class
 +
**** An extension point (referenceWizardFragment) is provided to create new arbitrary reference types
 +
**** Currently there are four uses of this extension point
 +
***** Projects
 +
***** External jars
 +
***** Workspace Jars
 +
***** Variables
 +
**** The code in these reference types has not been coppied from AddModulestoEARPropertiesPage
  
 
===== Classpath entries  =====
 
===== Classpath entries  =====
Line 30: Line 55:
  
 
===== <br>Tangential Topics <br> =====
 
===== <br>Tangential Topics <br> =====
 
+
* Single Root Structure bugs: [https://bugs.eclipse.org/279360 279360] [https://bugs.eclipse.org/282512 282512] [https://bugs.eclipse.org/284187 284187]
*What is single root structure? [https://bugs.eclipse.org/279360 279360] [https://bugs.eclipse.org/282512 282512]  
+
** Should single root structure change the result of members()?
 +
** Or should it just serve as a marker to report whether it is or is not in single root format?
 
*possible selection of basic vs. flexible  
 
*possible selection of basic vs. flexible  
*Allow virtual archive component's runtimePath member var to be used again [https://bugs.eclipse.org/276825 276825]  
+
** page's subclass could listen to proposed changes and change message if item is now 'complex'
 +
*Allow virtual archive component's runtimePath member var to be used again [https://bugs.eclipse.org/276825 276825] - Any progress here?
 
*Allow extension point to turn handle uri's into IVirtualReferences instead of StructureEdit having only 3 types hard-coded [https://bugs.eclipse.org/282269 282269]  
 
*Allow extension point to turn handle uri's into IVirtualReferences instead of StructureEdit having only 3 types hard-coded [https://bugs.eclipse.org/282269 282269]  
 
*Clarifying javadoc for IVirtualComponent.getName() and IVirtualComponent.getDeployedName()  
 
*Clarifying javadoc for IVirtualComponent.getName() and IVirtualComponent.getDeployedName()  
Line 39: Line 66:
 
**clarify getDeployedName() should / should not include the extension
 
**clarify getDeployedName() should / should not include the extension
 
*Excessive complexity in JEE Tools' models and possible solutions [https://bugs.eclipse.org/282830 282830]  
 
*Excessive complexity in JEE Tools' models and possible solutions [https://bugs.eclipse.org/282830 282830]  
**Summary: More "references" should be stored in component.xml, not invented by *VirtualComponent or J?EEFlexProjDeployable  
+
**Summary: More "references" should be stored in component.xml, not invented by *VirtualComponent or J?EEFlexProjDeployable [https://bugs.eclipse.org/282515 282515]
 
**Virtual Component and Deployable can both be super-thin wrappers, not lose functionality
 
**Virtual Component and Deployable can both be super-thin wrappers, not lose functionality
  
 
== <br>Minutes  ==
 
== <br>Minutes  ==

Revision as of 15:15, 22 July 2009

Attendees


Agenda


Proposed Scenarios 

  • Select projects (add/remove)
  • Select jars (or other resources) inside the workspace (add/remove)
  • Select jars (or other resources) outside the workspace (add/remove)
  • Editing the deployment path/archive name

Action Items

Content of the Module Dependency Page (Note that this is focused at EAR module assembly (but shouldn't be ;))

Structure of the Page
  • screenshot
  • One entry point (Module Dependencies page, ModuleAssemblyRootPage)
    • root page checks if the project has facets (if not, error composite is shown)
    • root page checks if the project can be converted to a virtual component (if not, error composite is shown)
    • root page checks for an extension point (moduleDependencyPropertyPage ) that accepts this project
      • If it finds one, that extension point can provide an array of controls
      • This works very similar to how J2EEPropertiesPage works, but expanded via extension point to more types
      • This is not the suggested use case, but it's provided in case a project type really wants to provide several controls / tabs
    • If it does not find an extension point for this project, it uses AddModuleDependenciesPropertiesPage
      • Project types can use the extension point and just subclass this page, overriding key methods if they want
      • In the screenshot above, the addButtons() has been overridden and the "Change Library Directory..." button has been added. (This is as an example. We can discuss whether it belongs there)
  • AddModuleDependenciesPropertiesPage
    • Contains a two column viewer, and some buttons
      • viewer's right column shows the source of the entry / reference
      • viewer's left column shows the suggested deploy-path / archive-name for the reference
        • This can be edited by the user
        • This would be persisted in the component.xml via the archive-name attribute
        • This is currently buggy due to underlying EAR-oriented operations 280416 but using the standard CreateReferenceComponentsDataModelProvider works fine
      • viewer can currently only display IVirtualComponent objects
      • viewer would like to display wb-resource mappings but cannot 284060 - lacks API)
    • Buttons
      • Add Resource Mapping... (currently unimplemented due to API concerns of displaying mappings in viewer)
      • Add Reference...
        • "Add Reference..." opens a multi-page wizard dialog
        • This dialog is based on the wst.server's TaskModelDialog class
        • An extension point (referenceWizardFragment) is provided to create new arbitrary reference types
        • Currently there are four uses of this extension point
          • Projects
          • External jars
          • Workspace Jars
          • Variables
        • The code in these reference types has not been coppied from AddModulestoEARPropertiesPage
Classpath entries
  • Leveraging the JDT UI (is it possible yet?)

Tangential Topics
  • Single Root Structure bugs: 279360 282512 284187
    • Should single root structure change the result of members()?
    • Or should it just serve as a marker to report whether it is or is not in single root format?
  • possible selection of basic vs. flexible
    • page's subclass could listen to proposed changes and change message if item is now 'complex'
  • Allow virtual archive component's runtimePath member var to be used again 276825 - Any progress here?
  • Allow extension point to turn handle uri's into IVirtualReferences instead of StructureEdit having only 3 types hard-coded 282269
  • Clarifying javadoc for IVirtualComponent.getName() and IVirtualComponent.getDeployedName()
    • suggestion: Deprecate getName(), replace with getId()
    • clarify getDeployedName() should / should not include the extension
  • Excessive complexity in JEE Tools' models and possible solutions 282830
    • Summary: More "references" should be stored in component.xml, not invented by *VirtualComponent or J?EEFlexProjDeployable 282515
    • Virtual Component and Deployable can both be super-thin wrappers, not lose functionality


Minutes