Differences between revisions 24 and 25
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
= Priority/Critical Items to Complete ASAP =

 * Merge code
= Critical Items to Complete ASAP =
Line 11: Line 10:
 * Complete all critical design items


= Critical Items =

1. Merge code
 1.
Complete all critical design items


= High-Priority Items =
Line 17: Line 18:
 1. Complere insert/update '''(AH)'''  1. Complete insert/update '''(AH)'''
Line 25: Line 26:
    *
Line 32: Line 32:
 1. Shorten attribute lists (Design needed: AH/TN)  1. Shorten attribute lists (Design needed: AH/TN) ''(low-priority)''
Line 39: Line 39:
 1. Implement code that reacts correctly to auto-logout (session-timeout)  1. Implement code that reacts correctly to auto-logout (session-timeout) ''(low-priority)''
Line 42: Line 42:
 1. Login in a specific contract? '''(low)'''  1. Login in a specific contract? ''(low-priority)''
Line 48: Line 48:
    * Resolve record count inaccuracy '''(AH/TN)'''
Line 50: Line 51:
 1. Improve new worksheet naming  1. Improve new worksheet naming''(low-priority)''
Line 52: Line 53:
 1. Implement group menu with dependency on bereich menu (Design needed) '''(AH?)'''  1. In search form implement Gruppe menu with dependency on ''Bereich menu'' (Design needed)
Line 76: Line 77:
 1. Performance:  1. Performance: '''(AH)'''
Line 81: Line 82:
 1. Fix bug: cell notes for record differences on date fields  1. Fix bug: cell notes for record differences on date fields '''(AH)'''
Line 93: Line 94:
 1. Client-side validation:
    * All dates are in ''DD.MM.YY'' format
 1. Client-side validation: '''(JS)'''
    * All dates columns should be in ''DD.MM.YY'' format
Line 96: Line 97:
    * ''Soll''-dates: automatically calculated, no checking needed     * ''Soll''-dates: automatically calculated, validation required (''Soll'' date columns should be read-only)
Line 99: Line 100:
      * ''Offen'' status: ''Wer'' can be empty or set to a user
      * non-''Offen'': ''Wer'' must be set to a user
      * ''Offen'' status: ''Wer'' can be empty
      * non-''Offen'': ''Wer'' must be set
Line 105: Line 106:
      * 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-open value.       * 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.
Line 108: Line 109:
    * Data types: Resource fields must be numbers
      * ''Resourcenplannung Planer & PL'' - can be integers or floating point values
    * 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
Line 111: Line 112:
      * ''Verteiler'' - must be integers       * ''Verteiler'' - must be integers. The values represent the number of copies to send
Line 118: Line 119:
 1. Trapping Exit and asking user if unsaved records should be changed  1. Trapping Exit and asking user if unsaved records should be changed '''(JS)'''
Line 123: Line 124:
 1. Complete implementation of combined revision save/update ''(AH)''
 1. Duplicate row detection before save
 1. Handle setting of ''revisionNo'' and ''revisionCode'' for new records
 1. Implement checking of record serial numbers on update
 1. Handle id for updated records
 1. Complete implementation of combined revision save/update '''(AH)'''
 1. Duplicate row detection before save '''(AH)'''
 1. Handle setting of ''revisionNo'' and ''revisionCode'' for new records '''(AH)'''
 1. Implement checking of record serial numbers on update '''(AH)'''
 1. Handle id for updated records '''(AH)'''
Line 129: Line 130:
 1. Improve reporting of insert/update errors (report server-side error text)
 1. Generate errors on update/insert when drawing code not complete


= Reject Revisions and Sub-Revisions (Design needed)
 1. Improve reporting of insert/update errors (report server-side error text) '''(AH)'''
 1. Generate errors on update/insert when drawing code not complete '''(AH)'''


= Reject Revisions and Sub-Revisions =
Line 142: Line 143:
 1. named ranges  1. Named ranges
Line 151: Line 152:
 1. Identify magic numbers and convert to Consts
 1. Improve 'regularity' of function naming
 1. Identify magic numbers and convert to ''Consts''
 1. Improve function naming: Make function names more ''business oriented'' rather than ''technically descriptive''
Line 174: Line 175:
= Final Cleanup and Packaging

 1. Hide internal worksheets
= Final Cleanup and Packaging =
Line 179: Line 179:
 1. Hiding of system columns (key set columns) in lists
Line 220: Line 219:
 1. List of ''gotchas''
    * Blank cells in header regions, caused by use of Excel ''count2'' function
 1. Explanation of complex menu and look formulas)

Excel Integration - To Do List

Critical Items to Complete ASAP

  • Next Goal: Complete all major functions

  • Merge code
  • Complete all critical design items

