Excel Integration - To Do List
Contents
- Excel Integration - To Do List
- Priority/Critical Items to Complete ASAP
- Main Design Issues (HIGH, DESIGN, AH/JS)
- Login/Logout (AH)
- Attribute Lists
- Searching
- Display Data From Server
- Refresh Rows
- Editing List Data
- Updating and Inserting Records
- Sub-Revisions (LOW)
- Error Handling (MEDIUM,DESIGN?)
- Internals
- Reports
- Compatibility (MEDIUM)
- Internationalization (LOW, AH)
- Final Cleanup and Packaging (HIGH, DESIGN, JS)
- Testing
- Refactoring (MEDIUM/LOW)
- Internal Documentation (LOW)
- User Documentation (LOW)
Priority/Critical Items to Complete ASAP
- Fix writing of title fields - should write to all revisions
JS - Fix handling of named ranges
Ability to change between Bau & Bau2 without having to exit and restart Excel
JS - Implement user role menus
AH - Re-order the fields in the search form to confirm to the order in the DrawMGT web GUI
AH/JS - Design/implement server selection (Probably in a global variable, selected by a menu item?)
AH - Create an SQL script in the migration that creates a large number of Vorabzug, zur Freigabe & gut zur Ausführung revisions, to be used for testing with multiple records
AH - Fix the duplicated Group column in the layout, the second columns should probably be Archiv
AH - Cleanup VBA code formatting
AH - Cleanup layout sheet in in Lib, change yellow cells to appropriate gray color
AH - Implement display of user defined fields after search
Fix paths in header structure
Add case for handling user defined fields
AH - Implement global login flag
Main Design Issues (HIGH, DESIGN, AH/JS)
- Able to manage multiple planning worksheets in a single workbook
- General design of ribbon/menu
- How does user create new rows?
- How does user copy rows?
- Catching exit when rows unsaved
- Restart revision sequence
- Can files be transfered between servers? (difficult: id value problems)
- Operations performed on all rows vs. selected rows
Login/Logout (AH)
Implement login flag (HIGH)
Implement logout function (HIGH)
Implement server select menu and default server (MEDIUM)
Design for login timeout from server (HIGH, DESIGN)
All dispatches should check for login flag (HIGH)
Check user roles and disallow login is certain roles not present (LOW)
Login in a specific contract? (LOW)
Attribute Lists
GUI for refreshing the attribute lists (HIGH, JS)
- - Any problems if user roles change? May need to refresh user menus
Need REST transaction for display status menu texts (HIGH, AH/TN)
GUI side collection of display status lists (HIGH, JS)
Shortening menus to restrict them to planning relevant items (LOW, WHO?)
Searching
Order of menu items in search window (MEDIUM, AH)
- Handling large result sets (can wait?)
- - GUI defines a pre-defined max limit
Search by document title (MEDIUM, AH)
Search by document code (MEDIUM, AH)
Search by external key (MEDIUM, AH)
Search by from/to revision date (MEDIUM, AH)
Display Data From Server
Merge search results with existing rows (HIGH, JS)
See UserStatusMenusNotes:
- - User menus based on roleId coded in header structure - Status menus based on approvalStatusListId coded in header structure
Delta menu (HIGH)
Vorabzug flag menu (je/nein flag) (HIGH, JS)
Formulas (HIGH, JS/AH)
Data types and format (HIGH, JS)
- - Dates - Numbers - Implement rules
Client-side cross-field validation (HIGH, DESIGN, AH/JS)
- - Define rules - Complete date and status - Sequence of complete dates - sequence of plan dates
Document links (MEDIUM, WHO?)
- - Grundlagen links: to a specific document
- STN (Stellungnahme) & PRF (Pruefberichte) links: to a specific serial index prefix & number - How to handle link deletion when links changed (what to delete?)
- - Grundlagen links: to a specific document
Highlighting changed but unsaved rows (HIGH, JS)
Highlighting non-saved rows (HIGH, JS)
Refresh Rows
Refresh all vs. refresh selected (HIGH, DESIGN?, JS)
Comments with cell differences (HUGH, JS)
Editing List Data
Row handling and creating new rows: (HIGH, DESIGN?, AH/JS)
- - How to create new rows: via menu or copy paste?
- - Insert at end of list - Insert at current position
- Is copy & past possible? - Can fill down be used? Axpo would really link it
- - What happens in menu columns?
- - How to create new rows: via menu or copy paste?
- Deleting rows should be possible
Locking non-editable columns (HIGH, JS)
Get next sequence number (HIGH)
- Client-side processing (AH) - Server-side transaction (JS)
Managing doc-doc links (MEDIUM)
- Client-side processing (AH) - Server-side transaction (JS)
Updating and Inserting Records
Save all vs. save selected (HIGH, JS)
- Check for conflicts before saving (update count)
- - Is this done by server already? - Client must not save conflicts (for whole row? or Rev by Rev?)
Can same doc/rev record structure be used for both insert & update?
Review field mappings for doc/rev record structures (HIGH, AH)
Duplicate detection (HIGH, DESIGN?, AH/JS)
- - Partially implemented
Reporting server side validation errors (HIGH, AH)
Setting revision dates (HIGH, AH)
Sub-Revisions (LOW)
- Start new revision sequence
Error Handling (MEDIUM,DESIGN?)
- Better reporting of details of server errors
Internals
Named ranges (HIGH, DESIGN?, JS)
- - 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
Reports
Implement Bau Report (MEDIUM, JS)
Compatibility (MEDIUM)
- Check with Excel 2003 - E.g. non-Ribbon version
Internationalization (LOW, AH)
- Convert all user display text to Consts
- And hard-code in German
Final Cleanup and Packaging (HIGH, DESIGN, JS)
- File packaging
- - Document use cases - Requirement that a single file can be sent to another user - Nice if client-side and datatype checking and validation works off-line
- Hiding of internal worksheets (header structure, etc.)
- Hiding of system columns (key set columns) in lists
Testing
- Test HTTPS operation
- Test HTTP/HTTPS proxy operation
- Check reading and updating of all fields
Stress testing (HIGH)
- - Searching for long lists - Bad input data
Character sets: test with Umlauts (HIGH)
- - Test Umlauts in UTF-8 set to server - Test Umlauts in ISO-8859-1 set from server
- Compatibility testing
Refactoring (MEDIUM/LOW)
- Message catalog
- TODO's in code
Internal Documentation (LOW)
- Convert notes/DesignNotes into Wiki
- Revision sequence
- Named ranges
- URLS for REST transactions
- XML structures
- - Returned records - Insert/update records
User Documentation (LOW)
- To do in Wiki