-
Notifications
You must be signed in to change notification settings - Fork 0
Content Types (Schema)
This section outlines the content types and their relationships used in the NIAID Data Ecosystem portal.
📑 Table of Contents
2. Single Types
Collection types are content-types managing several entries. For each available collection type, multiple entries can be created.
Purpose: Organizes content across the portal into meaningful groups.
GET /api/categories?populate=*
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
✅ | Display name of the category. |
docs |
Relation to Doc
|
❌ | Documentation pages associated with this category. |
events |
Relation to Event
|
❌ | Events grouped under this category. |
feature |
Relation to Featured
|
❌ | Featured pages associated with this category. |
news |
Relation to News
|
❌ | News items assigned to this category. |
order |
number |
❌ | Used to determine display order of categories in lists. |
Purpose: Provides information about health conditions.
| Field | Type | Required | Description |
|---|---|---|---|
title |
string |
✅ | Title of the disease page. |
topic |
string |
✅ | Topic name used to populate the page. |
slug |
UID |
✅ | Auto-generated URL path where the feature long content is accessible. |
query |
JSON |
✅ | NIAID Data Ecosystem compatible query to retrieve relevant data to populate the page. |
image |
media |
✅ | Accompanying image or logo used in card and page views. |
subtitle |
string |
❌ | Secondary heading or summary shown below the title. |
description |
rich text |
❌ | Main content body, supporting Markdown formatting. Also used in card view. |
contacts |
Component (repeatable) - Link Item
|
❌ | List of relevant emails or contact information. |
externalLinks |
Component (repeatable) - Link Item
|
❌ | List of relevant webpages. |
Purpose: Provides user-facing documentation, guides, and informational content for the portal.
GET /api/docs?populate=*
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
✅ | Title of the documentation page. |
slug |
UID |
✅ | Auto-generated URL path where the documentation page is accessible. |
subtitle |
string |
❌ | Secondary heading or summary shown below the title. |
description |
rich text |
❌ | Main content body, supporting Markdown formatting. |
category |
Relation to Category
|
❌ | One or more categories the page is associated with. |
order |
number |
❌ | Determines the position of this page relative to others in category listings. |
Purpose: Information about events related to the NIAID Data Ecosystem.
GET /api/events?populate=*
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
✅ | Title of the event. |
shortDescription |
string |
✅ | Short content to display as a preview in homepage cards. |
slug |
UID |
✅ | Auto-generated URL path where the event long content is accessible. |
subtitle |
string |
❌ | Secondary heading or summary shown below the title. |
eventDate |
date |
❌ | Date when the event takes place. |
description |
rich text |
❌ | Main content body, supporting Markdown formatting. |
image |
media |
❌ | Uploads and links to one media asset (e.g., JPG, PNG, SVG) to be used as thumbnail. |
categories |
Relation to Category
|
❌ | One or more categories the event is associated with. |
Purpose: Information about features related to the NIAID Data Ecosystem.
GET /api/features?populate=*
| Field | Type | Required | Description |
|---|---|---|---|
title |
string |
✅ | Title of the feature. |
subtitle |
string |
✅ | Secondary heading or summary shown below the title. |
abstract |
string |
✅ | Short content to display as a preview in cards. |
slug |
UID |
✅ | Auto-generated URL path where the feature long content is accessible. |
content |
rich text |
✅ | Main content body, supporting Markdown formatting. |
thumbnail |
media |
✅ | Uploads and links to one media asset (e.g., JPG, PNG, SVG) to be used as thumbnail. |
banner |
media |
❌ | Image to display on feature page (optional) |
categories |
Relation to Category
|
❌ | One or more categories the event is associated with. |
metaFields |
Component - SEO
|
❌ | Used to define optional meta information for the page. |
Purpose: A category of links that allows grouping of similar links.
GET /api/link-categories?populate=*
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
✅ | Name of the category to group links by. |
url |
string |
❌ | Optional URL for the category. |
description |
string |
❌ | Optional description of the category. |
Purpose: Updates about features and releases related to the NIAID Data Ecosystem.
GET /api/news-reports?populate=*
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
✅ | Title of the news item. |
shortDescription |
string |
✅ | Short content to display as a preview in homepage cards. |
slug |
UID |
✅ | Auto-generated URL path where the news long content is accessible. |
subtitle |
string |
❌ | Secondary heading or summary shown below the title. |
description |
rich text |
❌ | Main content body, supporting Markdown formatting. |
image |
media |
❌ | Uploads and links to one media asset (e.g., JPG, PNG, SVG) to be used as thumbnail. |
categories |
Relation to Category
|
❌ | One or more categories the news item is associated with. |
Purpose: Displays alerts about downtimes or other issues that may impact users. Notices appear in a banner across the top of all portal pages.
GET /api/notices?populate=*
| Field | Type | Required | Description |
|---|---|---|---|
heading |
string |
✅ | Short title displayed in the notice banner. |
description |
rich text |
✅ | Full message content. Supports Markdown formatting. |
state |
enum |
✅ | Defines the type of notice (e.g., info, error, warning, success). Defaults to warning. |
isActive |
boolean |
✅ | Toggle to show or hide the notice on the portal. Defaults to true. |
affectedRepository |
string |
❌ | Optional name of the repository affected by the issue. |
Single types are content-types with only one entry.
Purpose: Holds the static content displayed on the portal’s "About" page.
GET /api/about-page?populate=*
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
✅ | Title of the about page. |
description |
rich text |
✅ | Main content on the about page, supporting Markdown formatting. |
subtitle |
string |
❌ | Secondary heading or summary shown below the title. |
Purpose: Holds the static content displayed on the portal’s "Disclaimer" page.
GET /api/disclaimer-page?populate=*
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
✅ | Title of the disclaimer page. |
description |
rich text |
✅ | Main content on the disclaimer page, supporting Markdown formatting. |
subtitle |
string |
❌ | Secondary heading or summary shown below the title. |
Purpose: The Knowledge Center's integration page has a unique layout. This single type contains the static content.
GET /api/integration-page?populate=*
| Field | Type | Required | Description |
|---|---|---|---|
title |
string |
✅ | Main title of the page. |
description |
rich text |
❌ | Primary body content. Supports Markdown formatting. |
overview |
Component (repeatable) | ❌ | Introductory or summary section cards. |
tabs |
Component | ❌ | Contains grouped content organized under tabs. |
textBlocks |
Component (repeatable) |
| ❌ | Additional modular text sections that may be reused elsewhere.|
| Field | Type | Required | Description |
|---|---|---|---|
title |
string |
✅ | Title of the section. |
slug |
UID |
✅ | Auto-generated URL path used for anchor links. |
description |
rich text |
❌ | Main description content. |
image |
media |
❌ | Optional image representing the section. |
| Field | Type | Required | Description |
|---|---|---|---|
title |
string |
✅ | Tab group title. |
slug |
UID |
✅ | Auto-generated URL path used for anchor links. |
description |
rich text |
❌ | Optional text describing the group of tabs. |
panels |
Component (repeatable) | ❌ | Panels within the tab group. |
| Field | Type | Required | Description |
|---|---|---|---|
title |
string |
✅ | Panel title shown in the UI. |
cards |
Component (repeatable) | ❌ | List of card items inside the panel. |
| Field | Type | Required | Description |
|---|---|---|---|
title |
string |
✅ | Card title. |
content |
rich text |
✅ | Rich text or Markdown content. |
additionalInfo |
rich text |
❌ | Optional supplementary text. |
icon |
media |
❌ | Icon representing the card’s topic. |
isRequired |
boolean |
❌ | Signals to user that this card item is a requirement. |
| Field | Type | Required | Description |
|---|---|---|---|
title |
string |
✅ | Section title. |
slug |
UID |
❌ | Auto-generated URL path used for anchor links. |
description |
rich text |
❌ | Main content block. Supports Markdown. |
Reusable components that are shared across multiple schemas and content types.
Purpose: A reusable component with properties often used in tandem with link URLs.
| Field | Type | Required | Description |
|---|---|---|---|
label |
string |
✅ | Label or name associated with the link. |
url |
UID |
✅ | Link URL. |
isExternal |
boolean |
✅ | Whether the link points to an external page. |
image |
media |
❌ | Accompanying image or logo. |
categories |
Component (repeatable) - Link-category
|
❌ | Associated Link Category group with this URL. |
Purpose: This component is used to define meta information for a page, including the title, description, and keyword tags.
| Field | Type | Required | Description |
|---|---|---|---|
title |
string |
✅ | The page’s meta title. Suggested length: 50–60 characters. |
description |
string |
✅ | A brief summary of the page’s content. Suggested length: 150–160 characters. |
keywords |
string |
✅ | Comma‑separated list of relevant keywords. Suggested length: 5–10 keywords. |