-
Notifications
You must be signed in to change notification settings - Fork 3
Home
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.
This document details the installation of the Bebbo CMS framework in a new environment. It is a semi-automated process, where components and features will be included in the package by default and content/data has to be added manually through the Drupal interfaces.
The CMS framework requires the following prerequisites:
- OS with Lamp Stack
- Composer
- Drush
- Drupal
- CKEDITOR library
- Minimum 500 MB empty space is required.
This section details the installation of the prerequisites.
-
Download and install XAMPP from https://www.apachefriends.org/download.html. Recommended version for Windows is 7.4.28. Make sure to choose the XAMPP installer based on your operating system.
Click OK to the below warning message:
Let’s assume you install it on a C drive.
Please enable the PHP OPCODE CACHING module. (Paste zend_extension=php_opcache.dll below [opcache])
Click on Config button in XAMPP control panel and open my.ini file. Set the max_allowed_packet to 100M.
-
Install Composer: Follow the instructions mentioned in the below link
- For Windows: https://getcomposer.org/doc/00-intro.md#installation-windows (Here is more detailed info: https://thecodedeveloper.com/install-composer-windows-xampp/)
- For Linux: https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx
- Optional - global composer installation from https://getcomposer.org/doc/00-intro.md#globally. If you face any issues or global installation fails, you may need to replace
composer
withphp composer.phar
for your setup.
-
Install Drush: execute the following command in terminal: composer global require drush/drush
-
Install Drupal: To Download Drupal through composer execute the following command in terminal:
composer create-project drupal/recommended-project:{version} {folder name}.
For example go to C:\xampp\htdocs and run below command in CMD:
composer create-project drupal/recommended-project: 8.9.14 bebbo
Click ‘y’ to continue installation.
-
Install CKEDITOR: Download the CKEDITOR library from https://github.com/ckeditor/ckeditor4.git.
Go to C:\xampp\htdocs\bebbo\web and make a “libraries” folder if it does not already exist. Unzip ckeditor library into libraries folder as ckeditor.
The procedures below describe the steps involved in installing the framework following Drupal.
Download Bebo App profile from drive link
-
Unzip bebbo_app_profile into “profiles” folder as shown below:
-
Make sure both Apache and MySQL are started in the XAMPP tool. Click the Admin button of MySQL as shown below.
-
It should open http://localhost/phpmyadmin page. Create new database called bebbo.
-
Please go to http://localhost/bebbo/web.
Select the 'Bebbo App Framework V1.0' from the installation screen.
-
Enter the database configuration details and then click on the 'Save and continue' button.
In our example: Database name: bebbo, username: root, password is empty.
-
Then Provide the basic site details like site name , time zone and admin credentials
-
After successful installation, users will be redirected to the home page of the new installation.
After the profile installation, the menu mentioned in the below table has to be added.
-
Login as admin and click ‘Structure’ and select the “Menus” option
-
Select the “Editorial Menu“ Edit button
-
Title denotes the Menu Name and Administrative summary denotes the menu description.
Click on the Add Link button and add required menu items as mentioned below.
-
Enter the Menu details and click on the save button.
Steps to create a new Global Admin user:
-
Click on the “People” and select the “Add user” option.
-
Enter the user email address, user name, password, role and assign all the language permissions to the global admin role then click on the “Create account” button.
Note: For Global Admin, please select all languages.
The following content can be added by the Global Admin
- All Taxonomy Terms
- Add Languages
- Add Country
- Add Country User: Country Admin, Sr. Editor, Editor and SME.
Key decision to the below architecture was to ease the adding & managing more countries in future and bring more flexibility in the overall editorial process.
The diagram below explains the architecture in detail.
-
From a governance perspective all the countries need to be hosted in a single environment; Drupal uses Group module to separate the country specific content
-
The code base and database are shared.
-
The APIs are accessible from a single domain URL.
-
Using an endpoint from the Drupal website that provides data in HTTP/JSON forms, make it easy to share .
Headless Drupal is an approach to building Drupal websites, in which Drupal serves as the backend content repository. The front end is built in different technologies and communicates with Drupal via an API.
Technology stack and versions used to build the application. (Upgrades pending)
Drupal Content Management System |
---|
Acquia cloud Cloud Platform is a Drupal-tuned application lifecycle management suite with a complete infrastructure to support Drupal deployment workflow processes from development and staging through to production. |
CDN Integrated CMS with CDN the APIs and static assets to be cached in the CDN. This API, which provides JSON-formatted content, is comparable to an RSS feed in that it is accessible to the general public. As long as the content is open source and accessible to anyone, there is no risk in making API public. |
Git version control Git version control will be used on the application code, and all commits will be preserved in a special repository that other UNICEF members can access. |
MySQL |
PHP |
This section details the different content types used in the CMS and their structures.
List of content types
- Article
- Basic pages
- Child Development
- Child Growth
- Daily Homescreen
- FAQ
- Games
- Health Check-ups
- Linked Pages
- Milestone
- Vaccinations
- Video Article.
Articles grouped in thematic categories providing information and advice for parents.
Fields | Type | Usage | Editable | Remarks | Translate Field |
---|---|---|---|---|---|
Title | Text | Free text | Yes | Required Field | Yes |
Body | Long Text | Basic HTML Formatting | Yes | Yes | |
Language | Select | Single Select | Yes | From Drupal core Language module | Yes |
Category | Entity Reference [Taxonomy] | Single Select | No | Required Field | No |
Child Age | Entity Reference [Taxonomy] | Multiple Select | No | Required Field | No |
Child Gender | Entity Reference [Taxonomy] | Single Select | No | Required Field | No |
Parent Gender | Entity Reference [Taxonomy] | Single Select | No | Required Field | No |
Keywords | Entity Reference [Taxonomy] | Multiple Select | Yes | Yes | |
Cover Image | Media Reference | Single | Yes | Required Field | Yes |
Related Articles | Entity Reference [Content] | Multiple Select | No | No | |
Related Video Article | Entity Reference [Content] | Multiple Select | Yes | No | |
Licensed Content | Checkbox | Single | No | No | |
Premature Content | Checkbox | Single | Yes | Yes | |
Australian Article | Checkbox | Single | No | No | |
References and comments | Long Text | Basic HTML Formatting | Yes | Yes | |
Mandatory Content | Checkbox | Single | No | No | |
Pre-Populated | Checkbox | Single | No | Yes | |
Moderation State | Select | Single Select | Yes | Yes |
Pages containing information like Terms and Conditions, About Us & Privacy Policy
Fields | Type | Usage | Editable | Remarks | Translate Field |
---|---|---|---|---|---|
Title | Text | Free text | Yes | Required Field | Yes |
Language | Select | Single Select | Yes | From Drupal core Language module | Yes |
Body | Long Text | Basic HTML Formatting | Yes | Yes | |
Mandatory Content | Checkbox | Single | No | Yes | |
Moderation State | Select | Single Select | Yes | Yes |
Features key development article for each age period
Fields | Type | Usage | Editable | Remarks | Translate Field |
---|---|---|---|---|---|
Title | Text | Free text | Yes | Required Field | Yes |
Language | Select | Single Select | Yes | From Drupal core Language module | Yes |
Short description | Entity Reference [Content] | Text area | No | No | |
Child Age | Entity Reference [Taxonomy] | Multiple Select | No | Required Field | No |
Pinned Video Article for Boy Baby | Entity Reference [Content] | Single Select | No | Required Field | Yes |
Pinned Video Article for Girl Baby | Entity Reference [Content] | Single Select | No | Required Field | Yes |
Milestone Instructions | Long Text | Basic HTML Formatting | Yes | Yes | |
Mandatory Content | Checkbox | Single | No | No | |
Moderation State | Select | Single Select | Yes | Yes |
Growth scenario corresponding to measures of weight and height/length in relation to WHO Growth charts
Fields | Type | Usage | Editable | Remarks | Translate Field |
---|---|---|---|---|---|
Title | Text | Free text | Yes | Required Field | Yes |
Growth Type | Entity Reference [Taxonomy] | Single Select | No | Required Field | No |
Language | Select | Single Select | Yes | From Drupal core Language module | Yes |
Standard Deviation | Entity Reference [Taxonomy] | Single Select | No | Required Field | Yes |
Child Age | Entity Reference [Taxonomy] | Multiple Select | No | Required Field | No |
Description | Long Text | Basic HTML Formatting | Yes | Yes | |
Pinned Articles | Entity Reference [Content] | Multiple Select | No | Required Field | No |
Pinned Video Articles | Entity reference | No | No | ||
Mandatory Content | Checkbox | Single | No | No | |
Moderation State | Select | Single Select | Yes | Yes |
Daily messages to parents featured on the homepage of the app
Fields | Type | Usage | Editable | Remarks | Translate Field |
---|---|---|---|---|---|
Message | Text | Free text | No | Required Field | Yes |
Language | Select | Single Select | Yes | Yes | |
Moderation State | Select | Single Select | Yes | Yes | |
Mandatory Content | Checkbox | Yes |
Short responses to frequently asked questions featured in the Chatbot with links related articles
Fields | Type | Usage | Editable | Remarks | Translate Field |
---|---|---|---|---|---|
Question | Text | Free Text | Yes | Required Field | Yes |
Answer Part 1 | Text | Basic HTML Formatting | Yes | Required Field | Yes |
Answer Part 2 | Text | Basic HTML Formatting | Yes | Yes | |
Language | Select | Single Select | Yes | From Drupal core Language module | Yes |
Chatbot SubCategory | Entity Reference [Taxonomy] | Single Select | No | Required Field | No |
Related Article | Entity Reference [Taxonomy] | Multi Select | Yes | Yes | |
Mandatory Content | Checkbox | Single | No | No | |
Moderation State | Select | Single Select | Yes | Yes |
Play activities/games to stimulate child development, linked with development domains and milestones
Fields | Type | Usage | Editable | Remarks | Translate Field |
---|---|---|---|---|---|
Title | Text | Free text | Yes | Required Field | Yes |
Description | Long Text | Basic HTML Formatting | Yes | Yes | |
Language | Select | Single Select | Yes | From Drupal core Language module | Yes |
Domain | Entity Reference [Taxonomy] | Single Select | No | Required Field | No |
Type of support | Entity Reference [Taxonomy] | Single Select | No | No | |
Cover Image | Media Reference | Single | Yes | Required Field | Yes |
Child Age | Entity Reference [Taxonomy] | Multiple Select | No | Required Field | No |
Pinned Milestone | Entity Reference [Content] | Multiple Select | No | No | |
Mandatory Content | Checkbox | Single | No | No | |
Pre Populated | Checkbox | Single | No | No | |
Moderation State | Select | Single Select | Yes | Yes |
Title and the age period of each health check-up
Fields | Type | Usage | Editable | Remarks | Translate Field |
---|---|---|---|---|---|
Title | Text | Free text | Yes | Required Field | Yes |
Body | Text | Free text | Yes | Yes | |
Language | Select | Single Select | Yes | From Drupal core Language module | No |
Age periods for vaccinations and health check-ups | Entity Reference [Taxonomy] | Single Select | No | Required Field | No |
Pinned Article | Entity Reference [Content] | Single Select | No | No | |
Pinned Video Article | Entity Reference [Content] | Single Select | No | No | |
Moderation State | Select | Single Select | Yes | Yes |
Feature that allows running of short surveys with app users
Fields | Type | Usage | Editable | Remarks | Translate Field |
---|---|---|---|---|---|
Title | Text | Free text | Yes | Required Field | Yes |
Language | Select | Single Select | Yes | From Drupal core Language module | Yes |
Description | Long Text | Basic HTML Formatting | Yes | Yes | |
Type | Select | Single Select | Yes | Required Field | Yes |
Survey / Feedback Link | URL | URL Link | Yes | Required Field | Yes |
Moderation State | Select | Single Select | Yes | Yes |
Developmental milestones specific to child age periods
Fields | Type | Usage | Editable | Remarks | Translate Field |
---|---|---|---|---|---|
Title | Text | Free text | Yes | Required Field | Yes |
Body | Long Text | Basic HTML Formatting | Yes | Yes | |
Language | Select | Single Select | Yes | From Drupal core Language module | Yes |
Child Age | Entity Reference [Taxonomy] | Multiple Select | No | Required Field | No |
Related Articles | Entity Reference [Content] | Multiple Select | No | No | |
Related Video Articles | Entity Reference [Content] | Multi Select | Yes | Yes | |
Related Activities | Entity Reference [Content] | Multi Select | No | No | |
Mandatory Content | Checkbox | Single | No | No | |
Pre Populated | Checkbox | Single | No | No | |
Moderation State | Select | Single Select | Yes | Yes |
Name of each vaccine and period in which it is administered
Fields | Type | Usage | Editable | Remarks | Translate Field |
---|---|---|---|---|---|
Vaccine Name | Text | Free text | Yes | Required Field | Yes |
Language | Select | Single Select | Yes | From Drupal core Language module | Yes |
Pinned Article | Entity Reference [Content] | Single Select | No | No | |
Pinned Video Article | Entity Reference [Content] | Single Select | No | No | |
Age periods for vaccinations and health check-ups | Entity Reference [Taxonomy] | Single Select | No | Required Field | No |
Moderation State | Select | Single Select | Yes | No | |
From old vaccination calendar | Boolean | Checkbox | Yes | No |
Video articles grouped under 6 thematic categories and videos supporting milestones.
Fields | Type | Usage | Editable | Remarks | Translate Field |
---|---|---|---|---|---|
Title | Text | Free text | Yes | Yes | |
Body | Long Text | Basic HTML Formatting | Yes | Yes | |
Language | Select | Single Select | Yes | From Drupal core Language module | Yes |
Category | Entity Reference [Taxonomy] | Single Select | No | Yes | |
Child Age | Entity Reference [Taxonomy] | Multiple Select | No | No | |
Child Gender | Entity Reference [Taxonomy] | Single Select | No | No | |
Parent Gender | Entity Reference [Taxonomy] | Single Select | No | Yes | |
Keywords | Entity Reference [Taxonomy] | Multiple Select | Yes | Yes | |
Cover Video | Media Reference | Single | Yes | Yes | |
Related Articles | Entity Reference [Content] | Multiple Select | No | Yes | |
Licensed Content | Checkbox | Single | No | No | |
Premature Content | Checkbox | Single | Yes | Yes | |
Australian Article | Checkbox | Single | No | No | |
References and comments | Long Text | Basic HTML Formatting | Yes | Yes | |
Mandatory Content | Checkbox | Single | No | No | |
Related Video Articles | Entity Reference [Taxonomy] | Multiple Select | No | No | |
Moderation State | Select | Single Select | Yes | Yes |
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.
Fields | Type | Usage | Editable |
---|---|---|---|
Name | Text | Free text | Yes |
Health Check-up/Vaccination Open | Integer | Number | No |
Fields | Type | Usage |
---|---|---|
Title | Text | Free text |
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 |
Fields | Type | Usage | Editable |
---|---|---|---|
Name | Text | Free text | Yes |
Period | Text | Free text | No |
Days From | Text | Numeric | No |
Days To | Text | Numeric | No |
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 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 - male, female
Fields | Type | Usage | Editable |
---|---|---|---|
Name | Text | Free text | Yes |
Daily messages for parents
Child development domains linked to Activities
Fields | Type | Usage |
---|---|---|
Unique name | Text | Free text |
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 |
Weight for height/length; Weight for age
Fields | Type | Usage | Editable |
---|---|---|---|
Title | Text | Free text | Yes |
Distinct words/terms characteristic for a content of a given article
Fields | Type | Usage |
---|---|---|
Title | Text | Free text |
Gender of a parent or a caregiver using the app, tagging category
Fields | Type | Usage | Editable |
---|---|---|---|
Name | Text | Free text | Yes |
Fields | Type | Usage | Editable |
---|---|---|---|
Name | Text | Free text | Yes |
Description | Text area | Multiple rows | Yes |
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 |
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 required to implement an Activity
Fields | Type | Usage | Editable |
---|---|---|---|
Name | Text | Free text | Yes |
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).
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.
Following are the key considerations while building the APIs.
- Data will be available via RESTful API in JSON format (read only)
- API provides read-only data access.
- APIs are cached in the CDN
- 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 |
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. |
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 |
---|---|
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 and Language definition
- Countries will have languages associated with them
- E.g. Greece country will get associated with Greece-Greek
- Countries can have multiple languages.
- E.g. Tajikistan has Tajikistan-Russian and Tajikistan-Tajik
- No Language can have more than one country
- E.g. Greece-Greek will not be associated with any other country other than Greece.
- Languages will be associated with the users and not the country.
- Master language will also be associated with the respective users.
- 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.
- All translations need a Source Language
- List of Languages: [Green are Master languages as shown below]
- 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.
-
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
- The country language association is only for mobile user consumption
- All country role users can access country language and master language
- Country role users cannot make changes to Master language content
- Country users requesting for any memsource translation to global admin will be offline and outside of the system.
Website Application Link - https://www.bebbo.app/
Menu Section Pages
-
Home - https://www.bebbo.app
-
About Us - https://www.bebbo.app/about-us
-
Privacy Policy - https://www.bebbo.app/privacy-policy
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.
-
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.
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.
Key Contributed modules mapped to the functionality
- Google Analytics module used to bring an interface for global admin to map the associated credentials
- Email Notifications was built using Content Moderation Notification
- Content Moderation & Workflow were built using Core Content Moderation module
- Role Specific Dashboards and Reports were built using Drupal views & View CSV export
- Mobile APIs were built using Serialisation module & Views
- 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) | 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
Created a custom to extend functionality
-
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.
-
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.
-
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.
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.
This module helps to manage source and data migration mapping.
Expose the force API table as REST API.
Expose the Standard Deviation API. As there are multiple validation, created a separate 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) | |
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 |