Differences between revisions 6 and 7
Deletions are marked like this. Additions are marked like this.
Line 24: Line 24:
= Main Design Issues = = Main Design Issues (HIGH, DESIGN, AH/JS) =
Line 35: Line 35:
= Login/Logout = = Login/Logout (AH) =
Line 37: Line 37:
  1. Implement login flag
  1. Implement logout function

  1. Implement server select menu and default server
  1.
Design for login timeout from server
  1. All dispatches should check for login flag
  1. Check user roles and disallow loging is certain roles not present
  1.
Login in a specific contract?
  1. Implement login flag '''(HIGH)'''
  1. Implement logout function '''(HIGH)'''

  1. Implement server select menu and default server  '''(MEDIUM)'''
  1. D
esign for login timeout from server '''(HIGH, DESIGN)'''
  1. All dispatches should check for login flag '''(HIGH)'''
  1. Check user roles and disallow login is certain roles not present '''(LOW)'''
  1. L
ogin in a specific contract? '''(LOW)'''
Line 47: Line 47:
  1. GUI for refreshing the attribute lists   1. GUI for refreshing the attribute lists '''(HIGH, JS)'''
Line 49: Line 49:
  1. Need REST transaction for display status menu texts
  1. GUI side collection of display status lists
  1. Shortening menus to restruct them to planning revelant items
  1. Need REST transaction for display status menu texts '''(HIGH, AH/TN)'''
  1. GUI side collection of display status lists '''(HIGH, JS)'''
  1. Shortening menus to restrict them to planning relevant items '''(LOW, WHO?)'''
Line 55: Line 55:
  1. Order of menu items in search window
  1. Handling large result sets (can wait?)
  1. Order of menu items in search window '''(MEDIUM, AH)'''
  1. Handling large result sets (can wait?) 
Line 58: Line 58:
  1. Search by document title
  1. Search by document code
  1. Search by external key
  1. Search by from/to revision date
  1. Search by document title '''(MEDIUM, AH)'''
  1. Search by document code '''(MEDIUM, AH)'''
  1. Search by external key '''(MEDIUM, AH)'''
  1. Search by from/to revision date '''(MEDIUM, AH)'''
Line 66: Line 65:
  1. Merge search results with existing rows   1. Merge search results with existing rows '''(HIGH, JS)'''
Line 70: Line 69:
  1. Delta menu
  1. Vorabzug flag menu (je/nein flag)
  1. Formulas
  1. Data types and format
  1. Delta menu '''(HIGH)'''
  1. Vorabzug flag menu (je/nein flag) '''(HIGH, JS)'''
  1. Formulas '''(HIGH, JS/AH)'''
  1. Data types and format '''(HIGH, JS)'''
Line 77: Line 76:
  1. Client-side cross-field validation   1. Client-side cross-field validation '''(HIGH, DESIGN, AH/JS)'''
Line 82: Line 81:
  1. Document links   1. Document links '''(MEDIUM, WHO?)'''
Line 84: Line 83:
     - STN & PRF links: to a specific serial inder prefix & number      - STN (Stellungnahme) & PRF (Pruefberichte) links: to a specific serial index prefix & number
Line 86: Line 85:
  1. Highlighting changed but unsaved rows
  1. Highlighting non-saved rows
  1. Highlighting changed but unsaved rows '''(HIGH, JS)'''
  1. Highlighting non-saved rows '''(HIGH, JS)'''
Line 91: Line 90:
  1. Refresh all vs. refresh selected
  1. Comments with cell differences
  1. Refresh all vs. refresh selected '''(HIGH, DESIGN?, JS)'''
  1. Comments with cell differences '''(HUGH, JS)'''
Line 96: Line 95:
  1. Row handling and creating new rows:   1. Row handling and creating new rows: '''(HIGH, DESIGN?, AH/JS)'''
Line 103: Line 102:
     - Can fill down be used? xpo would really link it      - Can fill down be used? Axpo would really link it