High-Priority Items

  1. Complete search into existing worksheet (JS)

  2. Complete insert/update (AH)

  3. Implement remaining planning list columns: (JS)

    • Delta menu

    • Vorabzug flag

    • GA/Freigegeben flag

  4. Design remaining open items: (Design needed)
    • Assigning revisionNo and revisionCode to new records

    • Restart revision sequence

  5. Implement: Restart revision sequence

Attribute Lists

  1. Make sure Refresh Attributes still works

  2. Shorten attribute lists (Design needed: AH/TN) (low-priority)

    • Via server-side config?

Login/Logout

  1. Implement login timout (low-priority)

  2. Implement code that reacts correctly to auto-logout (session-timeout) (low-priority)

    • Implement a heartbeat function?
  3. Check user roles and disallow login is certain roles not present (low priority)

  4. Login in a specific contract? (low-priority)

Search

  1. Search request includes max records and allow for cancel/continue (AH)

    • Resolve record count inaccuracy (AH/TN)

  2. 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)
  3. Searches should add/update existing worksheet (JS)

  4. Improve new worksheet naming(low-priority)

    • Worksheet count should exclude the number of hidden worksheets
  5. In search form implement Gruppe menu with dependency on Bereich menu (Design needed)

  6. Test search fields:
    • document code
    • title
    • revision date from/to
    • external reference number
  7. Implement named baskets (Design needed) (AH/TN)

    • User can select a named basket download its contents
  8. Display progress messages in lower message area

Data Display

  1. Implement group menu (JS)

    • Including link to contract menu
  2. Implement delta menu (JS)

    • Column BK Art (Umfang, Inhalt)

  3. Implement Vorabzug ja/nein flag (JS)

  4. Implement GA/Freigegeben menu: (JS)

    • Sets the RevC revision type
    • Menu with to choices: freigegeben (13), gut zur Ausführung (15)
  5. Implement document links (AH/JS/TN) (Design needed)

    • Handling Grundlagen document links
    • Handling PRF/STN document links
  6. 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
  7. Fix bug: cell notes for record differences on date fields (AH)

Data Editing

  1. Check for duplicates (JS)

  2. Implement duplicate selected rows (JS)

  3. Implement get next sequence number (AH?/JS/TN)

  4. Highlighting of changed/new/unsaved records (JS)

  5. Restart revision sequence (AH) (Design needed)

  6. Setting the revisionNo and revisionCode on new revisions (AH) (Design needed)

  7. Test contract and group menu changes
  8. 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)

  9. Test copy-paste operations
  10. Trapping Exit and asking user if unsaved records should be changed (JS)

Updating and Inserting Records

  1. Complete implementation of combined revision save/update (AH)

  2. Duplicate row detection before save (AH)

  3. Handle setting of revisionNo and revisionCode for new records (AH)

  4. Implement checking of record serial numbers on update (AH)

  5. Handle id for updated records (AH)

    • Values returned in XML from server
  6. Improve reporting of insert/update errors (report server-side error text) (AH)

  7. Generate errors on update/insert when drawing code not complete (AH)

Reject Revisions and Sub-Revisions

  1. Reject revision (Design needed)
  2. Sub-revision processing (Design needed)

Internals and Refactoring

  1. Review TODOs in code

  2. Named ranges
    • Automated management
    • Function for repair/reset of named ranges in case of corruption
    • Clone worksheet
    • Document named ranges and their boundaries
  3. Document and revision (write) record structures
  4. Improved worksheet lookup/access functions (getCellValue/Address)
  5. Improved row selection for printing to worksheet
  6. Refactoring define names (to improve clarity and remove near-aliases)
  7. Identify magic numbers and convert to Consts

  8. Improve function naming: Make function names more business oriented rather than technically descriptive

Reports

  1. Implement Bau report (Design needed)
  2. Implement Ausrustung report

Compatibility

  1. Setup Excel 2007 test/development environment
  2. Implement Excel 2003 menu

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 Cleanup and Packaging

  1. Nice if client-side and datatype checking and validation works off-line
  2. Hiding of internal worksheets (header structure, etc.)
  3. Get code signed with a Axpo certificate?
  4. Assign password to code

Testing

  1. Write a test-plan wiki page
  2. Make sure ZK/TN/DD have suitable test environments
  3. Check reading and updating of all fields
  4. Stress/performance testing
    • Searching for long lists
    • Bad input data
  5. Character sets: test with Umlauts
    • Test Umlauts in UTF-8 set to server
    • Test Umlauts in ISO-8859-1 set from server
  6. Compatibility testing
  7. Search tests
  8. Display tests
  9. List menu tests
    • Status menus
    • User menus
    • Flag menus
  10. Editing tests
    • Delta date calculations
    • Drawing code menus
  11. Insert tests
  12. Update tests
  13. Client-side validation tests
  14. Menu item tests
    • Check for duplicates
    • Duplicate selected
  15. Performance tests
  16. HTTPS test
  17. HTTP/HTTPS proxy test

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

User Documentation

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

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

Copyright 2008-2014, SoftXS GmbH, Switzerland