Understanding workflows and job assignment

What is a joblist and how can they be created and edited? How do you ensure the right person gets the job?

Project structure

In order for jobs to be attached to the right part of a project, a structure of "nodes" is created automatically with the following hierarchy. 

All Plint workflow logic takes these nodes into account, whether you are manually attaching a job to one of these nodes or if you are applying a joblist template to create a thousand jobs automatically. 

Please note that parts can have labels and other additional information which can be used to clarify their use, such as an episode name or an identifier string or number for matching against filenames or external systems. 

Simple sample structure

A three-part project with three target languages would result in the following structure. Note that for each part, all target languages are repeated. 


Example joblist showing how Jobs (in white) are linked to the various Nodes (in gray) of the project structure. Jobs related to source media (which are relevant for all languages) are linked directly to the part, and language-specific work is linked to individual languages.

image-1566480704207.png

Jobs and joblists

Plint revolves around "things that need to be done". A thing that needs to be done is called a Job in Plint. Jobs can be completed in different ways (from just clicking "Done" to changing status after using the online editor to translate a feature film), but they all have the following in common:


A typical joblist

2022-03-02-11_20_25-Tank-full-of-sharks---Plint.png

A joblist in "Tree" view, showing interdependencies. The "Verify media" job cannot start until "Media upload" is Done, and so on. 

plint_joblist_tree_view.png

Creating joblists with joblist templates

This chapter explains the general logic of joblist templates. For a detailed walkthrough of a sample joblist template, go here:

A joblist in Plint may span hundreds of jobs that are to be completed sequentially. These lists can be created manually, but in most cases that would be way too tedious and time-consuming. This is where Joblist templates come in. They are arguably the most complex feature in Plint, but once mastered also the most powerful. In essence, they consist of a set of rules dictating:

When correctly set up, joblist templates can add a thousand jobs in a matter of seconds. Any number of Joblist templates can be created, but it’s a good idea to try to keep them as general as possible and use tags and other project data to trigger differences. 


You need this:

1) A correctly set up project

Since Joblist templates rely on project data, the project itself should be in order first.

This typically means:

2) A Joblist template tailored for the project type in question

The Basic rules of template rules

a) Joblist templates work with nodes

As explained here

b) Rules are general

Instead of specifying, for example, what languages to add jobs to, you specify types of target languages, for example the "First" language, or those with a certain tag. Or just parts, for that matter.

Instead of specifying which user is to do a certain job, you specify criteria. When applying the template, the system looks for user matching those criteria. These can be simple criteria, like “Current Project manager” or advanced combinations of factors.

c) Rules contain job info

Any information that can be set for a single job, can be set for a rule. This will make the jobs created by the rule inherit all its properties. Everything from basic job type to advanced settings for the Online Editor.

d) Rules are applied in the order they appear in the list

Simply put: order the rules in the chronology you want for the workflow. When you apply a Joblist template the rules will be applied one by one, going through all the project nodes and looking for the right place to act/add. You can reorder rules by dragging and dropping them.

(Make sure to adjust the Most recently created by option under Select parent job if needed.)
Information on which rule created a job is saved with the job, and can be used by other rules to find the correct parent job.

e) Joblist templates can be copied and tested

The best way to understand them is use them. You can easily duplicate a functioning template and modify it, without destroying the original. And after applying a template to a project, you can use Project milestones to remove all the recently added jobs if things didn’t turn out the way you expected.

Reapplying joblist templates to a project

If you run a joblist template more than once on an existing project/joblist, it will do two things:

What it won't do

 

Joblist templates: a detailed guide

For a presentation of the general logic of joblist templates, go here.

The following is a detailed walkthrough of a complete, generic joblist template. The template in question can be found in a default installation of Plint, under Tools & Data / Joblist templates. A project like the one described here would work as a test subject. 

The rules list

Each rule in a joblist template can create one or more jobs. When you apply it to a project, the rules will be triggered in the order they are arranged in the list. The list typically (but not necessarily) follows the chronology of the project steps. The rules can be dragged and dropped to change the order. 

However, as you will see, all rules are not necessarily applied to a project. It depends on project or language settings. This allows you to maintain a limited number of joblist templates and use project data to fine tune the results. 

joblist_templates_01_list.png

Rule 1 – Media upload

The goal in this case to add a "Media upload" job, which will launch the rest of the workflow. We'll also use the first rule to explain all the panels. 

joblist_templates_02_media_upload.png

Rule 2 - Verify media

The purpose of the second job is to make sure the converted video is correctly converted for online editing, including dependencies such as audio wave forms and shot change markers. This being a manual workflow, the job is done by the Project manager by simply opening Plint Subtitler, where the video will load automatically. Like the Media upload job above, it will be added to all Parts and assigned to the Project manager, but there are some major differences:

joblist_templates_03_verify_media.png

Rule 3 - Subtitle template creation

There are a few new concepts introduced in the next step. The goal is to create a timed subtitling template which will be used to facilitate translation into a number of additional languages. This first step is done for the "First" language, as explained below. 