Line 106: Line 105:
  1. Locking non-editable columns
  1. Get next sequence number
     - Client-side processing
     - Server-side transaction
  1. Managing doc-doc links
     - Client-side processing
     - Server-side transaction
  1. Locking non-editable columns '''(HIGH, JS)'''
  1. Get next sequence number '''(HIGH)'''
     - Client-side processing '''(AH)'''
     - Server-side transaction '''(JS)'''
  1. Managing doc-doc links '''(MEDIUM)'''
     - Client-side processing '''(AH)'''
     - Server-side transaction '''(JS)'''
Line 116: Line 115:
  1. Save all cs. save selected   1. Save all vs. save selected  '''(HIGH, JS)'''
Line 121: Line 120:
  1. Review field mappings for doc/rev record structures
  1. Duplicate detection
  1.
Partially implemented
  1. Reporting server side validation errors
  1. Setting revision dates (via doc
  1. Review field mappings for doc/rev record structures '''(HIGH, AH)'''
  1. Duplicate detection '''(HIGH, DESIGN?, AH/JS)'''
     -
Partially implemented
  1. Reporting server side validation errors '''(HIGH, AH)'''
  1. Setting revision dates '''(HIGH, AH)'''
Line 127: Line 126:
= Sub-Revisions = = Sub-Revisions (LOW) =
Line 131: Line 130:
= Error Handling = = Error Handling (MEDIUM,DESIGN?) =
Line 133: Line 132:
  1. Reporting details of server errors
  1. Better reporting of details of server errors
Line 138: Line 136:
  1. Named ranges   1. Named ranges '''(HIGH, DESIGN?, JS)'''
Line 140: Line 138:
     - Function for repair/resey of named ranges in case of corruption      - Function for repair/reset of named ranges in case of corruption
Line 142: Line 140:
     - Document named ranges and their boundries      - Document named ranges and their boundaries
Line 145: Line 143:
= Implement Bau Report = = Reports =
Line 147: Line 145:
= Compatibility =   1. Implement Bau Report '''(MEDIUM, JS)'''

= Compatibility (MEDIUM) =
Line 151: Line 151:
= Internationalization = = Internationalization (LOW, AH) =
Line 156: Line 156:
= Final Cleanup and Packaging = = Final Cleanup and Packaging (HIGH, DESIGN, JS) =
Line 161: Line 162:
  1. Hiding of internal wotksheets (header structure, etc.)   1. Hiding of internal worksheets (header structure, etc.)
Line 166: Line 167:
  1. Test HTTPS opertation   1. Test HTTPS operation
Line 170: Line 171:
  1. Stress testing   1. Stress testing   '''(HIGH)'''
Line 173: Line 174:
  1. Character sets: test with Umlauts   1. Character sets: test with Umlauts  '''(HIGH)'''
Line 178: Line 179:
= Refactoring = = Refactoring (MEDIUM/LOW) =
Line 183: Line 184:
= Internal Documentation = = Internal Documentation (LOW) =
Line 193: Line 194:
= User Documentation = = User Documentation (LOW) =
Line 196: Line 197:



Excel Integration - To Do List

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 - 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)

  1. Able to manage multiple planning worksheets in a single workbook
  2. General design of ribbon/menu
  3. How does user create new rows?
  4. How does user copy rows?
  5. Catching exit when rows unsaved
  6. Restart revision sequence
  7. Can files be transfered between servers? (difficult: id value problems)
  8. Operations performed on all rows vs. selected rows

Login/Logout (AH)

  1. Implement login flag (HIGH)

  2. Implement logout function (HIGH)

  3. Implement server select menu and default server (MEDIUM)

  4. Design for login timeout from server (HIGH, DESIGN)

  5. All dispatches should check for login flag (HIGH)

  6. Check user roles and disallow login is certain roles not present (LOW)

  7. Login in a specific contract? (LOW)

Attribute Lists

  1. GUI for refreshing the attribute lists (HIGH, JS)

    • - Any problems if user roles change? May need to refresh user menus
  2. Need REST transaction for display status menu texts (HIGH, AH/TN)

  3. GUI side collection of display status lists (HIGH, JS)

  4. Shortening menus to restrict them to planning relevant items (LOW, WHO?)

