myTC Account is Transport Canada’s online service delivery platform. It is a collection of Departmental Capabilities made up of User Features and Development Capabilities. These Department Capabilities identify common components across online services and ensure that they are built once and shared rather than duplicated. It is an iterative platform. New features will be constantly rolled out in release packages. It is also a shared platform for all of TC to collaborate and contribute features.
myTC account is composed of 3 main modules and each of these encompasses various components.
These modules are:
Ø myTC Account Portal;
Ø myTC Account Micro-services – MTAPI;
Ø myTC Account Database.
The next three subsections are a concise description of the modules and supplementary images. Each one of these could be expanded to provide more detailed specifications however; for expediency, we present information in a summary format.
If you want to become more familiar with the platform, a prompt way to do so is by reviewing subsection “2.4 What is myTC Account Sample Web Service?”.
Please note that the terms “MTOA” and “myTC Account” are synonyms that may be used interchangeably throughout components of the framework described herein.
For any additional information please contact us at:
TC.F NCR AFCE MTOA Platform Team / Équipe plateforme MTOA AFCE RCN F.TC
1.1 myTC Account Portal
The myTC Account Portal is comprised of various components and features to ensure compliance, modularity and scalability. Enhancements and/or new functionality are constantly being developed and implemented thus; the in-flux state of this document, which also implies the list below will be augmented on regular basis.
The myTC Account Portal components at this time are:
Ø Common look and feel using the Canada's Digital Technology Super cluster (CDTS) template;
Ø My Services Catalog;
Ø My Requests Catalog;
Ø Account Settings;
Ø Common Main Navigation Bar;
Ø Service Title Bar.
The following images illustrate the user experience when accessing the portal.
Upon consuming the myTC Account portal, the main landing page will look like the following:
The “My Services” functionality is a representation of the services which the user has been enrolled/has access to utilize:
The “My Requests” functionality is a representation of what a user is able to see regarding requests to which an association exists:
Each of the record in the My Requests grid (table in Figure 2.1‑3) contains information about the service request and related service. The MTOA framework retrieves the information about the service using the service id. It is mandatory for the service to define its base URL in the MTOA database before it goes live.
If the user clicks on the service request record, the MTOA framework will retrieve the information about the service including the base URL, and then, will redirect the user to the service landing page and will embed the service request id, service type, and language (eng or fra) in the querystring parameter of the service url.
Ex: for the iZEV service, the user is sent to the following URL if he clicks on the Service Request #1598
https://gartacc.tc.gc.ca/secure/ZEV-VZE?serviceRequestId=1598&serviceRequestType=zev-rr&_gc_lang=eng
The service is expected to handle two optional parameters: serviceRequestId of type int? and serviceRequestType of type string.
async Task<ActionResult> Index(int? serviceRequestId, string serviceRequestType)
It’s the responsibility of the service to determine which page will be opened based on the current service request status and current page indicator
The user may choose to open, submit or view a request by clicking on it. As an example of a submission, the user will be presented with the screen below as confirmation:
When “Account Settings” is selected, the user is presented with the following page:
This functionality can be used to, if applicable, send email notifications to a user from a particular service base on actions within MTOA using the email notification API.
A user is notified about the existing association of the email address with myTC Account and not with a service or program.
Furthermore; the user is also advised to contact a program representative, in order to update an email address associated to a specific subscribed service(s).
Preference Settings vs Service Settings
It must be noted that there is a subtle, yet significant difference between Preference and Service Settings and this can be summarized as follows:
Preferences are settings that can be modified at any time by a regular user i.e. “EnableServiceFeatureXYZ”.
Service settings are internal to the application programming, seldom changed and not designed for user interaction i.e. “GCKeyLogoutUrl”.
1.1.1 myTC Account Recovery
The myTC Account Recovery allows a user who has forgotten their GCKey account credentials, to create a new GCKey account and bind their previous myTC Account to the newly created one.
Steps:
A user creates a new GCKey Account (
https://gart.tc.gc.ca/secure/mtoa-mctcl )
2. Once in the myTC Account “User Registration” page click the “Reconnect your myTC Account to new GC Key” link
3. Enter the email address you used to create your previous “myTC Account” user account and click “Send me the recovery link”
Once you receive the "myTC Account" Recovery email, click on the link it provides.
Your existing TC Account should now be bound to the new user.
1.1 myTC Account MTAPI
The myTC Account platform provides data services available (exposed) through Web APIs to handle all the database related transactions. The data services are distributed across several areas including:
Ø Accounts;
Ø Application;
Ø Artifacts;
Ø EmailNotification;
Ø Organization;
Ø ServiceRequests;
Ø Services;
Ø Users.
1.2 myTC Account Database
1.2.1 Environments:
Ø Development: MTOAD.WORLD;
Ø Testing: PREACC_CA.WORLD;
Ø Acceptance: MTOAA.WORLD;
Ø Production: MTOAP.WORLD.
1.2.2 Accounts:
Ø Owner: MTOA;
Ø Internal User : MTOA_USER;
Ø MTOA API : MTOA_API;
Ø External Protected ‘A’ : MTOA_EXTA;
Ø External Protected ‘B’ : MTOA_EXTB (not currently used).
1.2.3 Connection to Legacy Application Databases
As per DMI/DBA recommendation, it is advised to create a myTC Account in the legacy database to allow myTC Account interactions, instead of using the generic AAAA_user account.
For example, for the myTC Account ACP/AQPE Monitor Report service which interacts with the FTAE legacy database/application, a MTOA_FTAE account was created to differentiate the access to FTAE between a FTAE application USER and a myTC Account user.
1.1.1 Conceptual Model
Stakeholder Management:
Follows DMI (Data Management) corporate standard:
Ø Stakeholder;
· Internal;
· External;
· Organization;
· Application.
Ø Coordinate;
· Mail;
· Email;
· Telephone;
· GIS.
Authentication Management:
Ø Supports Internal user accounts with Active directory and/or PKI;
Ø Supports External user accounts with MBUN generated from GART or a GC Key partner;
Ø Application API Keys;
Ø Email confirmation codes.
Authorization Management:
Ø Associates an account to a service and a role;
Ø Optionally associated to show representation to another stakeholder, either an organization or another individual;
Service Management:
Ø Defines the services implemented in myTC Account , and which groups they belong;
Ø Defines the service groups which are displayed in the My Services page.
Notification Management:
Ø Defines notification templates to be sent by email at different places in the service’s workflow.
Service Request Management:
Ø Manages the service requests made by authorized stakeholders;
Ø Manages the temporary storing of paused reporting processes;
Ø Manages the request transactions between myTC Account and their related business/legacy systems.
1.1 What is the myTC Account Sample Web Service?
The objective of this section is to provide clarity for users, as well as facilitate understanding of the platform.
Furthermore, this is a good starting point for anyone who wants to build a Web Service that uses any myTC Account functionality.
What is myTC Account Sample Web Service?
A Service that has been built using the MTOA.Service.Framework library thus; leveraging any MTOA functionality that is available through the MTOA BLL or the MTOA.Web.Service.Client and therefore; can be used seamlessly right away or through a NuGet package update.
Where can I find the source?
The Source Code is available here can be located here:
https://dev.azure.com/ETP/_git/myTC%20Account%20-%20Sample%20Web%20Service
What can I do if I don’t have access to the source code?
Please send an email to Ali Saoud and request the required access.
How can I use a Sample Controller?
Proceed to review the SampleController file (Controllers\SampleController.cs) subsequently, inject any MTOA I{SomethingSomething}Manager or API you might need in the constructor and you will be set to run.
Will I be calling the MTOA database directly?
No, the platform has been designed to prevent this.
Can I still make Oracle DB database calls to a TC legacy database using Oracle Managed DataAccess Client or Entity Framework?
Yes, this functionality has been enable in the Web.Config file.
Does the platform support .NET Core?
Although the MTOA.Web.Service.Client does support .NET Core, the MTOA.Web.Service.Core does not at this time.
Please check at a later time, as we are continuously making improvements to the platform.