News.miami.edu
When I began work on the project, U Miami had previously launched the initial version of its news site, with a landing-page layout for news categories. A “Load More” button at the bottom of each page would use a simple XML feed to load additional articles if prompted.
The update to the news infrastructure would see a series of news sites created for individual schools, with multiple additional layout options and additional globally available widgets.
Limitations
The UM web infrastructure is run on Cascade Server which is publishing cached flat HTML files with CSS and Javascript, so using a server-side frameworks like Angular/React/Vue are not available. We basically have standard front-end Javascript available to import and parse an XML file which contains the news feed.
Step 1: Identify the Problems
Since the goal of the News 2.0 project was to expand the scope UM’s news infrastructure from a single site to include a network of specific sites,
we determined that the following areas of our existing code required increased flexibility:
- Feeds – The original site had a single feed.xml file, but each sub-site would now have its own feed file.
- Topics – The original set of topics (categories) was hard-coded, but each sub-site would need to be able to create their own topics.
- Layouts – The new loader would need to support the original site’s layout format, along with 3 new options made available to sub-sites.
We breezed through #1 and #2 pretty quickly. Feed URL can be loaded as a single variable associated with the site and Topics would be loaded from a site-specific XML file. This left the majority of our efforts to be focused on the layouts.
Step: Building a Template Engine