Excel Integration - To Do List

Implementation and Bug Fixes

Bug Fixes

  1. AH - Diagnose errors reported by GMM

  2. AH - Implement highlighting of deleted records in Refresh Row

  3. Fix display of Umlaut characters in error messages

Implement New Functionality

  1. Design for document links
  2. Implement Preufdauer menu and handling of Delta-4 field

  3. Implement document links for Grundlagen documents. tech GL and WV GL fields.

  4. Implement document links for Stellungnahmen and Pruefberichts documents. Stn-Nr and Pruef-Nr fields.

  5. Implement document links for QA-Eklaerung documents

Login/Logout/Exit

  1. Gracefully handle when user 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
  2. Trap Excel-Quit and ask user if unsaved records should be saved (design needed)

  3. Implement login timeout
  4. Implement code that reacts correctly to auto-logout. E.g. session-timeout
    • Implement a heartbeat function to prevent session timeout?
  5. Check user roles and disallow login if certain roles not present
  6. Login in a specific contract?

  1. In search form implement Gruppe menu with dependency on Bereich menu (design needed)

  2. Change New Worksheet checkbox to Clear Existing Sheet in Search and Test Cases

  3. Implement named baskets (Design needed)
    • User can select a named basket download its contents
    • Make sure all calculate fields are readonly
  4. Mark row as un-savable if revision sequence is incomplete?

Attributes Lists

  1. Separate Refresh Attributes into:

    • Refresh Attributes

    • Refresh Users and Roles

  2. Shorten attribute lists (design needed)

    • Via server-side configuration?

Implement Improved Revision Processing

  1. Reject revision (design needed)

  2. Sub-revision processing (design needed)

Internals

  1. Implement new Magic Row fields:

    • Protocol version
    • Client software version
    • Server software version

Internationalization

  1. Convert all user display text to Const strings

  2. Translate all messages Consts into DE

  3. Implement tag and lookup for form text (design needed)

Final Packaging

  1. Set password on VBA code
  2. Get code signed with a Axpo certificate?
  3. Re-hide hidden rows/columns in header worksheet
    • Ensure that non-implemented fields are locked/greyed-out
  4. Setup field worksheet field locking (probably not)
  5. Hide internal worksheets


Testing

Test Plan and Setup

  1. Write a test-plan wiki page
  2. Make sure ZK/TN/DD have suitable test environments

Basic Tests

  1. Check reading and updating of all fields
    • Save values and read back
    • Check values on server
  2. Stress/performance testing
    • Searching for long lists
    • Bad input data
  3. Character sets: test with Umlaut characters
    • Test Umlauts in UTF-8 set to server
    • Test Umlauts in ISO-8859-1 set from server
    • Test Umlauts in error messages
  4. Compatibility testing
    • Excel 2003 menus
    • Excel 2003 complete functionality
  5. Search tests
    • Test all search fields
    • Test functionality of Bereich and Gruppe menus

  6. Display tests
  7. List menu tests
    • Status menus
    • User menus
    • Flag menus
  8. Editing tests
    • Delta date calculations
    • Drawing code menus
  9. Insert tests
  10. Update tests
  11. Client-side validation tests
    • Leave Wer and Status field validation for now

  12. Menu item tests
    • Check for duplicates
    • Duplicate selected
  13. Performance tests
  14. HTTPS test
  15. HTTP/HTTPS proxy test

Testing of Specific Features

Search

  1. Search fields: Test all search fields:
    • document code
    • title
    • revision date from/to
    • external reference number
  2. Searching for more than selected the number of records
    • Ensure cancel/continue dialog functions correctly

Display of Search Results

  1. Display/clearing of cell comments
  2. 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 re ognize existing documents in the worksheet and doesn't depend on the order of documents delivered by the s rver.
  3. Display/removal of progress menu in lower left message area

Editing

  1. Check for Copy and Paste problems - specifically related to onChange routine

  2. 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
  3. Get Next Sequence Number

  4. Generate client-side error on update/insert when drawing code not complete
  5. Vorabzug flag handling and RevC Revision Type menu handling

    • See ExcelIntegrationRequirements#GA.2BAC8-FregegebenMenu

    • 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

  6. Field highlighting
    • 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)
  7. New Document inserts after selected row

    • Should append data after last selected cell, or last row if nothing selected
  8. Duplicate Row should duplicate after the last selected row

    • And should not have problems when blank rows are selected
  9. Client-side field validation
    • Ordering/gaps in plan complete date fields
    • Ist field validation
    • Status
  10. 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
  11. Should Restart Revision Sequence not be allowed when applied to an unsaved record? Probably not

  12. Make sure Refresh Attributes still works

  13. Make sure that no problems occur when user changes worksheet names

End-to-End Testing

  1. Define scenarios
    • Client-side only
    • Client and Server interactions
  2. Functional testing
  3. Performance testing
    • Measure performance with large data sets
    • Profile code to see what is being called for each document/revision
    • Review calls to DoEvents

User Documentation

  1. Define outline/structure for user documentation
  2. Setup wiki pages

Internal Documentation

  1. List of modules
  2. List of public subs/functions
  3. List of gotchas

    • Blank cells in header regions, caused by use of Excel count2 function

  4. Explanation of complex menu and look formulas)
  5. Convert notes/DesignNotes into Wiki
  6. Revision sequence
  7. Named ranges
  8. URLS for REST transactions
  9. XML structures
    • Returned records
    • Insert/update records

Internals and Refactoring

  1. Named ranges
    • Automated management
    • Function for repair/reset of named ranges in case of corruption
    • Clone worksheet
    • Document named ranges and their boundaries
  2. Make sure Consts are used for all field type names in the write-back header worksheets

  3. Change iRow to lRow?

  4. Document new validation columns in header structure
  5. Document and revision (write) record structures
  6. Improved worksheet lookup/access functions (getCellValue/Address)

  7. Improved row selection for printing to worksheet
  8. Refactor define names to improve clarity and remove confusing near-aliases
  9. Identify all magic constants and convert to Consts

  10. Improve function naming:
    • Use function names that more business oriented rather than technically descriptive

  11. Review TODOs in code

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

Copyright 2008-2014, SoftXS GmbH, Switzerland