joblist_templates_04_template.png

Rule 4 - Subtitle template proofing

Once the template is created, it will be reviewed by the Project manager to ensure no errors are inherited down to all the subsequent languages. This is of course done in the Online editor. 

joblist_templates_05_template_proofing.png

joblist_templates_06_proofing-type.png

Rule 5 - Subtitling from a template

Here is where the work from the Template creation steps pay off. 

joblist_templates_07_Subtitling.png

joblist_templates_08_load_template_limit.png

Rule 6 - Subtitling proofing

Just like the timed template, the translated subtitles require proofing. The options should be familiar by now. 

joblist_templates_09_subt_proofing.png

Rule 7 - Additional proofing?

This rule is conditional; it will only be applied for certain languages, the ones with a specific tag. This tag would be added to the target language for the project and in this case tells the joblist template that the language requires additional work.

joblist_templates_10_extra_QC_lang_tag.png

Rule 8 - Client verification?

Another conditional rule, this one using a tag to the main project data. If found, extra jobs will be added to all languages.
Explanation: the jobs are added to the language nodes, but only if the project has the tag. 

The assignee here is the the Client contact. There can only be one of these for a project, so the selection logic is simple. 

joblist_templates_11_client_review.png

Rule 9 - Render and delivery

The final job in this example is also a manual one. Using the localizations created (and proofed) using the online tools, the Project manager creates deliverables and ensures they end up in the right place. 

The Delivery method is the simple one: "Report". This simply places a button on the Dashboard which the assignee simply clicks to change status to "Done" and thus report that this step is completed. 

joblist_templates_12_render_and_deliver.png

Summary

The above examples are just this: examples. They are meant to provide ideas based on real-life workflows. Workflows can be even simpler, or much more advanced. The best way to learn these tools is to try them out. 

 

 

Batch editing joblists

Once a joblist is created, powerful batch editing tools allow you to apply changes to multiple jobs. Any setting you can apply to a job can be applied to many. With a joblist for a project open, select "Batch edit" to see the options. 


Entering batch edit mode from a joblist

2022-08-04 16_45_08-KERNEL-1164_ MP4 and mp4 – Plint.png

Batch editing in "normal" mode: first select which jobs to affect.

image-1581071009089.png

Select what to change. Fields and options left alone will remain unaffected. Confirm by clicking "Batch". 

2022-08-04 16_46_39-Batch edit on KERNEL-1164_ MP4 and mp4 – Plint.png


Resources / People

In order to assign work, you need users with the right skills. Information about user expertise is managed under People and can be used as automatic assignment criteria

The most common login type in Plint is typically a Resource, as in the example below. These are the users who perform individual jobs without needing access to the complete project. In short, they only see what is relevant to complete a certain job. However, Client, Manager and Workbench users can also be assigned jobs based on the same properties and data.

The People edit forms

Like Projects, People can be created or edited using one of two forms. The simple form shown below is often sufficient, and includes:

Note that the jobs determine which requirements are relevant. Sometimes, only the right Job type is needed to be eligible for a job. This means that there is no risk of adding "too much information" about the users themselves. On the contrary.  

people_edit_form.png


 

 

 

 

Assigning work to the right person

A key aspect of workflow management in Plint is ensuring that the minimal amount of time is spent assigning work to the right person or vendor. To this end, there is an array of options called "Job assignment criteria", all based on the concept "match user data with job data". In short, users are categorised with different data, which can be matched against data from the job, or the whole project. 

A simple example might be: For all subtitling jobs in Project A, automatically select users who have the same target language as well as the job type "Subtitling".

A more refined example might include the requirement that the users also have the same genre keyword as the project and perhaps a special tag

These criteria, like all job options, can be configured for individual jobs, batch edited for multiple jobs and pre-set for the jobs that are created using joblist templates. 

Available criteria

Prioritising matching users

If multiple matching users are found, the Priority setting on user level will automatically come into play, selecting the user with the lowest value first. Tags can also be used to prioritise users. These settings create a "soft" filter that determines who is selected first, but without excluding others completely. Others will still be available when criteria are applied (see below). 

Avoiding incorrect assignment with Conflicting job types

[New: Nov 2024]

In order to avoid a situation where the same user is assigned, for example, both Subtitling and Proofing on the same file, you can use the Conflicting jobs feature.

Applying the criteria in practice

There are several ways these criteria are applied. The most obvious way is that the dropdown "Assigned to" is filtered in real time as criteria are added or removed from a single job in edit mode (see picture below). The list here always reflects which users match all the requirements. 

The criteria will determine which jobs are shown to a user in the Shark tank (if this function is enabled), and which ones will be notified about available jobs. 

If a job has the "User can reassign" option, the criteria will decide who the job can be reassigned to by the current user. 

When a joblist template is applied, the settings for the created jobs can automatically be used to pre-assign users. The used criteria will also be stored along with the job, for future reference and use. 

The great exception: client company excludes users from work for other clients