Searching

  1. Order of menu items in search window (MEDIUM, AH)

  2. Handling large result sets (can wait?)
    • - GUI defines a pre-definid max limit
  3. Search by document title (MEDIUM, AH)

  4. Search by document code (MEDIUM, AH)

  5. Search by external key (MEDIUM, AH)

  6. Search by from/to revision date (MEDIUM, AH)

Display Data From Server

  1. Merge search results with existing rows (HIGH, JS)

  2. See UserStatusMenusNotes:

    • - User menus based on roleId coded in header structure - Status menus based on approvalStatusListId coded in header structure
  3. Delta menu (HIGH)

  4. Vorabzug flag menu (je/nein flag) (HIGH, JS)

  5. Formulas (HIGH, JS/AH)

  6. Data types and format (HIGH, JS)

    • - Dates - Numbers - Implement rules
  7. Client-side cross-field validation (HIGH, DESIGN, AH/JS)

    • - Define rules - Complete date and status - Sequence of complete dates - sequence of plan dates
  8. 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?)

  9. Highlighting changed but unsaved rows (HIGH, JS)

  10. Highlighting non-saved rows (HIGH, JS)

Refresh Rows

  1. Refresh all vs. refresh selected (HIGH, DESIGN?, JS)

  2. Comments with cell differences (HUGH, JS)

Editing List Data

  1. 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
      - Default delta values for new rows? - Users should be able to sort/rearrange rows

      - Is copy & past possible? - Can fill down be used? Axpo would really link it

      • - What happens in menu columns?
  2. Deleting rows should be possible
  3. Locking non-editable columns (HIGH, JS)

  4. Get next sequence number (HIGH)

    • - Client-side processing (AH) - Server-side transaction (JS)

  5. Managing doc-doc links (MEDIUM)

    • - Client-side processing (AH) - Server-side transaction (JS)

Updating and Inserting Records

  1. Save all vs. save selected (HIGH, JS)

  2. 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?)
  3. Can same doc/rev record structure be used for both insert & update?

  4. Review field mappings for doc/rev record structures (HIGH, AH)

  5. Duplicate detection (HIGH, DESIGN?, AH/JS)

    • - Partially implemented
  6. Reporting server side validation errors (HIGH, AH)

  7. Setting revision dates (HIGH, AH)

Sub-Revisions (LOW)

  1. Start new revision sequence

Error Handling (MEDIUM,DESIGN?)

  1. Better reporting of details of server errors

Internals

  1. 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
  2. Document and revision (write) record structures

Reports

  1. Implement Bau Report (MEDIUM, JS)

Compatibility (MEDIUM)

  1. Check with Excel 2003 - E.g. non-Ribbon version

Internationalization (LOW, AH)

  1. Convert all user display text to Consts
  2. And hard-code in German

Final Cleanup and Packaging (HIGH, DESIGN, JS)

  1. 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
  2. Hiding of internal worksheets (header structure, etc.)
  3. Hiding of system columns (key set columns) in lists

Testing

  1. Test HTTPS operation
  2. Test HTTP/HTTPS proxy operation
  3. Check reading and updating of all fields
  4. Check
  5. Stress testing (HIGH)

    • - Searching for long lists - Bad input data
  6. Character sets: test with Umlauts (HIGH)

    • - Test Umlauts in UTF-8 set to server - Test Umlauts in ISO-8859-1 set from server
  7. Compatibility testing

Refactoring (MEDIUM/LOW)

  1. Message catalog
  2. TODO's in code

Internal Documentation (LOW)

  1. Convert notes/DesignNotes into Wiki
  2. Revision sequence
  3. Named ranges
  4. URLS for REST transactions
  5. XML structures
    • - Returned records - Insert/update records

User Documentation (LOW)

  1. To do in Wiki

ExcelIntegrationToDoList (last edited 2011-07-19 17:10:57 by karl)

Copyright 2008-2014, SoftXS GmbH, Switzerland