An academic publishing company sought a cleaner, more intuitive way to display curated content on its Sitefinity-powered website. The goal was simple: when editors selected multiple content lists (List A, B, and C), the resulting items should display in the same order as those lists were chosen. However, Sitefinity’s default Content List widget had other plans.
While the widget allowed filtering by multiple lists and even supported sorting by fields like title or publication date, it lacked native support for preserving the order of the parent lists used in the filter. As a result, the curated sequence defined by the editorial team was lost—causing confusion and disrupting the intended user experience.
The underlying challenge stemmed from the widget's architecture. It was designed to display ListItems rather than the parent Lists themselves. And while filtering was already complex—driven by a JSON-based expression filtering by ParentId—there was no mechanism to extract or act on the original list order.
To solve this, Visus implemented a targeted enhancement that extended the Content List widget without altering its core functionality. A new method, SortListItemsByFilters, was introduced to run after the default HandleListView logic. This custom method:
- Validated the widget’s content type to ensure it was working with ListItems.
- Parsed the JSON filter logic into a custom DTO to extract the exact order of parent List IDs selected by the editor.
- Reordered the filtered ListItems to match the selected list order.
- Preserved existing sort options such as alphabetical or date-based sorting, applying the new order only after the base sort is completed.
This focused enhancement ensured that the change applied only to this specific scenario, avoiding disruptions to other widget instances across the site.
The result was a more seamless and predictable user experience. Visitors saw curated content in the order intended by editors, while the editorial team gained greater control without needing to adjust to technical constraints or perform manual workarounds.
Key Takeaway:
In CMS platforms like Sitefinity, editorial intent often collides with out-of-the-box widget behavior—especially in nested content structures. Instead of forcing editors to compromise, a thoughtful, low-impact extension can bridge the gap between technical limitations and real-world publishing needs.