There is one major factor that will trump all criteria: if a user is linked to a client company, they will not be available for jobs on project for other companies. Linking a user to a Client company should, in short, only be used where suitable: typically when a major client wants to ensure that an in-house resource of theirs is assigned certain jobs in workflows on projects for them. 

Overriding criteria

Anyone with editing access to jobs (such as a project manager fine-tuning a project) can always assign basically anyone, by simply searching on user name in the "Name search" dropdown. This will automatically ignore all other rules, even the "Client company" rule. 


The assignment rules as shown when editing a single job. All criteria that are available for a specific job can also be set in a joblist templates, ensuring that all jobs in a certain workflow follow the same rules. 

image-1566477149022.png

Assigning work using Skill sets

In order to provide more precision when assigning users to jobs, Skill sets were introduced in Plint Core in late 2022.

How it works

Skill sets are a combination of Source language, Target language and Job type. These criteria have always been available as separate properties when matching people to jobs, but the standard implementation is a "mix-and-match" solution where these properties can be combined freely. 

Using Standard criteria

User A has two target languages, two source languages and three job types. This makes for twelve possible combinations. There is no way to specify that User A can only do a certain job type in a specific language combination. 

Using Skill sets

With Skill sets, you specify a combination of these three criteria, e.g. "Subtitling into Swedish from English". When a job requires the user to match all three criteria, the user needs a skill set with all three. 

Example of user with four skill sets. The fourth one has English as the target language. With standard data, it would be impossible to add English for this specific job type without also making the user eligible for other job types into English. 

image-1686126134519.21.21.png

How to activate Skill sets

This is done on project level, using the "Assignment logic" dropdown. Setting this to "Skill sets" will affect all jobs on the project with criteria which include Source language, Target language and Job type.  

image-1686122255125.44.01.png

How to add Skill sets to users

This is done on the Languages tab when editing user information. 

image-1686126188030.21.56.png

Applying criteria with Skill sets

As always, the rules dictating who can do a certain job reside on Job level. In the example below, eligible users would need a skill set with the same Job type and Target language as the job. Note that this job does not include Source language among the criteria. This is perfectly possible and allows you to determine how specific you want to be.  

image-1686125751129.15.33.png

Finding people based on Skill sets

When filtering users under People, select the "Skill sets" option and set it to Yes. This will affect three other filter criteria: Source language, Target language and User job type. Searching for this kind of data will now be confined to Skill sets. 

Please note that you cannot search for multiple languages or job types when using the Skill sets option. 

The logic is the same as when you apply the assignment criteria: omit a field to make a "wildcard" search. For example, search only on Target language and User job type. This will ignore the Source language factor and thus give you more results.  

image-1686125927113.18.26.png


   


The Shark tank / a.k.a. Job tank

When several users may be right for a Job and your main concern is just to get it done, you can "throw the job in the Shark tank". This is a setting on job level that means that any eligible user can "grab it". It works like this (using a single job as example):

assignment_settings.png

That's it. Now all matching users can see the job and self-assign it. This will effectively remove it from the Shark tank for all other users, since only unassigned jobs are shown here. 

From the user's point of view it looks like this (more info here): 

image-1562937651488.png

These settings can of course also be batch edited or applied right from the start using Joblist templates


Job tank 2.0 (API)

As of 2023, there is also API support for the Job tank, but this implementation works somewhat differently from the classic job tank:

(Please note that the Job tank tab on the classic Plint Dashboard still uses the real-time logic, as described above.)


Announcing job tank jobs from the joblist

Screenshot 2023-05-30 at 13.26.51.png

Screenshot 2023-05-30 at 13.26.58.png

Filtering and batch deleting job offers under Tools & Data / Job tank

Screenshot 2023-05-30 at 13.27.31.png

Job visibility logic

The Dashboard shows jobs that are assigned to the currently logged in user. This is true for any user type. The following logic is useful to understand. 

Preliminary jobs 

A job may be assigned and ready for work but set to Preliminary. In this case, it will not be visible to the assigned user. The purpose is to let a project manager verify and fine-tune all job assignments before requesting job confirmations. 


Dashboard of a Resource user showing two jobs: one which is ready for work and three jobs that needs to be confirmed. 

2020-03-03-12_18_43-Dashboard---Plint-Demo.png




Quicklinks (accessing a job without logging in)

There are times when you need to outsource a job to someone who is not a registered user in the system. This can be accomplished with Quicklinks, an additional feature only available for online editing jobs. 

Please note that the link only works for this specific job and will not include access to the Dashboard or even the Job information page. All information necessary to complete the job needs to be available in the editor (for example in the form of the job description) or made available through other means. 

From the job itself

2022-07-01 16_32_48-Job – Plint.png   

Using the function from within Plint Subtitler

2022-07-01 16_37_48-Verify media – Project A sample project - NuTxT-Web.png  2022-07-01 16_34_15-Verify media – Project A sample project - NuTxT-Web.png

From the joblist

quicklinks_1.png quicklinks_2.png