Skip to content
Akhror Abduvaliev edited this page Aug 24, 2023 · 13 revisions

Introduction

Welcome to Bebbo’s content management system (CMS) documentation.

Bebbo is a mobile app developed by UNICEF with an aim to guide parents throughout the development of children up to 6 years of age. Contents of the app in various languages are managed through a CMS that serves the content with APIs. This documentation provides technical and functional details of the CMS.

Taxonomies

Taxonomy is used for classifying or categorising content, Can associate taxonomy terms with specific content, which is useful for organising and displaying it based on its classification.

The list of vocabulary names for the CMS is shown below.

Age periods for vaccinations and health check-ups
Fields Type Usage Editable
Name Text Free text Yes
Health Check-up/Vaccination Open Integer Number No
Category
Fields Type Usage
Title Text Free text
Chatbot Category

Used in FAQ content type for the purpose of chatbot

Fields Type Usage Editable
Name Text Free text Yes
Unique Name Text Free text No
Chatbot Child Age
Fields Type Usage Editable
Name Text Free text Yes
Period Text Free text No
Days From Text Numeric No
Days To Text Numeric No
Chatbot Subcategory

Used in FAQ content type for the purpose of chatbot

Fields Type Usage Editable
Name Text Free text Yes
Unique Name Text Free text No
Category Entity Reference [Taxonomy] Single Select No
Child's Age

Child's age as per the defined age periods

Fields Type Usage Editable
Name Text Free text Yes
Language Select Single Select Yes
Days From Text Numeric No
Days To Text Numeric No
Content to be downloaded for the age bracket Entity Reference [Taxonomy] Multiple Select No
Buffers days Text Numeric No
Child's Gender

Child's gender - male, female

Fields Type Usage Editable
Name Text Free text Yes
Daily Home Screen Message Category

Daily messages for parents

Domain of Activity

Child development domains linked to Activities

Fields Type Usage
Unique name Text Free text
Growth Introductory

Introductory message about typical growth in a given age period

Fields Type Usage Editable
Name Text Free text Yes
Days From Text Numeric No
Days To Text Numeric No
Description Long Text Free text No
Growth Type [Child Growth Content type]

Weight for height/length; Weight for age

Fields Type Usage Editable
Title Text Free text Yes
Keywords

Distinct words/terms characteristic for a content of a given article

Fields Type Usage
Title Text Free text
Parent's Gender

Gender of a parent or a caregiver using the app, tagging category

Fields Type Usage Editable
Name Text Free text Yes
Relationship to Child
Fields Type Usage Editable
Name Text Free text Yes
Description Text area Multiple rows Yes
Standard Deviation

Standardized WHO Growth charts values with standard deviations

Fields Type Usage Editable
Growth Type Entity Reference [Taxonomy] Single Select No
Length/Day Text Free text No
Child Gender Entity Reference [Taxonomy] Single Select No
SD4neg Text Numeric No
SD3neg Text Numeric No
SD2neg Text Numeric No
SD1neg Text Numeric No
SD0 Text Numeric No
SD1 Text Numeric No
SD2 Text Numeric No
SD3 Text Numeric No
SD4 Text Numeric No
Standard Deviation Category

Standardized WHO Growth charts values with standard deviations

Fields Type Usage Editable
Name Text Free text Yes
Description Text area Multiple rows Yes
Type of Support

Type of support required to implement an Activity

Fields Type Usage Editable
Name Text Free text Yes

Drupal RestFull API

Web Services allow other applications to read and update information on your site via the Web. REST is one of a number of different ways of making Web Services available on your site. In contrast to other techniques such as SOAP or XML-RPC, REST encourages developers to rely on HTTP methods (such as GET and POST) to operate on resources (data managed by Drupal).

Features

Drupal Serialization module to provide a customizable, extensible RESTful API of data managed by Drupal. It allows you to interact with any content entity (nodes, users, comments etc.) or Drupal config entity (vocabularies, user roles etc.) and watchdog database log entries.

  • modules can expose additional resources
  • supports GET/POST/PATCH/DELETE
  • integrates with Drupal's role-based authentication system automatically: one permission per resource (and per verb)
  • modules can add authentication mechanisms, these can then be applied to any of the resources
  • modules can add more serialization formats — see the Serialization module.
APIs

Following are the key considerations while building the APIs.

  1. Data will be available via RESTful API in JSON format (read only)
  2. API provides read-only data access.
  3. APIs are cached in the CDN
  4. API Urls were constructed leveraging default views/rest API and Serialisation module.
