decídalo
Documentation
Ask AI
Search Results for

    Show/Hide Table of Contents

    CV Word Generation

    To define a Word template for decídalo we use Word’s Mail Merge feature. Your template will consist of several fields and sections where placeholder content should be replaced by the real content of the consultant to use the CV. Those fields and sections need to be identified and replaced by the appropriate merge fields, which are in fact technical placeholders.

    Adding Merge Fields to a CV Template

    To display merge fields in a word document, press ALT + F9. If you do this with a template that already has merge fields in it (e.g. the downloadable DecidaloTemplate1_English.docx used in the application), the merge fields will be shown in the document as follows:

    Word template with field codes visible, showing merge fields for name, position, top skills and summary

    Each merge field is enclosed by curly brackets and starts with the text “MERGEFIELD” followed by the field name, e.g. “CandidateName”, the identifier of the data field to enter at this point, and optionally attributes like “* MERGEFORMAT” that additionally describe the appearance of the field in the template. All merge fields should be contained between "{MERGEFIELD RangeStart:CV}" and "{MERGEFIELD RangeEnd:CV}"

    Merge fields enclosed by the CV range start and end fields

    To add a merge field you navigate with the cursor to the desired place in the document and either press Ctrl + F9 or more comfortably click through the menu and select Insert > Quick Parts > Field… and in the opening popup “MergeField”:

    Word Insert tab with the Quick Parts menu open and the Field option highlighted

    Word Field dialog with MergeField selected, a field name entered and preserve formatting checked

    Here you can enter the name of the merge field. Usually, you want to make sure that the checkbox to preserve formatting is checked. This will add the MERGEFORMAT attribute to your merge field and ensures that the text format of the merged content matches the format of the merge-field .

    The Different Merge Fields

    Every data field that can be displayed on the CV is represented by a merge field name. Some data fields are of a nested nature like e.g., a collection of projects: Your CV usually includes a list of several projects that all have re-occurring fields like the project name or the duration of the project. Nested fields are organized in “ranges”.

    The following table shows all the fields currently available.

    Field Description
    CandidateName The name of the candidate the CV is created for.
    CandidatePosition The position of the candidate.
    HighestEducation The highest education of the candidate.
    YearOfBirth The year when the candidate was born.
    Nationality The nationality of the candidate.
    Summary A text summary on the CV.
    CreatorEmail The email of the person who created the CV (for contact information).
    CreatorAddressCity The location of the person who created the CV (for contact information).
    CreatorName The name of the person who created the CV.
    CreatorPosition The position of the person who created the CV.
    CreatorMobilePhoneNumber The mobile phone number of the person who created the CV.
    CreatorOfficePhoneNumber The office phone number of the person who created the CV.
    CareerLevel The career level of the candidate.
    DeliveryModel The engagement location model for service delivery (onshore, nearshore, offshore).
    BusinessUnit The organizational division the employee belongs to (e.g., Sales, Consulting).
    PracticeArea The specific area of expertise or focus within the organization (e.g., Project Management, IT Security).
    EmployeeType The type of employment for the user within the organization (e.g., Internal, External).
    CostCenter The organizational unit or budget code that the employee’s costs are charged to (e.g., marketing, R&D, operations).
    LegalEntity The registered company or legal entity the employee belongs to (e.g., Main Company).
    ServiceLine The specific line of service provided by the employee within the organization (e.g., Consulting, IT Services, Marketing & Advertising).
    Team The specific team the employee is assigned to within the organization.
    TeamManager The manager of the team the employee belongs to.
    EntryDate The date when the employee joined the organization.
    ExitDate The date when the employee left or is planned to leave the organization.
    WeeklyWorkingHours The total number of hours the employee is expected to work per week (e.g., 40).
    EmployeeID A unique identifier for the employee, typically used across systems (e.g., external user ID).
    HolidayCalendar The calendar that defines the employee’s official holidays and non-working days, as it applies on the day the CV is created.
    Country The country where the employee is based or originates from.
    Roles (Range) The section where the roles are shown. (How to implement ranges)
        • Name The name of a single role.
    SkillSections (Range) The section where all skills, organized in categories, are listed. (How to define the categorization level, how to implement ranges)
        • Name The name of the skill section.
        • Skills (Range) A sub-section for a single skill topic. (How to implement ranges)
            ◦ Name The skill name.
            ◦ LevelNumber A score describing the candidate's skill level represented by an image (How to implement level images).
    SkillSection_<Skill_Section_Name> (Range) A section to display skills of a specific category or sub-category (How to specify the displayed category, how to implement ranges)
          ◦ Name The skill name.
          ◦ LevelNumber A score describing the candidate's skill level represented by an image (How to implement level images).
    SkillSection_<Skill_Section_Name>_GroupByLevelNumber (Range) A section to display skills of a specific category or sub-category grouped by skill level number (How to group by level number, how to implement ranges)
        • LevelNumber The proficiency level number for this group. Empty for skills without an assigned level(How to implement level images)
        • Skills (Range) The skills belonging to this skill group. (How to implement ranges)
            ◦ Name The skill name.
            ◦ LevelNumber A score describing the candidate's skill level represented by an image (How to implement level images).
    SkillCategory_<Category_Name>_GroupBySubCategory (Range) A section to display skills of a top-level category, grouped by its subcategories (How to group by subcategory, how to implement ranges)
        • SubCategoryName The name of the subcategory.
        • Skills (Range) The skills belonging to this subcategory. (How to implement ranges)
            ◦ Name The skill name.
            ◦ LevelNumber A score describing the candidate's skill level represented by an image (How to implement level images).
    CustomSkillSection_<Name_Of_Your_Section> (Range) A section to display skills of a template-specific category (or grouped by level) (How to work with custom sections, how to implement ranges)
          ◦ Name The skill name.
          ◦ LevelNumber A score describing the candidate's skill level represented by an image (How to implement level images).
    Certificates (Range) The section where all certificates are listed. (How to implement ranges)
        • Name The certificate name.
        • IssuingOrganisation The issuing organisation linked to the certificates.
        • IssueMonth The issue month of the certificate.
        • IssueYear The issue year of the certificate.
        • ExpirationMonth The expiration month of the certificate.
        • ExpirationYear The expiration year of the certificate.
        • CredentialUrl The credential URL of the certificate.
    TopCertificates (Range) Certificates that are particularly relevant for this CV. (How to implement ranges)
        • Name The certificate name.
        • IssuingOrganisation The issuing organisation linked to the certificates.
        • IssueMonth The issue month of the certificate.
        • IssueYear The issue year of the certificate.
        • ExpirationMonth The expiration month of the certificate.
        • ExpirationYear The expiration year of the certificate.
        • CredentialUrl The credential URL of the certificate.
    TopProjects (Range) Projects that are particularly relevant for this CV. Typically used for a highlighted display on the first page. (How to implement ranges)
        • ProjectName The name of a single project.
        • ProjectID The ID of the project reference linked to this project. Empty if the project history entry was entered manually without a linked project reference.
        • ProjectPosition The candidate’s position in the project.
        • ProjectDescription A description of the project.
        • PersonalProjectDescription The candidate’s own description of the project. Hidden by default; enable it under Administration > Entity Customization. No central fallback.
        • Contribution A text describing the candidate’s contribution to the project.
        • Duration The duration of the project. (Date and duration options)
        • StartDate The start date of the project. (Date and duration options)
        • EndDate The end date of the project. (Date and duration options)
        • Company The name of the company the project is associated with. If the customer data is hidden on the project, see Project Anonymization for the value used.
        • CompanyIndustry The industry the project is associated with.
        • CompanyRegisteredName The officially registered name of the company the project is associated with.
        • CompanyAlias An alias of the company the project is associated with. May be used for anonymization purposes.
        • ProjectLocation The location where the project was carried out (city / country / site). Sourced from the Location field on the project reference.
        • Skills (Range) The skills used in this project. (How to implement ranges)
            ◦ Name The skill name.
    Projects (Range) The section where the project history is shown. (How to implement ranges)
        • ProjectName The name of a single project.
        • ProjectID The ID of the project reference linked to this project. Empty if the project history entry was entered manually without a linked project reference.
        • ProjectPosition The candidate’s position in the project.
        • ProjectDescription A description of the project.
        • PersonalProjectDescription The candidate’s own description of the project. Hidden by default; enable it under Administration > Entity Customization. No central fallback.
        • Contribution A text describing the candidate’s contribution to the project.
        • Duration The duration of the project. (Date and duration options)
        • StartDate The start date of the project. (Date and duration options)
        • EndDate The end date of the project. (Date and duration options)
        • Company The name of the company the project is associated with. If the customer data is hidden on the project, see Project Anonymization for the value used.
        • CompanyIndustry The industry the project is associated with.
        • CompanyRegisteredName The officially registered name of the company the project is associated with.
        • CompanyAlias An alias of the company the project is associated with. May be used for anonymization purposes.
        • ProjectLocation The location where the project was carried out (city / country / site). Sourced from the Location field on the project reference.
        • Skills (Range) The skills used in this project. (How to implement ranges)
            ◦ Name The skill name.
    Languages (Range) The section where the languages are listed. (How to implement ranges)
        • Name The language name.
        • LevelDescription A textual level describing the candidate’s fluency in the language.
        • LevelNumber A score describing the candidate's fluency in the language represented by an image (How to implement level images).
    Industries (Range) The section where the industry experience of the client is listed.
        • Name The name of an industry.
    TopSkills (Range) A section to display selected top skills. (How to implement ranges)
        • Name The name of the skill.
    ProfessionalExperience (Range) The section where the candidate’s professional career is shown. (How to implement ranges)
        • Company The company of a single entry in the candidate’s career.
        • JobTitle The position taken in that company.
        • Description A description of the role in the company.
        • Duration The duration of the employment. (Date and duration options)
        • StartDate The start date of the employment. (Date and duration options)
        • EndDate The end date of the employment. (Date and duration options)
    Trainings (Range) The section where the candidate’s training history is shown. (How to implement ranges)
        • Company The provider of a single training in the candidate’s training history.
        • TrainingName The name of the training.
        • TrainingDescription A description of the training.
        • Duration The duration of the training. (Date and duration options)
        • StartDate The start date of the project. (Date and duration options)
        • EndDate The end date of the project. (Date and duration options)
    Publications (Range) The section where the candidate’s publications are shown. (How to implement ranges)
        • Title The title of the publication.
        • PublicationType The type of the publication.
        • PublicationLink A link of the publication.
        • PublicationDate A date of the publication. (Date and duration options)
        • Authors Authors of the publication.
        • Volume Volume of the publication.
        • Pages Pages of the publication.
    Testimonials (Range) The section where the candidate’s testimonials are shown. (How to implement ranges)
        • Testimonial The testimonial of the customer.
        • CustomerContact The contact of the customer.
        • ContactRole A role of the contact.
        • Comment Comment or notes about the testimonial.
        • ProjectName Name of the relevant project.

    Custom Properties

    Custom properties that have been added to any entity via the administration page, can be added to the templates as well.

    Add field dialog in the project data fields administration creating a custom text field

    Custom properties are nested fields, intended for use within ranges. The only difference is that the merge field name for a custom property must begin with cp, followed by the name of the custom property.

    Merge field for a custom property using the cp prefix

    Custom properties that contain multiple values must be added to the template using range syntax. Range start and end merge fields around the Name field for a multi-select custom property

    Images

    Similarly, images can be added for candidate core data and supported list items, such as certificates, projects and top projects. Placeholders can be inserted in the form of **@@ImageIdentifierX@@**, where X is a number starting from 0 and incrementing by 1 for each subsequent image. Placeholder text needs to be a part of a shape object and the replaced images will have the position and the dimensions of the shape object. These placeholders will be dynamically replaced with the corresponding images, following the display order of list items on the CV. If a specific list item does not have an image uploaded, it will be skipped, meaning the available images will fill the next available placeholders sequentially, regardless of gaps due to missing uploads. The following are the possible images to insert:

    Identifier Description
    CandidatePicture The profile image of the candidate.
    Projects
        ProjectCompanyLogoX The image of the company logo on the project history.
    Top Projects
        TopProjectCompanyLogoX The image of the company logo on the top project.
    Certificates
        CertificateLogoX The image of the certificate.

    Example for the certificate image:

    Three shapes containing numbered certificate logo image placeholders

    Working with Headers and Footers

    When adding a merge field to a header or footer, use the standard merge field format and append the special indicator _headerFooter to the field name. If the merge field does not display correctly, or if merge fields disappear in the exported CV, insert a section break just before the footer.

    Candidate name merge field with the headerFooter suffix for use in a header or footer

    Working With Ranges

    When working with CV information organized in lists, ranges need to be used to define their occurrence. In addition, all CV fields itself are organized in a range called “CV”, as stated above.

    To define a range, i.e. a section holding a list of items, you need to define two merge fields. One defines the start of the range and has the merge field name “RangeStart:<range field name>” and the other defines the end of the range “RangeEnd:<range field name>”. Watch out that there are no spaces within the names of the merge fields. Inside the range you define the appearance of one item. You can only use merge field names defined inside the range as well as additional symbols used for formatting (bullet points etc.). The CV generator will automatically concatenate all items of the same range in the same way as defined for the single item.

    The following picture shows how this could be done for a professional career section.

    Professional career section defined as a range with company, duration and job title merge fields

    And how it looks in the generated CV.

    Working With Skill Level Text

    For languages, skills and top skills, you have the opportunity to display text depending on the level the candidate has. To display text depending on the skill or language level, you need to insert a field { IF "{MERGEFIELD <fieldName>}" = "<skillLevelNumber>" "<skillLevelText>" ""} (e.g. { IF "{ MERGEFIELD LevelNumber }" = "1" "Beginner" ""}) for each level behind the LevelNumber merge field. (You only need one LevelNumber merge field but several IF fields). Note that you can specify text to be displayed if no level is specified by using { IF "{MERGEFIELD <fieldName>}" = "" "<skillLevelText>" ""}. If that is not provided in the template no text will be displayed if the language or skill level is not specified for that candidate.

    LevelNumber merge field followed by IF fields that print a text label for each level

    Working With Level Images

    For languages, skills and top skills, you have the opportunity to display an image depending on the level the candidate has. You need to store those images in a local folder, e.g. "C:\\TemplatePic\\Level1.jpg". Don't worry, other people using the template do not need to store the images locally and you can delete them after the upload again.

    Valid file formats are .jpg and .png.

    To display pictures depending on the skill or language level, you need to insert a field { INCLUDEPICTURE "LocalPath" } (e.g. { INCLUDEPICTURE "C:\\TemplatePic\\Level1.jpg" }) for each level behind the LevelNumber merge field. (You only need one LevelNumber merge field but several INCLUDEPICTURE fields).

    Important: Do not insert a linebreak after the LevelNumber merge field. It will not work.

    The images displayed need to be stored in a local folder (at the destination of their local paths) at the time of the field insertion to the Word document. After the INCLUDEPICTURE field is inserted, the images and the folder can be deleted. Attention: That especially means that, once you created the field, any changes on the path do no affect the result!

    Probably the easiest way to insert the INCLUDEPICTURE field is again by using the Quick Parts from Word (Insert > Quick Parts > Field…):

    Quick Parts button in the Text group of the Word Insert tab

    After selecting "Field…"

    Quick Parts menu open with the Field entry

    and selecting "IncludePicture" on the left, you can type in the local path of the image:

    Word Field dialog with IncludePicture selected and a local image path entered

    Important: Make sure, the boxes "Data not stored with document" and "Preserve formatting during updates" are not checked (so the data is stored with the document and there is no MERGEFORMAT in the brackets), otherwise the images will not be displayed correctly.

    Field options with data not stored with document and preserve formatting both unchecked

    You can check whether the connection to the image was successful by hiding the fields (pressing Alt+F9). At the place of the INCLUDEPICTURE field, it now should display the image(s) you provided.

    The connection to the decídalo skill or language level happens automatically and is simple, from top to bottom it will count from 1. So the picture at the destination of the first local path (i.e. in the first INCLUDEPICTURE field) will be displayed for level 1, the second one for level 2, etc. There is no technical limit for how many levels to display. But to get the levels prefilled sensefully, it makes sense to include as many levels as used in the application (i.e. 5 for language proficiency and 3 for skills).

    The following picture shows how this could be done for a language section.

    Languages range with a LevelNumber field followed by five INCLUDEPICTURE fields for level images

    After pressing Alt+F9, you can see the images.

    Five level bar images displayed after hiding the field codes

    Attention: If you downloaded an existing template and want to change the images displayed, make sure you have your images on a local path and, if needed, adjust the path on the template. You can not "simply" adjust our images since they were only stored (on the local path displayed) at the time of the field insertion.

    Merge Field Formatting

    To control the font, color, font-size, style, etc. of a merge field, the merge field needs to be given the attribute MERGEFORMAT (preserve formatting option in dialog). If that attribute is set, the font attributes of the merge field itself are preserved. That means by adjusting the font, color, font-size etc. of the merge field itself (the curly brackets and its contents) you will define how the inserted text will look like.

    Merge Field Separators

    The list separator (e.g., for skills) can be fully customized within the template, supporting any Unicode character or character string. You can define the separator using the \b tag, which inserts the separator before each property, and the \rfb tag, which prevents the separator from being added before the first entry in the list.

    Name merge field with a pipe separator defined via the b and rfb switches

    Ordered and Unordered Lists

    Usually, you have two occasions where you include ordered (numerical, alphabetical) or unordered (bullet point) lists on the CV. You could be listing distinct items like skills or certificates. Or you could have a paragraph text like a summary including individual listed points. In the template, you need to define what list symbols should be used and how they should look like.

    The former case can be easily defined by wrapping the intended list symbol together with the listed item's merge field in the same range.

    Top skills range with a bullet symbol placed before the Name merge field

    In the latter case, this is not possible as the list itself is defined in the paragraph. For defining the styling of lists inside a paragraph, you need to define a list style in the Word template first. A straight forward way is to first create a list item in the desired look with bullets in the Word template. And then with the Home > Styles toolbar create a new style for the selected list.

    Word Styles gallery with the Create a Style option for a selected bullet list item

    Once the style is defined, you need to add it as attribute to the merge fields where you want to use the style for lists. You can define separate styles for unordered (\bulletListStyle) and ordered (\numberListStyle) lists. The quoted text behind the tag must exactly match a style defined in the template document. It will only be used either for unordered lists used in the paragraph or for ordered lists.

    Summary merge field with bulletListStyle and numberListStyle switches naming template styles

    This way you can in particular define customized bullet points or alphanumerical list items to be used in e.g. profile summaries or project descriptions.

    Common mistake: empty bullet points for empty fields

    If a generated CV shows an empty bullet point (or a stray blank line) where a consultant left a rich-text field empty, for example Contribution or Project description, the template is misconfigured; it is not a data problem.

    The cause is that a bullet or numbered list paragraph style has been applied directly to the paragraph that contains the merge field. Word then draws a bullet for that paragraph even when the merged value is empty. The \bulletListStyle / \numberListStyle tag is only meant to style the list generated from the field's content; the field's own paragraph should stay a normal paragraph.

    To check: press ALT+F9 to show the merge fields, click into the paragraph that holds the field, and look at the applied paragraph style under Home > Styles. If it is a bullet or numbered list style, that is the cause.

    To fix: set the merge-field paragraph back to a normal (non-list) style, and keep only the \bulletListStyle (or \numberListStyle) tag on the field. The standard templates are configured this way.

    Empty line below a rich-text field

    A rich-text field, for example Project description, Contribution, or the Summary, renders an extra empty line directly below it on the generated CV, even when the content itself is correct.

    Removing this empty line can be enabled per organization. Contact decídalo support if you would like it activated. It stays off by default so existing templates that were laid out around the empty line keep rendering exactly as before. When enabled, blank lines a consultant intentionally typed inside the rich-text editor are preserved; only the automatically-added trailing line is removed. There is nothing to configure in the template itself.

    Date and Duration Field Options

    For projects, trainings, and professional experiences, start and end date fields or the combined duration field can be displayed to show the time span of each entry. By default, these fields are automatically calculated using the start and end date data of the profile. However, you can customize the display using specific tags.

    Customizing the Date Format

    Using the \dateFormat tag you can customize how the duration is formatted on CV creation. This allows you to control the appearance of the date format according to your preferences.

    For example, you might want to display dates in the format yyyy (year) or MM-yyyy (month-year), depending on the context.

    Duration merge field with the dateFormat switch set to month and year

    Note: The date format for Duration of Projects and TopProjects must be uniform. If for both lists a different format is provided in the template the one from the Projects will be applied on both. If there is no format specified for Projects but there is one for TopProjects, that format will be applied on both.

    Ongoing Word (Duration Only)

    If the end date is not specified and you want to indicate that it is still ongoing, you can use the \ongoing tag on the duration field. This tag allows you to define a custom word or phrase that will be displayed in place of the missing end date.

    Duration merge field with the ongoing switch defining the word shown for a missing end date

    Hide Dates in Future (Duration Only)

    If the end date is set in the future and you want to indicate that it should not be shown as a date in the duration field, but rather replaced with the ongoing word, you can use the \hideDatesInFuture tag. There is no need to specify additional words, because the end date will be replaced with the word specified in the \ongoing tag. This tag will not work for the section if the \ongoing tag is not specified.

    Duration merge field combining dateFormat, ongoing and hideDatesInFuture switches

    Format issue and expiration months for certificates

    By default the issue and expiration months of certificates will be displayed in form of text representing each month ('January', 'February'...) However, you can choose to display them in two digit number format(01 for January, 11 for November...) by using the \displayMonthAsNumber tag. Simply add it as part of the RangeStart:Certificates and it will apply the format for the issue and expiration month of all certificates in the range.

    Certificates range start with the displayMonthAsNumber switch and issue month and year fields

    Hide expired certificates

    By default, all certificates will be shown on the CV, whether they are expired or not. However, you can choose to only display valid certificates and hide the expired ones. To do this, simply add a new property called \hideExpiredCertificates as a part of the RangeStart for certificates and it will automatically hide expired Certificates on CV creation.

    Certificates range start with the hideExpiredCertificates switch

    Limit the number of Top Projects

    By default, all top projects selected for a CV are included. You can limit the maximum number of top projects shown by adding the \maxItems tag with a numeric value to the RangeStart:TopProjects merge field.

    For example, to show at most 5 top projects:

    { MERGEFIELD \maxItems "5" RangeStart:TopProjects }
    

    When this tag is present, only the first N projects (in their original order) will be rendered in the TopProjects range. If the candidate has fewer top projects than the specified limit, all of them are shown.

    Empty Fields and the Characters Around Them

    A merge field with no value renders as nothing. Any characters typed directly against the field, with no space between them, are removed together with it. This is what lets you wrap a value in brackets or attach a separator to it without an empty () appearing on the CV when a consultant has not filled that field in.

    In the template Field has a value Field is empty
    English («Level») English (C1) English
    «IssueMonth».«IssueYear» 03.2024 2024
    Level: [«Level»] Level: [C1] Level:

    A character only counts as attached when no space separates it from the field. A space, a line break, a new paragraph and a table cell border all end the removal, and so does a neighbouring merge field. That last point is why «IssueMonth».«IssueYear» keeps the year when only the month is missing: the removal stops at the second field instead of consuming its value.

    The same works around a whole list. If you put brackets around a range, they disappear when the list has no entries, and stay when it has at least one.

    Note: because a space stops the removal, ( «Level» ) keeps its brackets and renders as ( ) on an empty field. Type the brackets directly against the field.

    Be deliberate about labels. Anything glued to the field goes with it, including text you may want to keep: Tel.:«Phone» loses Tel.: when the phone number is empty. If a label should always appear, separate it from the field with a space.

    Why the preview still shows the brackets

    In the CV editor, an empty field shows a grey Not provided placeholder that you can click to fill the value in. Since the preview does display something there, the characters around the field stay visible in the preview. Only the generated document drops them.

    This difference is intentional: the preview shows you where content can still be added, the export shows the finished result. To check what a reader will actually see, export the CV.

    The same rules apply to PowerPoint CVs, reference presentations and quotations.

    Empty Section Hiding

    Sometimes you want to hide whole sections together with a header or other static text if there is no content to display in the section. For example, you only want to show the certificates section if the candidate’s CV includes at least one certificate. Otherwise, you want to hide the section together with the title.

    This can be achieved by inserting bookmarks.

    First, if not set up already, bookmarks should be made visible in Word. To achieve this, open File > Options > Advanced and make sure the option to show bookmarks is checked.

    Word Options advanced settings with the Show bookmarks checkbox checked

    Then select the section that should be hidden together and add a bookmark.

    Certificates section selected in Word with the Bookmark button in the Insert tab

    In the opening dialog you need to choose a name for the bookmark. The name has no technical effect, but it is advisable to choose a reasonable name for organization purposes, e.g., “certificates”. When confirming the bookmark insertion, square brackets will appear around the section, indicating that it is bookmarked, i.e. recognized as connected section in the CV generation. When the range inside the bookmark contains no elements, its content is not rendered.

    Wrapping a table in a bookmark enables two behaviors during CV generation:

    • No data at all: when the range inside the bookmark has no items, the entire bookmark content is not rendered (including any static header or surrounding text).
    • Partial data: when the range has items but some rows have no values for any of their fields, those individual empty rows are removed from the table while rows with data are kept.

    Grouping Ranges

    A range's items can be grouped by including the groupBy property and defining a list of properties (one or more) the items should be grouped by. Properties should be defined as comma-separated values.

    The following ranges can be grouped by the following properties:

    • SkillSections (Range)
      Note: SkillSections themselves cannot be grouped this way. Only the Skills (Range) inside a SkillSection can be grouped.
      • Skills (Range)
        • Name
        • LevelNumber
    • SkillSection_<Skill_Section_Name> (Range)
      • Name
      • LevelNumber
    • Certificates (Range)
      • Name
      • IssuingOrganisation
      • IssueMonth
      • IssueYear
      • ExpirationMonth
      • ExpirationYear
      • CredentialUrl
    • TopCertificates (Range)
      • Name
      • IssuingOrganisation
      • IssueMonth
      • IssueYear
      • ExpirationMonth
      • ExpirationYear
      • CredentialUrl
    • TopProjects (Range)
      • ProjectName
      • ProjectPosition
      • ProjectDescription
      • Contribution
      • Duration
      • StartDate
      • EndDate
      • Company
      • CompanyIndustry
      • CompanyRegisteredName
      • CompanyAlias
      • ProjectLocation
    • Projects (Range)
      • ProjectName
      • ProjectPosition
      • ProjectDescription
      • Contribution
      • Duration
      • StartDate
      • EndDate
      • Company
      • CompanyIndustry
      • CompanyRegisteredName
      • CompanyAlias
      • ProjectLocation
    • Languages (Range)
      • Name
      • LevelDescription
      • LevelNumber
    • ProfessionalExperience (Range)
      • Company
      • JobTitle
      • Description
      • Duration
      • StartDate
      • EndDate
    • Trainings (Range)
      • Company
      • TrainingName
      • TrainingDescription
      • Duration
      • StartDate
      • EndDate
    • Publications (Range)
      • Title
      • PublicationType
      • PublicationLink
      • PublicationDate
      • Authors
      • Volume
      • Pages
    • Testimonials (Range)
      • Testimonial
      • CustomerContact
      • ContactRole
      • Comment
      • ProjectName

    How Grouping Works

    When a groupBy property is defined, the items in that range are first sorted by the grouping property.

    For example, here the Certificates are grouped by Issuing Organisation and IssueYear. Notice how the organizations are sorted alphabetically and after that numerically by year:

    Generated CV listing certificates grouped under organization and issue year headings

    When multiple properties are provided, the system performs a hierarchical sort: it sorts by the first property, then uses subsequent properties in the list.

    After sorting, items are grouped by adjacency: all consecutive elements with the same grouping value(for all properties)are merged into a group.

    If you manually reorder the items, you can split a group into separate parts:

    Grouped certificates where manual reordering splits one group into two separate parts

    Once a range is grouped, it cannot also be used ungrouped in the same CV.

    Each range can be grouped by one specific set of properties per CV. For example, you can group Certificates by a list containing Issuing Organisation and Issue Year together, but you cannot have one section grouping by Issuing Organisation and another section grouping by Issue Year within the same CV.

    Example Configuration

    Here’s how Certificates were configured to group by their issuing organization and issue year:

    Certificates range start with a groupBy switch listing issuing organisation and issue year

    This configuration produces the grouped output shown above.


    Skills Example

    Skills can also be grouped. Remember: SkillSections themselves cannot be grouped, only the Skills inside them can.

    Here’s an example of Skills grouped by LevelNumber. Notice how the skills are visually sorted into groups based on their proficiency level:

    CV preview with skills grouped by level dots next to the skill editor showing each skill level

    NOTE: Skills that belong to other groups and skills without a level number are displayed identically on the CV.

    Example configuration

    Here's how Skills in a skill section were grouped by their level number:

    Template table with a Skills range grouped by LevelNumber and IF fields rendering level dots

    This configuration produces the grouped output shown above.

    Standard Skill Sections and Grouping

    Standard skill sections, defined using:

    MERGEFIELD RangeStart:SkillSections
    

    can include a groupingType property to define how skills should be grouped. The available options are:

    • Category: Uses top-level categories from the Skills page. Skills belonging to that category or any of its subcategories will be included in this section.
    • Subcategory (default if omitted): Uses subcategories from the Skills page. Skills that belong to a subcategory will be shown in that specific section.
    • SingleSection: All skills are placed in a single section.

    When using SingleSection, the user should provide a singleSectionName property to define the section name. If omitted, the default name "Skills" will be used.

    Example Configuration

    SkillSections range start with the groupingType switch set to Category SkillSections range start with groupingType SingleSection and a custom single section name

    This allows for flexible customization of how skills are displayed in exported CVs.

    Selecting Specific Standard Skill Sections

    To choose specific standard skill sections to display and control their placement, define them using:

    MERGEFIELD RangeStart:SkillSection_<Skill_Section_Name>
    

    This searches for the corresponding category or subcategory in the system. If a match is found, the section will be included in the CV. Instead of spaces, the skill sections defined in the merge field need to use “_” instead. Furthermore, avoid special characters, e.g. use "and" instead of "&". Note that the name of the section is case sensitive.

    Example Configuration

    Three named skill section ranges placed individually in the template, each in a bookmark

    This setup ensures that only the specified skill sections ("Cloud Migration", "Virtual Machines (VMs)" and "Software Development") are included in the CV, provided they exist in the system.

    Grouping a Skill Category by Subcategory

    To display all skills of a top-level category grouped by its subcategories, define a range using:

    MERGEFIELD RangeStart:SkillCategory_<Category_Name>_GroupBySubCategory
    

    This searches for the specified top-level category in the system and automatically creates one section per subcategory, each containing the skills that belong to it. The category name follows the same naming rules as Selecting Specific Standard Skill Sections: use _ instead of spaces and avoid special characters. The name is case sensitive.

    Available Fields

    Inside the range, the following fields are available:

    Field Description
    SubCategoryName The name of the subcategory.
    Skills (Range) The skills belonging to this subcategory.
      ◦ Name The skill name.
      ◦ LevelNumber The skill level (level images).

    Example

    Suppose you have a top-level category called Software Development with subcategories Programming Languages, Frameworks, and Testing and Debugging. To group the skills by these subcategories, add the following range to your template:

    { MERGEFIELD RangeStart:SkillCategory_Software_Development_GroupBySubCategory }
    { MERGEFIELD SubCategoryName }
    { MERGEFIELD RangeStart:Skills }
    { MERGEFIELD Name }
    { MERGEFIELD RangeEnd:Skills }
    { MERGEFIELD RangeEnd:SkillCategory_Software_Development_GroupBySubCategory }
    

    On CV creation, this will produce output similar to:

    Programming Languages
    C# | JavaScript | PHP | PowerShell

    Frameworks
    ASP.NET | SignalR

    Testing and Debugging
    Testing and Debugging

    Skills from the specified top-level category that belong to a subcategory will appear under that subcategory. Skills assigned to other categories are not affected and will still appear in the standard SkillSections range or other placed sections as usual.

    Note: When a SkillCategory_*_GroupBySubCategory range is used for a category, that category and all of its subcategories are automatically excluded from the standard SkillSections range and from any SkillSection_* ranges to avoid duplicate display.

    We recommend enclosing the range together with its title in a bookmark, so the section is hidden if the category has no skills.

    Grouping a Skill Section by Skill Level

    To display all skills of a category grouped by their proficiency level, define a range using:

    MERGEFIELD RangeStart:SkillSection_<Skill_Section_Name>_GroupByLevelNumber
    

    This searches for the specified category or subcategory by name and collects all skills that belong to it or any of its subcategories. The skills are then automatically grouped by their assigned level number, ordered from highest to lowest. The category name follows the same naming rules as Selecting Specific Standard Skill Sections: use _ instead of spaces, avoid special characters, and the name is case sensitive.

    Available Fields

    Inside the range, the following fields are available:

    Field Description
    LevelNumber The proficiency level number for this group. Empty for skills without an assigned level (level images).
    Skills (Range) The skills belonging to this level group, ordered alphabetically.
      ◦ Name The skill name.
      ◦ LevelNumber The skill level (level images).

    Example

    Suppose you have a category called Software Development and want to group its skills by proficiency level. Add the following range to your template:

    { MERGEFIELD RangeStart:SkillSection_Software_Development_GroupByLevelNumber }
    { MERGEFIELD LevelNumber }
    { MERGEFIELD RangeStart:Skills }
    { MERGEFIELD Name }
    { MERGEFIELD RangeEnd:Skills }
    { MERGEFIELD RangeEnd:SkillSection_Software_Development_GroupByLevelNumber }
    

    On CV creation, this will produce output similar to:

    5
    C# | TypeScript

    3
    JavaScript | PHP

    (unrated)
    PowerShell

    Skills without an assigned level are placed in a group at the end with LevelNumber set to null.

    We recommend enclosing the range together with its title in a bookmark, so the section is hidden if the category has no skills.

    Note: When any SkillSection_<Skill_Section_Name>_GroupByLevelNumber range is present in a template, SkillSections behaves exactly like it does when regular SkillSection_<Skill_Section_Name> placed ranges are used.

    Custom Skill Sections

    You can add custom skills sections, by adding a range named "CustomSkillSection_<Name_Of_Your_Section>". The name can’t contain spaces. Use “_” instead. Furthermore, avoid special characters, e.g. use "and" instead of "&". Note that the name of the section is case sensitive.

    Two custom skill section ranges with their titles placed in table cells of the template

    We recommend to enclose the ranges together with their title into a bookmark, so the sections are hidden if they are empty. We also recommend to write the ranges into table cells to preserve formatting when page-breaks are necessary.

    After the template has been uploaded, decídalo will perform a mapping from the profile skills to the custom sections, powered by OpenAI's GPT 4. The content of the prefilled sections can be edited following the same process as with other skill sections.

    If the newly added custom skill section matches the name of a standard skill section, the custom skill section is automatically prefilled with the profile skills of this standard skill section.

    CV preview with prefilled custom skill sections next to the editable skill sections in the CV editor

    Different templates can use the same custom skill sections. Note that section names are compared on a case-sensitive basis. For example, SAP_skills and SAP_Skills are treated as different sections.

    Skill Level Sections

    Skill Level Sections are defined similarly to Custom Skill Sections but require an additional naming convention to specify the skill level. The range should be named using the format:

    CustomSkillSection_LevelNumber_<LevelNumber>_<Name_Of_Your_Section>
    

    Naming Rules

    • <LevelNumber> must be a numerical value (e.g., 1, 2, 3).
    • <Name_Of_Your_Section> follows the same naming rules as Custom Skill Sections (no spaces, case-sensitive, avoid special characters).
    • Example: CustomSkillSection_LevelNumber_1_Beginner.

    Each skill level section groups skills according to the assigned level. Multiple levels can be defined within the same template. On CV creation, decídalo will automatically map profile skills to the appropriate skill level sections.

    If a section is used with LevelNumber -1, it is treated as a special section. This section will automatically include all skills from the profile that do not have a level assigned.

    Project Anonymization

    It is possible to specify for each project individually in the application if the customer data should be displayed. If you do not wish to display the customer's name on generated CVs where the Company merge field is used, set the 'Display customer data on CV' option to 'No' on the project. The 'Display customer data on CV' option is set only in the application on project level and is not specified in the templates.

    In addition to the project-level setting, each customer (company) in the application now has a flag called 'Allow customer data export'. This flag controls whether any project linked to that customer is allowed to export customer-related data (such as company name and logo) on CVs. If 'Allow customer data export' is set to 'No' for a customer, then all projects associated with that customer will be automatically treated as if 'Display customer data on CV' is set to 'No', regardless of the individual project setting. This ensures that customer data is anonymized for all such projects, following the same rules described below.

    If the 'Display customer data on CV' option for a project is set to 'No', the system will anonymize the company information as follows:

    • If a value is specified in the template with the companyForAnonymizedProjects word, that value will be displayed instead of the company name on the generated CV. More on the companyForAnonymizedProjects word can be found in the next section.
    • If the template does not specify such a value but the company has an alias set, the alias will be used instead of the company name on the generated CV.
    • If neither is set, nothing will be displayed in place of the Company merge field on the generated CV.

    Company Customization For Anonymized Projects

    It is also possible to define in individual CV templates a special custom value to be used instead of the company name on projects whose 'Display customer data on CV' is set to 'No'. In that case the company alias will not be used, but instead, the value defined in the template will be used. That is done via the companyForAnonymizedProjects word on the Company merge field in the Projects range. In the example below, the text "Secret company" will be displayed instead of the company name.

    Company merge field with the companyForAnonymizedProjects switch and a replacement text

    Note: The value specified via the companyForAnonymizedProjects for the Company of Projects and TopProjects must be uniform. If for both lists a different value is provided in the template the one from the Projects will be applied on both. If there is no value specified for Projects but there is one for TopProjects, that value will be applied on both. If there is no value specified for TopProjects but there is one for Projects, that value will be applied on both.

    Project Name Customization For Anonymized Projects

    It is also possible to define in individual CV templates a special custom value to be used instead of the project name on projects whose 'Display customer data on CV' is set to 'No'. That is done via the projectNameForAnonymizedProjects word on the ProjectName merge field in the Projects range. In the example below, the text "Secret project" will be displayed instead of the project name.

    ProjectName merge field with the projectNameForAnonymizedProjects switch and a replacement text

    If the custom value is not specified in the template, the actual project name will always be displayed on the CV in place of the ProjectName merge field.

    Note: The value specified via the projectNameForAnonymizedProjects for the ProjectName of Projects and TopProjects must be uniform. If for both lists a different value is provided in the template the one from the Projects will be applied on both. If there is no value specified for Projects but there is one for TopProjects, that value will be applied on both. If there is no value specified for TopProjects but there is one for Projects, that value will be applied on both.

    Graphical Elements

    It is possible to include design elements like logos or graphical objects into your template. If you want them to appear on all pages, make sure they are anchored in the header or footer of the page.

    Colored sidebar shape anchored in the page header so it repeats on every page

    If you only want them to appear on the first page only, anchor them on the page itself.

    Picture shape anchored on the first page of the template body

    For colored areas that should extend over whole sections, you can also use colored table cells.

    Word table cell shading color picker used to color a template section

    Font Embedding

    For fonts to render correctly in documents generated from your template, it is crucial that all fonts, including common system fonts like Arial or Calibri, are fully embedded into the template document. Without this, recipients may see a different font depending on what is installed on their system.

    To embed a font into a Word document, make sure that the option displayed below is checked in your Word settings for the template document. The settings can be accessed through Word's File tab.

    Word Options save settings with Embed fonts in the file checked and the two sub-options unchecked

    The application enforces these settings at upload time and will reject templates that do not meet them.

    Embedded fonts are currently supported for the exported Word and PDF CVs that you will send out to your customers. The preview shown in the application itself may show a different font depending on whether the used font is available to your browser, i.e. installed on your system.

    Template Upload

    You can now finish the process of adjusting/creating with uploading the template. To read the documentation about it, go back here.

    In This Article
    Back to top Copyright © data assessment solutions · decidalo.com