News list
Use the news list when visitors need grids, simple lists, or tag-driven story browsing.
Live demo
Readers get a scannable index of articles with optional filters and search so they can narrow by topic, date, or keyword. Content authors choose the list source (curated pages or rules-driven search), the layout, and display options such as cards versus compact rows, “more stories” links, and pagination. The same component supports keyword search that can switch to the site’s search appliance when visitors type a query.
Behaviour
- Format changes the overall shell: grid, vertical list, faceted sidebar, or landing promo blocks.
- Search and manual modes pull items differently; limits and grid size interact (see Code).
- Faceted hubs load mode-specific filters (for example years, authors, or program-specific tags).
Anatomy
- Chrome for the chosen format (toolbar, optional search, “more” link).
- Story items (cards, rows, or landing tiles) depending on Display as.
- Pagination or RSS when enabled.

Replace with grid, list, and faceted examples.
Content guidelines
- Pick Format first; it changes which dialog sections apply.
- Align search path and tags with how authors tag stories in the repository.
Best practices
Do
- For Grid, decide Card versus Item based on density and imagery.
Don't
- Don't enable debug on publish (forced off in script).
When to use
- News hubs, tagged listings, blog indexes, landing hero blocks, faceted hubs (GradProSkills, JMEC, etc.).
When not to use
- Single story pages; use the News story template.
- Events; use Calendar or Featured events.
CRXDE Lite query
Use this query in CRXDE Lite to find instances of this component.
/jcr:root/content//*[@sling:resourceType = 'concordia/components/news-events/news-list/news-list.jsp']Design and layout options
These map to dialog.xml on the component. The Format field drives which fieldset is relevant; the dialog script manageFieldsNewsList shows or hides Grid options, List options, Faceted search options, and Landing page options.
Build list using
| Value | Authoring tabs | Behaviour |
|---|---|---|
| Search | Search tab | Query searchPath (default /content/shared/en/news if empty), tags (audiences, categories, topics, units), match any tag versus all tags, authors, news types (accolade, blog, article, digest, item, notice, release, story), filter by age (last N months). |
| Manual list | Fixed list tab | Ordered pages multifield (paths under /content/shared). Ignores the generic Limit number field in favour of the number of pages picked (see dialog field description). |
Format (top-level layout)
| Format | Output wrapper (key) | Role |
|---|---|---|
| Grid | c-news-list__grid |
Responsive card or compact item grid; optional toolbar (more link, RSS, show or hide filters). |
| List | c-news-list__list |
Vertical stack of stories; Display as chooses row template. |
| Faceted search | Faceted layout in format_faceted_search.jsp |
Sidebar filters depend on Mode (GradProSkills, Public Scholars, etc.). |
| News landing page | c-news-list__landing |
Hero-style landing blocks (Top news versus More news templates). |
Grid format
| Field | Purpose |
|---|---|
| Display as | news_card (label Card) or news_item (label Item). Options come from grid-scripts/listitem_*.jsp (griddisplayoptions.json.jsp). |
| Hide date | Suppresses date in list item output. |
| Show label | Checkbox; applies to cards only (field description in dialog). |
| Grid size | Columns × rows; sets how many cells are rendered (overrides the generic Limit). |
| Link page / Link text | Optional top-right “more” link (moreLinkPage, moreLinkText). |
| Search field | Shows keyword input in the grid chrome. |
| Search text | Placeholder for that input. |
| Years dropdown / Months dropdown / Categories dropdown | Optional filter controls (months and sort order interact with Thunderstone query params in news-list.jsp). |
| Sort order dropdown | Only when using Thunderstone (field description). |
Toolbar: format_grid.jsp can show More link, RSS, and Show filters / Hide filters when any of the search or dropdown options are enabled.
List format
| Field | Purpose |
|---|---|
| Display as | latest_news, popular_news, or announcements (list-scripts list items; labels Latest news, Popular news, Announcements). |
| More text | Label for the secondary link (default More). |
| More link | Path to “see all” page. |
Faceted search format
| Field | Purpose |
|---|---|
| Mode | Chooses which facet definitions and filter JSPs load: GradProSkills (gps), Public Scholars (authors), Generic (years) (years), JMEC-English / JMEC-French (jmec-en, jmec-fr), CHRCS (chrcs), CTL (ctl). |
| Tag Path (per mode) | When a mode needs a fixed tag root (for example Public Scholars, JMEC), the matching pathfield is shown. |
News landing page format
| Field | Purpose |
|---|---|
| Display as | top_news or more_news (Top news / More news from landing-scripts). |
| Link text / Link page | Bottom-right more link (landingMoreText, landingMoreLink). |
Shared (all formats)
| Field | Purpose |
|---|---|
| Limit | Number of items (1–100); ignored for Grid (grid size wins) and Manual list (per dialog description). |
| Enable feed / Feed title / Feed URL | RSS / Atom hooks. |
| Show pagination | Delegates to pagination.jsp when applicable. |
| CSS class | additionalClass on the outer instance wrapper. |
Implementation anatomy
- Outer wrapper:
divwithinstanceIdand optionaladditionalClass. - Query layer: JCR
QueryService, manual pages, or Thunderstone XML whenqueryis present. - Format shell: One of
c-news-list__grid,c-news-list__list,c-news-list__landing, or faceted layout. - List items:
grid-scripts/listitem_${gridDisplayAs}.jsp,list-scripts/listitem_${listDisplayAs}.jsp,landing-scripts/listitem_${landingDisplayAs}.jsp.
Instances in the codebase
| Location | Notes |
|---|---|
apps/concordia/components/news-events/news-list/news-list.jsp | Main controller. |
format_grid.jsp, format_list.jsp, format_landing.jsp, format_faceted_search.jsp | Layout shells. |
grid-scripts/, list-scripts/, landing-scripts/ | List item templates. |
pagination.jsp | Shared pagination. |
dialog.xml | All authoring options above. |
| Item | Location |
|---|---|
| Main | apps/concordia/components/news-events/news-list/news-list.jsp |
| Display option JSON | griddisplayoptions.json.jsp, listdisplayoptions.json.jsp, landingdisplayoptions.json.jsp (scan listitem_*.jsp and jcr:title on each script). |
Thunderstone: If request.getParameter("query") is non-empty, news-list.jsp builds a search.concordia.ca URL with pr, rpp, order, tags, show_on, site id, etc., then parses XML into Page objects.