Differences between revisions 15 and 16
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
'''Next Goal: set Sunday session 2010-03-13'''

   * Regression test:
     * Bau Old read / update
     * Bau New - read / update
     * Read attribute lists and verify used id menus are ok after read in new bau
   * Complete contract menu, hidden contractId column and display menu
     * onChange should change contractId filter on group menu (see below)
  * Complete user id menus
     * Reset user id menus on contract id change
  * Group menu: hidden groupId column and display menu
'''Next Goal: prepare for weekend session 18-19 Mar 2011'''

== JS Tasks ==

  1. Complete '''user id menus'''
     * Reset user id menus on contractId change

  1. Complete '''contract menu''', hidden contractId column and display menu
     * onChange should change the contractId filter on ''group menu'' (see below)

  1. Complete '''group menu''': (Col Q.) Probably including hidden groupId column
Line 22: Line 22:
  * Complete drawing code formula:
    * Including optional '''Teil''' (part). (See next section below from 2011-03-12)
  * Make sure classification ids available for writeback/update (via getForeignKey)
    * e.g. projektPhase, Objekt, Kontakt, etc.
  * Complete Archiv menu
  * Implement status id menus
    * Filter '''prozessStatus''' attribute list based on the mapKeyId (last column in header)
    * Handle new attribute list field '''approvalStatusListId''', which is the filter value corresponding to the '''mapKeyId'''
  * Set display field types/validation: e.g. set cell validation for dates, ints, floats, menus, etc. as defined in the header
  * Regression tet everything again.
  * See if the date formulas work for calculating the date sequences
  * This should get us all fields proc


'''Next goal (from 2011-03-12):''' Complete mappings, menus, formulas, cell format and display of all template columns. Includes:
   * Contract menu
   * Group menu (filter based on selected contact)
   * Classification menus
   * User role menus
   * Status menus
   * Delta menus (only one menu)
   * Delta date formulas
   * Handling date fields
   * Fixing server-side validation issues

== JS To Do List ==

To have ready for Sunday 2011-02-13: In decreasing order of importance:

 * '''JS''' - Implement two user role menus. E.g. ''Wer'' revAErstellWer (col AO, with design role) and revAStellunWer (col AT, check role)
 * '''JS''' - Implement classification menus for drawing codes components. Cols T to Y
 * '''JS''' - Implement Bereich (contract) menu. Col P.
 * '''JS''' - Implement Gruppe (group) menu. Col Q. NOte that the values must be filtered based on the contract that is selected.
 * '''JS''' - Implement Excel formula for creating the drawing code. Col S, based on Cols T to AA. Notes:

  1. Complete '''classification menus''' for drawing codes components. Cols T to Y. (This may already be complete)
    * Only need display and the code values to support the drawing code formula
    * These classification menus are '''not''' needed to prepare classification id values for inserts/update. The actual id values will be inferred directly from the drawing code on the server.

  1. Complete '''drawing code formula''' Col S, based on Cols T to AA. Notes:
Line 58: Line 30:
 * '''JS''' - Implement Archiv (siteClassification3Id) menu. Col R. Note that the column header is currently incorrect.
 * '''JS''' - Fix handling of named ranges (Is this done?)
   * Ability to change between Bau & Bau2 without having to exit and restart Excel

== AH To Do List ==

 * '''AH''' - Complete ''Requirements and Use Cases'' Wiki pages
 * '''AH''' - --(Implement REST transaction for downloading workFlowStatus.)--
    * Added new attributes list: '''prozessStatus''', with key: ''displayWorkFlowStepId'' and fields: ''code, name, approvalStatusListId''

  1. Implement '''workflow step status id''' menus
    * Filter '''prozessStatus''' attribute list based on the mapKeyId (last column in header)
    * Handle new attribute list field '''approvalStatusListId''', which is the filter value corresponding to the ''mapKeyId''

  1. Complete '''main menu''' setup
    * See definition at [[ExcelIntegrationRequirements#MainMenu|here]]. This defines the groups and menu items
    * Create menu entries and ''mn_'' functions that call functions in the Lib modules
    * Select icons as appropriate

  1. Complete '''date calculation formulas'''
    * Test case 7119 has realistic values for ''t0. t0wv & delta1-->delta7'', which should allow calculation of all ''Soll'' dates.
    * Make sure the formulas are inserted into the planning sheet and actualy perform calculations.
     
  1. Set '''display field types/validation''': e.g. set cell validation for ''dates, ints, floats, menus,'' etc. as defined in the header

  1. Complete '''Archiv menu''' Col R. Note that the column header is currently incorrect.

    * Implement the classification menu and make sure ''siteClassification3Id'' is available for writeback/update (via getForeignKey?)

  1. '''Milestone:''' All fields available for update/insert (using neu ''Bau'' header structure)
Line 68: Line 52:
 * '''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 rows
 * '''AH''' - --(Fix the duplicated Group column in the layout, the second columns should probably be ''Archiv'', also fixed 2nd line of header, where the group cells had been corrupted, and column widths for some of the wider columns.)--
 * '''AH/JS''' - Design/implement server selection (Probably in a global variable, selected by a menu item?)
 * '''AH''' - Re-order the fields in the search form to confirm to the order in the DrawMGT web GUI
 * '''AH''' - Fix writing of title fields - should write to all revisions
 * '''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)--
  1. '''Milestone:''' Demonstrate that date calculation formulas work for calculating the date sequences


==
AH Tasks ==

 * --(Implement global login flag)-- '''Check logout function works'''
 * '''Update''' Complete write-back of all revision fields
 * '''Insert''' Get insert code working

 * --(Complete ''Requirements and Use Cases'' Wiki pages)--
 * --(Implement REST transaction for downloading workFlowStatus.)--
    * --(Added new attributes list: '''prozessStatus''', with key: ''displayWorkFlowStepId'' and fields: ''code, name, approvalStatusListId'')--
 
 * --(
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 rows)--
 * --(Fix the duplicated Group column in the layout, the second columns should probably be ''Archiv'', also fixed 2nd line of header, where the group cells had been corrupted, and column widths for some of the wider columns.)--
 * - Design/implement server selection (Probably in a global variable, selected by a menu item?)
 * --(Re-order the fields in the search form to confirm to the order in the DrawMGT web GUI)--
 * --(Fix writing of title fields - should write to all revisions)--
 * --(Cleanup VBA code formatting)--
 * --(Cleanup layout sheet in in Lib, change yellow cells to appropriate gray color)--
 * --(Implement display of user defined fields after search)--
Line 78: Line 75:
 * '''AH''' - Implement global login flag

Excel Integration - To Do List

Priority/Critical Items to Complete ASAP

Next Goal: prepare for weekend session 18-19 Mar 2011

JS Tasks

  1. Complete user id menus

    • Reset user id menus on contractId change
  2. Complete contract menu, hidden contractId column and display menu

    • onChange should change the contractId filter on group menu (see below)

  3. Complete group menu: (Col Q.) Probably including hidden groupId column

    • Filter based on contractId (in attribute list)
    • Re-filter and display menu when contract changed (see above)
  4. Complete classification menus for drawing codes components. Cols T to Y. (This may already be complete)

    • Only need display and the code values to support the drawing code formula
    • These classification menus are not needed to prepare classification id values for inserts/update. The actual id values will be inferred directly from the drawing code on the server.

  5. Complete drawing code formula Col S, based on Cols T to AA. Notes:

    • Laufnr (col Z) is optional and if present is 4-digit integer with leading zeros

    • Teilnr (col AA) is optional and if present is a string with a preceeding - (dash) character.

  6. Implement workflow step status id menus

    • Filter prozessStatus attribute list based on the mapKeyId (last column in header)

    • Handle new attribute list field approvalStatusListId, which is the filter value corresponding to the mapKeyId

  7. Complete main menu setup

    • See definition at here. This defines the groups and menu items

    • Create menu entries and mn_ functions that call functions in the Lib modules

    • Select icons as appropriate
  8. Complete date calculation formulas

    • Test case 7119 has realistic values for t0. t0wv & delta1-->delta7, which should allow calculation of all Soll dates.

    • Make sure the formulas are inserted into the planning sheet and actualy perform calculations.
  9. Set display field types/validation: e.g. set cell validation for dates, ints, floats, menus, etc. as defined in the header

  10. Complete Archiv menu Col R. Note that the column header is currently incorrect.

    • Implement the classification menu and make sure siteClassification3Id is available for writeback/update (via getForeignKey?)

  11. Milestone: All fields available for update/insert (using neu Bau header structure)

  12. Milestone: Demonstrate that date calculation formulas work for calculating the date sequences

AH Tasks

  • Implement global login flag Check logout function works

  • Update Complete write-back of all revision fields

  • Insert Get insert code working

  • Complete Requirements and Use Cases Wiki pages

  • Implement REST transaction for downloading workFlowStatus.

    • Added new attributes list: prozessStatus, with key: displayWorkFlowStepId and fields: code, name, approvalStatusListId

  • 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 rows

  • Fix the duplicated Group column in the layout, the second columns should probably be Archiv, also fixed 2nd line of header, where the group cells had been corrupted, and column widths for some of the wider columns.

  • - Design/implement server selection (Probably in a global variable, selected by a menu item?)
  • Re-order the fields in the search form to confirm to the order in the DrawMGT web GUI

  • Fix writing of title fields - should write to all revisions

  • Cleanup VBA code formatting

  • Cleanup layout sheet in in Lib, change yellow cells to appropriate gray color

  • Implement display of user defined fields after search

    • Fix paths in header structure

    • Add case for handling user defined fields

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-defined 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. Stress testing (HIGH)

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

    • - Test Umlauts in UTF-8 set to server - Test Umlauts in ISO-8859-1 set from server
  6. 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