...
Add a Legend for the Forecast, Commitment and Actual icons.
Page Mockup:
Page Layout: This page consists of a main grid/form for forecasting, a forecasting totals block that follows the user as they scroll down, and a "To Be Hired" block that contains To Be Hired templates (grad student, research assistant, research scientist, etc.). The forecasting form/grid is further broken down into GL sections, one for each of the high level CEMIT or Approved GLS. Each GL block contains a subtotals block within it.
Functional Summary: On first entry, the left nav. is hidden, the name (chosen when creating) is applied and description is blank, GL blocks: People, Expenses, (further defined into subsets: M&S, Travel, Equipment, SubAwards and other) and Revenue are open, and the people are shown in their data range view. Within each block the default view is: Forecasts and Commitments for People and Forecasts only for Expenses (because Expense Commitments can not be edited, while People Commitments can be). If If the user wants, they can close or open each block of existing commitments, actuals, and forecasts.
Above each existing commitment in each GL block is an empty row so users can immediately begin forecasting. When a user gets to the last input field in the row, a new blank row is automatically added. In addition and not shown in the image is a "Add new row" button on each block. If a user wants to add a To Be Hired, they click on them and a new row is added that contains the defaults from the To Be Hired they clicked on, which can then be edited.
Any time a user creates a new forecast, they are taken here and here (true?) and have to supply a new name and description. If they are editing an existing forecast, they also come here but the name and description are open for editing. If a user edits the title, this does NOT create a new forecast, it just edits the existing name (we maintain a unique forecast id under the hood). A forecast is saved in a special table in the backend, one per user. This table allows users to edit one forecast as much as they want without committing it. When they click Save, the system will validate the forecast and save it if it passes validation.
Description of the Page: This page gives a user the ability to edit a particular cost object forecast. Users can add a line (person, TBH, expense) then edit it. Users can edit existing speculations that came from SAP as People Commitments from ESDS and as Blanket POs or Manual Commitments for expenses.
A forecast can be published (copied) to the following three places: the PI Workset/Scenario, the Department Workset/Scenario, or the MIT ALL Scenario.
Specify user all actions available on the page. Specify destination of navigation buttons or hyperlinks. Insert one or more annotated screen mock ups to show the page in representative states.
Table 1: Common User Interface Elements for the Forecasting Detail Page
...
Element | Control | Functional Description | Technical Rules | ||
---|---|---|---|---|---|
Name field | text input | User stores and edits Forecast name | Defaults to "MIT-All Forecast", key is COMMON (which is MITALL) | ||
Show/hide forecasts, | checkbox | User clicks on it to show or hide existing commitments | Defaults to forecast checked for people, expenses, revenue blocks, commitments also checked for people | ||
People name field | text input | User can search for person (autocomplete) including TBHs | After third keydown, set timeout for 300 miliseconds, if no further keydown, execute search call (wait until the user pauses). Make timeout length a setting, let us play with it, hide setting for January release and default to best guess. Show default if users complain. | ||
Appointment field | dropdown list (select) | Until you choose a person, the only thing in the Appointment field is "choose a person". If you choose a person, the appointment field gets filled with the one or more appointments they have. If they choose a TBH, the appointment is filled in by the choice. | Until appointment is chosen, other people fields to the right are hidden. Once appointment call to backend is made and speculation id is returned, other fields are then shown with default values from call. | ||
Start Date | autofill, text input | For People: If TBH, User puts in date. Dates populate if Appointment exists | For People: Required field for TBH. Format is shown to the user upon entry | ||
End Date | autofill, text input | For People: If TBH, User puts in date. Dates populate if Appointment exists | For People: Required field for TBH. Format is shown to the user upon entry | ||
% (Allocation) | text input | User enters number **(happens on another page) | Required field. Floating number rounded to nearest two decimals (percentage), hidden until appointment is chosen | ||
Pay Rate | autofill | Number populates from system once People name and Appointment is selected | Floating number rounded to nearest two decimals, hidden until appointment is chosen | ||
On Campus? | check box | User indicates if appointee is on campus. (pre-populates) | For non-students this field doesn't apply, so the field is not editable to the user. | ||
Tuition | autofill | Number populates from system once People name and Appointment is selected | Floating number locked to two decimals (money), hidden until appointment is chosen. For non-students and others, when the field is N/A, it is not editable. | ||
All Expenses: | dropdown list (select) | User choose an expense category from 5 options. | Required field within All Expenses. Alternatively, the category is pre-populated within the specific subset tabs. | ||
Name field: | text input | User enters name in field | Required field. | ||
Item cost | text input | User inputs total cost amount | Required field. Floating number locked to two decimals (money). | ||
Rolls Off? | check box | User checks box or not |
| ||
Revenue amount | text input | User inputs total amount | Required field. Revenue amount appears negative since it is incoming. |
| |
Comment | text area | User enters description. User can grow text box if wanted | Not required. Shrink text area to make inline row, let them expand it they want. | ||
Add Row | button | Adds new forecast row of the same type below existing lines |
| ||
Save button | button |
| Always appears. | ||
Share Button | button |
| Only active (change state from gray to active) after forecast has been saved at least once. | ||
Publish Button | button | Opens dialog that asks user where do they want to publish to: PI, Department or MITALL |
|
...