API Navigation Requirements Tie Down

January 18 2007


Attendees: Sandip, Petr, Deva, Dusan, Krys, Joelle

Sandip presented the following diagram as a rough top level view.


  • Petr P. would like us to keep the API smaller and light rather than having one big API.
  • 3 Possible API: JSFEditor API, FacesConfig API, Utilities API.
  • The FacesConfig API will be generic to Netbeans and allow indirect modification of the faces-config files.
  • The JSFEditor API is a small API that allows a module to plug in a new view into the multi-view.
  • The Utilities API is a more specific api to the Page Flow Editor. For example, with a view id given by the faces-config file, we could use the Utilities class to get a Page model.
  • It seems that right now, make we will not create a generic template for "Zoomable" views only because it Navigation Specific and Petr will not be providing that as of yet. We will use insync as it is for now for this sync of "Zoomable" pages.

UI Discussions

  1. There was some discussion around how the Page Flow Editor is accessed. It looks like this is to be determined elsewhere. It may be accessed both via a faces-config file and a project node.
  2. How are pages viewable from the Page Flow Editor?
  • Two modes from the Page Flow Editor. Mode #1 - view only page related to rules in this faces-config file. Mode #2 - view all pages on the page flow editor. These modes are selected via a checkbox in the multiview toolbar.
  • Now we would still like a way to quickly add links to pages even if there is a large quantity of pages. How can we add a page quickly regardless of the number without a lot of scrolling.
  Option 1: Utilize the Navigator.  Since the navigator is not currently being used (and because it is considered an editor's assistance), list the web files in the navigator.  The user can then either drag and drop the page into the Page Flow View and/or draw a link from the PageFlow view to the Navigator to create a link.
Option 2: Utilize the Palette to show these same pages. However, in the palette the page will actually be removed from it once it is used in a page.
  • Independent of which option is used, we can have the navigatable components in the palette, along with a * component, and a new page.

Outcome: We will pick up this discussion on Friday at 11:00pm.

API Requirements

  1. Ability to Edit the Faces Configuration File
  2. Knowing the to and from view ids for any given case.
  3. Syncing changes between XML Editor and Page Flow Editor
  4. Know where rules come from.
  5. Get all Nav-Rule, All Managed Beans
  6. JSFEditor API to plug in new views for the Multiview.

Current Public API

Method Signature Status Notes
List getAllNavigationRules
List getAllManagedBeans(JSFConfigDataObject data)
NavigationRule findNavigationRule(JSFConfigDataObject data, String fromView)
NavigationRule findNavigationRule(FacesConfig config, String fromView)
SourceGroup[[ | ]] getDocBaseGroups(FileObject fo) This returns the webpages from the project.
String getResourcePath(SourceGroup[[ | ]] groups, FileObject fo, char separator, boolean withExt
Servlet getActionServlet(FileObject dd)
String getActionServletMapping(FileObject dd)
boolean validateXML(FileObject dd)
boolean verifyObjects(FileObject dd)
String[[ | ]] getConfigFiles(FileObject dd)
FileObject[[ | ]] getConfiFilesFO(FileObject dd)
String translateURI(String mapping, String uri)
FileObject findFacesConfigForManagedBean(WebModule wm, String name)
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo