PageFlowEditorFunctionalSpecification
Page Flow Editor Functional Specification
Contents |
Summary
In moving towards a more unified Netbeans Pack composition, it has been suggested by both customers and engineers that we make our Visual Navigation Editor more robust. In it's current state Navigation Editor is only familar with JSF pages in projects of type Visual Web Pack. As pack's disinegrate, the distinction between VWP JSF pages and non-VWP web pages is blurred and almost obsolete. In Netbeans 6.0, the new robust Navigation Editor, now to be called Page Flow Editor, should be usuable by any project that has a faces-config model. This Editor will allow users to to visually create, modify, and delete navigation rules from one page to another. Please refer to the requirements list below for details.
Requirements List
The following requirements are a first draft collection from a series of meetings. Priorities have not been finalized and will be updated with time.
| # | Title | Description | Suggest Priority |
|---|---|---|---|
| 1 | Netbeans-wide Navigation Editor | This editors should be accessible in any Netbeans projects that has the concept of a faces configuration. | P1 |
| 2 | Visual and Src View | The multi-view editor should have at least a Visual and Source View | P1 |
| 3 | Form Based Editor | An additional form based view of the faces configuration attributes that allows for editing of managed-beans, validators, locales, etc. | P3 |
| 4 | Visual Navigation Rules Editing | Ability to edit navigation rules visually by adding pages (or view-ids) and links. This also includes basic editing cycles like undo, redo, etc | P1 |
| 5 | Application Wide Navigation Representation | The user should be able to view rules for the entire application. These rules will be super-imposed upon the navigation rules relative to the faces-configuration file that you are editing. The rules that are editable are considered live. They user should able to quickly distinguish between the uneditable and editable rules. All new rules will be placed in the faces-config that the user is currently editing. The user should also be able to turn on and off this super-imposed mode. | P2 |
| 6 | Handle Other Page Types | Be a able to visually represent and modify links to and from non-JSF,JSP pages such as HTML | P4 |
| 7 | Edit Nav Rule Elsewhere | The user can select a particular link or rule in the visual editor and just to the relavent faces-config editor. | P3 |
| 8 | No Reformat or Data Deletion | Although the user is modifying data visual, the Page Flow Editor should not reformat or delete any data previously entered by the user (like comments). | P2 |
| 9 | Wildcard Rules | Represent and allow modifications to wildcard rules | P1 |
| 10 | VWP Page Beans | Users able to zoom in and view the navigatable page beans for any VWP page. | P1 |
| 11 | Page Fragments | We need to figure out a better solution for Page Fragments | |
| 12 | Visual Graph Library 2.0 | Use the new Visual Graph Library 2.0 | P1 |
| 13 | API Centric | Page flow editor should not inerface with a configuration file, but with a model | P1 |
Dependencies
- This functional specification assumes that there will be only one project for Netbeans 6.0. In otherwords, VWP will no longer exist and a Visual Web Page will be simply a template available in any Netbeans project.
- Petr Pisl will need to provide an API for us to access application wide navigation rules, managed beans (and if we want the form editor for validator etc we will need those as well).
- Access to a repository of all pages in any give Netbeans Project.
User Interface Specification
Please refer to Page Flow Editor UI Spec.
UI Form Editor
Architecture Overview
Old Navigation Editor
Architectural Diagram
Action Sequence
Use Case Scenarios
Vanilla Use Cases
| # | Description | API Status |
|---|---|---|
| 1 | Create a Page | |
| 2 | Delete a Page | |
| 3 | Create a link from Src Page to Target Page | |
| 4 | Delete a link | |
| 5 | Rename/Refactor case name | |
| 6 | Rename/Refactor page name | |
| 7 | Open the source for any given page | |
| 8 | User can view all available navigable pages | |
Vanilla Backend Scenarios
| # | Description | API Status |
|---|---|---|
| 1 | Page Renamed/Removed/Added | |
| 2 | Rule Renamed/Removed/Added in source | |
VWP Specific Use Cases
| # | Desciription | API Status |
|---|---|---|
| 1 | Add/Remove Navigable Components | |
| 2 | Add/Remove a link from navigatable component to exit port | |
| 3 | Rename Navigable Component | |
| 4 | _UI Spec_ | |
Schedule
| Date | Description |
|---|---|
| 10/30/06 | Winston and Petr initiate conversation |
| 12/12/2006 | Winston, Sandip, Deva, and I met to discuss current architectur and future direction. |
| 12/13/2006 | First discussion with everyone involved (include Petr Pisl). |
| 12/17/2006 | First Meeting |
| 12/18/2006 | API Navigation Meeting |
| 12/19/2006 | Page Flow UI |
| 01/13/2006 | Petr Pisl will be visiting in person to work out greater details. |
| 05/08/2006 | JavaOne |


