Your cart is currently empty!
Category: Knowledge Base
-
bGraph Architecture – Model Data
Introduction
The objective of this article is to provide a blueprint which demonstrates and enumerates all the technical stacks used to build the bGraph.
Although using a Graph Database is a perfect tool to illustrate this kind of blueprint, ironically, we cannot use the Graph Database to demonstrate how to build a Graph Database because the Graph Database is not yet built.
Definition
bGraph
bGraph is a DDM terminology , which is assigned as the name of the Enterprise Knowledge Graph (EKG) built on top of Graph Database. You can regard the bGraph as a Knowledge Management System in DDM Group which consolidates all types of data , including Business Data, Meta Data and Model Data, into one place forming a supreme intelligence to answer any questions raised by either Clients or Staffs.
Architecture
Architecture of bGraph refers to all the technical stacks used to build the bGraph, as well as specific tools that we adapted for building the bGraph. You can regard it as a blueprint of the bGraph
Model Data
While there are many components which can be found in the bGraph Architecture, this article is focused on the component of Model Data. The best way to understand Model Data is to compare the Model Data with Meta Data and Business Data.
In the Database world, no matter what business it is running , Data can be classified as 3 categories :
Business Data
The data which reflect the business activities. For example, in an eshop a Watch is sold out to the Client named “Tony” with the price of USD$42, the “Tony” and “USD$42” will be regarded as the Business Data.
In an Excel File, you can regard the Column Name as the Model Data , while each record under the same column as Business Data. For example, If you have an
Product Price List
an Excel File as below:Product Type Product Price (USD) Watch 42 Shoe 30 Figure 1 – Product Price List The Column Names
Product Type
andProduct Price (USD)
are regarded as Model Data, while the records[Watch,42]
and[Shoe, 30]
are regarded as Business Data.Meta Data
It also means “Data of Data” , which the function of Meta Data is to describe the Model Data. With the same example, as an eshop webmaster, before you can sell the product in the eshop, you should have input the price of the product
Watch
in thePrice Field
in the backend of the Eshop. Instead of a Text String (i.e. US Dollar Forty-Two) in Data Type, you will expect the Price is filled in Number Format (i.e.42). In this case, theNumer
(instead ofText String
) is the MetaData which describes the Data Type of thePrice
field.Model Data
In a relational table (e.g. a Sheet in Excel File), you can regard the Column Name (or a
Field Name
in an Form) itself as the Model Data , while each record under the same column as Business Data. For example, in Figure 1 – Product Price List in previous paragraph, The Column NamesProduct Type
andProduct Price (USD)
is regarded as Model Data, while the record (i.e. the value of the cell) of[Watch,42]
and[Shoe,30]
are the Business Data.
It is imperative for us to differentiate the 3 categories of data due to the fact that different types of data are intertwined in our communication during the bGraph development cycle.
What Problem Patterns the Model Data Solves
Model Data can narrow the discrepancy between the Reality and Model in following aspects:
Avoid Duplicated description in the Data Model
It is very common to find both the CRM and an Accounting System in any scale of the companies, which means if you want to insert a new record of the
First Name
andLast Name
of a Client, most likely that you have to record it twice in both the CRM and Accounting System.While in reality the Client shows only once, in the Model it has shown twice in both CRM and Accounting System even though the 2 records in different systems are in fact referring to the same Client, meaning that the Model Data –
First Name
andLast Name
of the Client, are duplicated.This discrepancy between the Reality and Model lessens the fidelity of the Model.
Model Data is here to kill the discrepancy through duplication.
As an Simple View of Truth Under the DevOps business environment
In a traditional system development cycle, the Reality is being observed once in a particular time spot (most likely in a brain-storm sales meeting ) and this observation will be transformed to an Model, which most likely is presented by an Entity-Relationship Diagram, by the System Analyst.
However, soon or later this System Analyst realized that it is not the case. While in reality the business environment is ever changing, the observation to the Reality, as well as to Modeling the observation, become streaming tasks instead of batch tasks, meaning the observation and modeling tasks should be done continuously in agility, instead of only did once in the very beginning of the system development meeting. We called this concept as DevOps.
Let’s illustrate the example by the Table in below:
Time Period System Name Properties (i.e. Field) Year 1 CRM (built in house) Client.FirstName
Client.LastName
Client.Birthday (DDMMYYYY)Year 2 Accounting System (3rd party Saas) Client.GivenName
Client.FamilyNameYear 3 Eshop (built in house) Client.FirstName
Client.FamilyName
Client.Birthday (YYYYMMDD)Figure 2 – All System Development Timeline In the infancy status (i.e. Year 1) of a startup company which you are working for, it makes sense to prioritise building a CRM system instead of an Accounting System in order to generate leads and sales revenue before complying with legal bookkeeping and auditing requirements. In a CRM system, your colleague Anna, as a system analyst, can easily observe from the reality that there should be the properties
First Name
andLast Name
attached to a Client. The system analyst (Anna) therefore put the First Name and Last Name in our Model in below:First Name Last Name Client Form (and Table) in the CRM It works perfectly until in Year 2, after there were quite a lot of sales orders made in Year 1, it is inevitable for the business to have an Accounting System to cater both the bookkeeping and invoicing tasks.
Due to the fact that the System Analyst , Anna, who built the CRM system in Year 1 had already quit, instead of inventing its own wheel, your boss in Year 2 decided to subscribe to a SaaS of a canned Accounting System, which has comprehensive functions catering all the bookkeeping and invoicing needs of the company.
Everything works fine until a fresh grad junior Sales Executive , Ann, who is instructed by you to find out a Client with ID# 302392 in CRM in the historical sales invoice report in the Accounting System. After Ann checked out the CRM through the ID# 302392 and the system showed the
First Name
andLast Name
of the client as Joan Lee. Ann tried to put the First Name and Last Name Joan Lee to the Accounting System to generate the sales order report.Unfortunately , after 60 minutes of effort, Ann failed to find out the fields
First Name
andLast Name
to filter the sales order in the Accounting System , she requested help from her supervisor, which is you.After you listened to the question raised by Ann, you are astonished that she did not even realize First Name is a synonym of Given Name and Last Name is a synonym of Family Name. (Please refer to Figure 2 – All System Development Timeline in previous paragraph)
Although you are frustrated , you still gently explain the truth to Ann, which took you another 15 minutes.
Therefore, all in all the company had spent 75 minutes on simply communication and education, which these communication and education costs will not be the last time to be incurred due to the fact that the new fresh grad employee which the company is going to hire in the future is very likely to encounter the same misconception.
Therefore, a centralized library which explain the relationships between any properties of any systems throughout the company is on demand.
The story did not end. With great difficulties the company still survived in Year 3 and would like to expand the business by running an Eshop online for overseas markets.
Your company hired another System Analyst , Joanna, to build the eshop which she had completed the project at lightning speed. After 100 new client registrations in the Eshop, when you want to import these 100 client registrations from the Eshop to the existing CRM, you finally realized that the field
Birthday
of the CRM is in format (i.e. the Meta Data) of DDMMYYYY , while in the Eshop the format is in YYYYMMDD.Due to the fact that you realized all the Date related fields throughout the systems of your company are in YYYYMMDD, which is contradict with DDMMYYYY format usually used in your country, you have no choice but to request the newly hired System Analyst Joanna to spend another 1 months (i.e. 22 Working Days!) to turn all the Date related Fields in the Eshop from YYYYMMDD to DDMMYYYY in format.
By studying the example above, we realized that a centralized library (i.e. the repository) which stored all the Model Data (and its associated Metadata) will definitely help the System Analyst to avoid all the mistakes mentioned above by checking all the existing properties (i.e. the Model Data) of the existing systems in advance before the System Analyst started building any new system.
Fill in the gap between planning and execution
Following steps and role are played during the system development cycle:
Time Procedure Role Month 1 Reality Observation Salesperson
End User
Business Analyst
Business OwnerMonth 2 Modeling Business Analyst
System AnalystMonth 3 System Building Execution System Analyst Timeline and Role during the System Development Cycle Consider the following scenario and timeline
Reality Observation
- In Month 1, End User feedback to the Salesperson that the CRM lacks of the
Salutation
field in theClient
Form. - Salesperson passes this information to the Business Owner.
Modeling
- The Business Owner instructs the Business Analyst to see if the request is valid.
- In Month 2, The Business Analyst updated the System Blueprint (i.e. the Entity-Relationship Model) and passes the newly updated version to the System Analyst
System Building Exeuction
- In Month 3, the System Analyst studied the affected radius in the entire system and if which Forms and Reports will be affected. For example, the New Client Form , as well as the Lead Report may be needed to add the
Salutation
Field into them.
If you are detailed-mind enough, you may realize that , as a layman without any system analysis training background, the End User , Salesperson and Business Owner cannot technically and precisely turn their comment via Entity-Relationship Diagram friendly syntax to communicate with the Business Analyst.
Imagine what if all these 4 different parties involved in the communication chains are communicating by different language and wordings, how the fidelity of the reality has been deteriorated , and how much time is wasted on the redundant communication edge. (i.e. A to B , B to C , and C to D)
This means if the comment feedback from End User is not at the same time as the System Analyst to do the coding workload for updating the system , then this piece of comment from End User (i.e. comment on adding a new
Salutation
Field) should be recorded in somewhere and easily be found by the System Analyst in their system update request job queue.The Model Data can act as a communication protocol during the whole system development cycle.
Avoid Duplicated Workload between Template and Instance
Model Data in Relational and Graph Database
Model Data in Traditional Relational Database
In a traditional way of building a CRM system, the Object
Client
may probably be described in the Entity-Relationship Diagrams in different systems as below:Column Name First Name Last Name Salutation Email Address Client Table in ER Diagram of CRM System When time goes by, another eDM System is introduced into the company with another Client Object inside the system as below:
Column Name Given Name Family Name Salutation Gender Email Client Table in ER Diagram of eDM System Due to the fact that there are 2 separate systems, you cannot link up the 2 Client Tables of 2 systems in 1 Entity-Relationship Diagram. In fact, you have to draw 2 Entity-Relationship Diagrams, one system per Entity-Relationship Diagram.
This practice makes us can never realizes that in fact these 2 Client Objects in 2 separated systems are actually referring to same concept (i.e. Client) in the reality
Besides, if you find the field
Gender
is a valid and useful information in eDM, the system analyst may not address that thisGender
field should also be added into the Client Table in the CRM system.Model Data in Graph Database
Figure 3 – Data Model By Graph On the contrary , if we demonstrate the Model Data via Graph created by Graph Database, we can enjoy the following benefit:
- Concept
Client
from CRM and eDM systems can be consolidated and presented in 1 Node. This consolidation can easily be figured out by the Node Labels (i.e. the wording eDM and CRM outside the Node circle) - One can easily find out the relationship of properties from 2 separate systems. For example, the graph explicitly shows that the
Given Name
in eDM is in fact identical to theFirst Name
in CRM by reading the Relationship Type (i.e.IDENTICAL_TO
) - While the property
Gender
is a useful information which should define (and have defined) in eDM, it makes sense to infer that thisGender
property should also be defined in CRM. By using Graph Data Science AI tools, this kind of insight (we called it Label Prediction) can easily be achieved. While the AI algo is out of the scope of this article, we will discuss it somewhere in the future. - In the future, as the business grows, you will realize clients can be classified as Individual Client and Organisation Client, which only Individual Client has the properties of First Name and Last Name (so on and so forth). You can easily modify the relationships among nodes by writing a simple GraphQL Statement.
Limitation of Model Data via Graph Database
Although modeling data with a Graph Database provides greater fidelity, the Graph Database in itself is not good for data input.
While in our daily life most of the Input Form and Report are linked to underlying Tables in a Relational Database, it is hard for us to build the Input Form and Report directly on top of a Graph Database. Although it is technically feasible to do so, due to the compatibility with other existing systems, as well as the human user behavior in both inputting and consuming data, the technical stacks will strike a balance between user experience and Model Fidelity.
In this sense, we decide to keep the Relational Database as an “Abstract Layer” between the Frontend Application (during Input) by both human / machine (i.e. API) users and the Graph Database.
The toughest trade-off of this method is that we need to periodically synchronise , either in mutual (2-way) or in 1-way , the data between the Relational Database and Graph Database, although it’s still manageable .
Technical Stacks of the Model Data
- Node Table
Create a Table name “
bNode
” in Relational Database to store (as records in a Table) all the Nodes.This
Node
Table can also serve as a LookUp Data List as if traditional Relational Database does. For example, as the Option List ofGender
{Male | Female | Trangender | Unisex} will always be the same no matter under which system or knowledge domain, there is no need to define the Option List of the property Gender for each system (or each instance of a system type). This Option List of propertyGender
can be looked up by different systems via their Gender Field, this is nothing about Graph Database which already serves the purpose perfectly.- Relationship Table
Create a Table name
bRelationship
in Relational Database to store (as records in a Table) all the relationships among the Node.Example Record in a Relationship Table:
Source Node Relationship Type Target Node Client HAS_ONE First Name Client HAS_MANY Email Address First Name IDENTICAL_TO Given Name - Importing both Node and Relationship Tables in the Graph Database, whereas:
- Use the feature of Graph Database – Node Label , to classify which Knowledge Domain (a.ka. Namespace or Context) the Node is under. In the CRM example, the Node First Name is under the Knowledge Domain (i.e. Namespace) of CRM, and therefore you can find the Label outside the Node First Name in Figure 3 – Data Model By Graph.
- While there are many ways to import the data from a Relational Table into the Graph Database, we will apply the following ways under different scenario:
- By Cyber – Lollipop Model
- By Data Importer GUI – Sunflower Model
- Synchronize (either 1-way or 2-way) between Relational Database and Graph Database under CRUD events.
- Allow Read/Write with different views (a.k.a Prospective) by End Users via GUI in Graph Database by coding (e.g. Cypher)
- Allow the User to Read/Write with different view (a.k.a Prospective) by End Users via GUI in Graph Database semantically by plain English. (or other Language) via Semantic Search Engine.1
Footnotes
- This will be performed by LLM Algo which is out of the scope of this article. ↩︎
- In Month 1, End User feedback to the Salesperson that the CRM lacks of the
-
Assign Google Search Console Access Rights to Others
Definition
Google Search Console (GSC)
Google Search Console is a free web service offered by Google that helps website owners, webmasters, and SEO professionals monitor and maintain their site’s presence in Google search results. It’s like a communication portal to connect among Webmaster, Google Search Engine and the Target Website.
Access Rights
Access rights refer to the Role and Capabilities of a specific login name can access the application (i.e. GSC in this case). In some cases, the access rights will not only be assigned to a human , but also another system which want to access the application.
For example, the e-shop platform Woocommerce may want to access the Google Merchant Center so that the Woocommerce can upload the product feed to Google Merchant Center.
Unless otherwise stated, we assumed the Access Rights is assigned to human instead of another system.
Access Rights are categorized as below with different roles and capabilities:
Verified Owner
Google A/c which had verified ownership of the property (i.e. a specific Domain Name) using a token to prove ownership (such as putting a TXT Record in the DNS Control Panel). To add or remove a verified owner, you must add or remove a token on the DNS Control Panel of the Domain Name of the Target Website.
Restricted User
Google A/c which has simple view rights on most data in Google Search Console. (i.e. without ownership of the Google Search Console account). This access rights level is good enough for the assignee (i.e. digital marketing agency or any internal staff) who do not need to edit anything.
What Problem Patterns Assigning GSC Access Rights Can Solves
Avoid Human Resource Turnover workload
You may need to change the password of the application every time a staff or digital marketing agency is onboard or quit the organisation if you assign the Root Access to them. Assigning Role Based Access to them can solve this problem as you simply need to unlink the login account of the quitting staff or marketing agency ,which you don’t need to reset the password and since will not affect others.
Fine-grained Permission
In case you just want to assign the read-only instead of editing capability of the application to the assignee, the Role Based Access Permission can be adapted such that each separate capability can be assigned to another in fine-grained form.
Prerequisite on Assigning Google Search Console Access Rights
- Access Permission of the Gmail Address which is going to own the Google Search Console Account.
- Assignee Gmail Address
- Editable Access Rights of DNS Control Panel of the Target Website (For assigning Verified Owner access rights only)
Step By Bp on Assigning Google Search Console Access Rights
Verified Owner
As a webmaster who owned the Target Website, you can do the following steps to become the Verified Owner (or assigning another additional user as Verified Owner) of the Google Search Console account of the Target Website:
In Google Search Console Interface
- https://search.google.com/
Search Property
+ Add Property
- Select property type =
Domain
- <<
TARGET_DOMAIN
>>1 >Continue
Verify domain ownership via DNS record
Instructions for: = Any DNS provider
- Select record type =
TXT (Recommended)
- COPY <<
TXT_RECORD
>>
In DNS Provider Interface
- Add TXT Record
- Copy the TXT String (found in Step.9 in “In Google Search Console Interface“)
- Save
DNS Add TXT Record Back to Google Search Console Interface
Verify
- Ownership verified
Google Search Console Ownership Verified In Gmail Interface
- Email Title =
Imrpove Google presence for...
2 ,OR - Email Title =
Monitor the Google Search traffic
to … - Done
Improve Google Presence For Monitor the Google Search Traffic To
Restricted User
As a owner of the Google Search Console account (i.e. the Assignor), you can assign the Restricted User Access Rights to the Assignor:
- Login Underlying Gmail Account.3
- Google Search Console
Search property
- <<Target Website>>
-
Settings
Users and permissions
ADD USER
Email address
= <<ASSIGNEE_GMAIL>>Permission
=Restricted
GSC Restricted Permission - Done4
Footnotes
- Please be noted that you DO NOT need to insert the any subdomain (e.g. http / https / www. ) before the Target Domain. You also DO NOT need to insert any Sub Folder (e.g. /en , /eshop , /uk) at the end of the Target Domain. ↩︎
- From sender : [email protected] (Google Search Console Team) ↩︎
- Login the Gmail account by the underlying Gmail address which you used to own the Google Search Console account ↩︎
- “Done” means you as a assignor , is supposed to see the newly added user in the permission list, marked with “Restricted”. Meanwhile , the Assignee will NOT receive any notification email. The Assignee can simply login the Google Search Console and can find the newly added Target Website in the list of the “Search property” search bar. ↩︎
-
How to Enable 2FA in Facebook Personal Account
Facebook Personal Page
Facebook Personal Page is one of the products under the umbrella of Meta, inc product fleet. While you can easily access your Facebook Personal Page by logging in via www.facebook.com, there are many interface from different products under Meta, inc. will drive you to the interface of Facebook Personal Page, including but not limit to :
- Facebook Ads Manager
- Meta Business Suite
- Facebook Business Page
- Instagram Business Page
- Meta For Developer
- Meta Account Center
Infact , Facebook Personal Page is one managed under Meta Account. As long as you have created a new Facebook Personal Page, you will automatically have a Meta Account. Therefore, in your daily life conversation, Facebook Personal Page and Meta Account is used interchangeably. You can uniquely identity your Facebook Personal Page via the Facebook Profile Username.
2FA
Two-Factor Authentication (2FA) is a security process that requires two different forms of identification to access an account or system.
- 1st Form – Login and Password
- 2nd Form – One Time Password (OTP)
2FA Example of One Time Password from Google Authenticator When you enable the 2FA in your Facebook Personal Page, in fact you are doing so in your Meta Account.
What Problem Patterns 2FA Solves
Protection Against Phishing
Even if someone tricks you into revealing your password through a phishing attack, they won’t be able to access your account without the second factor of authentication.
Prevent Unauthorized Access
If someone gains access to your password, 2FA acts as a barrier, preventing them from logging into your account without the second verification step
Access to Specific Capabilities
Certain features in product or service fleets under Meta , Inc. might only be available to verified accounts. For example , you are required to confirm your identity before you (i.e. Your Facebook Personal Page) can become the Meta Business Suite Admin role.
Authentication
Meta Products (e.g. Facebook Personal Page) will in the following scenario require you to authenicate yourself via 2FA even you have logged in the account:
- When you are going to modify the security setting.
- When you login your account via unusal device or geo location.
If you fail to authenticate yourself, your account will be blocked.
Prerequisite of Enabling 2FA in Facebook Personal Page
Before you can enable the 2FA in your Facebook Personal Page, you should
- APP –
Google Authenticator
installed in your Mobile Device(s). You can enable 2FA in as many as Mobile Device you want. For details, please refer to the article Google Authenticator. - Make sure you have the Root access to the email that you used to register for your Facebook Personal Page.
- You got the login and password of your Facebook Personal Page on hand.
- Decide which Mobile Device you should use. After you have enabled the 2FA , from time to time the owner of the Mobile Device who installed the Google Authenticator would need to provide the 6-digit verification code to the requester. If the owner of the Mobile Device is also a busy boss, please make sure the request for the 6-digit verification code would not bother him. On the contrary, if it is the staff who owns the Mobile Device which installed the Google Authenticator, make sure the staff will hand over the 2FA authority when he/she leave the company.
When to Enabe 2FA in Facebook Personal Page
- Before you want to share the Root Access (i.e. Login and Password) of your Facebook Personal Page account to others.
- Before you are going to install the Facebook (or any Meta’s related products) into your new Mobile Device
- Before you are going to login the Facebook Personal Page via a new laptop , or any laptop that you never used to login the account before.
- When you newly setup a Facebook Personal Page.
- When you are going to travel out of your country.
Step By Step – Enabling 2FA
- Login www.facebook.com
- Meta Account Center
Account settings
Password and security
Login & recovery
Two-factor authentication
- Choose an account to set up two-factor authentication.1
Check your Email Your Facebook Security Code - Check your Email2
Code
= <<Security Code via Registering Email>>Password
= <<Facebook Personal Page Password>>
Please Reenter Your Password - Choose your security method =
Authentication app
Next
- Open
Google Authenticator
APP by your mobile deviceScan a QR Code
.3
Instructions For Setup 2FA in Facebook - Get the 6-Digit One Time Code in
Google Authenticator
APP.
Enter code
4
Get your code from your authenticator app Code
5
Check your Email Continue
Password
6Done
Two factor authentication is on
- Only if you have more than 1 Meta Account registered via the same Email Address ↩︎
- Check the Email you used to register for your Facebook Personal Page ↩︎
- Please copy and store the Key to a safe place only you can access. For example, your Zoho Vault account. ↩︎
- Please be reminded that each code will only be alive within 30 seconds. ↩︎
- Code will send to your registering email again (i.e. 2nd time) ↩︎
- Password of your Facebook Personal Page will be required again (i..e 2nd time) ↩︎
-
Employee Benefit in DDM Group
Introduction
The principal of decising the degree of Employee Benefit (
v20250110
) provided to the employee in DDM Group is based on the contribution that the employee had been delivered to the Company.
Employee Benefits
Education
Amazon Kindle Book Store A/c
Amazon Kindle Book Store account is an Amazon A/c owned by DDM Group which can be regarded as a Book Library storing more than 50 purchased e-book since 2017 covering following topics:
- Relational Database
- Web Server
- WordPress
- SEO
- History
- Javascript Related
- Python
- Data Engineering
- Cloud Architect
- HTTP
- Graph Database
- Google Analytics
- Google Tag Manager
- Many others…
Eligibility
Capability Eligibility Amazon e-Kindle Book Store A/c Access Immedately after the onboarding procedures are completed Book Purchasing Request 1.) One book every 3 months After probation period. While you (as an employee) are welcome to suggest a book purchase list , it is always recommended (as an employee) to read the books already on-shelf. While the existing books may not be the latest or updated one, you can always find the added-value of the latest technology by looking back to the history and development curve of this particular technology, due to the fact that the latest technology is always invented to solve the problems found in the previous version. Being familiar with both previous and latest technology version are imperative.
As a virtuous citizen in DDM Group, please get use of the scarce resource by fully reading and comprehending the book as much as you can after you have purchased it book.
If you are not sure whether the book is suitable for you, please download the sample book before you submit a book purchasing request.
Rules of purchasing
- All books , no matter related to your professional or not, are welcome
- Maximum USD$70 per book.1
- Only the Book in Amazn e-Kindle version (i.e. physical paperback will not be considered)
- Kindly remind that do not read the book during office hours, unless othewised instructed.
- Do NOT purchase directly in Amazon Book Store by yourself. Always raise the request and let the account owner do the purchase for you.
Online Course Certificate
Nowsaday there are infinity number of online course published by renowned educational institutions are free of charge. In fact, anyone can learn any knowledge with very little or even no cost.
There are some international online course published by accredited top-tier educational institution in the world, which are free of charge but still maintain its standand and quality as below:
- Edx
- Coursera
- AWS Skill Builder
- Neo4j Courses
- SEMRush Free online marketing courses
- Google Skillshop
- Meta Blueprint
- Many others.
In fact , as long as you try to search in Google, you can find a myraid of free online courses for you to study. Only the sky is your limit.
While we are not going to sponsor you for any paid online courses, the attendance or completion of the free online courses is one of the imperative factors of your career promotion or salary adjustment opportunity during the appraisal.
However, if there is a strong reason you should seat into a paid online courses or public examation, for example, AWS Certified Cloud Partitioner, you can submit a sponsorship request and we will consider the level of sponsorship based on the following criteria:
- Past contribution you delivered to DDM Group
- Employement Period in DDM Group
- How the Certicate faciliates you to contribute to DDM Group after you have acquired the desgination.
Again, please understand that in DDM Group the Certificate or designation is always prioritised below the actual capability that you can utilized in your daily tasks.
Equipment and Infrastructure
In order to facilitate you with a well-equipped and safety environment to perform your daily task, you can raise a suggestion if you need any kinds of sponsorship in following items:
- Internet Data Plan
- Microphone or Headset
- Keyword or Mouse
- Video Camera
- Router
- Electricity Power Bank
- Laptop
- Mobile Phone
- WiFi Amplifier
- SaaS
- Medical Support (employees and his/her financial dependent)
Following factors affecting the sponsorship level of the items:
- Employment Period in DDM Group
- Past Contribution delivered to DDM Group
- Urgency
- Necessity
- Return on Investment
- Frequency of Sponsorship request
- Financial Conditionl of DDM Group
Sponsorship Type
Sponsorship Type Description Full Sponsorship Unconditional full sponsorship pay upfront (or by instalment , if applicable) Partial Sponsorship Unconditional partial sponsorship pay upfront (or by instalment, if applicable) Fully Finance Pay Back 1.) Finance upfront.
2.) Contra off financed amount via future salaryFully Finance Work Back 1.) Finance upfront
2.) Settle the financed amount later on via over time work or any other kinds of mutually agreed contribution.Conditional Fully Sponsorship 1.) Sponsorship pay upfront
2.) Contra off the sponsored amount via future salary if the employee contract is terminated (no matter intentionally or unintentionally)These sponsorship shall be interpreted and enforced by DDM Group, which holds the final decision-making authority.
How to apply the sponsorship
Send an Email to your immedate supervisor and elaborate the reasons with following aspects:
- What item you request to sponsor
- Item specification
- Item Market Price (with reference)
- Suggested Sponsorship
- Sponsorship Type
- Sponsorship Amount
- Payment Terms
- Reasons justifying your Request2
- When you can submit the justification or documentation after your purchase.
As a virtuous citizen in DDM Group, please always understand the resource is scarce .You should always present documentation or justification after spending the sponsorship amount. Any abuse or misuse of the sponsorship amount will be regarded as a breach of agreement and may result in disciplinary action, including the termination of the sponsorship or employment contract and the requirement to repay the misused funds.
Footnotes
-
Anti-Virus Software Installation
Introduction
The objective of installing anti-virus software on employee laptops is to ensure the security and integrity of company data and systems. By providing comprehensive protection against malware, viruses, and other malicious threats, anti-virus software helps prevent data breaches, system disruptions, and unauthorized access.
Avast Anti-Virus
Avast Anti-Virus is a comprehensive security solution designed to protect your devices from various online threats. We will adapt Avast in our Anti-Virus Software installation procedure.
What Problem Pattern a Anti-Virus Software Solves
- Core Shields: Provides real-time protection against viruses, malware, and adware.
- Smart Scan: Scans your device for vulnerabilities, hidden threats, and suspicious files.
- CyberCapture: Automatically sends suspicious files to the cloud for analysis and provides a cure if needed.
- Behavior Shield: Alerts you if any of your apps start behaving suspiciously.
- File Shield: Scans files for threats when they are added or opened.
- Wi-Fi Network Security: Helps protect your home Wi-Fi network from intruders.
- Web Shield: Blocks malicious websites and phishing attempts.
- Automatic Updates: Keeps your virus definitions and software up to date
Step By Step – Avast Installation
If you have already installed any anti-virus software in your laptop, you can skip this step.
Install Avast Install
Continue
CONTINUE WITH FREE
RUN FRIST SCAN
Step By Step – Avast Configuration
RUN SMART SCAN
Avast
>Status
RUN SMART SCAN
This computer is protected
Virus Scans
Avast
>Protection
Virus Scans
Full Virus Scan
1Scan history
2Files tested / files infected →
3RESOLVE ALL
DONE
Core Shields
Avast
>Protection
Core Shields
Property Default Value File Shield Enabled Behavior Shield Enabled Wed Shield Enabled Mail Shield Enabled
Firewall
Avast
>Protection
Firewall > ACTIVE
- Check and block any suspicious running program.4
Network Inspector
Avast
>Protection
Network Inspector
- <<Connected_Network>>5
SCAN THIS NETWORK
- Raise out to your I.T Department if there is any issue found.
- Example of issue in below:
Network Issue Solution Weak WI-FI Password Change to a strong WI-FI Password Example of Network Issue
Footnotes
- While the full scan takes time to run, you can leave the scanning in backend and carry out another task. ↩︎
- Go to tab “Scan History” after the Full Scan is completed. ↩︎
- Press “→” only if at least 1 file is infected. ↩︎
- If you have no idea about what program is suspicious, please cap screen and send to your I.T department. ↩︎
- You only need to scan the connected network. i.e. You DO NOT need to scan all the networks which can be detected by your device. ↩︎
-
Non-Disclosure Agreement for Employee in DDM Group
This Non-Disclosure Agreement (the “Agreement”) , version
v20250108
, is made and entered into as of the Submission Date of the Form, by and between Diamond Digital Marketing Group (“Disclosing Party”), and the Employee (“Receiving Party”).
1. Definition of Confidential Information
For purposes of this Agreement, “Confidential Information” includes all information or material that has or could have commercial value or other utility in the business in which Disclosing Party is engaged. Confidential Information also includes all information of which unauthorized disclosure could be detrimental to the interests of Disclosing Party, or its clients, vendors, or associated organization or individual, whether or not such information is identified as Confidential Information by Disclosing Party.
2. Exclusions from Confidential Information
Receiving Party’s obligations under this Agreement do not extend to information that is:
- Publicly known at the time of disclosure or becomes publicly known through no fault of the Receiving Party;
- Discovered or created by the Receiving Party before disclosure by Disclosing Party;
- Learned by the Receiving Party through legitimate means other than from the Disclosing Party or Disclosing Party’s representatives; or
- Disclosed by Receiving Party with Disclosing Party’s prior written approval.
3. Obligations of Receiving Party
Receiving Party shall hold and maintain the Confidential Information in strictest confidence for the sole and exclusive benefit of the Disclosing Party. Receiving Party shall carefully restrict access to Confidential Information to employees, contractors, and third parties as is reasonably required and shall require those persons to sign non-disclosure restrictions at least as protective as those in this Agreement. Receiving Party shall not, without the prior written approval of Disclosing Party, use for Receiving Party’s own benefit, publish, copy, or otherwise disclose to others, or permit the use by others for their benefit or to the detriment of Disclosing Party, any Confidential Information.
4. Time Periods
The nondisclosure provisions of this Agreement shall survive the termination of this Agreement and Receiving Party’s duty to hold Confidential Information in confidence shall remain in effect until the Confidential Information no longer qualifies as confidential or until Disclosing Party sends Receiving Party written notice releasing Receiving Party from this Agreement, whichever occurs first. These obligations extend even after the employee’s contract has ended, ensuring that the protection of Confidential Information continues beyond the duration of employment.
6. Severability
If a court finds any provision of this Agreement invalid or unenforceable, the remainder of this Agreement shall be interpreted so as best to effect the intent of the parties.
7. Integration
This Agreement expresses the complete understanding of the parties with respect to the subject matter and supersedes all prior proposals, agreements, representations, and understandings. This Agreement may not be amended except in writing signed by both parties.
8. Waiver
The failure to exercise any right provided in this Agreement shall not be a waiver of prior or subsequent rights.
9. Mutual Agreement
Both parties hereby agree to the terms and conditions outlined in this Agreement.
-
Employees Code of Conduct in DDM Group
Introduction
At DDM Group, we are committed to maintaining the highest standards of integrity, professionalism, and ethical behavior in all of our business activities. Our Code of Conduct serves as a guide for all employees, outlining the principles and values that underpin our corporate culture and decision-making processes. By adhering to these guidelines, we ensure a respectful, fair, and compliant work environment that fosters trust and collaboration. This Code of Conduct (
v20250108
) applies to all employees, contractors, and stakeholders, and we expect everyone to embrace and uphold these standards in their daily actions and interactions.
No Part-Time or Double Job During Office Hours
Employees are expected to dedicate their full attention and effort to their responsibilities and duties during office hours. To ensure optimal performance and commitment, employees are not permitted to engage in part-time or double jobs during their designated working hours with the company. This policy is in place to prevent conflicts of interest, minimize distractions, and maintain a high level of productivity and focus within our organization.
Any employee found to be working another job during office hours will be subject to disciplinary action, up to and including termination of employment. We encourage employees to discuss any potential conflicts with their manager and to seek approval before taking on additional employment outside of regular working hours.
Non-Disclosure Agreement (NDA) Requirement
We recognize the importance of safeguarding our confidential and proprietary information. To ensure the protection of sensitive data and maintain the integrity of the business operations of both DDM Group and our clients, all employees are required to sign a Non-Disclosure Agreement (NDA) upon commencement of their employment. This agreement outlines the obligations of employees to maintain the confidentiality of all information obtained during their tenure with the company. Employees must not disclose, share, or use any confidential information for personal gain or for the benefit of any third party, both during and after their employment with DDM Group. Compliance with this policy is mandatory, and any breach of the NDA will result in disciplinary action, up to and including termination of employment.
Use of Generative AI Tools for Creativity
We acknowledge the potential of generative AI tools to enhance creativity, productivity, and innovation within our organization. However, it is imperative to use these tools responsibly and ethically. The following guidelines are established to ensure proper use of generative AI tools:
- Accuracy and Verification: Employees must verify the accuracy of the content generated by AI tools and ensure it aligns with our company’s standards and values. Any factual information must be cross-checked for correctness.
- Originality and Plagiarism: Content generated by AI tools should be original and not infringe on the intellectual property rights of others. Employees must avoid plagiarism by ensuring proper attribution and avoiding the use of copyrighted material without permission.
- Transparency: Employees should be transparent about the use of AI tools in their work. This includes disclosing when AI-generated content is used and clearly distinguishing it from human-generated content.
- Ethical Use: AI tools should be used ethically and responsibly. Employees must avoid using AI tools to create or disseminate harmful, misleading, or inappropriate content.
- Human Oversight: Generative AI tools should complement, not replace, human judgment and creativity. Employees are responsible for reviewing and refining AI-generated content to ensure it meets quality standards and aligns with the company’s objectives.
- Compliance with Policies: The use of AI tools must comply with all applicable company policies, industry regulations, and legal requirements.
Allowed Generative AI Used Cased
- Generative AI Is requested to apply as per Instruction
- Grammatical correction or rephrasing sentence / paragraph written or edited by human.
- Graphical Processing.
- Reference , Idea and directional framework of the Task.
- Query on the answer of anything.
Prohibited Generative AI Used Case
- Comment after reading.
- Generative AI is explicitly prohibited as per instruction.
- Diretly copy and paste the answer directly from the Generative AI tools in no-brain and without any human comprehension or human modification.
- Task explicitly mentioned to use human creativity
Failure to adhere to these guidelines may result in disciplinary action. By following these principles, we can leverage the capabilities of generative AI tools while maintaining the integrity and ethical standards of our organization.
Code of Conduct for Remote Work
We are committed to maintaining high standards of professionalism, productivity, and ethical behavior, even when working remotely. The following guidelines are designed to ensure a seamless and effective remote working environment for all employees.
- Punctuality and Attendance: Employees are expected to adhere to their scheduled working hours and be available during core business hours. They should attend virtual meetings and appointments on time, and promptly inform their managers of any deviations from their work schedule.
Examples of scenario that should report to their supervisors
- Personal illness or injury.
- Medical appointment.
- Family emergency.
- Home emergency.
- Religious observances.
- Working equipments out of orders / being stolen / being damaged.
- Electricity outrage
- Internet connection inavailability
- Ad-hoc personal leave
- Public holidays of your country.
Employees are required to promptly report to their supervisors in the event of any unforeseen circumstances that prevent them from fulfilling their work duties. In case anyone did not inform his/her supervisor in advance, and did not show up within 2 hours after his/her supervisor contacted him/her, a hearing session will be provided to him/her for self-dense afterwards. If the employee fails to provide strong reasons for their absence, the penalty may include disciplinary action, up to and including termination of the employment contract.
- Integrity: Employees must demonstrate integrity in all their remote work activities. This includes being honest about their work hours, accurately reporting their progress, and delivering high-quality work. Any form of dishonesty or unethical behavior is strictly prohibited.
- Professional Conduct: Employees should maintain the same level of professionalism as they would in the office. This includes dressing appropriately for video calls, using professional language, and treating colleagues with respect.
- Communication: Clear and consistent communication is crucial in a remote work setting. Employees should regularly check in with their managers, respond promptly to messages and emails, and participate actively in virtual meetings.
- Data Security: Employees must ensure the security of company data while working remotely. This includes using secure networks, encrypting sensitive information, and adhering to all company data protection policies.
- Work Environment: Employees should set up a dedicated, comfortable, and distraction-free workspace to facilitate productivity. They should ensure that their work environment complies with health and safety regulations.
- Accountability: Employees are responsible for managing their time effectively and meeting performance expectations. They should use productivity tools and techniques to stay organized and focused on their tasks.
- Work-Life Balance: While working from home offers flexibility, employees should establish clear boundaries between work and personal life to maintain a healthy balance. Taking regular breaks of reasonable duration and adhering to set working hours is encouraged and allowed. This approach helps prevent burnout, promotes mental well-being, and ensures that employees remain productive and focused during their working hours. It is important for employees to manage their time effectively and avoid letting work encroach on their personal life. Employees should also communicate with their supervisor to ensure alignment on work schedules and expectations.
Conclusion
The Code of Conduct at DDM Group embodies the values and principles that guide our actions and decisions. By adhering to these standards, we foster a respectful, ethical, and productive work environment. Each employee’s commitment to these guidelines is essential to maintaining the trust and integrity of our organization. We encourage all employees to uphold these standards in their daily interactions and to seek guidance when needed. Together, we can create a positive and supportive workplace that reflects our shared dedication to excellence and ethical behavior.
-
VPN Installation
Definition
VPN
A VPN (Virtual Private Network) is a technology that creates a secure and encrypted connection over a less secure network, such as the internet. VPNs are commonly used to protect privacy, ensure online security, and access restricted content.
Imagine two fortified castles, each representing a VPS, located in different kingdoms. These castles are well-guarded and full of valuable treasures (your data). To communicate securely and share their treasures, they build a secret underground tunnel that spans the distance between them. This tunnel is heavily fortified, ensuring that no one outside the castles can detect its existence or tamper with the messages being passed through.
The VPN acts as this hidden, secure tunnel, allowing the two castles (VPSs) to exchange information safely and privately, away from the prying eyes of bandits (hackers) and enemy spies (cyber threats). Inside the tunnel, the messages travel swiftly and securely, ensuring that the valuable data remains protected during the journey between the two fortresses.
VPN Installer
In normal daily conversation, the VPN is most likely referring to the VPN Installer – A Software or APP which you can install into your laptop or Mobile device such that you connect to the VPN Service Provider. Therefore, VPN Installer or VPN is used interchangeably, even though there are actually referring to different underlying objects.
What Problem Patterns a VPN Solves
Geo-Restrictions and Censorship
Limitation of VPN
Step By Step Guidelne – VPN Installation
Windows
Mac
Android/iOS
Step By Step Guideline – VPN Application