Deletions are marked like this. | Additions are marked like this. |
Line 17: | Line 17: |
1. Complete search into existing worksheet '''(JS)''' 1. Complete insert/update '''(AH)''' |
|
Line 20: | Line 18: |
* ''Delta'' menu | * ''GA/Freigegeben'' menu - See [[ExcelIntegrationRequirements#GA.2BAC8-FregegebenMenu]] |
Line 22: | Line 20: |
* ''GA/Freigegeben'' menu - See [[ExcelIntegrationRequirements#GA.2BAC8-FregegebenMenu]] 1. Design remaining open items: (Design needed) |
1. Implement client-side validation * See [[ExcelIntegrationRequirements#ClientSideValidation]] 1. Design revision handling ''(design needed)'' |
Line 32: | Line 31: |
* Implement status messages | |
Line 41: | Line 41: |
1. Check user roles and disallow login is certain roles not present '''(low priority)''' | 1. Check user roles and disallow login is certain roles not present ''(low priority)'' |
Line 47: | Line 47: |
1. Search request includes max records and allow for cancel/continue '''(AH)''' * Resolve record count inaccuracy '''(AH/TN)''' |
1. Resolve record count inaccuracy in search and test cases '''(AH/TN)''' |
Line 51: | Line 50: |
1. Improve new worksheet naming''(low-priority)'' | 1. Improve new worksheet naming ''(low-priority)'' |
Line 53: | Line 52: |
1. In search form implement Gruppe menu with dependency on ''Bereich menu'' (Design needed) | 1. In search form implement ''Gruppe'' menu with dependency on ''Bereich'' menu ''(design needed)'' |
Line 61: | Line 60: |
1. Display progress messages in lower message area | 1. Display progress messages in lower message area '''(WAIT)''' |
Line 76: | Line 75: |
1. Implement document links '''(AH/JS/TN - WAIT)''' (Design needed) |
1. Performance: '''(AH)''' * 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? 1. Fix bug: cell notes for record differences on date fields '''(AH)''' 1. Implement document links '''(AH/JS/TN - WAIT)''' (design needed) |
Line 79: | Line 84: |
1. Performance: '''(AH)''' * Disable screen update during record list processing * Measure performance with large data sets * Profile code to see what is being called for each document/revision * Investigate to see if bubble sort is really needed 1. Fix bug: cell notes for record differences on date fields '''(AH)''' |
|
Line 89: | Line 88: |
1. Check for duplicates '''(JS)''' 1. Implement duplicate selected rows '''(JS)''' |
1. Check for duplicates '''(AH)''' * Two-part key * Better reporting of duplicates 1. Implement new rows * Implement copy of hidden sample row * Define sample row in layout worksheet |
Line 92: | Line 95: |
1. Highlighting of changed/new/unsaved records '''(JS)''' | 1. Highlighting of changed/new/unsaved records '''(JS)''' ''(design needed)'' |
Line 94: | Line 97: |
1. Setting the revisionNo and revisionCode on new revisions '''(AH)''' (Design needed) |
1. Setting the revisionNo and revisionCode on new revisions '''(AH)''' ''(design needed)'' 1. Implement new columns to display record status and DrawMGT id values |
Line 96: | Line 100: |
1. Client-side validation: '''(JS)''' * All dates columns should be in ''DD.MM.YY'' format * ''Ist''-dates: ''Ist'' date for workflow step must be >= previous ''Ist''-date * ''Soll''-dates: automatically calculated, validation required (''Soll'' date columns should be read-only) * No checking between ''Ist'' and ''Soll'' dates is required * ''Wer'' vs. status: * ''Offen'' status: ''Wer'' can be empty * non-''Offen'': ''Wer'' must be set * Workflow status vs. ''Ist''-date: * ''Offen'' status: ''Ist''-date must be empty * non-''Offen'': ''Ist''-date must be set to a date <= today * Workflow steps must be completed in order * If a reject occurs in a workflow step, then no further steps can be completed. E.g. the ''Ist''-dates for subsequent workflow steps cannot be set, nor can their status be set to a non-''offen'' value. * Note that all the status menus default to the appropriate ''offen'' status value. * Data types: ''t0'' and ''t0wv'' must be dates * Data types: Resource fields: * ''Resourcenplannung Planer & PL'' - can be integers or floating point values. The values represent the number of hours/days of effort planned * ''von/bis'' - must be dates * ''Verteiler'' - must be integers. The values represent the number of copies to send * Date format enforcement via data formats in layout sheet? * Read-only fields: * ''Doku.-Nr'' - drawing code * ''Soll'' dates * ''Ver.'' - revision code (Design needed) |
1. Client-side validation '''(JS)''' * See [[ExcelIntegrationRequirements#ClientSideValidation]] |
Line 121: | Line 103: |
1. Trapping Exit and asking user if unsaved records should be changed '''(JS)''' | 1. Trapp Excel-Quit and ask user if unsaved records should be saved '''(JS)''' |
Line 126: | Line 108: |
1. Complete implementation of combined revision save/update '''(AH)''' | |
Line 130: | Line 111: |
1. Handle id for updated records '''(AH)''' * Values returned in XML from server |
Excel Integration - To Do List
Contents
- Excel Integration - To Do List
- Critical Items to Complete ASAP
- High-Priority Items
- Attribute Lists
- Login/Logout
- Search
- Data Display
- Data Editing
- Updating and Inserting Records
- Reject Revisions and Sub-Revisions
- Internals and Refactoring
- Reports
- Compatibility
- Internationalization
- Final Cleanup and Packaging
- Testing
- Internal Documentation
- User Documentation
Critical Items to Complete ASAP
Next Goal: Complete all major functions
- Merge code
- Complete all critical design items
High-Priority Items
Implement remaining planning list columns: (JS)
GA/Freigegeben menu - See ExcelIntegrationRequirements#GA.2BAC8-FregegebenMenu
Vorabzug flag - See ExcelIntegrationRequirements#VorabzugFlag
- Implement client-side validation
Design revision handling (design needed)
Assigning revisionNo and revisionCode to new records
Restart revision sequence
Implement: Restart revision sequence
Attribute Lists
Make sure Refresh Attributes still works
- Implement status messages
Shorten attribute lists (Design needed: AH/TN) (low-priority)
- Via server-side config?
Login/Logout
Implement login timout (low-priority)
Implement code that reacts correctly to auto-logout (session-timeout) (low-priority)
- Implement a heartbeat function?
Check user roles and disallow login is certain roles not present (low priority)
Login in a specific contract? (low-priority)
Search
Resolve record count inaccuracy in search and test cases (AH/TN)
- Save server URL in planning worksheet and implement checks to make sure that future searches and updates and done on the same server (Design needed)
Searches should add/update existing worksheet (JS)
Improve new worksheet naming (low-priority)
- Worksheet count should exclude the number of hidden worksheets
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
Implement named baskets (Design needed) (AH/TN)
- User can select a named basket download its contents
Display progress messages in lower message area (WAIT)
Data Display
Implement group menu (JS)
- Including link to contract menu
Implement delta menu (JS - WAIT)
Column BK Art (Umfang, Inhalt)
Implement Vorabzug ja/nein flag (JS)
Implement GA/Freigegeben menu: (JS)
- Sets the RevC revision type
- Menu with to choices: freigegeben (13), gut zur Ausführung (15)
Performance: (AH)
- 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?
Fix bug: cell notes for record differences on date fields (AH)
Implement document links (AH/JS/TN - WAIT) (design needed)
- Handling Grundlagen document links
- Handling PRF/STN document links
Data Editing
Check for duplicates (AH)
- Two-part key
- Better reporting of duplicates
- Implement new rows
- Implement copy of hidden sample row
- Define sample row in layout worksheet
Implement get next sequence number (AH?/JS/TN)
Highlighting of changed/new/unsaved records (JS) (design needed)
Restart revision sequence (AH) (Design needed)
Setting the revisionNo and revisionCode on new revisions (AH) (design needed)
- Implement new columns to display record status and DrawMGT id values
- Test contract and group menu changes
Client-side validation (JS)
- Test copy-paste operations
Trapp Excel-Quit and ask user if unsaved records should be saved (JS)
Updating and Inserting Records
Duplicate row detection before save (AH)
Handle setting of revisionNo and revisionCode for new records (AH)
Implement checking of record serial numbers on update (AH)
Improve reporting of insert/update errors (report server-side error text) (AH)
Generate errors on update/insert when drawing code not complete (AH)
Reject Revisions and Sub-Revisions
- Reject revision (Design needed)
- Sub-revision processing (Design needed)
Internals and Refactoring
Review TODOs in code
- Named ranges
- Automated management
- Function for repair/reset of named ranges in case of corruption
- Clone worksheet
- Document named ranges and their boundaries
- Document and revision (write) record structures
- Improved worksheet lookup/access functions (getCellValue/Address)
- Improved row selection for printing to worksheet
- Refactoring define names (to improve clarity and remove near-aliases)
Identify magic numbers and convert to Consts
Improve function naming: Make function names more business oriented rather than technically descriptive
Reports
- Implement Bau report (Design needed)
- Implement Ausrustung report
Compatibility
- Setup Excel 2007 test/development environment
- Implement Excel 2003 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)
Final Cleanup and Packaging
- Nice if client-side and datatype checking and validation works off-line
- Hiding of internal worksheets (header structure, etc.)
- Get code signed with a Axpo certificate?
- Assign password to code
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 with