Your cart is currently empty!
Category: Knowledge Base
-
bGraph for Business Process Management
Introduction
While in article Build a Business Process Management System – Stage of System Building we have defined that the 1st stage of building a system is Modeling, in article Build a Business Process Management System – BFs-WAITER Pivot Table we have further named the content or directions that we should included in the Modeling stage as BFs-WAITER.
No matter how comprehensive the model can reflect the intricacies of the real world, we should have a tool to effectively transform the model to an executable system with a human interface, namely bGraph in Diamond Digital Marketing Group. Before we dive into the functionality of the bGraph, in order to sharpen the effectiveness of the it, it is always a good practice to enumerate the problem patterns that we encountered when using traditional tools.
Problem Patterns in Modeling Stage of BPM Building
Polymorphism in communication
In the very beginning of a Modeling Stage, the Business Analyst (or Consultant, whatever you name it) will conduct an interview to the stakeholders of the target company in order to collect the information relating to the target business process. Any kind of documentation collection, verbal description, or even on front line field observation is carried out by the Business Analyst to be familiar with the target business process.
After the Business Analyst finished the interview, he/she should spend time on organising the data into information and pass it to the System Analyst (and his/her programmer team) and bring the BPM System Building stage to Stage 2 (Standardization).
However, different target businesses, different Business Analysts or different clients, will always use different wording or language to describe the same concept. For example, while the client will refer to the product they are selling as Product, Business Analyst will name the Product as SKU. Another example is that the wording Last Name is a synonym of Surname, which can be used interchangeably.
On the contrary, Business Analyst and Client will use the same wording to refer to different business concepts. One of a typical example is the term “Client“. In a manufacturing industrial chain, no matter if you are the Manufacturer, Distributor or the Retailer ,you will always name your downstream as “Client”. During a BPM System Interview, a Business Analyst needs to pay double attention to figure out who (Manufacturer, Distributor or Retailer) the term “Client” is referred to. As a professional Business Analyst, we will name them as the Brand, the Merchant , the Retailer and the End User respectively in order to uniquely identify them.
This polymorphism in communication not only occurs between the Client and Business Analyst, but also the Business Analyst and the Programmers. The more different wordings are used , the more resistance will be derived during the communication.
Therefore , a communication protocol which can synchronise the wording is necessary.
Duplicated Analysis Wordload with Different Clients
No matter which industry , country or business model the client is in, a CRM system will always share some common properties and features.
For example, the client will expect a standard CRM to have a
Contact
module which at least hasFirst Name
andLast Name
as the properties of the objectContact
.As a Business Analyst , in a BPM System Interview, you may not want to waste both you and your client’s time to go through what common properties a CRM System should have, which those common properties may properly went through many times in the previous similar project.
On top of it, it is a must for a CRM to have a
Country
field for the users to fill in the nationality of the client. As a Business Analyst, you may not want to go through the comprehensive list of countries again and again in different projects.In this sense, it will be a great time saver if we can have a CRM System Building Template which comprises all the common properties of a standard CRM.
No Trigger On Searching Similar Functions in Previous Project.
Even though you (as a Business Analyst) are driven by public-spiritedness that you already encapsulated a comprehensive Country list as an array for next project use, how can the other Business Analyst , or even the future yourself, remember or realize that you have already created the Country List before?
Even worse, the concept
Country
can and will occur not only in CRM , but also almost any kinds of system like Project Management System, Eshop or Booking system. What will make (i.e. trigger) the programmer who is going to build a Booking system think that he can refer to the previously built CRM system to find out the Country List? If he/she cannot realize that a Country list already existed in some other project blueprint , he/she may probably will spend time to do it again, what duplicated the cost of development.If the next Business Analyst does not realize that you have already done this before, he will not search for the Country List. There is always a gap between searching for the solution and the solution itself.
Unique Wordload with Different Client
Although there are many properties in common in a CRM system, there are different properties too. For example, while a trading company may expect a
Contact
is defined as a Company or Organisation which should haveCompany Name
field, a Beauty salon may expect all theirContact
is an individual which should haveFirst Name
andLast Name
field.It is necessary for us (Diamond Digital Marketing Group) to have a system which stores all the common and differences of building different systems for different clients.
Streaming (vs Batch) BPM Building Process
To continue the example of CRM system building, as a Business Analyst, even though you have carefully listened to your client and clearly defined the common and different fields of the target CRM system after the 1st interview, it is very unlikely that you can hit a home run to gather 100% of the expected features and properties of the target CRM system in the 1st interview. While a system building is a lengthy project which always lasts for months or even years, the business environment is probably changed from time to time during the target CRM system building period, which will also affect the features and properties of the target CRM system.
Imagine a scenario as below:
In Day 1 the Business Analyst suggested the field
First Name
andLast Name
to be included in theContact
Module of the target CRM system. In the very next Day 2 , the programmers have already kicked off the program coding workload and created a Table in the Database , as well as theFirst Name
andLast Name
Field in the user interface.However, in Day 3 due to a new Marketing Manager (a “she”) on board from the client side, she perceived that the fields
Maiden Name
andMiddle Name
are common sense and should also be added into theContact
Module. While she passed this request to our Business Analyst, and then our Business Analyst passed this request to the programmers on Day 5 by directly appending 2 New Columns Maiden Name and Middle Name in the CRM system Building Blueprint Spreadsheet.This behavior will make the programmers confused because (if you have paid attention to our story) the programmers had already completed the program coding workload in Day 2, how can they realize that 2 new columns are appended to the CRM system blueprint spreadsheet which they had just brought to coding?
Even though you may suggest that the Business Analyst can notice the programmers after they had done any adjustment in the blueprint spreadsheet, due to the fact that the specification of the blueprint is in fact under a streaming status which can be and will be changed from time to time, it will be impossible for the programmers to build the system based on a ever changing blueprint. Do you expect the programmers to click if there is any modification in the blueprint spreadsheet every 1 hour?
In this sense, a streaming oriented system blueprint is necessary for the communication between the Business Analyst and the Programmers, instead of a traditional system building blueprint which only reflects an instantaneous time spot.
This streaming oriented communication mechanism not only satisfies the modification need during the development status, under a DevOps concept, but also in the future after the system is brought to production due to the fact that the system is a living organism which is dynamic to the ever changing business environment. The traditional Batch (or Versioning) oriented can not satisfy in this sense.
Mobility of the System Building
As an experienced Business Analyst , you can imagine that no matter how you ask your client to submit an expected new field or new feature of a system via a submission form, the client may probably not follow your instruction and simply send that expected new field to you via email or even WhatsApp.
After you receive the request from the client, instead of only simply forwarding the request to the programmer to handle, as a responsible and professional Business Analyst , it is our duty to validate whether or not the new request is a valid request (most of the time the request is invalid).
For example, if the Client complains in the Contact module of a CRM that the field
Sex
is missing in the Form in the user interface, you should first of all go to the project blueprint to check whether the fieldSex
should be included in the blueprint. If theSex
field can be found in the blueprint but not in theForm
in the user interface, then you should contact the programmer to fix it up. But in the real world, most of the time after you conduct the checking, you will realize that the fieldSex
is in fact named asGender
in theForm
in the user interface of theContact
module.Can you imagine this kind of back and forth checking and non productive communication is the main cause of eroding the time on production.
Think about if you are handling 10 BPM system building projects on hand , how can you quickly open a system (if there is any!) in your mobile device to check whether the complaint from one client is valid or not? If the complaint is valid , how can you quickly send an instruction to the programmer to fix the bug, provided that you are not seated in front of the desktop but instead on the way travelling to the next client meeting?
If you find the complaint is valid and is a critical path of the project which if you don’t fix up the bug immediately the error will cascade to the next node of the critical path of the project which in turn derives an irreversible catastro, you cannot afford to notify the programmer after you finished the meeting.
A powerful steaming BPM building system is necessary for catering all the mobility needs of the communication.
-
File Naming Convention
Definition
File – referring to any kinds of formats of computer file. (e.g. JPEG / PNG / PDF)
Naming Convention – referring to the company practice and standard when naming a file.
What Problem Patterns File Naming Convention Solve
Differentiate the Target File from other File
The Function of a File Name is to uniquely identify a specific File from its counterparts. By uniquely naming the File, you can save both you, your teammate and your client HUNDREDS of hours in now and future during:
Communication
The more generic the file name you are naming, the more time in the future you need to spend on adding properties to uniquely identify the target file.
For example, when you want to tell (or type) the client to find the Report in the Email, you can imagine there will be thousands of file names with Report shown in the storage pool. Afterwards, you have to tell the client the Report created on Oct 16 2024, and then a few, and then you keep adding property to describe the file name until there is one and only one result (i.e. unique) show up.
No matter you speak or type, both you and the audience take times. The less you speak or type, the more time you save.
Searching
Same logic , if you can simple telling the client / teammate / future yourself the unique number of the File Name, your (now and future) life will be much more easy.
In fact, the time in Communication and Searching accounts for at least 50% in a working life, while Production time (i.e. the time you really put on creating the output) just accounts for 30%. (the remaining 20% is time or correcting error)
Step By Step on File Naming Convention
Identify the Parameters
For example, If a teammate wants to send a Ads Budget Record to its client, the following parameters should be carried out:
File Name Parameters Description Example Teamwork Task# (TMT) The 8-digit Task# of Teamwork.com1 #42919323 Client Alias The short name you used to mention your client in daily life Nike (instead of Nike Asia Ltd) File Title The topic of the file content SalesReport Version Version in terms of YYYYMMDD 20240525 Status Approval or Production Status Approved The final example outcome will be as below:
#42919323_NikeSalesReport@20240525_Approved
Sytnax
No Spacing
We will trim (i.e. delete) all spacing between each world in the file name. This is because when you are using the system not in UTF-8 encoding system, the file name will use the string
%20
to replace the space. For exampleNike%20Inc
In case you really want to separate 2 words inside the file name, you can put a
_
between the 2 words.Nike_Inc
Pascal Case
Camel Case nikeInc Pascal Case (Default) NikeInc We will pick Pascal Case in DDM Group.
Teamwork Task#
Teamwork Task# is option. It will be applied only if you are working in / for Diamond Digital Marketing Group (DDM)
Don’t forget to add the
#
as the prefix of the file.In the long-run, you can communicate and searching easily by simply inserting the teamwork task# when you are working for the same task in teamwork.com interface.
In case there is no Teamwork Task#, unique ID from any kinds of systems will be an good alternative.
Client Aias
There are quite a few types of name which you can use to mention to your client , for example:
File Title
File title should be semantically describing the content of the file, especially in the image or video files, for example:
NIKE REVOLUTION 7 BLACK Bad Example:
IMAGE_203204242
Good Example:
NIKE_REVOLUTION_7_BLACK
How details should be the file name depends on if whether the description can uniquely identify the file from others.
Version
Do NOT use following words to apply on versioning
Final
– You will never know the file is a final version or not. If your client revised yourFinal
version, your Final Version will becomeFinal Final
, which makes the version naming meaningless.v2
– You / your teammate / future yourself / your client, can NEVER remember what is the previous version number before he/she names the file.Therefore, using the
Date
as the version name will be the most feasbile and easiest way. IfDate
(YYYYMMDD) is not enought to uniquely identify the file because you have modified the file few times in the same day, you can appendTime
at theDate
to make it become YYMMDD_HHMM .
Approval Status
You may need following types of Status to identify the file:
Approval Status – [Approved / Rejected]
Sign Status – [Signed]
Production Status – [Template / Instance]
- Only if you are working with / for Diamond Digital Marketing Group. ↩︎
-
Assign Shopify Collaborator Access Rights
Prerequisite
- Assignee (e.g. an Digital Marketing Agency) decides which Shopify Partner (i.e. its registering email) a/c is used to request for the permission from the Shopify Store Owner.
Collaborator request code
created by Shopify Store Owner.- URL of the Shopify Store
- Agree the
Permission
of the Collaborator Account between Digital Marketing Agency and the Shopify Store Owner. You can find the permission in Shopify Staff Permission article or in the Permission session below.
Step By Step
As an Shopify Store Owner or Admin
- https://shopify.com
Users
Security
Collaborators
Genearte new code
Generate new code Accept request
1
Accept Request
As an Collaborator (Assignee)
https://partners.shopify.com/
Stores
>Add store
Request access to a store
- <<
Store URL
>> - <<
Collaborator request code
>>2 Permission
=Select all
3
Permssions
- General
- Home
- Order
- Manage orders information
- Edit orders
- Apply discounts
- Set payment terms
- Charge vaulted card
- Charge credit card
- Export orders
- Mark order as paid
- Capture payments
- Fulfill and ship
- Buy shipping labels
- Return orders
- Refund orders
- Cancel orders
- Delete orders
- Manage abandoned checkouts
- Draft orders
- Create and edit draft orders
- Apply discounts
- Set payment terms
- Charge credit card
- Charge vaulted card
- Mark draft orders as paid
- Export draft orders
- Delete draft orders
- Create and edit draft orders
- Products
- View product cost
- Create and edit products
- Edit product cost
- Edit product price
- Manage Inventory
- Export products
- Delete products
- Gift cards
- Create and edit
- Deactivate
- Export gift cards
- Customers
- Erase customer personal data
- Request customer data
- Export customers
- Merge customers
- Reports
- Dashboards
- Marketing
- Discounts
- Metaobject definitions
- View definitions
- Create and edit definitions
- Delete definitions
- Metaobject entries
- View entries
- Create and edit entries
- Delete entries
- Manage and install apps and channels
- Add, delete, and access any installed apps or channels
- Approve app charges
- View files
- Create files
- Edit files
- Delete files
- Online store
- Themes
- Edit theme code
- Blog posts and pages
- Search and navigation
- Domains
- Transfer domain to another Shopify store
- Administration
- Manage settings
- Checkout
- Locations
- Edit permissions
- Add and remove staff
- Manage collaborator requests
- External login services
- Revoke access tokens for other users
- View apps developed by staff and collaborators
- Develop apps
- Enable app development
- Manage policies
- Manage taxes settings
- Manage delivery settings
- Finance
- View billing details
- Edit billing payment methods and pay invoices
- Manage plan
- Manage app billing
- View Shopify Payments payouts
- Manage other payment settings
- View billing details
Request access to a store
Status will be
Access pending
until the Shopify Store Owner accept the request.- Requested approved Email4
Shopify Partner Collaborator Account Approved - https://partners.shopify.com
Stores
>Log in
Shopify Partner Collaborator Access Approved
- Do this step after the assignee have sent you request ↩︎
- Ask Shopify Owner to provide to you ↩︎
- ↩︎
- Sent from [email protected] to Collaborator’s Email address. ↩︎
-
Checking Existing Google Tracking Code in a Website
Definition
Google Tracking Code is referring to any kinds of tracking code snippet which is published under Google Digital Asset’s umbrella. Google Digital Assets with tracking code snippet normally covers the Google Analytics, Google Tag Manager, Google Ads and Google Marketing Platform.
What Problem Patterns it solve
Avoid duplication Digital Assets creation
Due to the staff and digital marketing agency turnover, the Google Digital Assets may probably already be created by ex-staff , ex-marketing agency, or even other staff in another department. Due to lack of information system, the created Google Digital Assets may not be known by current digital marketing staff (or even the boss), which leads to a Google Digital Assets duplication on creation. It is therefore suggested to check if there are any Google Digital Assets already created and installed in the website before next creation.
Moreover, the Google Digital Assets should always be linked up with each other. For example, if the GA4 account is already linked up with the Google Ads account, the Google Ads account will malfunction if a totally new GA4 account is used.
Don’t underestimate the consequence of creating a new Google Digital Assets because clients always had no idea whether they already created the Google Digital Assets or not. If you help create the new Digital Assets without checking the existing one, and at the end of the day after the client realises that they already have an existing Google Digital Assets on hand, they will definitely request to consolidate all data into 1 account. It may take double time and effort to investigate and consolidate them into one.
Avoid duplication Digital Assets installation
Occasionally the Google Digital Assets which are not owned by the company and are owned by the digital marketing agency will be also installed in the company’s website. From checking the existing installed checking code we can find out if there are any other Google Digital Assets owned by others that are up and running.
When to check the existing Google Tracking Code
- Before creating a new Google Analytics 4 (GA4) account
- Before installing an existing Google Analytics 4 (GA4) account
- Before creating a new Google Tag Manager (GTM) account
- Before installing an existing Google Tag Manager (GTM) account
- Before creating a new Google Ads account
- Before installing an existing Google Ads account
- Before creating a new Google Marketing Platform account
- Before installing an existing Google Marketing Platform account
Step by Step Guideline on how to check the existing Google Tracking Code in a website.
Prerequisite
Google Chrome Browser Installed
Google Chrome Extension – (Deprecated) Tag Assistant For Conversion Installed
- Visit Google Chrome Web Store
- Search
(Deprecated) Tag Assistant
For Conversion
Add to Chrome
1
Step By Step
- Visit target website in the Google Chrome Browser
(Deprecated) Tag Assistant
For Conversion
- Although in the page it suggested that the extension may soon no longer be supported because it doesn’t follow best practices for Chrome extensions, it still the best and fatest way to check out the Google Tracking Code in a website.
↩︎ - Don’t mix up the Google Ads Account ID (e.g. 424-994-4344) with the Conversion ID (e.g AW-809912345). They are using in different scenario and serving different purpose. You have no way to lookup the Google Ads Account ID to Conversion ID (or vice versa) until you logged into the Google Ads Account for checking. ↩︎
Start
- Modal box shown in the right bottom of the screen.
(Deprecated) Tag Assistant
For Conversion
(press again)
Compared with Step#2 which the Deprecaed tag assistant for conversion Explorer mode is empty , you can now see each Google Tracking Code records shown in the pop up modal.
How to interpret the records inside the Explorer mode
Although the existing Google Tracking Code of different Google Digital Assets are shown, they do not explicitly what the Tracking Code is really referring to. Below are the lookup table which intrepret the result shown in the Explorer mode of the Chrome Extension (Deprecated) Tag Assistant For Conversion Installed.
Digital Assets Type Text shown in (Deprecated) Tag Assistant For Conversion (Example Metric ID) Metrics Name Google Analytics 3 Google Analytics account UA-114848777-1 was found on the page Universal Analytics property ID Google Analytics 4 A Global Site Tag was found with account “G-PSW1MY7HB4” Measurement ID Google Ads A Global Site Tag was found with account “GT-OADWGVWD” Ads Google Tag ID Google Ads A Global Site Tag was found with account “AW-809912345” , OR
Google Ads remarketing event detected for “AW-809912345”Conversion ID2 Google Ads A Google Ads conversion was detected: AW-972720999/EH2jCKeYtLAVPDSU6s8D Conversion ID / Conversion Label Google Tag Manager A Google Tag Manager tag was found with account “GTM-B4CS4G8M” Google Tag Manager Container ID Campaign Manager 360 A Global Site Tag was found with account “DC-4121888” Floodlight Google Tag ID Lookup Table between Google Digital Assets and Metric Name When you see the Metrics ID shown in the Google Chrome Extension – (Deprecated) Tag Assistant For Conversion, although you can sure that there are associated Google Digital Assets installed in the target website, you will have no idea whether these Googe Digital Assets are owned by the website’s owner or it’s digital marketing agency. Depending on the different scenario you should act differently:
If the Google Digital Assets are
- Owned by 3rd party + Client don’t have access rights – Remove the old (existing) Tracking Code of the Google Digital Assets and create a new Digital Assets and install into the target website.
- Owned by 3rd party + Client have access rights – Ask whether the client wants to use the existing one or create a new one.
- Owned by Client + Client have access rights – Use the existing one
- Clients have no idea whether they are owned by the Client, nor do the Client have the access rights – Ask Client to ask ex and current staff. If in turn the login and password cannot be found, the new Digital Assets should be created and installed, and meanwhile remove the old (existing) one.
-
How to Comment in Teamwork.com
Definition
Comment in Teamwork.com can be used to response any Task , SubTask or Milestone by either assignee (i.e. collaborator) or the assignor (i.e. Project Manager) of the Task.
How Comment in Teamwork.com looks like
What Problem Patterns the Comment solved
Accessability
Not only can you use the Teamwork.com interface to place the comment, but also you can place the comment via replying by their mobile phone the comment email sent to the collaborator registered email address, which is good for the collaborator who is not always stuck to the computer.
Task Instruction Optimisation
All the Task Comments will be reviewed by the assignor. In case the assignee had left a feedback in the Task Comment that for some reasons he/she could not execute the task, for example, due to the lack of Login Password Credential provided in the Task Input, the assignor will update the Task Instruction Framework Template such that the same type of Task can be carried out smoothly next time.
In this sense, the Task Comment is acting as a media of nurturing the positive loop of optimising the quality of Task Instruction.
As a Knowledge Repository in DDM’s Group
Knowledge Repository means a knowledge library which stores both the theory and execution experience of carrying out a task. No matter the experience is successful or failure , they are both valuable as a failure experience can eliminate a trial and error testing of a specific task.
While all these theories and experiences are stored in the comment, the Knowledge Repository in DDM Group will crawl the Task comments so that the teammates can refer to this Knowledge Repository when they face the same type of task.
Guideline on how to Comment in Teamwork.com
While you can write whatever content you want in the comment, there are some little tricks for you to communicate well.
Mention a specific Collaborator
Please always mention a specific collaborator that you want him to read the comment, otherwise all the collaborators inside the loop can and will read the comment and they will be disappointed because the comment is irrelevant to some of the collaborators.
You can mention a particular collaborator by simplying typing in the comment box like the example in below:
@Tom
If you want to mention the whole Company, you can type in the comment box like the example in below:
@DDM1
Replying previous Comment
Unfortunately there is no nested comment in teamwork.com. (i.e. you cannot comment the comment). As an alternative, you can create a new comment and refer the previous comment that you want to reply
- Visit the comment that you want to reply
Copy Link
You will copy the link like below:
21835467 is the Task# , while 20415136 is the Comment# (i.e. c=)
- Copy the Comment URL into a new comment
- Press
in the Comment URL
Or alternatively you can simply copy and paste the referring text and add a
as a blockquote so that the reader will understand that the Comment under the quote below will be the reply of the quoted Comment.
Please be reminded that you should NOT blockquote the new comment you just added. You should only blockquote the text in previous commnet. Otherwise , the reader will have no idea on which paragraph is quoted from the previous comment, and which pargraph is newly written by you.
Answering Output Request
If the purpose of leaving the comment is for answering the request from the Output session in the Task Instruction, following rules should be complied:
- The number of answers should always match the number of output requests in the
[Output]
Session. I.e. If there is 2 Output Requests in the[Output]
Session in the Task Instruction, you should always reply 2 answers in the comment.
2 Outputs Request In Output Session - ALWAYS write the Output# (referring to the Output# in the
[Output]
Session in Task Instruction) PAIRING with the associated answer in the comment.2
Output#2
The answer of output#2 is that ……
Comment which can only be read by DDM Group internally
Occasionally you may want to place comment only to your teammate and don’t want your client to read that comment. You can easily do this by
Privacy
>Set Privacy
- Tick (or untick) anyone you want (or not want)
Leave Comment via Email Reply
Sometimes when you cannot access the Teamwork.com interface or you are outside and only have a mobile phone on hand, you can leave the Comment to the task by simply replying the Email sent from Teamwork.com regarding a specific Task.
After you have replied the comment by sending an reply email via your Email Interface, your reply can automatically be shown in the Comment of the associated Task inside the Teamwork.com interface.
Reply the Comment with Cap Screen or Image
Besides attaching image files via File Attachment, you can simply directly copy and paste the cap screen or image into the Comment Box via the Teamwork.com Interface.
DO NOT forget to wait until you can see the uploading bar shows 100% before you press
Save Comment
.
Conclusion
After you have placed the comment , as a good citizen please always type (and only type) the #Task + Comment # (e.g. #28929393c20392733) in the associated Project Whatsapp Group and mention (e.g. @Tom) the recipient that you have already placed a Comment in Teamwork to remind him/her to read the Comment.
Good Practice of the conversation in Whatsapp message on reminding the reipcient will be as below:
@Tom
#28929393c20392733
2024 Sales Report
Please always be reminded that Whatsapp Group is acting as a reminder only. Therefore, only 3 components are supposed to be shown in the reminder Whatsapp Message:
- Group Participant that you want to mention
- #Task + Comment#
- Identifiable Task Topic
Always encourge the participants to check the details via Teamwork.com Interface.
-
Inviting Collaborator to Join Project Management System
Definition
Project Management System
In DDM Group, we will adapt teamwork.com as the Project Management System, which is used by tens of thousands of orangisation in the world.
Whom to Invite
Administrator
Supervisors or Project Managers in DDM Group will be invited as Administrator.
Standard User
Any non Administrator teammates but own an domain email address under DDM Group will be invited as Standard User.
Collaborator
Any Vendor , Partner or Client of DDM Group will be invited as Collaborator
Step by Step – Inviting Collaborator to join Teamwork.com
Invite users
Invite users
- Add details
- Who would you like to invite?
- <<
First Name
>> - <<
Last Name
>> - <<
Email Address
>>
- <<
- Which company should they belong to?
Add a new company
- <<Company Legal Name>>
- <<
Standard user
||Collaborator
>> - Choose projects
- <<
Project Name
>>1 - Send invite
Send invite to one person
2- Wait Inviting User to accept the Email Invitation
- Received Inviation accepted Email.
User has accepted your invitation
Invitation Accepted By User
- Login User Email 3
- Received the Email sent from [email protected].4
Administrator has added you into Teamwork Get Started
5- Start collaborating with your team today
- Role =
Team Member
- Role =
- I would like to receive news about Teamwork products, services, and events.
- By signing up, you agree to the storing of your data. Privacy Statement.
Create a password
Finish Sign up
Teamwork User Invitation Finish Signup - Completed
- Please save the password somewhere safe for future login.
People Configuration
Configuration should be carried out for the
People
(i.e. the User) after thatPeople
is created.- diamonddm.teamwork.com/app/people/people
- <<TEAMMATE_FULLNAME>>
Permissions
Administrator Yes | No Is this user an administrator? Yes Can this user manage task templates? Yes Can this user manage custom fields? No Can this user access the calendar? Yes Give automatic access to all future projects? No Permission Tab Configuration
Standard User or Collaborator Yes | No Is this user an administrator? No Can this user access project templates? No Can this user manage project templates? No Can this user add projects? No Can this user manage task templates? No Can this user manage people and companies? No Can this user manage custom fields? No Can this user access the calendar? Yes Permission Tab Configuration
Preferences
Administrator OR Standard User OR Collaborator Yes | No Receive task/milestone completed emails? Yes Receive ‘Added as a follower’ emails? Yes Play a sound when the user receives a reminder or alert? Yes Receive daily ‘Project Report’ email? No Give automatic access to all future projects? No Use ‘Markdown’ for messages and comments? Yes Show only notifications for items they’re following Yes Receive status update notifications/emails? Yes Alert the user if they forget to notify people when they comment? Yes Enter time log duration in shorthand No Permission Tab Configuration
Teamwork.com APP Installation
For mobility please also install the APP version of the Teamwork.com
Footnotes
- Do NOT tick the Compan Name. Tick the Project Name instead. ↩︎
- An email will be sent from [email protected] to the inviting users. ↩︎
- Email inbox of Inviting User ↩︎
- Email Title = You’ve been added by <<Administrator>> to collaborate on Diamond Digital Marketing (HK) Ltd ↩︎
- Once the user clicked the Get Started button, a new tab of the browser will be openned and the User will be brought to https://diamonddm.teamwork.com/launchpad/login/projects ↩︎
-
Access Rights – DDM Github Profile
Definition
Github
GitHub is a web based platform that provides hosting for software development and version control using Git. It’s widely used for code collaboration, allowing developers to work together on projects, track changes, and manage different versions of their code. GitHub also offers features like project management, code review, and issue tracking, making it a popular choice for both individual developers and large organisations.
DDM Github Profile
DDM Github Profile is the Profile (account) owned by DDM
What Problems Github Solves
Imagine if there are 5 people is coding for a same webpage in the same time directly in the production environmentⓘ.
Software Development Collaboration
Prerequisite of Assigning Access Rights of Github Personal
- The assignee (i.e. Collaborator) should have their
Github Personal Profile Name
ready. For example
https://github.com/<<GITHUB_PERSONAL_PROFILE_NAME>>
Step By Step – Assigning Access Rights of Github Personal Repository
As a Owner
- GitHub
Repositories
- <<TARGET_REPOSITORIES>>
Settings
>General
>Access
Collaborators
>Manage access
Add people
- <<GITHUB_PERSONAL_PROFILE_NAME>>
Add
- The assignee (i.e. Collaborator) should have their