Deletions are marked like this. | Additions are marked like this. |
Line 9: | Line 9: |
* '''Deadline:''' Fri, 20-May-2011 * Deliver a testable (but not completly tested) version of the excel Client to GMM for evaluation * Excel Client '''must''' be ready for production use by end of May. |
* '''Deadline:''' Early June. * Deliver a completed and tested version that can be used in production. = Immediate Items to Complete = 1. '''Critical''' implement ''Bau'' report * Implement a prototype, that can be expanded into the production version 1. Complete functionality: * Vorabzig flag implementation: locking field and ''save``Row'' * Client-side validation: Testing of ''Ist'' field validation 1. Testing * Functioinal testing: Focus on items marked '''TEST''' * Performance and stress testing -- Operations on more than 20 records |
Line 26: | Line 36: |
* The reduce implementation time (required for lock/unlock the worksheet) the initial implementation should just set field's background to indicate that the field is locked. |
* Design/plan for implementing field locking * --(The reduce implementation time (required for lock/unlock the worksheet) the initial implementation should just set field's background to indicate that the field is locked.)-- 1. Implement handling when not logged in * All menu items that access server should be able to respond to a non-logged in error |
Line 30: | Line 43: |
1. Fix handling/display of progress messages * All (most?) menu items should clear display area when operation completes * Convert display of ''Record count'' to ''Revision count'' in search |
|
Line 33: | Line 49: |
1. Hide ''New Worksheet'' checkbox in ''Search'' and ''Test Cases'' |
1. '''TEST''' Searching for more than selected the number of records * Ensure ''cancel/continue'' dialog functions correctly 1. '''TEST''' Hide ''New Worksheet'' checkbox in ''Search'' and ''Test Cases'' * There appears to be a problem when the ''Layout'' worksheet is hidden. |
Line 48: | Line 67: |
1. Implement Vorabzug ja/nein flag | 1. '''CRITICAL''' Implement Vorabzug ja/nein flag |
Line 52: | Line 71: |
* Disable plan date formulas when Vorabzug set to false | * --(Disable plan date formulas when Vorabzug set to false)-- |
Line 57: | Line 76: |
1. --(Implement ''Get Next Sequence Number'')-- | 1. --(Implement ''Get Next Sequence Number'')-- |
Line 60: | Line 79: |
1. ''Duplicate Row'' should duplicate after the last selected row | 1. '''TEST''' ''Duplicate Row'' should duplicate after the last selected row |
Line 62: | Line 81: |
1. Should ''Restart Revision Sequence'' not be allowed when record never saved? |
1. Should ''Restart Revision Sequence'' not be allowed when applied to an unsaved record? 1. Fix highlighting/de-highlighting of status column. Display colors: * '''gray''' - saved * '''yellow''' - changed * '''red''' - error |
Line 67: | Line 91: |
1. Implement client-side field validation * Implement ''Ist'' fiel validation. * Formulas generated from ''Perl'' script. * See axpo-integration/data/genValidation.pl * See ''[[ExcelIntegrationValidation|Client-Side Validation]]'' |
1. '''TEST''' Implement client-side field validation * --(Implement ''Ist'' field validation.)-- * --(Formulas generated from ''Perl'' script.)-- * --(See axpo-integration/data/genValidation.pl)-- * --(See ''[[ExcelIntegrationValidation|Client-Side Validation]]'')-- |
Line 85: | Line 109: |
* ''Vorabzug'' flag | * ''Vorabzug'' flag |
Line 103: | Line 127: |
* Must show progress on 31-May (Tue) meeting with GMM | |
Line 123: | Line 148: |
1. Performance: | 1. Performance: |
Line 151: | Line 176: |
1. Resolve record count inaccuracy in search and test cases | 1. Resolve record count inaccuracy in search and test cases |
Line 158: | Line 183: |
1. Display progress messages in lower message area | 1. Display progress messages in lower message area |
Line 180: | Line 205: |
1. Improve new worksheet naming | 1. Improve new worksheet naming |
Line 182: | Line 207: |
1. Implement delta menu | 1. Implement delta menu |
Line 196: | Line 221: |
1. Implement login timeout 1. Implement code that reacts correctly to auto-logout. E.g. session-timeout |
1. Implement login timeout 1. Implement code that reacts correctly to auto-logout. E.g. session-timeout |
Line 200: | Line 225: |
1. Login in a specific contract? | 1. Login in a specific contract? |
Line 221: | Line 246: |
1. Improve function naming: | 1. Improve function naming: |
Line 284: | Line 309: |
1. Setup wiki pages | 1. Setup wiki pages |
Excel Integration - To Do List
Contents
Milestones
Deadline: Early June.
- Deliver a completed and tested version that can be used in production.
Immediate Items to Complete
Critical implement Bau report
- Implement a prototype, that can be expanded into the production version
- Complete functionality:
Vorabzig flag implementation: locking field and saveRow
Client-side validation: Testing of Ist field validation
- Testing
Functioinal testing: Focus on items marked TEST
- Performance and stress testing -- Operations on more than 20 records
High-Priority Items
Internals
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
Implement field locking helper functions that make cells read-only/non-read-only
- Design/plan for implementing field locking
The reduce implementation time (required for lock/unlock the worksheet) the initial implementation should just set field's background to indicate that the field is locked.
- Implement handling when not logged in
- All menu items that access server should be able to respond to a non-logged in error
- Implement Excel 2007 menu
- Implement routine to catch and report not being logged in
TEST Make sure worksheet name change doesn't cause problems
- Fix handling/display of progress messages
- All (most?) menu items should clear display area when operation completes
Convert display of Record count to Revision count in search
Search
TEST Searching for more than selected the number of records
Ensure cancel/continue dialog functions correctly
TEST Hide New Worksheet checkbox in Search and Test Cases
There appears to be a problem 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 that search is able to recognize existing documents in the worksheet and doesn't depend on the order of documents delivered by the server.
Review hidden New Document template row
Mark row as un-savable if revision sequence is incomplete
- Implement named baskets (Design needed)
- User can select a named basket download its contents
- Make sure all calculate fields are readonly
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
CRITICAL Implement Vorabzug ja/nein flag
Lock and grey-out all Vorabzug fields if Vorabzug flag set to 0
Clear/reset revisionNo and revisionCode
Disable plan date formulas when Vorabzug set to false
Implement GA/Freigegeben menu:
Sets the RevC revisionTypeId
Menu with two choices: freigegeben (13) and gut zur Ausführung (15)
Implement Get Next Sequence Number
TEST that New Document inserts after selected row
- Should append data after last selected cell, or last row if nothing selected
TEST Duplicate Row should duplicate after the last selected row
- And should not have problems when blank rows are selected
Should Restart Revision Sequence not be allowed when applied to an unsaved record?
- Fix highlighting/de-highlighting of status column. Display colors:
gray - saved
yellow - changed
red - error
Validation
TEST Group menu change
TEST Implement client-side field validation
Implement Ist field validation.
Formulas generated from Perl script.
See axpo-integration/data/genValidation.pl
Leave Wer and Status field validation for now
Save/Update
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
Save must handle:
Vorabzug flag
GA/Freigegeben menu (probably not a problem)
- Implement field locking after save. Fields:
Bereich
Vorabzug flag
GA/Freigegeben menu (RevC type) No, does not need to be locked after save
Attributes
TEST Make sure Refresh Attributes still works
TEST Get feedback from JS re: recent changes to m_attributeRowCount global variable
Make sure that handling of m_attributeRowCount global variable is OK
Report
CRITICAL Design for Bau and Ausrüstung reports
- Based on macros?
CRITICAL Implement Bau report
- Must show progress on 31-May (Tue) meeting with GMM
- Implement Ausrustung report
Final Cleanup
- Re-hide hidden rows/columns in header worksheet
- Setup field worksheet field locking
- Hide internal worksheets
- Set password on VBA code
Test
- Setup Excel 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
- Performance:
- Disable screen update during record list processing
- Profile code to see what is being called for each document/revision
- Measure performance with large data sets
- Investigate to see if bubble sort is really needed. Debug prints?
Review calls to DoEvents
Implement new columns to display record status and DrawMGT id values (design needed)
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
- Design for highlighting of changed/new/unsaved records
- 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)
- Design for record status fields
- May not be needed if the above highlighting is implemented
- Resolve record count inaccuracy in search and test cases
Convert record count to revision count
Separate Refresh Attributes into:
Refresh Attributes
Refresh Users and Roles
- Display progress messages in lower message area
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
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?
- Improve new worksheet naming
- Worksheet count should exclude the number of hidden worksheets
- Implement delta menu
Column BK Art (Umfang, Inhalt)
Implement document links (design needed)
Handling Grundlagen document links
Handling PRF/STN document links
Final Cleanup and Packaging
- Hiding of internal worksheets (header structure, etc.)
- 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 is 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 2007 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