Deletions are marked like this. | Additions are marked like this. |
Line 18: | Line 18: |
Search Documents ---------------- - after creating new document (title "Excel-Test-1 (äöü)") but only one version (v1) of type Vorabzug or ... - after creating new document (title "Excel-Test-1 (äöü)") with all required versions for VA, ZF, FR: "Search Documents" with Rapport "Bau", Bereich "LC1" and Titel "Excel-Test" generates getDocumentAndResponse: Internal error: Invalid XML response. HTTP response 200 Response text: <?xml version='1.0' encoding='ISO8859-1'?> <record id='26696' type='Revisions' key='revisionId'> [...] <title0>Excel-Test-1 (???)</title0> [...] </record> [seems to be a problem with umlauts] |
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.
Search Documents ---------------- - after creating new document (title "Excel-Test-1 (äöü)") but only one version (v1) of type Vorabzug or ... - after creating new document (title "Excel-Test-1 (äöü)") with all required versions for VA, ZF, FR: "Search Documents" with Rapport "Bau", Bereich "LC1" and Titel "Excel-Test" generates getDocumentAndResponse: Internal error: Invalid XML response. HTTP response 200 Response text: <?xml version='1.0' encoding='ISO8859-1'?> <record id='26696' type='Revisions' key='revisionId'> [...] <title0>Excel-Test-1 (???)</title0> [...] </record> [seems to be a problem with umlauts] 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 - 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 -- ? 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 -- ? - Make sure that system doesn't crash if it tries to create a worksheet name that already exists -- 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. -- ? - See axpo-integration/data/genValidation.pl -- ? Save/Update ----------- 1. TEST Save handling of Vorabzug menu and GA/Freigegeben menus - Vorabzug flag -- ? - GA/Freigegeben menu -- ? 2. TEST Implement field locking after save. Fields: - Bereich menu -- ? - Vorabzug flag -- ? - GA/Freigegeben menu (RevC type) No, does not need to be locked after save -- ? 3. Generate client-side error on update/insert when drawing code not complete -- ? 4. Implement checking of record serial numbers on update -- ? 5. Save all/selected should set record update counts -- ? - Test that a second save results in state with correct record update counts -- ? 6. Duplicate row detection before: - search / test cases -- ? - save all / save selected -- ? - refresh all / refresh selected -- ? 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 -- ? Medium-Priority Items --------------------- 6. TEST Performance: - Disable screen update during record list processing -- ? - Investigate to see if bubble sort is really needed. Debug prints? -- ? 13. Implement new columns to display record status and DrawMGT id values (design needed) -- ? 14. Design for record status fields - May not be needed if the above highlighting is implemented -- ? 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. -- ? - 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' ? - 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 an XML wrapper - Unsaved data, including new records that have never been saved, are highlighted to alert the user -- (to be tested) 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) -- (to be tested) - Calculate revision workflow step plan-dates using standard date calculation formulas -- (to be tested) - Override the standard workflow date formulas on an individual document and revision basis -- ? - 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 and Resourcenplan can be generated from the planning worksheet -- ? 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 -- (to be tested) 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) Search Documents --------------- - Search for existing an document ... Rapport*: Bau Bereich*: LC1 - Los LC1 Place results in new worksheet [x] Titel: excel -- OK Question: What is supposed to happen when 'Place results in new worksheet' is not checked? 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