Container: Outer Page Frame:

Components: Header, Footer, Main Layout Area

Interactive Components: Favorites Dialog, Preferences Dialog, Help Link, Log out link

Services required: Get favorites, set new favorite, unfavorite, Get preferences, set/change preference, get help page link, log out/redirect, all carry over from previous version except help

Estimate: small

Unknown User (tomservo@mit.edu)

- Implemented using jQuery UI Layout Plugin for container and Twitter Bootstrap for basic styling. 

Container: Home Page

interactive Components: Left navigation widget, system alert widget, search bar, report button, forecast button, alerts widget

Services required: get Nav info (per tab), get alerts, search autocomplete, getAlerts

Estimate: Large including nav

Left Nav
  • Having a problem getting CanJs Model.Lists to render correctly. 
  • Can includes a Util library with some good filters but I was unable to include it easily
    • The library only exists in can.js's amd repo so we would have to use requirejs
    • Requirejs can be difficult to add at the end of a project. Unless we are going to design our app from the
      beginning to use it we could have a tough time including the utils lib
  • Added ejs_fulljslint.js to can.js lib to help with error detection in ejs templates

Container: Workset Page

Interactive Components:Left Nav, Main View Tab Set

Services needed: none

Estimate: small

Container: Workset Page, Main view (cost objects and people)

Interactive Components: Cost Object Grid, People Grid

Services required: Get people for Workset, Get cost objects for workset, carry over from current

Estimate: Medium

Container: Workset Page: Report view

Interactive Components: Report Grid

Services required: Get reports: carry over

Estimate: Small- Medium

Container: Workset Page: Authorizations Tab

Interactive Components: Auth Grid

Services required: getAuths, setAuths: carry over

Estimate: Small-Medium

Container: Workset Page: Comments Tab

Interactive Components: Comment dialog, comment list

Services required: getComments, Create new comment, delete comment, edit comment, carry over

Estimate: medium

Container: Cost Object Page

Interactive Components: Tab set

Services needed: none

Estimate: small

Container: Cost Object: Main view (Budget and People)

Interactive components: Budget Grid, People Grid

Services required: getCostObjectdata, getPeople, carry over

Estimate: small-medium

Container: Cost Object: Forecast View

Interactive Components: Create new forecast form, table of existing forecasts, compare forecasts by pie chart

Services required: getForecasts, set default forecast, getForecastGraph data, all new

Estimate: Medium

Container: Cost Object: Reports view

Interactive Components: Report grid

Services required: Get reports: carry over (does current service handle get reports for workset versus get reports for cost object?)

Estimate: small (copy of workset report page)

Container: Workset Page: Comments Tab

Interactive Components: Comment dialog, comment list

Services required: getComments, Create new comment, delete comment, edit comment, carry over

Estimate: small (copy of workset comment page)

Container: Advanced Search Page

Interactive Components: Dynamic Row Advanced Search form, Search Results Grid

Services required: get search terms, perform dynamic filtering search, not carry over due to filter

Estimate: medium-large

Container: Create Dynamic Workset Page

Interactive Components: Dynamic Row Advanced Search form, Search Results Grid

Services required: get search terms, perform dynamic filtering search, not carry over due to filter

Estimate: small: dupe of Advanced Search page (difference is ????)

Container: People Page

Interactive Components: Person description text block, Appointments grid, cost objects per appointment as grid in grid or separate grid?

Services required: Get appointments for a person, get person info, carry over with mods???

Estimate: medium

Container: Forecast Detail

Interactive Components: Complex form with flip line or flip view capability, add row capability, add person on drop capability, favorites widget of elements to drag onto forecast

Forecasts need revert button as well as Save and Close and Save As

Services required: getForecastData(commitments plus any createForecast, getForecastFavorites, Save changes, recalc balances, save as forecast, g

Estimate: Large-Huge

Container: Cost Object Charts Page

Interactive Components: Budget vs. Actuals Chart, chart widget to come?

Services required: getCharts or getChartTypes, getChartData

Estimate: medium (new functionality)

Container: Cost Object: Overview (was Cost Object: Grant Rules)

Interactive Components: Data display, optional Table of Project Years

Services required: getCostObjectOverview

Estimate: Small (existing page)

Widgets

NavPanel

Tree Control wrapper allowing user to select a topic to display in the Content Panel

ContentPanel

Widgets

NavPanel

Tree Control wrapper allowing user to select a topic to display in the Content Panel

ContentPanel

Implementation Details

Sarah Notes

  1. PI Alerts should be People Alerts
  2. Forecast tab for worksets not in scope for this release
  3. Tables and Charts tab for Worksets not in scope for this release
  4. Grant Rules tab not in scope for this release
  5. Comparison forecast charts should be pie charts to better see the differences
  6. How do you get from the forecast detail page back to the forecast tab?
  7. On reports page, you cannot delete reports, and you can view the following report output per report, PDF, XLS, CSV,  Preview
  8. On people view, does the grid of cost object allocations go inside the appointment grid as a grid in grid view (each allocation pertaining to a different appointment) or is it a secondary grid? 
  9. Can we do the flip to complex allocations at the people/form level on the forecast page so that we don't have to build individual row grids?
  10. Create a forecast, edit a forecast, save as a forecast behavior is still not perfect, has ramifications from both usability perspective and a front-end performance perspective.

Amon notes:

  1. Are auths at workset, cost object, or both levels? If they are at workset, how do you share a forecast?
  2.  

Libraries

Twitter Bootstrap

Version: 2.1.1 or latest
Notes:

jQuery

Version: 1.8 3 or current version from Google CDN or jQuery CDN 
Notes:

jQuery UI

Version: 1.9.2 or current version from Google CDN or jQuery CDN
Notes:
Requires: jQuery 1.8.3 or later

CanJS

Version: 1.1.2
Notes:
Requires: jQuery
Included Libs: Embedded JS, Mustache

jQuery-UI-Layout

Version: 1.3.0 – rc30.75 or latest version
Notes:

  • No labels