1 / 21

Agile Planning Web UI

Agile Planning Web UI. Agenda. Overview of APT Web UI Current Issues Required Infrastructure API Testing. Overview: APT Architecture. Backend. Quick Query. Plan Model. Transformers. View Model. Viewer. Caching. Handlers. Eventing. Sorter. Scheduling. Attributes. Filter.

rufus
Download Presentation

Agile Planning Web UI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agile Planning Web UI

  2. Agenda • Overview of APT Web UI • Current Issues • Required Infrastructure • API • Testing

  3. Overview: APT Architecture Backend Quick Query Plan Model Transformers View Model Viewer Caching Handlers Eventing Sorter Scheduling Attributes Filter Progress / Load Plan Checks Service / Client Common / Client UI

  4. Overview: APT Eclipse UI Architecture Eclipse Rhino / Dojo Backend Quick Query Plan Model Transformers View Model Viewer Caching Handlers Eventing Sorter Scheduling Attributes Filter Progress / Load Plan Checks Service / Client Common / Client UI

  5. Overview: APT Web UI Architecture Browser / Dojo Backend Quick Query Plan Model Transformers View Model Viewer Caching Handlers Eventing Sorter Scheduling Attributes Filter Progress / Load Plan Checks Service / Client Common / Client UI

  6. Examples • Group Providers • Tempo • ROI Attribute

  7. Accomplishments • Common Infrastructure • Using Dojo on both, Eclipse UI and Web UI • Successfully designed APIs that work in both environments • Transparent usage of JS from Java (no Liveconnect) • Provisioning of scripts • Solved multithreading Issues • Eclipse UI needs synchronization • Implementation of Worker Threads

  8. Current Issues (JavaScript) • Date / Time Handling in JavaScript • Hard to implement certain features • Dojo does not help • need third party library • International Text Handling • Unable to correctly parse text

  9. Current Issues (Script Management) • Loading of JavaScript Code (65225, 63702) • Different Sources (folders, process spec, ...) • Scoping of Dojo Classes (com.ibm.team.apt.client...) • Sending code manually to the client (XHR) • Maintain files and import sequence manually • For Web, Eclipse UI, Tests, ... • No Shrinksafe • files eval'ed rather than <script> included in debug mode

  10. Current Issues (Script Management) • Loading of JavaScript Code (65225, 63702) • Different Sources (folders, process spec, ...) • Scoping of Dojo Classes (com.ibm.team.apt.client...) • Extend net.jazz.ajax.webBundles • Introduce Script Provider API • Each Provider can define namespace • Each Provider can list and serve script files of the namespace

  11. Current Issues (API) • No API to Underlying Components • Not stable • Not documented • Not layered • Incompatible data objects • Hard to adopt features • Teams reinvent an (incompatible) world • Classes in the namespace of underlying components!

  12. Current Issues (API / Items) • No Item Handling • Every vertical works with items • Item Hierarchy etc must be rebuilt manually • Items are local to each vertical • No Item Manager to share item instances • No Working Copies / Eventing

  13. Current Issues (API / Items) • Items must be smarter • Type hierarchy (allow instanceof checks) • Resolving references (eg work item owner) • Want to work with API, not data • Must be similar to the Eclipse Client, but customized • The transmitted data must be de-serialized • Generate item sourcecode form EMF?  See PlanningClient.js _doMassageDTO  See ReferencedItemStore.js

  14. Current Issues (Service Calls) • Sending Complex Data to the Server to complicated • Must be able to send DTOs / Items • Automatic serialization of DTOs in JS • Client Code should be generated from service description? • the new REST style APIs DO NOT solve the problem

  15. Current Issues (Reusable Widgets) • Widgets are not easily useable • APIs are often complicated with hidden features (missing doc) • Requires CSS tweak (does not work Out of the Box) • We do not know what's available (85511) • Missing / Outdated Documentation • We need widget toolkit • Must match Jazz L&F • Must cover Web UI Patterns and Style Guide • Toolbars, Menus, Actions, ... • Simple Viewer (no Dojo Table)

  16. Current Issues (API cont'd) • Infrastructure, Infrastructure, Infrastructure • Progress Monitor • Status • Assertions • Exceptions • ...

  17. Current Issues (Error Reporting) • Error Reports are unusable (85543) • bad stacktraces • missing method names • No common Error Handling Infrastructure • Status, SafeRunnable, Error Reporting • Errors should be reported back to the server and logged • Errors in Web UIs are transient -> you cannot ask someone to look in the error log

  18. Current Issues (Development) • Debugging / Profiler (85251) • displayName • Memory Leaks • Tools for externalizing strings,... • Need to learn from other teams (not only Jazz)

  19. Current Issues (Testing) • Current test framework is great for widgets • Need test setup w/ database setup • Browser tests are heavyweight • Tests should be run in Rhino (env.js) • Allows fast and lightweight test setup • threading is not an issue • debugging is easy • APT planned exploration

  20. Current Issues • Web UI Foundation is great • but it is hard to build Enterprise scale software • No Best Practices • Must compensate shortcomings of JS • Code Style / API • Data Objects • Development / Debugging • Collect / investigate them, then publish and enforce

  21. Actions • Reusable work from other components should be pushed down to foundation

More Related