Wiki Markup |
---|
h3.
{toc:style=circle}
h3. 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
[~tomservo@mit.edu]
\- Implemented using [jQuery UI Layout Plugin|http://layout.jquery-dev.net/index.cfm] for container and [Twitter Bootstrap|http://twitter.github.com/bootstrap/index.html] for basic styling.
h3. [Container: Home Page|MITBIZINT:My RAFT 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
h5. 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
h3. Container: Workset Page
Interactive Components:Left Nav, Main View Tab Set
Services needed: none
Estimate: small
h3. 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
h3. Container: Workset Page: Report view
Interactive Components: Report Grid
Services required: Get reports: carry over
Estimate: Small\- Medium
h3. [Container: Workset Page: Authorizations Tab|MITBIZINT:Workset Authorizations Tab]
Interactive Components: Auth Grid
Services required: getAuths, setAuths: carry over
Estimate: Small-Medium
h3. 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
h3. Container: Cost Object Page
Interactive Components: Tab set
Services needed: none
Estimate: small
h3. Container: Cost Object: Main view (Budget and People)
Interactive components: Budget Grid, People Grid
Services required: getCostObjectdata, getPeople, carry over
Estimate: small-medium
h3. 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
h3. 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)
h3. 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)
h3. 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
h3. 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 ????)
h3. 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
h3. [Container: Forecast Detail|MITBIZINT:Forecasting Page]
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
h3. 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)
h3. 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)
h3. Widgets
h4. [NavPanel|MITBIZINT:RAFT-3 Implementation - NavPanel Widget]
Tree Control wrapper allowing user to select a topic to display in the Content Panel
h4. [ContentPanel|MITBIZINT:RAFT-3 Implementation - ContentPanel Widget]
h3. Widgets
h4. [NavPanel|MITBIZINT:RAFT-3 Implementation - NavPanel Widget]
Tree Control wrapper allowing user to select a topic to display in the Content Panel
h4. [ContentPanel|MITBIZINT:RAFT-3 Implementation - ContentPanel Widget]
h3. [Implementation Details|MITBIZINT:RAFT-3 Design and Implementation]
h3. 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.
h3. Amon notes:
# Are auths at workset, cost object, or both levels? If they are at workset, how do you share a forecast?
#
h3. Libraries
h4. [Twitter Bootstrap|http://twitter.github.com/bootstrap/index.html]
*Version:* 2.1.1 or latest
*Notes:*
h4. [jQuery|http://jquery.com]
*Version:* 1.8 3 or current version from [Google CDN|http://html5shim.googlecode.com/] or [jQuery CDN|http://jquery.com]
*Notes:*
h4. [jQuery UI|http://jqueryui.com/]
*Version:* 1.9.2 or current version from [Google CDN|http://html5shim.googlecode.com/] or [jQuery CDN|http://jquery.com]
*Notes:*
*Requires:* jQuery 1.8.3 or later
h4. [CanJS|http://layout.jquery-dev.net/index.cfm]
*Version:* 1.1.2
*Notes:*
*Requires:* jQuery
*Included Libs:* [Embedded JS|http://embeddedjs.com/], [Mustache|http://mustache.github.com/]
h4. [jQuery-UI-Layout|http://layout.jquery-dev.net/index.cfm]
*Version:* 1.3.0 -- rc30.75 or latest version
*Notes:*
h3. |
Table of Contents | ||
---|---|---|
|
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
- 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
...