Deletions are marked like this. | Additions are marked like this. |
Line 9: | Line 9: |
* '''Deadline:''' Week of 27-Jun | * '''Deadline:''' Week of 18-Jul |
Line 15: | Line 15: |
* '''Field locking:''' Implemented protected worksheets and individual cell locking/unclocking * See: the ''lockCell'' and ''unlockCell'' subroutines in ''modFunctions''. These are called for he correct cells in the correct places. The goal is that they actually lock the cells, rather than just set/reset the cell' background color. * '''Inserting after selection point:''' ''New Document'' and ''Duplicate Selected'' |
* Implement Excel 2003 menu * Test the ''onChange'' handling for ''Vorabzug'' menu and ''Rev``C'' type fields. * Make sure the revision code and revision type are changed and set correctly * Make sure the ''Vorabzug'' fields are locked/unlocked when the flag is changed * Make sure the ''Vorabzug'' fields are cleared when flag not set and records saved * Test items marked '''TEST''' in the High and Medium priority lists * Make notes, in a text file in axpo-excel/notes, of what has been tested and the results * Report all (and fix is possible) all errors * --('''Field locking:''' Implemented protected worksheets and individual cell locking/unclocking)-- * --(See: the ''lockCell'' and ''unlockCell'' subroutines in ''modFunctions''. These are called for he correct cells in the correct places. The goal is that they actually lock the cells, rather than just set/reset the cell' background color.)-- * --('''Inserting after selection point:''' ''New Document'' and ''Duplicate Selected'')-- |
Line 20: | Line 29: |
* Complete ''on change'' handling for ''Vorabzug'' menu and ''Rev``C'' type fields * Make sure the revision code and revision type are set correctly * ''Vorabzug'' flag implementation: clearing locked fields when no ''Vorabzug'' |
* --(Complete ''on change'' handling for ''Vorabzug'' menu and ''Rev``C'' type fields)-- * --(''Vorabzug'' flag implementation: clearing locked fields when no ''Vorabzug'')-- |
Line 43: | Line 51: |
1. '''CRITICAL''' Implement cell locking helper functions that make cells ''read-only/non-read-only'' * Design/plan for implementing cell locking in protected sheets |
1. '''TEST''' Implement cell locking helper functions that make cells ''read-only/non-read-only'' * --(Design/plan for implementing cell locking in protected sheets)-- |
Line 77: | Line 85: |
1. '''CRITICAL (JS)''' that ''New Document'' inserts after selected row | 1. '''TEST (JS)''' that ''New Document'' inserts after selected row |
Line 79: | Line 87: |
1. '''CRITICAL (JS)''' ''Duplicate Row'' should duplicate after the last selected row | 1. '''TEST (JS)''' ''Duplicate Row'' should duplicate after the last selected row |
Line 82: | Line 90: |
* Clear/reset ''revisionNo'' and ''revisionCode'' | * --(Clear/reset ''revisionNo'' and ''revisionCode'')-- |
Line 108: | Line 116: |
* --(Implement ''Ist'' field validation.)-- | * '''TEST''' ''Ist'' field validation. |
Line 141: | Line 149: |
1. '''CRITICAL (JS)''' Implement for ''Bau'' and ''Ausrüstung'' reports | 1. '''TEST (JS)''' ''Bau'' and ''Ausrüstung'' reports |
Excel Integration - To Do List
Contents
Milestones
Deadline: Week of 18-Jul
- Deliver a completed and tested version that can be used in production.
Immediate Items to Complete
JS Complete the following:
- Implement Excel 2003 menu
Test the onChange handling for Vorabzug menu and RevC type fields.
- Make sure the revision code and revision type are changed and set correctly
Make sure the Vorabzug fields are locked/unlocked when the flag is changed
Make sure the Vorabzug fields are cleared when flag not set and records saved
Test items marked TEST in the High and Medium priority lists
- Make notes, in a text file in axpo-excel/notes, of what has been tested and the results
- Report all (and fix is possible) all errors
Field locking: Implemented protected worksheets and individual cell locking/unclocking
See: the lockCell and unlockCell subroutines in modFunctions. These are called for he correct cells in the correct places. The goal is that they actually lock the cells, rather than just set/reset the cell' background color.
Inserting after selection point: New Document and Duplicate Selected
AH
Complete on change handling for Vorabzug menu and RevC type fields
Vorabzug flag implementation: clearing locked fields when no Vorabzug
Highlighting records after change/save/error
Progress messages
DD Testing: See items marked TEST
Client-side validation: Testing of Ist field validation
- Functional testing
- Performance and stress testing (operations many records)
(JS) Implement Bau reports. There are two reports:
Dokumentenlieferprogramm - mainly contains deadline fields: Tv, Tzf, Tf, Tgza, T0, T0,wv
Ressourcenplanung - mainly contains Wer fields and resource (user defined) fields
High-Priority Items
Internals
TEST Implement cell locking helper functions that make cells read-only/non-read-only
Design/plan for implementing cell locking in protected sheets
Implementation initial implementation that just sets field's background color to indicate that the field is locked.
TEST Fix handling/display of progress messages:
Convert display of Record count to Revision count in search
All (most?) menu items should clear display area when operation completes
- Implement Excel 2003 menu
- Implement handling when not logged in:
- Implement routine to catch and report not being logged in
- All menu items that access server should be able to respond to a non-logged in error
TEST Supress setting of cell comments when records initially read from server
TEST Make sure that no problems occurr when user changes worksheet names
Fix checkDuplicates to check both the drawingCode and drawingId fields
Set cell note and highlighting when duplicates found
Review/improve cell note set/clear functions: isCellDifference and setCellDifferenceComment
Fix bug when comparing date fields
Do not set cell comments in key set area
Search
CRITICAL (AH) Change New Worksheet checkbox to Clear Existing Sheet in Search and Test Cases
TEST that no problems when the Layout worksheet is hidden.
TEST that Refresh All and Refresh Selected update the record update counts in key set area
- Search, then make update on the server, refresh the client and ensure that the update counts are correctly updated
TEST that search correctly merges new data with existing data
- Make sure that if you re-arrange the order of documents in a worksheet, that search still operates correctly. E.g. check th t search is able to recognize existing documents in the worksheet and doesn't depend on the order of documents delivered by the s rver.
TEST Searching for more than selected the number of records
Ensure cancel/continue dialog functions correctly
Mark row as un-savable if revision sequence is incomplete?
Implement checking for duplicate worksheet names
Make sure that system doesn't crash if it tries to create a worksheet name that already exists
Edit
TEST (JS) that New Document inserts after selected row
- Should append data after last selected cell, or last row if nothing selected
TEST (JS) Duplicate Row should duplicate after the last selected row
- And should not have problems when blank rows are selected
CRITICAL (AH) Implement Vorabzug ja/nein flag
Clear/reset revisionNo and revisionCode
Lock and grey-out all Vorabzug fields if Vorabzug flag set to 0
Disable plan date formulas when Vorabzug set to false
CRITICAL (AH) Fix highlighting/de-highlighting of status column. Display colors:
- Status colors:
gray - saved
yellow - changed
red - error
- Events:
- New record (set to yellow)
- Re-started record (set to yellow). E.g. after restart revision sequence
- Record changed locally (set to yellow)
- Client-side error? (set to red)
- Server-side error (set to red)
- Record saved (set to white)
- Status colors:
TEST GA/Freigegeben menu:
Sets the RevC revisionTypeId
Menu with two choices: freigegeben (13) and gut zur Ausführung (15)
TEST Get Next Sequence Number
Should Restart Revision Sequence not be allowed when applied to an unsaved record? Probably not
Validation
TEST Client-side field validation
TEST Ist field validation.
Formulas generated from Perl script.
See axpo-integration/data/genValidation.pl
TEST Group menu change
Leave Wer and Status field validation for now
Save/Update
TEST Save handling of Vorabzug menu and GA/Freigegeben menus
Vorabzug flag
GA/Freigegeben menu
TEST Implement field locking after save. Fields:
Bereich menu
Vorabzug flag
GA/Freigegeben menu (RevC type) No, does not need to be locked after save
Generate client-side error on update/insert when drawing code not complete
Implement checking of record serial numbers on update
Save all/selected should set record update counts
Test that a second save results in state with correct record update counts
Duplicate row detection before:
search / test cases
save all / save selected
refresh all / refresh selected
Attributes
TEST Make sure Refresh Attributes still works
Get feedback from JS re: recent changes to m_attributeRowCount global variable
Make sure that handling of m_attributeRowCount global variable is OK
Report
TEST (JS) Bau and Ausrüstung reports
- Based on simple macros
- Formatting of date columns
Dokumentenlieferprogramm - mainly contains deadline fields: Tv, Tzf, Tf, Tgza, T0, T0,wv
Ressourcenplanung - mainly contains Wer fields and resource (user defined) fields
Final Cleanup
- Re-hide hidden rows/columns in header worksheet
- Ensure that non-implemented fields are locked/greyed-out
- Setup field worksheet field locking
- Hide internal worksheets
- Set password on VBA code
Test
- Setup Excel 2003/2007 test/development environment
TEST contract and group menu changes in planning list worksheet
- Make sure group menu updates when contract changed
- Make sure user id menus change when contract and group changed
Medium-Priority Items
Implement Ausrustung report
Implement Preufdauer menu and handling of Delta-4 field
Implement document links for Grundlagen documents. tech GL and WV GL fields.
Implement document links for Stellungnahmen and Pruefberichts documents. Stn-Nr and Pruef-Nr fields.
Implement document links for QA-Eklaerung documents
TEST Performance:
- Measure performance with large data sets
- Profile code to see what is being called for each document/revision
Review calls to DoEvents
Disable screen update during record list processing
Investigate to see if bubble sort is really needed. Debug prints?
In search form implement Gruppe menu with dependency on Bereich menu (design needed)
TEST search fields:
- document code
- title
- revision date from/to
- external reference number
Separate Refresh Attributes into:
Refresh Attributes
Refresh Users and Roles
Trap Excel-Quit and ask user if unsaved records should be saved (design needed)
- Testing prior to release of test candidate to GMM
- Test basic features
- Test different contracts/groups
- Implement named baskets (Design needed)
- User can select a named basket download its contents
- Make sure all calculate fields are readonly
Implement new columns to display record status and DrawMGT id values (design needed)
Design for record status fields
May not be needed if the above highlighting is implemented
Low-Priority Items
General
Reject revision (design needed)
Sub-revision processing (design needed)
Implement new Magic Row fields:
- Protocol version
- Client software version
- Server software version
Shorten attribute lists (design needed)
- Via server-side configuration?
Final Cleanup and Packaging
- Get code signed with a Axpo certificate?
- Assign password to code
Login/Logout
- Implement login timeout
- Implement code that reacts correctly to auto-logout. E.g. session-timeout
- Implement a heartbeat function to prevent session timeout?
- Check user roles and disallow login if certain roles not present
- Login in a specific contract?
Search
- Use case: Set next revision based on a document with unknown revision types
Internals and Refactoring
- Named ranges
- Automated management
- Function for repair/reset of named ranges in case of corruption
- Clone worksheet
- Document named ranges and their boundaries
Make sure Consts are used for all field type names in the write-back header worksheets
Change iRow to lRow?
- Document new validation columns in header structure
- Document and revision (write) record structures
Improved worksheet lookup/access functions (getCellValue/Address)
- Improved row selection for printing to worksheet
- Refactor define names to improve clarity and remove near-aliases
Identify all magic constants and convert to Consts
- Improve function naming:
Make function names more business oriented rather than technically descriptive
Review TODOs in code
Compatibility
- Excel 2003 compatibility (menu)
Internationalization
- Convert all user display text to Const strings
- Translate all messages Consts into DE
Implement tag and lookup for form text (design needed)
Testing
- Write a test-plan wiki page
- Make sure ZK/TN/DD have suitable test environments
- Check reading and updating of all fields
- Stress/performance testing
- Searching for long lists
- Bad input data
- Character sets: test with Umlauts
- Test Umlauts in UTF-8 set to server
- Test Umlauts in ISO-8859-1 set from server
- Compatibility testing
- Search tests
- Display tests
- List menu tests
- Status menus
- User menus
- Flag menus
- Editing tests
- Delta date calculations
- Drawing code menus
- Insert tests
- Update tests
- Client-side validation tests
- Menu item tests
- Check for duplicates
- Duplicate selected
- Performance tests
- HTTPS test
- HTTP/HTTPS proxy test
Internal Documentation
- List of modules
- List of public subs/functions
List of gotchas
Blank cells in header regions, caused by use of Excel count2 function
- Explanation of complex menu and look formulas)
- Convert notes/DesignNotes into Wiki
- Revision sequence
- Named ranges
- URLS for REST transactions
- XML structures
- Returned records
- Insert/update records
User Documentation
- Define outline/structure for user documentation
- Setup wiki pages