Skip to content

Content Types (Schema)

Candice edited this page Aug 4, 2025 · 13 revisions

This section outlines the content types and their relationships used in the NIAID Data Ecosystem portal.

📑 Table of Contents

Collection Types

Collection types are content-types managing several entries. For each available collection type, multiple entries can be created.

Category

Purpose: Organizes content across the portal into meaningful groups.

API Routes

GET /api/categories?populate=*

Fields

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.

Disease

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.

Doc

Purpose: Provides user-facing documentation, guides, and informational content for the portal.

API Routes

GET /api/docs?populate=*

Fields

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.

Event

Purpose: Information about events related to the NIAID Data Ecosystem.

API Routes

GET /api/events?populate=*

Fields

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.

Features

Purpose: Information about features related to the NIAID Data Ecosystem.

API Routes

GET /api/features?populate=*

Fields

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.

Link Category

Purpose: A category of links that allows grouping of similar links.

API Routes

GET /api/link-categories?populate=*

Fields

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.

News

Purpose: Updates about features and releases related to the NIAID Data Ecosystem.

API Routes

GET /api/news-reports?populate=*

Fields

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.

Notice

Purpose: Displays alerts about downtimes or other issues that may impact users. Notices appear in a banner across the top of all portal pages.

API Routes

GET /api/notices?populate=*

Fields

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

Single types are content-types with only one entry.

About page

Purpose: Holds the static content displayed on the portal’s "About" page.

API Routes

GET /api/about-page?populate=*

Fields

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.

Disclaimer page

Purpose: Holds the static content displayed on the portal’s "Disclaimer" page.

API Routes

GET /api/disclaimer-page?populate=*

Fields

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.

Integration page

Purpose: The Knowledge Center's integration page has a unique layout. This single type contains the static content.

API Routes

GET /api/integration-page?populate=*

Top-Level Fields

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.|


Component: overview (Repeatable)

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.

Component: tabs

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.

Component: panels (Repeatable)

Field Type Required Description
title string Panel title shown in the UI.
cards Component (repeatable) List of card items inside the panel.

Component: cards (Repeatable)

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.

Component: textBlocks (Repeatable)

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.

Shared Components

Reusable components that are shared across multiple schemas and content types.


Component: Link Item

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.

Component: SEO

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.

📖 Relevant Strapi documentation

Clone this wiki locally