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
- PI Alerts should be People Alerts
- Forecast tab for worksets not in scope for this release
- Tables and Charts tab for Worksets not in scope for this release
- Grant Rules tab not in scope for this release
- Comparison forecast charts should be pie charts to better see the differences
- How do you get from the forecast detail page back to the forecast tab?
- On reports page, you cannot delete reports, and you can view the following report output per report, PDF, XLS, CSV, Preview
- 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?
- 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?
- 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:
- Are auths at workset, cost object, or both levels? If they are at workset, how do you share a forecast?
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: