Differences between revisions 14 and 15
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
  IST / Status
  ------------

  - if "Create New Document" with the following IST-status sensitive
    combinations, I get the following results after "Save Selected":

    - no Ist(AT), Wer(AU): -- OK
    - Ist(AT) set to [today,future,past], no Wer(AU): -- OK
    - Ist(AT) set to [today,future,past], Wer(AU): --OK

    - Ist(AY) set to [today,future,past], no Wer(AZ), no Status(BA):
      - alert is wrapped in XML -- FAILED
    - no Ist (AY), Wer (AZ), no Status(BA): -- OK
    - no Ist (AY), no Wer (AZ), Status(BA):
      - alert is wrapped in XML -- FAILED
    - Ist(AY) set to [today,future,past], Wer(AZ), no Status(BA):
      - alert is wrapped in XML -- FAILED
    - no Ist (AY), Wer (AZ), Status(BA):
      - alert is wrapped in XML -- FAILED
    - Ist(AY) set to [today,future,past], Wer(AZ), Status(BA):
      - alert is wrapped in XML -- FAILED

    - Ist(BE) set to [today,future,past], no Wer(BF), no Status(BG):
      - alert is wrapped in XML -- FAILED
    - no Ist (BE), Wer (BF), no Status(BG): -- OK
    - no Ist (BE), no Wer (BF), Status(BG): -- OK
    - Ist(BE) set to [today,future,past], Wer(BF), no Status(BG):
      - alert is wrapped in XML -- FAILED
    - no Ist (BE), Wer (BF), Status(BG): -- OK
    - Ist(BE) set to [today,future,past], Wer(BF), Status(BG):
      - alert is wrapped in XML -- FAILED

    - no Ist(BL), Wer(BM): -- OK
    - Ist(BL) set to [today,future,past], no Wer(BM): -- OK
    - Ist(BL) set to [today,future,past], Wer(BM): -- OK

    - Ist(BR) set to [today,future,past], no Wer(BS), no Status(BT):
      - alert is wrapped in XML -- FAILED
    - no Ist(BR), Wer(BS), no Status(BT): -- OK
    - no Ist(BR), no Wer(BS), Status(BT):
      - alert is wrapped in XML -- FAILED
    - Ist(BR) set to [today,future,past], Wer(BS), no Status(BT):
      - alert is wrapped in XML -- FAILED
    - no Ist(BR), Wer(BS), Status(BT):
      - alert is wrapped in XML -- FAILED
    - Ist(BR) set to [today,future,past], Wer(BS), Status(BT):
      - alert is wrapped in XML -- FAILED

    - Ist(BY) set to [today,future,past], no Wer(BZ), no Status(CA):
      - alert is wrapped in XML -- FAILED
    - no Ist (BY), Wer (BZ), no Status(CA): -- OK
    - no Ist (BY), no Wer (BZ), Status(CA): -- OK
    - Ist(BY) set to [today,future,past], Wer(BZ), no Status(CA):
      - alert is wrapped in XML -- FAILED
    - no Ist(BY), Wer (BZ), Status(CA): -- OK
    - Ist(BY) set to [today,future,past], Wer(BZ), Status(CA):
      - alert is wrapped in XML -- FAILED

    - no Ist(CF), Wer(CG): -- OK
    - Ist(CF) set to [today,future,past], no Wer(CG) or ...
    - Ist(CF) set to [today,future,past], Wer(CG)
      - if the document was successfully saved before, IST can be set to
        ANY valid date, I receive an error saying "Invalid Date"
        -- FAILED
      - if the document was not saved before, and if IST >
        today, I receive an error saying "keep your fingers crossed"
        -- FAILED
      - if the document was not saved before, if IST < today, I receive
        no error -- FAILED

    - Ist(CH) set to [today,future,past], no Wer(CI), no Status(CJ):
      - alert is wrapped in XML -- FAILED
    - no Ist (CH), Wer (CI), no Status(CJ): -- OK
    - no Ist (CH), no Wer (CI), Status(CJ):
      - alert is wrapped in XML -- FAILED
    - Ist(CH) set to [today,future,past], Wer(CI), no Status(CJ):
      - alert is wrapped in XML -- FAILED
    - no Ist (CH), Wer (CI), Status(CJ):
      - alert is wrapped in XML -- FAILED
    - Ist(CH) set to [today,future,past], Wer(CI), Status(CJ): -- OK

    - Ist(CN) set to [today,future,past], no Wer(CO), no Status(CP):
      - alert is wrapped in XML -- FAILED
    - no Ist (CN), Wer (CO), no Status(CP): -- OK
    - no Ist (CN), no Wer (CO), Status(CP): -- OK
    - Ist(CN) set to [today,future,past], Wer(CO), no Status(CP):
      - alert is wrapped in XML -- FAILED
    - no Ist (CN), Wer (CO), Status(CP): -- OK
    - Ist(CN) set to [today,future,past], Wer(CO), Status(CP):
      - alert is wrapped in XML -- FAILED

Line 20: Line 112:
  
Line 32: Line 124:
           - revision code changed: -- FAILED
Line 39: Line 132:
           - revision code changed: -- FAILED
Line 41: Line 135:
  enter data and select from select menues.
  
  enter data and select from select menues. Also, if I change the
  Vorabzug flag, the revision code is not changed.

Line 45: Line 141:
  
Line 51: Line 147:
  
Line 54: Line 151:
  
Line 57: Line 154:
     
Line 61: Line 158:
  
Line 63: Line 160:
     
Line 67: Line 164:
  
Line 69: Line 166:
  
Line 93: Line 190:
  
Line 95: Line 192:
  
Line 102: Line 199:
  
Line 105: Line 202:
  
Line 108: Line 205:
     
Line 115: Line 212:
  
Line 118: Line 215:
  
Line 121: Line 218:
  
Line 126: Line 223:
  
Line 128: Line 225:
  
Line 132: Line 229:
  
Line 136: Line 233:
Line 138: Line 236:
  
Line 142: Line 240:
  
Line 146: Line 244:
  
Line 148: Line 246:
  
Line 166: Line 264:
  
Line 170: Line 268:
  
Line 173: Line 271:
  
Line 175: Line 273:
  
Line 178: Line 276:
  
Line 180: Line 278:
  
Line 184: Line 282:
     
Line 188: Line 286:
  
Line 191: Line 289:
  
Line 225: Line 323:
    
Line 238: Line 336:
    
Line 249: Line 347:
     {{{#!wiki comment
      
    From server to Excel via "Refresh selected":
    - After document (VA, ZF, FR) completed inside Excel and refreshed
      via "Refresh selected":
      receiving repeated (3 times) message getDocumentAndResponse:
      Internal error: Invalid XML response. HTTP response 200 Response
      text: [...]
    
    - Bereich
    - Gruppe
    - Archiv
    - Berechtigung Server (Z)
    - Klassifizierung Projektphase (Ph)
    - Klassifizierung Fachbereich (FB)
    - Objekt (O)
    - Kontakt (K)
    - Dokumenttyp (DT)
    - Laufnummer ?
    - Dokumenttitel 1
    - Dokumenttitel 2
    - Dokumenttitel 3
    - Dokumenttitel 4
    - Massstab
    - Format
    - Version

    Vorabzug:
    - Erstellen Soll
    - Erstellen Ist
    - Erstellen Wer
    - Stellungnahme erstellt Status
    - Stellungnahme erstellt Soll
    - Stellungnahme erstellt Ist
    - Stellungnahme erstellt Wer
    - bereinigt Status
    - bereinigt Soll
    - bereinigt Ist
    - bereinigt Wer
    
    zur Freigabe:
    - Erstellen Soll
    - Erstellen Ist
    - Erstellen Wer
    - Prüfbericht erstellt Status
    - Prüfbericht erstellt Soll
    - Prüfbericht erstellt Ist
    - Prüfbericht erstellt Wer
    - Freigabe Status
    - Freigabe Soll
    - Freigabe Ist
    - Freigabe Wer
    
    Gut zur Ausführung:
    - versendet an BL Soll
    - versendet an BL Ist
    - versendet an BL Wer
    - erhalten von BL Status
    - erhalten von BL Soll
    - erhalten von BL Ist
    - erhalten von BL Wer
    - übergeben an UN Status
    - übergeben an UN Soll
    - übergeben an UN Ist
    - übergeben an UN Wer
}}}

***

High-Priority Items
-------------------

  ***

  High-Priority Items
  -------------------
Line 328: Line 359:
    
Line 334: Line 365:
    
Line 343: Line 374:
    
Line 346: Line 377:
    
Line 349: Line 380:
    
Line 352: Line 383:
    
Line 364: Line 395:
    
Line 367: Line 398:

  7. Implement checking for duplicate worksheet names -- OK

    After manually creating new worksheet named 'Bau-23', I 'Search
    Documents' with 'Place results in new worksheet', and received a new
    worksheet named 'Bau-24' -- OK
Line 368: Line 405:
  7. Implement checking for duplicate worksheet names -- (to be tested)
  
    MEANING: mk new worksheet, name it bau23, then search and place
    result in new worksheet, should give bau24
      
    - Make sure that system doesn't crash if it tries to create a
      worksheet name that already exists --
      
Line 378: Line 407:
  
Line 387: Line 416:
    
Line 390: Line 419:
  
Line 398: Line 427:
  
Line 403: Line 432:
    
Line 405: Line 434:
           
Line 409: Line 438:
  
Line 418: Line 447:
    
Line 422: Line 451:

  2. TEST Implement field locking after save. Fields:
  - Bereich menu -- OK
  - Vorabzug flag -- OK
  - GA/Freigegeben menu (RevC type) -- OK

  3. Generate client-side error on update/insert when drawing code not
  complete -- FAILED

  - Sometimes, client-side errors still are wrapped in XML tags

  - After "New document" with title only set to "Excel-Test-2", I
    correctly receive an error ...

    saveRow: Internal error: Invalid XML Response. HTTP response: 400
    Response text: <?xml version='1.0' encoding='UTF-8'?>
    <response type='Drawings' key='drawingId' id='' ref='Doc'>
    <error>Feld 'Dok. Nr.'-'Laufnummer' ist ung?ltig.</error>
    <error>Feld 'Dok. Nr.' ist ung?ltig.</error>
    </response>
    64

    -- FAILED

    AMENDMENT: The error should not be wrapped in XML tags.

  - After "New document" with title 'Excel-Test-2', Laufnummer '0001'
    I correctly receive an error -- OK

  - After "New document" with title '', Laufnummer '0001'
    I correctly receive an error -- OK

  - After "New document" with title 'Excel-Test-4', Berechtigung Server
    (Z) "E-Extern", Klassifizierung Projektphase (Ph) "0 -
    phasenunabhängig", Klassifizierung Fachbereich (FB) "01.3 -
    Management - Versicherung", Objekt (O) "101 - Bestehende Anlagen -
    Stauanlage Limmernsee", Kontakt (K) "102 - Unternehmer und
    Lieferanten - ALSTOM Hydro Schweiz AG", Dokumenttyp (DT) "03.1 -
    Protokoll - Sitzungsprotokoll" and Laufnummer "0001", I correctly
    receive an error, but the error is rather confusing ...

    saveRow: Internal error: Invalid XML Response. HTTP response: 400
    Response text: <?xml version='1.0' encoding='UTF-8'?>
    <response type='Drawings' key='drawingId' id='' ref='Doc'>
    <error>Feld 'Dok. Nr.' 'Objekt' muss angegeben werden.</error>
    <error>Feld 'Dok. Nr.' 'Kontakt' muss angegeben werden.</error>
    <error>Feld 'Dok. Nr.' 'Dokumenttyp' muss angegeben werden.</error>
    <error>Feld 'Dok. Nr.' 'Laufnummer' muss angegeben werden.</error>
    <error>Feld 'Dok. Nr.' ist ung?ltig.</error>
    </response>
    64

    -- FAILED

    AMENDMENT: The error should not be wrapped in XML tags.

  4. Implement checking of record serial numbers on update -- FAILED

  Changed title of document in Excel (without saving), then changed
  title of same document (type 'v2/ZF/zur Freigabe') in web-interface
  with saving. 'Save Selected' in Excel shows expected error message:

    Update/Save error: Record: zur Freigabe
    • BOBaseUpdate (Revisions): simultaneous update (update counter
      mismatch:1 != 0)

  -- OK

  - If you change title, B4 should increment value on the row of actual
    document. -- FAILED
Line 423: Line 522:
  2. TEST Implement field locking after save. Fields:
  - Bereich menu -- ?
  - Vorabzug flag -- ?
  - GA/Freigegeben menu (RevC type) -- ?
  
    MEANING: Same as above.
      
  3. Generate client-side error on update/insert when drawing code not
  complete -- (to be tested)
  
  MEANING: Test new document with deliberately missing some settings for
  document code and "Save Selected" to receive expected error!

  4. Implement checking of record serial numbers on update -- (to be
  tested)

  MEANING: i.e. If you change title, B4 should increment value on row
  18. updateCount mismatch: update doc in web-interface, then try to
  save same document in excel, should give error
  
  5. Save all/selected should set record update counts -- (to be tested)
  - updateCount mismatch: update doc in web-interface, then try to save
    same document in excel, should give error -- OK


  5. Save all/selected should set record update counts -- FAILED
Line 446: Line 530:
       MEANING: Same as above.      QUESTION: Under what condition should keyDocUpdateCountDoc (Excel
  cell:B{n}) increment its value?
Line 453: Line 538:
  
Line 455: Line 540:
  
 
Attributes

TODO Attributes
Line 458: Line 543:
  
Line 463: Line 548:
  
Line 465: Line 550:
      Medium-Priority Items
---------------------


Medium-Priority Items
  ---------------------
Line 474: Line 559:
    
Line 481: Line 566:
  
Line 484: Line 569:
  
Line 487: Line 572:
  
Excel Start-Up
--------------

- User can start Excel with an empty planning spreadsheet or a workbook

Excel Start-Up
  --------------

  - User can start Excel with an empty planning spreadsheet or a workbook
Line 493: Line 578:
  
- To access metadata in the DrawMGT server, the user must login, using a

- To access metadata in the DrawMGT server, the user must login, using a
Line 498: Line 583:
- After logging in, spreadsheet data can be downloaded and saved in the   - After logging in, spreadsheet data can be downloaded and saved in the
Line 500: Line 585:
  
- If the user does not login, he is still able to work off-line, e.g.

- If the user does not login, he is still able to work off-line, e.g.
Line 506: Line 591:
Downloading Metadata
--------------------
  Downloading Metadata
  --------------------
Line 511: Line 596:
    
Line 514: Line 599:
    
Line 518: Line 603:
    
Line 523: Line 608:
      
Line 530: Line 615:
    
Line 535: Line 620:
    
Line 539: Line 624:
    
Line 541: Line 626:
    
Line 546: Line 631:
Creating New Metadata
---------------------
  Creating New Metadata
  ---------------------
Line 551: Line 636:
    
Line 554: Line 639:
    
Line 559: Line 644:
Synchronizing Spreadsheet Metadata
----------------------------------
  Synchronizing Spreadsheet Metadata
  ----------------------------------
Line 564: Line 649:
    
Line 569: Line 654:
    
Line 572: Line 657:
    
Line 574: Line 659:
    highlighted to alert the user -- (to be tested)


Document and Revision Workflows
-------------------------------
    highlighted to alert the user -- OK

    The highlight on column R{n} says:

    - "Row changed", when an existing document was changed but not yet
      saved -- OK

    - "Not saved", when a new document was changed but not yet saved
      -- OK


  Document and Revision Workflows
  -------------------------------
Line 587: Line 680:
    
Line 590: Line 683:
    revisions) -- (to be tested)
    
    revisions) -- OK

    COMMENT: 'bereinigt' is shown instead of 'Bereinigung'.
Line 593: Line 688:
    calculation formulas -- (to be tested)     calculation formulas -- OK

  - Override the standard workflow date formulas on an individual
    document and revision basis -- OK
Line 595: Line 693:
  - Override the standard workflow date formulas on an individual
    document and revision basis -- (to be tested)
    
    MEANING: If I change any date delta, is the complete chain
    re-calculated and saved correctly. Also test against diagram I
    received from Alan.
    
Line 607: Line 698:
Reports
-------
  Reports
  -------
Line 614: Line 705:
Saving Metadata
---------------

  
Saving Metadata
  ---------------
Line 618: Line 710:
  
Line 621: Line 713:
    
Line 625: Line 717:
    
Line 630: Line 722:
Exiting Excel
-------------
  Exiting Excel
  -------------
Line 635: Line 727:
    abort the exit -- (to be tested)


Document and Revision Process Operations
----------------------------------------
    abort the exit -- FAILED

    COMMENT: If "Create New Document" witout saving or I change an
    existing document without saving, and exit Excel, I only receive
    Excel's Standard Exit Alert: "Do you want to save the changes you
    made to 'LinthalDrawmgt-Planning-1.xlsm"


  Document and Revision Process Operations
  ----------------------------------------
Line 643: Line 740:
    
Line 647: Line 744:
      
Line 654: Line 751:
  
Line 658: Line 755:
    
Line 662: Line 759:
    
Line 668: Line 765:
Login, Start-Up and Exit
------------------------
  Login, Start-Up and Exit
  ------------------------
Line 676: Line 773:
    
Line 680: Line 777:
    
Line 682: Line 779:
    
Line 684: Line 781:
    
Line 689: Line 786:
         
Line 692: Line 789:
Create New Document
-------------------

  
Create New Document
  -------------------
Line 697: Line 795:
    
Line 702: Line 800:
Refresh Selected
----------------

  
Refresh Selected
  ----------------
Line 706: Line 805:
  
Line 709: Line 808:
  
Line 717: Line 816:
    
Line 720: Line 819:
  
Line 724: Line 823:
  
Line 728: Line 827:
  
  
Save Selected
-------------


  Save Selected
  -------------
Line 735: Line 834:
  
Line 743: Line 842:
  
Line 752: Line 851:
  
Line 760: Line 859:
Check for Duplicates
--------------------
  Check for Duplicates
  --------------------
Line 764: Line 863:
Duplicate Selected
------------------
  Duplicate Selected
  ------------------
Line 768: Line 867:
Get Next Sequence
-----------------
  Get Next Sequence
  -----------------
Line 771: Line 870:

Excel Integration - Testing Notes

Test against ...

  • requirements given in DrawMGT-AxpoExcelIntegration-15.pdf (Chapter 2)

  • client-side implementation in DrawMGT-AxpoExcelIntegration-15.pdf (Chapter 4)

  • use cases given in DrawMGT-AxpoExcelIntegration-15.pdf (Appendix A)

  • Test notes at ExcelIntegrationToDoList#Testing

All tests against DrawMGT-AxpoExcelIntegration-15.pdf are performed with ExcelIntegrationAxpoDemoNotes in mind!

Every tested feature is protocolled below.

  IST / Status
  ------------

  - if "Create New Document" with the following IST-status sensitive
    combinations, I get the following results after "Save Selected":

    - no Ist(AT), Wer(AU): -- OK
    - Ist(AT) set to [today,future,past], no Wer(AU): -- OK
    - Ist(AT) set to [today,future,past], Wer(AU): --OK

    - Ist(AY) set to [today,future,past], no Wer(AZ), no Status(BA):
      - alert is wrapped in XML -- FAILED
    - no Ist (AY), Wer (AZ), no Status(BA): -- OK
    - no Ist (AY), no Wer (AZ), Status(BA):
      - alert is wrapped in XML -- FAILED
    - Ist(AY) set to [today,future,past], Wer(AZ), no Status(BA):
      - alert is wrapped in XML -- FAILED
    - no Ist (AY), Wer (AZ), Status(BA):
      - alert is wrapped in XML -- FAILED
    - Ist(AY) set to [today,future,past], Wer(AZ), Status(BA):
      - alert is wrapped in XML -- FAILED

    - Ist(BE) set to [today,future,past], no Wer(BF), no Status(BG):
      - alert is wrapped in XML -- FAILED
    - no Ist (BE), Wer (BF), no Status(BG): -- OK
    - no Ist (BE), no Wer (BF), Status(BG): -- OK
    - Ist(BE) set to [today,future,past], Wer(BF), no Status(BG):
      - alert is wrapped in XML -- FAILED
    - no Ist (BE), Wer (BF), Status(BG): -- OK
    - Ist(BE) set to [today,future,past], Wer(BF), Status(BG):
      - alert is wrapped in XML -- FAILED

    - no Ist(BL), Wer(BM): -- OK
    - Ist(BL) set to [today,future,past], no Wer(BM): -- OK
    - Ist(BL) set to [today,future,past], Wer(BM): -- OK

    - Ist(BR) set to [today,future,past], no Wer(BS), no Status(BT):
      - alert is wrapped in XML -- FAILED
    - no Ist(BR), Wer(BS), no Status(BT): -- OK
    - no Ist(BR), no Wer(BS), Status(BT):
      - alert is wrapped in XML -- FAILED
    - Ist(BR) set to [today,future,past], Wer(BS), no Status(BT):
      - alert is wrapped in XML -- FAILED
    - no Ist(BR), Wer(BS), Status(BT):
      - alert is wrapped in XML -- FAILED
    - Ist(BR) set to [today,future,past], Wer(BS), Status(BT):
      - alert is wrapped in XML -- FAILED

    - Ist(BY) set to [today,future,past], no Wer(BZ), no Status(CA):
      - alert is wrapped in XML -- FAILED
    - no Ist (BY), Wer (BZ), no Status(CA): -- OK
    - no Ist (BY), no Wer (BZ), Status(CA): -- OK
    - Ist(BY) set to [today,future,past], Wer(BZ), no Status(CA):
      - alert is wrapped in XML -- FAILED
    - no Ist(BY), Wer (BZ), Status(CA): -- OK
    - Ist(BY) set to [today,future,past], Wer(BZ), Status(CA):
      - alert is wrapped in XML -- FAILED

    - no Ist(CF), Wer(CG): -- OK
    - Ist(CF) set to [today,future,past], no Wer(CG) or ...
    - Ist(CF) set to [today,future,past], Wer(CG)
      - if the document was successfully saved before, IST can be set to
        ANY valid date, I receive an error saying "Invalid Date"
        -- FAILED
      - if the document was not saved before, and if IST >
        today, I receive an error saying "keep your fingers crossed"
        -- FAILED
      - if the document was not saved before, if IST < today, I receive
        no error -- FAILED

    - Ist(CH) set to [today,future,past], no Wer(CI), no Status(CJ):
      - alert is wrapped in XML -- FAILED
    - no Ist (CH), Wer (CI), no Status(CJ): -- OK
    - no Ist (CH), no Wer (CI), Status(CJ): 
      - alert is wrapped in XML -- FAILED
    - Ist(CH) set to [today,future,past], Wer(CI), no Status(CJ):
      - alert is wrapped in XML -- FAILED
    - no Ist (CH), Wer (CI), Status(CJ):
      - alert is wrapped in XML -- FAILED
    - Ist(CH) set to [today,future,past], Wer(CI), Status(CJ): -- OK

    - Ist(CN) set to [today,future,past], no Wer(CO), no Status(CP):
      - alert is wrapped in XML -- FAILED
    - no Ist (CN), Wer (CO), no Status(CP): -- OK
    - no Ist (CN), no Wer (CO), Status(CP): -- OK
    - Ist(CN) set to [today,future,past], Wer(CO), no Status(CP):
      - alert is wrapped in XML -- FAILED
    - no Ist (CN), Wer (CO), Status(CP): -- OK
    - Ist(CN) set to [today,future,past], Wer(CO), Status(CP):
      - alert is wrapped in XML -- FAILED


  Vorabzug Flag handling / RevC Revision Type menu handling
  ---------------------------------------------------------

  onChange RecC Revision type behavior (CD):
  - gut zur Ausführung: sets to keyRefCTypeId = 15 -- OK
  - Freigegeben: sets to keyRefCTypeId = 13 -- OK

  onChange Vorabzug behavior (AP):
  - ja:
    - Vorabzug fields are locked -- FAILED
    - after save:
      - revBVorabzugFlag => 1 -- OK
      - menu static: -- FAILED
      - Vorabzug fields are locked -- FAILED
    - revision code changed: -- FAILED

  - nein:
    - Vorabzug fields are unlocked -- OK
    - after save:
      - menu static: -- FAILED
      - revBVorabzugFlag => 0 -- OK
      - Vorabzug fields are locked -- FAILED
    - revision code changed: -- FAILED

  COMMENT: When Vorabzug fields are 'locked', it's still possible to
  enter data and select from select menues. Also, if I change the
  Vorabzug flag, the revision code is not changed.


  Create New Document
  -------------------

  'Create New Document' inserts after selected row:
  - selected row = none: alert appears "Unable to create document in
    header area" -- OK
  - selected row = contains document: new document is placed after last
    document row -- OK


  Duplicate Selected
  ------------------

  - when blank row selected -- OK
  - when non-blank row selected -- OK


  Check for Duplicates
  --------------------

  Correctly highlights found duplicates -- OK


  Delta calculations
  ------------------

  The rules are ...

  Soll TGZA (CM) = T0 (CS) - ∆1 (CR)
  Soll TF (BX) = Soll TGZA (CM) - ∆2 (CL)
  PrüfSoll (BQ) = Soll TF (BX) - ∆3 (BW)
  Soll TZF (BK) = PrüfSoll (BQ) - ∆4 (BO)
  BrSoll (BD) = Soll TZF (BK) - ∆5 (BJ)
  StnSoll (AX) = BrSoll (BD) - ∆6 (BC)
  Soll TV (AS) = StnSoll (AX) - ∆7 (AV)

  ... or the other way around ...

  Soll TV (AS) + ∆7 (AV) = StnSoll (AX)
  StnSoll (AX) + ∆6 (BC) = BrSoll (BD)
  BrSoll (BD) + ∆5 (BJ) = Soll TZF (BK)
  Soll TZF (BK) + ∆4 (BO) = PrüfSoll (BQ)
  PrüfSoll (BQ) + ∆3 (BW) = Soll TF (BX)
  Soll TF (BX) + ∆2 (CL) = Soll TGZA (CM)
  Soll TGZA (CM) + ∆1 (CR) = T0 (CS)

  ... simplyfied ...

  Soll TV (AS) + ∆7 (AV) + ∆6 (BC)
  + ∆5 (BJ) + ∆4 (BO) + ∆3 (BW) + ∆2 (CL)
  + ∆1 (CR) = T0 (CS)

  Therefore ...

  If I set ∆0 to a date in the future, and enter expression
  "=AS23+(AV23+BC23+BJ23+BO23+BW23+CL23+CR23)" in an Excel cell [adding
  the sum of deltas except ∆0 to Soll TV (AS23)], and change random
  deltas except for ∆0, the result always equals to ∆0 (CS23) -- OK

  Also, I added cells right below Soll date cells to proof, that ...

  Soll TV (AS) + ∆7 (AV) = StnSoll (AX)
  [...]

  ... and changed random deltas again, and compared these cells with all
  the soll dates. There are no differences -- OK


  Umlauts
  -------

  Umlaut characters created from the Web GUI in text fields (e.g. titles
  and other text fields), and then displayed in the Web GUI. -- OK

  Umlaut characters created in Excel in text fields, and then displayed
  in Excel. -- OK

  New document created in Excel with umlauts in titles (1-4), and then
  saved to server. Display in web-interface -- OK

  New document in web-interface (title "Excel-Test-Umlauts-From-Server
  (äöü)") with all required versions for VA, ZF, FR created and saved;
  Afterwards, "Search Documents" in Excel with Rapport "Bau", Bereich
  "LC1" and Titel "Excel-Test-Umlaut": -- OK

  HTTP response 200 Response text:

  <?xml version='1.0' encoding='UTF-8'?> <record id='26696'
  type='Revisions' key='revisionId'> [...]
  <title0>Excel-Test-Umlauts-From-Server (äöü)</title0> [...] </record>

  Update existing but changed document with updated titles (v2/ZF
  revision only) in Excel with "Refresh Selected": -- OK


  Search Documents
  ----------------

  Dok. Nr.:
  - with valid revision code: -- OK
  - with invalid revision code (e.g. 'blabla', '1df3'): -- FAILED

  Bereich: 
  - with valid selection: -- OK
  - with invalid data (e.g. 'blabla', '1df3'): -- FAILED

  QUESTION: Can I test other 'Bereiche' than 'LC1'?

  Zugriff, Projektphase, Fachbereich, Objekt, Kontakt, Dokumenttyp,
  Gruppe, Archiv, Lage:
  - with valid selection: -- OK
  - with invalid data (e.g. 'blabla', '1df3'): -- FAILED

  COMMENT: Entering invalid data also leads to funny results being
  placed in the worksheet.

  AMENDMENT: In selects, it should not be possible to enter custom data.

  Laufnummer (von - bis):
  - with valid data: -- OK
  - with invalid data (e.g. 'abcde', '1df3'): -- OK

  Place results in new worksheet -- OK

  Titel -- OK

  Ext. Ref.:
  - with valid value: -- OK
  - with invalid value (e.g. 'abcde', '1df3'): -- FAILED

  COMMENT: If a document has 'Ext. Ref.' = 'abcde', and I search for
  'Ext. Ref.' = 'abcde', the search returns the desired result.

  QUESTION: What is a valid value for 'Ext. Ref.'?

  Versionsdatum (von - bis) -- ???
  QUESTION: How can I test this?

  'Search' button: -- OK

  AMENDMENT: If nothing is entered, and 'Search' is clicked, a confusing
  alert message appears: 'Eingabe Fehler / Test Case: Feld
  erforderlich'.


  Basic Tests
  -----------

  1. Check reading and updating of all fields:
  --------------------------------------------

    From Excel to server:
    - Bereich (static) -- ???
    - Gruppe (ignored?) -- FAILED
    - Archiv -- OK
    - Berechtigung Server (Z) -- OK 
    - Klassifizierung Projektphase (Ph) -- OK
    - Klassifizierung Fachbereich (FB) -- OK
    - Objekt (O) -- OK
    - Kontakt (K) -- OK
    - Dokumenttyp (DT) -- OK
      QUESTION: Dokumenttyp 03.1/03.2 etc that exist in Excel are not
      existing in my system yet.
    - Laufnummer -- OK
    - Dokumenttitel 1 -- OK
    - Dokumenttitel 2 -- OK
    - Dokumenttitel 3 -- OK
    - Dokumenttitel 4 -- OK
    - Massstab -- FAILED
    - Format -- FAILED
    - Version (static) -- OK

    Vorabzug:
    - Erstellen Soll (static) -- OK
    - Erstellen Ist -- OK
    - Erstellen Wer -- OK
    - Stellungnahme erstellt Status -- OK
    - Stellungnahme erstellt Soll (static) -- OK
    - Stellungnahme erstellt Ist -- OK
    - Stellungnahme erstellt Wer -- OK
    - bereinigt Status -- OK
    - bereinigt Soll -- OK
    - bereinigt Ist -- OK
    - bereinigt Wer -- OK

    zur Freigabe:
    - Erstellen Soll (static) -- OK
    - Erstellen Ist -- OK
    - Erstellen Wer -- OK
    - Prüfbericht erstellt Status -- OK
    - Prüfbericht erstellt Soll (static) -- OK
    - Prüfbericht erstellt Ist -- OK
    - Prüfbericht erstellt Wer -- OK
    - Freigabe Status -- OK
    - Freigabe Soll (static) -- OK
    - Freigabe Ist -- OK
    - Freigabe Wer -- OK

    Gut zur Ausführung:
    - versendet an BL Ist -- OK
    - versendet an BL Wer -- OK
    - erhalten von BL Status -- OK
    - erhalten von BL Ist -- OK
    - erhalten von BL Wer -- OK
    - übergeben an UN Status -- OK
    - übergeben an UN Soll (static) -- OK
    - übergeben an UN Ist -- OK
    - übergeben an UN Wer -- OK

  ***

  High-Priority Items
  -------------------

  Internals
  ---------
  1. CRITICAL Implement cell locking helper functions that make cells
  read-only/non-read-only
  - Implementation initial implementation that just sets field's
    background color to indicate that the field is locked. -- OK

  2. TEST Fix handling/display of progress messages:
  - Convert display of Record count to Revision count in search -- 
    (check lower right msg in Excel -- not critical now)
  - All (most?) menu items should clear display area when operation
    completes -- OK

  7. Fix checkDuplicates to check both the drawingCode and drawingId
  fields -- OK
    - Set cell note and highlighting when duplicates found -- OK    

  8. Review/improve cell note set/clear functions: isCellDifference and
  setCellDifferenceComment -- FAILED
    - Fix bug when comparing date fields -- FAILED
    - Do not set cell comments in key set area -- (to be tested)

    (check title, dates for changes after 'Refresh Selected')
    make sure, that hidden red fields NEVER have cell comment

    Note: Date fields should only have a comment after a 'Refresh
    Selected', if an update on the server side changed dates.

    If T0 Arbeits-BP (CS) is set, the calculated SOLL dates are not
    saved on the server -- FAILED

    If changed in web-interface and 'Refresh Selected' in Excel:
    - VA Erstellen: Soll, Ist, Wer
      - Ist -- OK
      - Wer -- OK
    - VA Stellungnahme
      - Ist -- OK
      - Wer -- OK
    - VA Bereinigung
      - Ist -- OK
      - Wer -- OK


  Search
  ------

  7. Implement checking for duplicate worksheet names -- OK 

    After manually creating new worksheet named 'Bau-23', I 'Search
    Documents' with 'Place results in new worksheet', and received a new
    worksheet named 'Bau-24' -- OK
  
  Edit
  ----

  3. CRITICAL (AH) Implement Vorabzug ja/nein flag
  - Lock and grey-out all Vorabzug fields if Vorabzug flag set to 0 --
    test later
  - Disable plan date formulas when Vorabzug set to false -- test later

  5. TEST GA/Freigegeben menu:
  - Sets the RevC revisionTypeId -- OK
    (CA-CF select -> show; should give you RevC value)

  - Menu with two choices: freigegeben (13) and gut zur Ausführung (15)
    -- OK

  COMMENT: revisionTypeId changes in cell CE, when switching from
  'freigegeben' to 'gut zur Ausführung' and vice-versa, but changes
  are not saved on the server after 'Save Selected'. -- FAILED


  Validation
  ----------

  1. TEST Client-side field validation
  - Implement Ist field validation.-- OK
  - Formulas generated from Perl script. -- (to be tested)
    - See axpo-integration/data/genValidation.pl -- (to be tested)

    MEANING: Test Analog workflow wizard validation (except Soll)!


  Save/Update
  -----------

  1. TEST Save handling of Vorabzug menu and GA/Freigegeben menus
  - Vorabzug flag  -- ?
    (AP, if already "ja", it should be locked. Check specs)
  - GA/Freigegeben menu  -- ?
    (After it was set, it should be locked.)

    NOT YET IMPLEMENTED: Basically, after save, both menues are to be
    locked.

    MEANING: Both menues determine document codes. Check specs 5.2.1
    Axpo Revision Sequence, 5.2.2 Sub-Revision Coding System, and test
    against them.

  2. TEST Implement field locking after save. Fields:
  - Bereich menu -- OK
  - Vorabzug flag -- OK
  - GA/Freigegeben menu (RevC type) -- OK

  3. Generate client-side error on update/insert when drawing code not
  complete -- FAILED

  - Sometimes, client-side errors still are wrapped in XML tags

  - After "New document" with title only set to "Excel-Test-2", I
    correctly receive an error ...

    saveRow: Internal error: Invalid XML Response. HTTP response: 400
    Response text: <?xml version='1.0' encoding='UTF-8'?>
    <response type='Drawings' key='drawingId' id='' ref='Doc'>
    <error>Feld 'Dok. Nr.'-'Laufnummer' ist ung?ltig.</error>
    <error>Feld 'Dok. Nr.' ist ung?ltig.</error>
    </response>
    64

    -- FAILED

    AMENDMENT: The error should not be wrapped in XML tags.

  - After "New document" with title 'Excel-Test-2', Laufnummer '0001'
    I correctly receive an error -- OK

  - After "New document" with title '', Laufnummer '0001'
    I correctly receive an error -- OK

  - After "New document" with title 'Excel-Test-4', Berechtigung Server
    (Z) "E-Extern", Klassifizierung Projektphase (Ph) "0 -
    phasenunabhängig", Klassifizierung Fachbereich (FB) "01.3 -
    Management - Versicherung", Objekt (O) "101 - Bestehende Anlagen -
    Stauanlage Limmernsee", Kontakt (K) "102 - Unternehmer und
    Lieferanten - ALSTOM Hydro Schweiz AG", Dokumenttyp (DT) "03.1 -
    Protokoll - Sitzungsprotokoll" and Laufnummer "0001", I correctly
    receive an error, but the error is rather confusing ...

    saveRow: Internal error: Invalid XML Response. HTTP response: 400
    Response text: <?xml version='1.0' encoding='UTF-8'?>
    <response type='Drawings' key='drawingId' id='' ref='Doc'>
    <error>Feld 'Dok. Nr.' 'Objekt' muss angegeben werden.</error>
    <error>Feld 'Dok. Nr.' 'Kontakt' muss angegeben werden.</error>
    <error>Feld 'Dok. Nr.' 'Dokumenttyp' muss angegeben werden.</error>
    <error>Feld 'Dok. Nr.' 'Laufnummer' muss angegeben werden.</error>
    <error>Feld 'Dok. Nr.' ist ung?ltig.</error>
    </response>
    64

    -- FAILED

    AMENDMENT: The error should not be wrapped in XML tags.

  4. Implement checking of record serial numbers on update -- FAILED

  Changed title of document in Excel (without saving), then changed
  title of same document (type 'v2/ZF/zur Freigabe') in web-interface
  with saving. 'Save Selected' in Excel shows expected error message:

    Update/Save error: Record: zur Freigabe
    • BOBaseUpdate (Revisions): simultaneous update (update counter
      mismatch:1 != 0)

  -- OK

  - If you change title, B4 should increment value on the row of actual
    document. -- FAILED
  
  - updateCount mismatch: update doc in web-interface, then try to save
    same document in excel, should give error -- OK


  5. Save all/selected should set record update counts -- FAILED

  - Test that a second save results in state with correct record update
    counts -- (to be tested)
  
  QUESTION: Under what condition should keyDocUpdateCountDoc (Excel
  cell:B{n}) increment its value?

  6. Duplicate row detection before:
  - search / test cases -- ?
  - save all / save selected -- ?
  - refresh all / refresh selected -- ?

  MEANING: Check specs for it and test against.

  TODO Attributes
  ----------

  2. Get feedback from JS re: recent changes to m_attributeRowCount
  global variable -- ?
  - Make sure that handling of m_attributeRowCount global variable is OK
    -- ?

  MEANING: Test 'Refresh Attributes' get all metadata from server.


  Medium-Priority Items
  ---------------------

  6. TEST Performance:
  - Disable screen update during record list processing -- ?
  - Investigate to see if bubble sort is really needed. Debug prints? --
    ?

  MEANING: create many records. User Search and measure how long it
  takes. 

  13. Implement new columns to display record status and DrawMGT id
  values (design needed) -- (to be tested)
  MEANING: Cell R, if gelb = change, pink = error, white = ok

  14. Design for record status fields
  - May not be needed if the above highlighting is implemented -- ?

  MEANING: Same as above.


  Excel Start-Up
  --------------

  - User can start Excel with an empty planning spreadsheet or a workbook
  containing already-defined document and revision metadata -- OK

  - To access metadata in the DrawMGT server, the user must login, using a
  custom Excel menu item, using their normal DrawMGT login name and
  password. -- OK

  - After logging in, spreadsheet data can be downloaded and saved in the
  DrawMGT server -- OK

  - If the user does not login, he is still able to work off-line, e.g.
  perform operations that do not require access to the DrawMGT server
  -- OK


  Downloading Metadata
  --------------------

  - The user can download metadata from the DrawMGT server using a
    search operation -- OK

  - It is possible to search by: document title, code and classification
    attributes -- OK

  - In the search screen, the drop down menus of classification
    attributes can be shortened by eliminating attributes not relevant
    to the planning process. -- (ignore for now)

  - Search results are processed as followed: 
    - Search results are merged with an existing worksheet. Existing
      records in the worksheet are updated with the latest server data,
      new records are added to the worksheet -- OK

  - The DrawMGT server checks the user’s roles and only downloads
    metadata that the user has rights to view -- FAILED

    COMMENT: If a user has Dok-beschr.Viewer role only and it is
    searched for a document that is not completed yet, the document gets
    still placed in Excel.

    AMENDMENT: Even if Dok-beschr.Viewer allows to see completed
    documents, cells still can be changed for a completed document. In
    my personal opinion, it would be less confusing to have the cells
    locked in that case.

    QUESTION: If a user has Dok-beschr.Viewer, shouldn't he be
    allowed to have a new document being placed in the worksheet
    after he clicked 'Create New Document' ?

    ANSWER: User should not be able to do that.

  - A warning is given if a search will return a large number of
    records, and allow the user to cancel the search -- OK


  Creating New Metadata
  ---------------------

  - New metadata can be created in the planning workbook using Excel’s
    normal copy/paste and fill operations -- OK

  - Metadata for new documents and revisions can be saved to the DrawMGT
    server -- OK

  - The Excel planning spreadsheet cannot be used to delete document and
    revision records from the DrawMGT server -- OK


  Synchronizing Spreadsheet Metadata
  ----------------------------------

  - The document rows in the planning worksheet can be synchronized with
    latest metadata from DrawMGT server -- OK

  - The planning spreadsheet is able to detect conflicting updates and,
    the event of a conflict, reports the before/after field values in
    the worksheet to the user for possible manual inspection and
    correction -- 

    AMENDMENT: The error message 'Sie sind für diese Transaktion nicht
    authorisiert.' shown inside an XML wrapper

  - Unsaved data, including new records that have never been saved, are
    highlighted to alert the user -- OK

    The highlight on column R{n} says:

    - "Row changed", when an existing document was changed but not yet
      saved -- OK

    - "Not saved", when a new document was changed but not yet saved
      -- OK


  Document and Revision Workflows
  -------------------------------

  - Management of workflow steps associated with the Vorabzug, zur
    Freigabe and Gut zur Ausführung / Freigegeben workflows. Includes
    person responsible, planned/actual complete dates and status (for
    workflow steps with a status field):
    - Erstellen --OK
    - Stellungnahme and Prüfberichte -- OK
    - Freigabe -- OK

  - Display of appropriate workflow step names in the DrawMGT
    web-interface (e.g. ‘Bereinigung’ instead of ‘Freigabe’ for Vorabzug
    revisions) -- OK

    COMMENT: 'bereinigt' is shown instead of 'Bereinigung'.

  - Calculate revision workflow step plan-dates using standard date
    calculation formulas -- OK

  - Override the standard workflow date formulas on an individual
    document and revision basis -- OK
  
  - The DrawMGT server performs validation before saving data 
    - The user’s roles are checked and enforced -- (to be tested)
    - Data values are validated -- OK


  Reports
  -------

  - Reports Dokumentlieferungplan ('Create Report 02F1') and
    Resourcenplan ('Create Report 02F1') can be generated from the
    planning worksheet -- (to be tested)


  Saving Metadata
  ---------------

  - The user can save one or more selected rows -- (to be tested)

  - The save operation checks each record for conflicting updates on the
    DrawMGT server -- (to be tested)

  - All records where a conflict (or error) is detected are highlighted.
    Both the local and server field values are available, so that the
    user can manually correct the record. -- (to be tested)

  - All records that can be saved without conflicts are saved and
    de-highlighted -- (to be tested)


  Exiting Excel
  -------------

  - If there are any unsaved records and the user attempts to exit
    Excel, a warning is displayed and the user is given the option to
    abort the exit -- FAILED

    COMMENT: If "Create New Document" witout saving or I change an
    existing document without saving, and exit Excel, I only receive
    Excel's Standard Exit Alert: "Do you want to save the changes you
    made to 'LinthalDrawmgt-Planning-1.xlsm"


  Document and Revision Process Operations
  ----------------------------------------

  - Ability to create sub-revisions in order to capture the history of
    rejected and internally reviewed revisions. -- (to be tested)

  - Ability to link documents to other documents, including: 
    - Linking a document to a document, without specifying which
      revision -- (to be tested)

    - Linking a document to a specific revision or the latest revision
      -- (to be tested)

  - New document types: 
    - Prüfbericht -- OK
    - Stellungnahme -- OK

  - Ability to set a ‘revision date’ to all revisions of a document,
    independent of the dates associated with the revision’s workflow --
    (to be tested)

  - Removal of planned titles from document records (requires that every
    document have revision defined, which will contain the title) -- (to
    be tested)

  - Ability to assign a serial number and prefix (e.g. ‘PBR-LA2-0001’)
    to a document as a classification attribute. The serial numbers
    should assigned sequentially and be unique for a given prefix. -- OK


  Login, Start-Up and Exit
  ------------------------

  - User can provide 'Benutzername', 'Passwort', select from a list of
    servers, and log-in -- OK

    Start-Up Procedure
    ------------------

    If the user successfully logs into the DrawMGT server then a
    procedure is initiated which downloads the following into the
    spreadsheet:

    1. The latest VBA code for the spreadsheet -- (to be tested)

    2. Attribute lists -- (to be tested)

    3. User lists -- FAILED
       COMMENT: When I set user 'Hans Muster' on loki test-server, and
       'Refresh Selected' in Excel, the user displayed is 'Albert
       Franz'.
 
    4. User role lists -- (to be tested)


  Create New Document
  -------------------

  - click menu ribbon 'Create New Document', cells are filled with
    template data -- OK

  AMENDMENTS:
  - Dokumenttitel 2 should be 'Titel-2'
  - it should not be possible to enter chars in Lauf-/ Teilnummer cells


  Refresh Selected
  ----------------

  After change in web-interface

  - update document code  -- OK
  - update title -- FAILED

  - update VA Erstellen (Ist, Wer) -- OK
  - update VA Stellungnahme (Ist, Wer, Status)
    Ist -- OK
    Wer -- FAILED (is 'Abert Franz' should be 'Muster Hans')
    COMMENT: 'Muster Hans' is not found in worksheet 'Users'. Therefore,
    I guess the misassignment happens because the users list is updated
    from a source other than loki?

    Status -- OK
  - update VA Bereinigung (Ist, Wer, Status) -- OK

  - update ZF Erstellen (Ist, Wer) -- OK
  - update ZF Prüfbericht (Ist, Wer, Status) -- OK
  - update ZF Freigabe (Ist, Wer, Status) -- OK

  - update GA Versand (Ist, Wer) -- OK
  - update GA erhalten von BL (Ist, Wer, Status) -- OK
  - update GA übergeben an UN (Ist, Wer, Status) -- OK


  Save Selected
  -------------

  - update document code -- OK
  - update title (with Umlauts) -- OK

  - update VA Erstellen Soll -- OK
  - update VA Stellungnahme Status -- OK
  - update VA Stellungnahme Dauer -- OK
  - update VA Stellungnahme Soll -- OK
  - update VA Bereinigung Status -- OK
  - update VA Bereinigung Dauer -- OK
  - update VA Bereinigung Soll -- OK

  - update ZF Erstellen Dauer -- OK
  - update ZF Erstellen Soll -- OK
  - update ZF Prüfbericht Status -- OK
  - update ZF Prüfbericht Dauer -- OK
  - update ZF Prüfbericht Soll -- OK
  - update ZF Freigabe Status -- OK
  - update ZF Freigabe Dauer -- OK
  - update ZF Freigabe Soll -- OK

  - update GA erhalten von BL Status -- OK
  - update GA erhalten von BL Dauer -- OK
  - update GA übergeben an UN Status -- OK
  - update GA übergeben an UN Dauer -- OK
  - update GA übergeben an UN Soll -- OK


  Check for Duplicates
  --------------------
  -- OK

  Duplicate Selected
  ------------------
  -- OK

  Get Next Sequence
  -----------------
  -- OK

ExcelIntegrationTesting (last edited 2011-10-28 19:07:59 by 77-58-103-157)

Copyright 2008-2014, SoftXS GmbH, Switzerland