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. |