API Name Sponsor API
Page on Mobile App Daily Messages Listing Page
Purpose Serves country logo, sponsors logo and national partner image
Query Parameters Not applicable
API URL /api/sponsors/{countryid}: GET
API Name Daily Home Screen Messages API
Page on Mobile App Daily Messages Listing Page
Purpose Serves daily messages based on Language
Query Parameters Not applicable
API URL /api/daily-homescreen-messages/{langcode}: GET
API Name Article API
Page on Mobile App Article Listing Page
Purpose Serves List of Articles based on Language, Category, Child Age, Child Gender, Parent Gender
Query Parameters childAge, childGender, parentGender, category, pre_populated, datetime
API URL /api/articles/{langcode}: GET
API Name Video Article API
Page on Mobile App Video Article Listing Page
Purpose Serves List of Video Articles based on Language, Category, Child Age, Child Gender, Parent Gender
Query Parameters datetime
API URL /api/video-articles/{langcode}: GET
API Name FAQs API
Page on Mobile App FAQ Listing Page
Purpose Serves Categorised List of FAQs based on Language, chatbot sub category
Query Parameters datetime
API URL /api/faqs{langcode}: GET
API Name Child Growth API (Disabled)
Page on Mobile App Child Growth page
Purpose Serves child growth information for development diary based on Language, Child Age, Growth Type, Standard Deviation, Growth Introductory
Query Parameters Not applicable
API URL /api/child-growth-data/{langcode}: GET
API Name Child Development API
Page on Mobile App Child Development Page
Purpose Serves child development information for development diary based on Language, Child Age and list of milestones for each development stage.
Query Parameters Not applicable
API URL /api/child-development-data/{langcode}: GET
API Name Milestones API
Page on Mobile App Child Development Page
Purpose Serves list of Milestones based on the child development with Language, Child Age
Query Parameters pre-populated
API URL /api/milestones/{langcode}: GET
API Name Basic Pages API
Page on Mobile App Basic Page
Purpose Serves basic detail pages based on the Language
Query Parameters Not applicable
API URL /api/basic-pages/{langcode}: GET
API Name Vaccinations API
Page on Mobile App Vaccination Page
Purpose Serves vaccination calendar information for development diary based on Language, Growth Period
Query Parameters Not applicable
API URL /api/vaccination-data/{langcode}: GET
API Name Health Checkups API
Page on Mobile App Health Checkup Page
Purpose Serves health checkups details for development diary based on Language, Growth Period
Query Parameters Not applicable
API URL /api/health-checkup-data/{langcode}: GET
API Name Survey/Feedback/User Guide
Page on Mobile App Survey and Feedback Page
Purpose Serves survey or feedback or user guide details which includes third party survey link, language.
Query Parameters Not applicable
API URL /api/surveys/{langcode}: GET
API Name List Taxonomy Vocabularies
Page on Mobile App Daily Messages Listing Page
Purpose Serves vocabularies list based on language [Category, Child Age, Child Growth, Child Gender, Parent Gender, Season, Growth Introductory, Growth Type, Standard Deviation,Growth Period
Query Parameters Not applicable
API URL /api/vocabularies/{langcode}: GET
API Name List Taxonomy Terms for Vocabulary
Page on Mobile App Daily Messages Listing Page
Purpose Serves vocabularies term list based on language
Query Parameters Not applicable
API URL /api/taxonomies/{langcode}/{vocabulary}: GET
API Name Child Development Pinned Articles
Page on Mobile App Pinned Articles API
Purpose Serves List of Articles pinned to each content of the content type Child Development based on Language
Query Parameters Not applicable
API URL /api/pinned-contents/{langcode}/{type}: GET (or)
API Name Child Growth Pinned Articles
Page on Mobile App Pinned Articles API
Purpose Serves List of Articles pinned to each content of the content type Child Growth based on Language
Query Parameters Not applicable
API URL /api/pinned-contents/{langcode}/{type}: GET
API Name Vaccination Pinned Articles
Page on Mobile App Pinned Articles API
Purpose Serves List of Articles pinned to each content of the content type Vaccination based on Language
Query Parameters Not applicable
API URL /api/pinned-contents/{langcode}/{type}: GET
API Name Health Checkups Pinned Articles
Page on Mobile App Pinned Articles API
Purpose Serves List of Articles pinned to each content of the content type Health Checkups based on Language
Query Parameters Not applicable
API URL /api/pinned-contents/{langcode}/{type}:
API Name Activities API
Page on Mobile App Activities Page
Purpose Serves Activity related information based on activity category, country, child age and language
Query Parameters pre-populated
API URL /api/activities/{langcode}: GET
API Name List Taxonomy Vocabularies
Page on Mobile App Daily Messages Listing Page
Purpose Serves vocabularies list based on language [Category, Child Age, Child Growth, Child Gender, Parent Gender, Season, Growth Introductory, Growth Type, Standard Deviation,Growth Period
Query Parameters Not applicable
API URL /api/vocabularies/{langcode}: GET
API Name List Taxonomy Terms for Vocabulary
Page on Mobile App Daily Messages Listing Page
Purpose Serves vocabularies term list based on language
Query Parameters Not applicable
API URL /api/taxonomies/{langcode}/{vocabulary}: GET
API Name Milestone Related Articles
Page on Mobile App Related Article API
Purpose Serves List of Articles related to each content of the content type milestone based on Language
Query Parameters Not applicable
API URL /api/related-article-contents/{langcode}/{type}: GET
API Name Forcefull Update Check API
Page on Mobile App Daily Messages Listing Page
Purpose Will provide information about whether the mobile has to forcefully update data.
Query Parameters Not applicable
API URL /api/check-update/{countryid}: GET
API Name FAQs Updated API
Page on Mobile App FAQ Listing Page
Purpose Serves updated related article content based on datetime
Query Parameters datetime
API URL /api/pinned-contents/{langcode}/faq: GET
API Name Deleted Content API
Purpose Serves list of content changed from published to any other state content (article, faq, games, video article)
Query Parameters datetime
API URL /api/archive/{langcode}: GET
API Name Standard Deviation JSON API
Purpose Serves child growth content based on good text, warning small height text, etc
Query Parameters Not applicable
API URL /api/archive/{langcode}: GET

Product Guides

Content Workflow

The Workflows describe how a piece of content moves from creation to the publishing of the content.

● The CMS provides the country users a Content Workflow that ensures that content is reviewed by specific roles in the system, through a specific process before it is published.

● The key country users who participate in the workflow are: Editors, SMEs, Senior Editors

● Each of the roles have specific permissions & activities in the workflow

  • Editor - creates content

  • SME - Subject Matter Expert reviews the content

  • Senior Editor - has the final authority and can publish content.

● The document goes through different states during the workflow process

  • Below is a list of states in the workflow and what it indicates:
State Description
Draft Indicates that content is not fully ready and work is in progress
SME Review Indicates that the content is ready and submitted for SME review
Sr. Editor Review Indicates that the content is ready and submitted for Sr. Editor review
Require Modification Indicates that content has been submitted for review and SME has requested for the content to be modified
Published Indicates that content is published and can be viewed
Archive Indicates that content is not available to be viewed (unpublished)
Review After Translation Indicates that the content has been reviewed after being translated through Memsource.
Roles & Responsibilities

Editor Content:

Editors are able to create content. The article remains in Draft mode while they make changes to it. When a piece of material is in draft form, work is still being done and it is not yet finished.

When the content for the Editor is complete, the user can send it to the Senior Editor or SME for review.

In your capacity as Editor, you can: Create new Content and Assign for Review to SME or Senior Editor Editor can also pick up Content marked as 'Require Modification' in the Country Content page User can make edits to the Content by moving it to the 'Draft' mode Once the Editor's Content is prepared, it can again be sent for Review to SME or Senior Editor SME (Subject Matter Expert) reviews Content.

SME’s main role is to review content:

  • User picks up content marked as ‘SME Review’ in the Country Content page

  • Once User reviews he repost that content back to an Editor for further corrections or Senior Editor for final review

  • Content that needs further corrections is marked as ‘Require Modification’

  • Content that is ready to be published marked as ‘Sr. Editor Review’

  • SME can set ‘SME Review’ state, which indicates that content is not fully ready and work is in progress.

  • As SME: Review content posted by the Editors and Submit to the Senior Editor

  • Senior Editor has the final authority and can publish content.

Senior Editor’s roles & responsibilities:

  • User picks up content marked as ‘Sr. Editor Review’ in the Country Content page

  • Once User reviews re-posts that content back to an Editor for further corrections or User can ‘Publish’ the same.

  • Content that needs further corrections is marked as ‘Require Modification’

  • Content that is ready to be published marked as ‘Published’

  • As Senior Editor: Review content submitted by the Editor or SME and then either Publish the same or send it back for correction

  • Senior editor can also move ‘Published’ content to ‘Archived’ state. This is normally done if a content is no longer required /old/ outdated.

Roles & Permissions
ROLES PERMISSIONS
Editor

1. Login in to Bebbo system

2. View content belonging to all Countries in the Global Content tab

3. View content belonging to your Country in the Country Content tab

4. Proofread the translation that is received from Memsource

5. Assign Content to your Country

6. Create new Content and Assign for Review or Draft status to SME or Senior Editor or Edit existing content

Country Admin

1. Login in to Bebbo system

2. View content belonging to all Countries in the Global Content tab

3. View content belonging to your Country in the Country Content tab

4. Assign Content to your Country

5. Manage the users in your Country - Creating new users, editing an existing user and blocking an existing user are some of the activities you can do to Manage users.

6. When change state to Archive need to update revision log message as it is mandatory

Senior Editor

1. Login in to Bebbo system

2. View content belonging to all Countries in the Global Content tab

3. View content belonging to your Country in the Country Content tab

4. Proofread the translation that is received from Memsource

5. Assign Content to your Country

6. Create new Content and Assign for Review to SME or Publish the same or Edit existing content [same as what the Editor can do]

7. Review content submitted by the Editors or SME and then either Publish the same or send it back for correction.

8. As Senior Editor: Can change the state from Published content to Archive

9. When change state to Archive need to update revision log message as it is mandatory

SME (Subject Matter Expert)

1. Login in to Bebbo system

2. View content belonging to all Countries in the Global Content tab

3. View content belonging to your Country in the Country Content tab

4. Proofread the translation that is received from Memsource

5. Assign Content to your Country

6. Review content posted by the Editors and Submit to the Senior Editor

7. When change state to Archive need to update revision log message as it is mandatory

Global Admin

Global admin users can perform all the activities of country level users.

Beside the above the Global admin can also

1. How to navigate the Bebbo CMS

2. Dashboard

3. Onboard a Country

4. Offload a Country

5. View and Export Reports

6. Manage Force Update

7. Configure Google Analytics Settings

8. Exclusive Content Features for Global Admin

a. Manage Translations with Memsource

b. Manage Taxonomies

c. Create additional content types

d. Country listing : all content

e. Additional field level permissions

9. Create a ‘Global Country’ for managing Master Language

Country Workflow

Country and Language definition

  1. Countries will have languages associated with them
    1. E.g. Greece country will get associated with Greece-Greek
  2. Countries can have multiple languages.
    1. E.g. Tajikistan has Tajikistan-Russian and Tajikistan-Tajik
  3. No Language can have more than one country
    1. E.g. Greece-Greek will not be associated with any other country other than Greece.
    2. Languages will be associated with the users and not the country.
    3. Master language will also be associated with the respective users.
  4. A content in a specific language will be associated with one country. E.g.: An article content named “abc” in “Albania - Albanian” language can be associated with only the Albania country. North Macedonia country can assign the article “abc” to “North Macedonia- Albanian” This means that any language will be shared between countries. (Refer point no. 3) This Article “abc” will have the same Node ID for both languages North Macedonia- Albanian and Albania - Albanian.
  5. All translations need a Source Language
  6. List of Languages: [Green are Master languages as shown below]
  7. Users will be associated with master languages and their respective languages. E.g.: For Albania country editorial users, both Albania (Master Language) and Albania-Albanian will be associated

Country admins/Country Editors/SME must have access to their own master languages - because they need to be able to view the content in the master language even before it is published. Also they need to be able to access the associated translation jobs.

  1. In the “Country Content” listing page, the content with “Albanian” language and “Albania - Albanian” will get listed. For an Albanian country role users the “country content” listing will have content from the languages below: master language: Albanian and country language : Albania - Albanian. They can translate the content from Albanian master language to Albania-Albanian language. They can not edit the Master language Albanian

    a. E.g. for an Albanian Country Editor / SE

    Albania Albania - Albanian
    Albanian

    b. But mobile users of Albania will have access to only Albania-Albanian.Mobile users of Albania will choose to see the app in Albanian, and the content configured for them will be the one as Albania-Albanian.

    c. Mobile users will see the content saved as Albania-Albanian

    a. Will not see content associated with Albanian

    d. E.g. for a North Macedonian Country Editor.

    North Macedonian North Macedonian - Albanian
    North Macedonian - Macedonian
    Albanian

    e. Mobile users of Albania will choose to see the app in Albanian, and the content configured for them will be the one as North Macedonian-Albanian.

    f. Will not see content associated with Albanian master language.

Summary

  1. The country language association is only for mobile user consumption
  2. All country role users can access country language and master language
  3. Country role users cannot make changes to Master language content
  4. Country users requesting for any memsource translation to global admin will be offline and outside of the system.

Use cases for designers

Website Application Link - https://www.bebbo.app/

Aspose Words 85079702-9e20-482d-b7a1-ad07c6feeb12 027

Menu Section Pages

  1. Home - https://www.bebbo.app

  2. About Us - https://www.bebbo.app/about-us

  3. Privacy Policy - https://www.bebbo.app/privacy-policy

For Developers

Development tools helps to create Drupal sites faster and secure.

Composer is a dependency manager for PHP, it is the standard way across many PHP projects to set requirements for external dependencies. You can use it to install and update Drupal's external dependencies.

Drush is the command line and scripting interface for Drupal. You can use it to speed up installing, developing, debugging and maintaining Drupal sites.

The Drupal coding standards apply to code within Drupal and its contributed modules.

Administrator
  • Created a custom dashboard using custom module

  • View now has filters for sorting and filtering data results

  • The administrator can establish and assign roles to users

  • The administrator has control over the installation and configuration of custom and configuration modules

  • Admin enables the necessary views and modules.

Country and language definition

Groups are used to create countries.

Fields that define a country:

Fields
Country
Country Flag
Country Sponsor Logo
Country National Partner Image
Country Language
Master Language
Off Load Country

Managing language wise permissions:

Requirements:

  • All Country role users can access Country language content and Master language content

  • All Country role users can create Country language content

  • All Country role users can participate in the workflow of the Country language content

  • Country role users cannot make changes to Master language content.

Modules

Key Contributed modules mapped to the functionality

  1. Google Analytics module used to bring an interface for global admin to map the associated credentials
  2. Email Notifications was built using Content Moderation Notification
  3. Content Moderation & Workflow were built using Core Content Moderation module
  4. Role Specific Dashboards and Reports were built using Drupal views & View CSV export
  5. Mobile APIs were built using Serialisation module & Views
  6. Global Content Listing & Country Content Listing were built using views.

List of Contribute modules enabled

SNO Module Name Package Status in Prod Version
1 Admin Toolbar (admin_toolbar) Administration Contrib Enabled 3.0.1
2 Admin Toolbar Links Access Filter (admin_toolbar_links_access_filter) Administration Contrib Enabled 3.0.1
3 Admin Toolbar Search (admin_toolbar_search) Administration Contrib Enabled 3.0.1
4 Admin Toolbar Extra Tools (admin_toolbar_tools) Administration Contrib Enabled 3.0.1
5 Allowed Languages (allowed_languages) Custom Contrib Enabled 2.0.0-alpha1
6 CKEditor Media Embed plugin (ckeditor_media_embed) CKEditor Contrib Enabled 8.x-1.10
7 Config Ignore (config_ignore) Config Contrib Enabled 8.x-3.0-beta1
8 Serialization (CSV) (csv_serialization) Web services Contrib Enabled 8.x-2.0
9 Date Popup (date_popup) Date Contrib Enabled 8.x-1.1
10 Entity (entity) Other Contrib Enabled 8.x-1.2
11 Feeds (feeds) Feeds Contrib Enabled 8.x-3.0-alpha10
12 Feeds Tamper (feeds_tamper) Feeds Contrib Enabled 8.x-2.0-beta2
13 Google Analytics (google_analytics) Statistics Contrib Enabled 8.x-2.5
14 Group (group) Group Contrib Enabled 8.x-1.4
15 Group Node (gnode) Group Contrib Enabled 8.x-1.4
16 Image Style Quality (image_style_quality) Media Contrib Enabled 8.x-1.4
17 JSON Field (json_field) Field types Contrib Enabled 8.x-1.0-rc4
18 Language Switcher Dropdown (lang_dropdown) Multilingual Contrib Enabled 8.x-2.0-beta4
19 Language Field (languagefield) Field types Contrib Enabled 8.x-1.7
20 Menu Per Role (menu_per_role) Access control Contrib Enabled 8.x-1.3
21 Migrate Plus (migrate_plus) Migration Contrib Enabled 8.x-5.1
22 Migrate Source CSV (migrate_source_csv) Migration Contrib Enabled 8.x-3.4
23 Migrate Tools (migrate_tools) Migration Contrib Enabled
24 Drupal Upgrade (migrate_upgrade) Migration Contrib Enabled 8.x-3.2
25 REST UI (restui) Web services Contrib Enabled 8.x-1.20
26 Security Kit (seckit) Security Contrib Enabled 8.x-1.2
27 SMTP Authentication Support (smtp) Mail Contrib Enabled 8.x-1.0-beta7
28 Tamper (tamper) Other Contrib Enabled 8.x-1.0-alpha2
29 Title length (title_length) Other Contrib Enabled 8.x-1.2
30 Translation Management Demo (tmgmt_demo) Translation Management Contrib Enabled 8.x-1.12
31 Content Entity Source (tmgmt_content) Translation Management Contrib Enabled 8.x-1.12
32 Locales Source (tmgmt_locale) Translation Management Contrib Enabled 8.x-1.12
33 Config Entity Source (tmgmt_config) Translation Management Contrib Enabled 8.x-1.12
34 Translation Management Core (tmgmt) Translation Management Contrib Enabled 8.x-1.12
35 Export / Import File (tmgmt_file) Translation Management Contrib Enabled 8.x-1.12
36 Translation Language abilities (tmgmt_language_combination) Translation Management Contrib Enabled 8.x-1.12
37 Drupal user (tmgmt_local) Translation Management Contrib Enabled 8.x-1.12
38 Memsource Cloud Translator (tmgmt_memsource) Translation Management Contrib Enabled 8.x-1.13
39 Toolbar Menu (toolbar_menu) Other Contrib Enabled 8.x-2.2
40 Toolbar Menu Clean (toolbar_menu_clean) Other Contrib Enabled 8.x-1.3
41 VariationCache (variationcache) Other Contrib Enabled 8.x-1.0
42 Video Embed Media (video_embed_media) Video Embed Field Contrib Enabled 8.x-2.4
43 Video Embed Field (video_embed_field) Video Embed Field Contrib Enabled 8.x-2.4
44 Actions Permissions (actions_permissions) Views Bulk Operations Contrib Enabled 8.x-3.13
45 Views Bulk Operations (views_bulk_operations) Views Contrib Enabled 8.x-3.13
46 Views Data Export (views_data_export) Views Contrib Enabled 8.x-1.0
47 PB API Serialisation (custom_serialization) Custom Contrib Enabled
48 Group Country Field (group_country_field) custom Contrib Enabled
49 Custom Field (pb_custom_field) custom Contrib Enabled
50 Custom Form (pb_custom_form) custom Contrib Enabled
51 PB Custom Migrate (Multilingual) (pb_custom_migrate) Migration Contrib Enabled
52 Custom REST API (pb_custom_rest_api) Custom Contrib Enabled
53 PB Custom Standard Deviation (pb_custom_standard_deviation) Custom Contrib Enabled
54 Core modules
55 Automated Cron (automated_cron) Core Core Enabled 8.9.14
56 HTTP Basic Authentication (basic_auth) Web services Core Enabled 8.9. 14
57 BigPipe (big_pipe) Core Core Enabled 8.9.14
58 Block (block) Core Core Enabled 8.9.14
59 Custom Block (block_content) Core Core Enabled 8.9. 14
60 Breakpoint (breakpoint) Core Core Enabled 8.9. 14
61 CKEditor (ckeditor) Core Core Enabled 8.9. 14
62 Color (color) Core Core Enabled 8.9. 14
63 Configuration Manager (config) Core Core Enabled 8.9. 14
64 Configuration Translation (config_translation) Multilingual Core Enabled 8.9. 14
65 Content Moderation (content_moderation) Core Core Enabled 8.9. 14
66 Content Translation (content_translation) Multilingual Core Enabled 8.9. 14
67 Contextual Links (contextual) Core Core Enabled 8.9. 14
68 Datetime (datetime) Field types Core Enabled 8.9. 14
69 Database Logging (dblog) Core Core Enabled 8.9. 14
70 Internal Dynamic Page Cache (dynamic_page_cache) Core Core Enabled 8.9. 14
71 Text Editor (editor) Core Core Enabled 8.9. 14
72 Field (field) Core Core Enabled 8.9. 14
73 Field UI (field_ui) Core Core Enabled 8.9. 14
74 File (file) Field types Core Enabled 8.9. 14
75 Filter (filter) Core Core Enabled 8.9. 14
76 Help (help) Core Core Enabled 8.9. 14
77 Image (image) Field types Core Enabled 8.9. 14
78 Language (language) Multilingual Core Enabled 8.9. 14
79 Link (link) Field types Core Enabled 8.9. 14
80 Interface Translation (locale) Multilingual Core Enabled 8.9. 14
81 Media (media) Core Core Enabled 8.9. 14
82 Media Library (media_library) Core Core Enabled 8.9. 14
83 Custom Menu Links (menu_link_content) Core Core Enabled 8.9. 14
84 Menu UI (menu_ui) Core Core Enabled 8.9. 14
85 Migrate (migrate) Migration Core Enabled 8.9. 14
86 Migrate Drupal (migrate_drupal) Migration Core Enabled 8.9. 14
87 Node (node) Core Core Enabled 8.9. 14
88 Options (options) Field types Core Enabled 8.9. 14
89 Internal Page Cache (page_cache) Core Core Enabled 8.9. 14
90 Path (path) Core Core Enabled 8.9. 14
91 Path alias (path_alias) Core Core Enabled 8.9. 14
92 Quick Edit (quickedit) Core Core Enabled 8.9. 14
93 RDF (rdf) Core Core Enabled 8.9. 14
94 RESTful Web Services (rest) Web services Core Enabled 8.9. 14
95 Search (search) Core Core Enabled 8.9. 14
96 Serialization (serialization) Web services Core Enabled 8.9. 14
97 Shortcut (shortcut) Core Core Enabled 8.9. 14
98 System (system) Core Core Enabled 8.9. 14
99 Taxonomy (taxonomy) Core Core Enabled 8.9. 14
100 Text (text) Field types Core Enabled 8.9. 14
101 Toolbar (toolbar) Core Core Enabled 8.9. 14
102 Tour (tour) Core Core Enabled 8.9. 14
103 User (user) Core Core Enabled 8.9. 14
104 Views (views) Core Core Enabled 8.9. 14
105 Views UI (views_ui) Core Core Enabled 8.9. 14
106 Workflows (workflows) Core Core Enabled 8.9. 14

The below section lists custom modules used in the project and the purpose:

Group_country_field

Pb_custom_field

Pb_custom_form

Custom_serialization

Pb_custom_migrate

Pb_custom_rest_api

Pb_custom_standard_deviation

Custom module

Created a custom to extend functionality

Group_country_field
  • This is a general module with customization all over the site which include:

  • Form alter, View Query alter, Views exposed form alter.

  • The pages that it will impact include the translation management of all Job items pages, Recently logged in users for Dashboard.

Pb_custom_field
  • This module also defines the Actions required in the Country Listing and Global Listing page.

    Assign Content Action

    Move From Publish to Draft Action

    Move From Publish to Senior Editor Action

    Move From Publish to SME Review Action

  • The alters in this module include:

    Allowed languages as multi-select in create country page

    Manage languages in media popup

    Manage languages in individual media page

    Making australian content and mandatory content as read only

    Managing languages in user creation pages

    Managing languages in country content listing page

    Managing languages in user listing page

    Manage language validation create, edit content pages

    Field link alter for dashboard and to make listing page menus dynamic, basis user language

    Country user management

    Login form alter for forgot password

    Content moderation mail notifications

    Implemented Hook View query alter

    Views alter altering views to list jobs as per roles to assigned language

    View altered views group by nodes to remove duplicate node ids

    Implemented Hook pre-execute To change the views job list column node id from varchar to numeric.

Pb_custom_form
  • This module provides Configuration pages for admin functionality Force Update API Check, Mobile Javascript management and to Administer Bebbo

  • Forcefull Update Check API is for the App to check Country based data validity for reissuing a force update

  • Mobile Javascript management configuration provides an interface to manage the Javascript that is loaded on ‘share’ url

  • The Administer Bebbo provides an interface to manage Master Languages. The Configuration assists in triggering emails for Master Languages.

Custom_serialization

This module is for using Serialization for API rendering. The module also supports API formatting, Removed tags and URL changes for embedded images and cover image.

Pb_custom_migrate

This module helps to manage source and data migration mapping.

Pb_custom_rest_api

Expose the force API table as REST API.

Pb_custom_standard_deviation

Expose the Standard Deviation API. As there are multiple validation, created a separate module.

Contributed module

List of contributed module used in application.

SNO Module Name Package
1 Admin Toolbar (admin_toolbar) Administration
2 Admin Toolbar Links Access Filter (admin_toolbar_links_access_filter) Administration
3 Admin Toolbar Search (admin_toolbar_search) Administration
4 Admin Toolbar Extra Tools (admin_toolbar_tools) Administration
5 Allowed Languages (allowed_languages) Custom
6 CKEditor Media Embed plugin (ckeditor_media_embed) CKEditor
7 Config Ignore (config_ignore) Config
8 Serialization (CSV) (csv_serialization) Web services
9 Date Popup (date_popup) Date
10 Entity (entity) Other
11 Feeds (feeds) Feeds
12 Feeds Tamper (feeds_tamper) Feeds
13 Google Analytics (google_analytics) Statistics
14 Group (group) Group
15 Group Node (gnode) Group
16 Image Style Quality (image_style_quality) Media
17 JSON Field (json_field) Field types
18 Language Switcher Dropdown (lang_dropdown) Multilingual
19 Language Field (languagefield) Field types
20 Menu Per Role (menu_per_role) Access control
21 Migrate Plus (migrate_plus) Migration
22 Migrate Source CSV (migrate_source_csv) Migration
23 Migrate Tools (migrate_tools) Migration
24 Drupal Upgrade (migrate_upgrade) Migration
25 REST UI (restui) Web services
26 Security Kit (seckit) Security
27 SMTP Authentication Support (smtp) Mail
28 Tamper (tamper) Other
29 Title length (title_length) Other
30 Translation Management Demo (tmgmt_demo) Translation Management
31 Content Entity Source (tmgmt_content) Translation Management
32 Locales Source (tmgmt_locale) Translation Management
33 Config Entity Source (tmgmt_config) Translation Management
34 Translation Management Core (tmgmt) Translation Management
35 Export / Import File (tmgmt_file) Translation Management
36 Translation Language abilities (tmgmt_language_combination) Translation Management
37 Drupal user (tmgmt_local) Translation Management
38 Memsource Cloud Translator (tmgmt_memsource) Translation Management
39 Toolbar Menu (toolbar_menu) Other
40 Toolbar Menu Clean (toolbar_menu_clean) Other
41 VariationCache (variationcache) Other
42 Video Embed Media (video_embed_media) Video Embed Field
43 Video Embed Field (video_embed_field) Video Embed Field
44 Actions Permissions (actions_permissions) Views Bulk Operations
45 Views Bulk Operations (views_bulk_operations) Views
46 Views Data Export (views_data_export) Views
47 PB API Serialisation (custom_serialization) Custom
48 Group Country Field (group_country_field) custom
49 Custom Field (pb_custom_field) custom
50 Custom Form (pb_custom_form) custom
51 PB Custom Migrate (Multilingual) (pb_custom_migrate) Migration
52 Custom REST API (pb_custom_rest_api) Custom
53 PB Custom Standard Deviation (pb_custom_standard_deviation) Custom
54 Core modules
55 Automated Cron (automated_cron) Core
56 HTTP Basic Authentication (basic_auth) Web services
57 BigPipe (big_pipe) Core
58 Block (block) Core
59 Custom Block (block_content) Core
60 Breakpoint (breakpoint) Core
61 CKEditor (ckeditor) Core
62 Color (color) Core
63 Configuration Manager (config) Core
64 Configuration Translation (config_translation) Multilingual
65 Content Moderation (content_moderation) Core
66 Content Translation (content_translation) Multilingual
67 Contextual Links (contextual) Core
68 Datetime (datetime) Field types
69 Database Logging (dblog) Core
70 Internal Dynamic Page Cache (dynamic_page_cache) Core
71 Text Editor (editor) Core
72 Field (field) Core
73 Field UI (field_ui) Core
74 File (file) Field types
75 Filter (filter) Core
76 Help (help) Core
77 Image (image) Field types
78 Language (language) Multilingual
79 Link (link) Field types
80 Interface Translation (locale) Multilingual
81 Media (media) Core
82 Media Library (media_library) Core
83 Custom Menu Links (menu_link_content) Core
84 Menu UI (menu_ui) Core
85 Migrate (migrate) Migration
86 Migrate Drupal (migrate_drupal) Migration
87 Node (node) Core
88 Options (options) Field types
89 Internal Page Cache (page_cache) Core
90 Path (path) Core
91 Path alias (path_alias) Core
92 Quick Edit (quickedit) Core
93 RDF (rdf) Core
94 RESTful Web Services (rest) Web services
95 Search (search) Core
96 Serialization (serialization) Web services
97 Shortcut (shortcut) Core
98 System (system) Core
99 Taxonomy (taxonomy) Core
100 Text (text) Field types
101 Toolbar (toolbar) Core
102 Tour (tour) Core
103 User (user) Core
104 Views (views) Core
105 Views UI (views_ui) Core
106 Workflows (workflows) Core
Clone this wiki locally