© 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda Overview of APT Web...

21
© 2006 IBM Corporation Agile Planning Web UI

Transcript of © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda Overview of APT Web...

Page 1: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

Agile Planning Web UI

Page 2: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

Agenda

Overview of APT Web UI

Current Issues

Required Infrastructure

API

Testing

Page 3: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

Bac

kend

Overview: APT Architecture

Pla

n M

odel

Vie

w M

odel

Vie

wer

Filter

Sorter

Transformers

Handlers

AttributesScheduling

Quick Query

Progress / Load

Service / Client Common / Client UI

Plan Checks

Eventing

Caching

Page 4: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

EclipseRhino / Dojo

Bac

kend

Overview: APT Eclipse UI Architecture

Pla

n M

odel

Vie

w M

odel

Vie

wer

Filter

Sorter

Transformers

Handlers

AttributesScheduling

Quick Query

Progress / Load

Service / Client Common / Client UI

Plan Checks

Eventing

Caching

Page 5: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

Browser / Dojo

Bac

kend

Overview: APT Web UI Architecture

Pla

n M

odel

Vie

w M

odel

Vie

wer

Filter

Sorter

Transformers

Handlers

AttributesScheduling

Quick Query

Progress / Load

Service / Client Common / Client UI

Plan Checks

Eventing

Caching

Page 6: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

Examples

Group Providers

Tempo

ROI Attribute

Page 7: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

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

Page 8: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

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

Page 9: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

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

Page 10: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

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 APIEach Provider can define namespaceEach Provider can list and serve script files of the namespace

Page 11: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

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!

Page 12: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

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

Page 13: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

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

Page 14: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

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

Page 15: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

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)

Page 16: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

Current Issues (API cont'd)

Infrastructure, Infrastructure, Infrastructure

– Progress Monitor

– Status

– Assertions

– Exceptions

– ...

Page 17: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

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

Page 18: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

Current Issues (Development)

Debugging / Profiler (85251)

– displayName

Memory Leaks

Tools for externalizing strings,...

Need to learn from other teams (not only Jazz)

Page 19: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

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

Page 20: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

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

Page 21: © 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.

© 2006 IBM Corporation

Actions

Reusable work from other components should be pushed down to foundation