Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 53 Next »

System Profile

System Full Name

Continuing Airworthiness Web Information System - Internal

System Full Name (French)

Système Web d'information sur le maintien de la navigabilité - Interne

Business Administrator

Lauren McMahon

Business Owner

Jenny Young

Director

Philippe Ngassam

Subject Matter Expert

Sylvie Blais

Division

National Aircraft Certification

NTARS Code

CA60

Source Location

Source Code Location

http://tfsprod:8080/tfs/civav/CAWIS-WAAU/_dashboards

Migration to DevOps

  •  

New Source Code Location (DevOps)

https://dev.azure.com/transport-canada/DSD-CIVAV Support/_git/CAWIS-SWIMN

Technology Assessment

Platform Type

Web (Internal)

Database Platform and Version

Oracle 18c

Development Language and Framework

ASP.NET + VB.NET

Operating System and Version

Windows Server 2016

Additional Dependencies

Crystal Report, TC Mailer, Rightfax

Authentication

Custom

Environment Access Information

ENV

UNC

WWWFILES

URL

DB

DEV

Deploy to:

\\ncrws499\catcappsx\Saf-Sec-Sur\2\CAWIS-SWIMN

Backups:
\\ncrws499\catcappsx\Saf-Sec-Sur\2\_backups\CAWIS_SWIMN

https://catcappsx.tc.gc.ca/Saf-Sec-Sur/2/CAWIS-SWIMN/

CAWISD

PREACC

http://catcpreaccpx/Saf-Sec-Sur/2/CAWIS-SWIMN/

PREACC_CA

ACC

Deploy to:

\\tctestmaster\tcappsroot\Saf-Sec-Sur\2\CAWIS-SWIMN

Backups:

\\tctestmaster\wwwappsroot\Saf-Sec-Sur\2\_backups\CAWIS-SWIMN

https://tcappstest.tc.gc.ca/Saf-Sec-Sur/2/CAWIS-SWIMN/

CAWISA

PROD

https://wwwapps.tc.gc.ca/Saf-Sec-Sur/2/cawis-swimn/

CAWISP

TRAINING

System Overview

The Continuing Airworthiness Web Information System (CAWIS) is a web based multi-faceted application that supports the Continuing Airworthiness Program in Transport Canada to monitor and enhance the safety of Canadian manufactured and/or operated aircraft in Canada.

https://tc.canada.ca/en/aviation/aircraft-airworthiness/continuing-airworthiness/about-continuing-airworthiness

https://tc.canada.ca/fr/aviation/navigabilite-aeronefs/maintien-navigabilite/propos-maintien-navigabilite

5008 - Core of CAWIS - nightly feed from CCARCS which loads registered aircraft, owner, make, model, etc

5008 purpose is to distribute information to owners, to send notices to owners regarding any changes to their aircraft, report hours, report accidents, fill it out in AAIR, notify whether there is safety issue on aircraft.

Good To Know

CAWIS Ext

To address security issues, CAWIS has both internal and external websites. This requires some special consideration when migrating code.

The differences between the two versions, are outlined here :


CAWIS Ext - SWIMN Ext

CAWIS EXT - VS - CAWIS INT

Developer info - running CAWIS

CAWIS Internal - interface not properly displayed. - BSD - Civil Aviation - Confluence (atlassian.net)

NOTE : CAWIS has no database links outside of Transport Canada

All maintenance team members have full access to CAWIS.

CCARCS

CAWIS pulls aircraft information from CCARCS

CAWIS pushes contact data to CCARCS (phone numbers, fax numbers, email addresses)

NACIS

CAWIS pulls Airworthiness data (AMO, Manufacturer, Distributor along with Principal Maintenance Inspectors (PMIs))

AMES

CAWIS pulls AME Licence Numbers

NAPA

CAWIS pulls type certificates for Airworthiness Directives (ADs)

DAPLS

CAWIS pulls addresses of pilots

TC Directory

CAWIS pulls TC user information

BII

CAWIS pushes Airworthiness Directives (ADs) and Service Difficulty Reports (SDRs) to BII.

There also ten canned reports and ad hoc reports

Power BII or BII - Civil Aviation's Occurrence Statistics in the Data Warehouse + a suite of BI reports

Linked folder for ADs to host to the web

development

production

https://wwwapps.tc.gc.ca/Saf-Sec-Sur/2/AWD-CN/documents/

WSDRS and CAWIS were two separate systems. SDRS is now a subsystem of CAWIS holding approximately 2,100,000 records

Slow / Hanging Reports

 View Details

New reports returning large amounts of data:

  • AAIR DATA

  • ALL PROJECTS

  • MAKE MODEL

  • REGISTERED AIRCRAFT

  • WSDRS (User Report)

were taking too long and sometimes timing out before completing.
They were redesigned in the following way:

  1. The queries that were executed via stored procedures were switched to scripts that create views.

  2. Materialized views take snapshots of the views (refreshed nightly) (SELECT * FROM <view>)

  3. Stored procedure now simply call the materialized views (SELECT * FROM <materialized view>)

The only caveat is that data changes (new or updated records ) won't be reflected in reports until the following day.

Project Book Report

The Project Book Summary (Release) reports sets the “last print date” to SYSDATE at the time of execution (LAST_PROJECT_BOOK_PRINT_DATE in table TR47_CAWIS_GENERAL_PROPS). Subsequent report will only return data where the issued date is >= LAST_PROJECT_BOOK_PRINT_DATE, or if there is no issue date (NULL - often the case for IN PROGRESS AMOCs)

Production CAWISP database and CAWIS user

CAWIS is one of the rare application that has access to the schema owner of its objects (CAWIS@CAWISP.WORLD) and as such, one should be very cautious of what he is doing to avoid changing or corrupting objects. While we do have access to such credentials, it should be noted that we do not have permission to use it to modify anything other than data. Structure changes, such as packages, tables, database links and standalone functions, are banned from being done without the DBA group consent.

Such an issue did arise in 2022, where a developer accidentally change the configuration of one of the database link, thinking he was in the development database. This caused a full outage for three hours and no way of fixing the issue, since the password to the remote database is unknown to us.

How-To and Fixes

AD Document not linking

Check if file properly named

Go to \\ncrws488\tcwwwtest\Aviation\applications\AWD-CN\documents and check if the problematic document is correctly named.

The expected format for AD files is :

  • Canadian directives: {AD_NUMBER}-{LANG}.{HTM|PDF} (the country code CF is included as part of the AD number)

  • Foreign directives: {COUNTRY}{AD_NUMBER}.{HTM|PDF}

Check if the sync script if running

There is a script that copies the files in \\ncrws488\tcwwwtest\Aviation\applications\AWD-CN\documents to :

  • Internal: \\ncrws539\tcappsroot\Saf-Sec-Sur\2\AwD-CN\documents

  • External: \\ncrws536\wwwappsroot\Saf-Sec-Sur\2\AwD-CN\documents

Check if the files in the source folder is in both target folder.

Project Book Report & Last Print Date

 Expand

If the “Last Printed Date” (LAST_PROJECT_BOOK_PRINT_DATE in table TR47_CAWIS_GENERAL_PROPS) gets set to an incorrect date (For instance: Project Book Summary (Release) is executed instead of Project Book Summary (Preview)) it can cause incomplete reports (see note in good to know section above). Users with admin access can change this date through the CAWIS application as follows:

  1. Select “Code Table Admin” under the Admin section in the side menu

  2. Select “General”

  3. Select “General Properties” in the System section

  4. Select “LAST_PROJECT_BOOK_PRINT_DATE”

  5. Change date (Value) and Save

Slow / Hanging Reports (158722)

New reports returning large amounts of data were taking far too long, often timing out before completing. Reports were changed to make use of materialized views which reduced time significantly. Reports generally complete in under 5 minutes.

PLANNED OUTAGES

CAWIS can announce planned outages on the login page by performing the following steps:

  1. login as ADMIN

  2. MAIN MENU → CODE TABLE ADMIN → GENERAL → GENERAL PROPERTIES

  3. MAINTENANCE START → Set Date/time for start of maintenance

  4. MAINTENANCE END → Set Date/time for end of maintenance

The system will lock out all users (except the ADMIN account) during the specified period. The ADMIN account can log into CAWIS at any point and revise the end date if/when a release is completed early. The Out-of-Service period is displayed at the top of every CAWIS screen during the time period leading up to the planned outage.

Routings

Remove and Replace the old user id who can be retired with another(new) user id (see Task board #269602)

Example of the request:

“On all currently active routings and for new routings in CAWIS for Feedback, CASA, and ADs, for all Stages (D, T, F and P) please remove Lynn Gasparro and replace with Eric Lanthier”

https://dev.azure.com/transport-canada/DSD-CIVAV Support/_boards/board/t/DSD-CIVAV Support Team/Backlog items/?workitem=269602)

If a user is being replaced or updated check the table A32_OFFICE_USER to see if there are existing records with position ids for the “new user id”.

Users cannot have more than one record with POSITION_ID having DEFAULT_IND = Y

Any existing records for that user, with POSITION_ID = Y should be updated to POSITION_ID = N

See bug 288777: Routing Notify Next Error

In the following example:

old user id refers to Lynne Gasparro.
new user id refers to Eric Lanthier

Connecting to CAWISP database, perform the following steps.

//1. check if the new USER_ID already exists in A32_OFFICE_USER. Any existing POSITION_ID 
entries have to be updated with DEFAULT_IND N.

update A32_OFFICE_USER 
set DEFAULT_IND = 'N'
where USER_ID = 'new user id'
and POSITION_ID in (position_id, position_id); -- replace position_id with one or more values per content of this table

commit;

//2. Insert new record for new user id with all column feature as old user id in A32 table
Insert into A32_office_user select office_designator_id, position_id, 'new user id', 'Y', SYSDATE, NULL,    'ADMIN', SYSDATE, SYSDATE from A32_OFFICE_USER WHERE USER_ID = 'old user id '


//3. Replace all instances of the old user with the new user

Update P09_PUB_INTERNAL_RCPT SET CAW_USER_ID = 'new user id ' WHERE CAW_USER_ID = 'old user id'

//4. Update the routing table with the new user

Update TR74_ROUTING_ITEM SET CAW_USER_ID = 'new user id ' WHERE CAW_USER_ID = 'old user id '

//5. Delete the old user in A32 table

Delete from A32_OFFICE_USER WHERE USER_ID = 'old user id'

 

Test Plans, Suites and Test Cases imported from TFS:

  • No labels