-
Notifications
You must be signed in to change notification settings - Fork 1
Company Terminology
Like any company, we have named a number of our custom systems and services. Below is a glossary of acronyms and terms you will hear in meetings and conversations.
WPS is the template engine for our server output, and is a headless system. Our content management system is called CUE and is a Java-based application. WPS uses custom-built JSON feeds coming out of CUE to build our pages. It's an Express application written in NodeJS. Most of the templates have been converted to use Vue.js, but there are some older ones on different engines. This code base is maintained by the front end team of the engineering department, and they work on a two-week sprint schedule. Any changes to the templates require a ticket and they set the priority order for each ticket.
The process to update the templates is pretty clean, and we've been operating this way for a number of years now with few hiccups.
- A request comes from a stakeholder that is going to require new styles and DOM.
- NewsX builds that feature in a style guide deck using mock data for stakeholder review.
- If the final version requires new CSS, NewsX cuts a new release of SDS including those styles.
- The front end team loads the new SDS version in a feature branch, and builds the feature in WPS using the deck as a guide.
- QA reviews the feature at the end of the sprint and if it passes the feature is released.
This repository is a set of CSS files originally built to replace Bootstrap as the primary framework for our websites. It uses the Atomic Design Methodology with a twist in the naming convention: atoms, molecules, cards and decks. This repository has two parts: the main code base is an NPM package developers can easily install in larger applications, and a style guide hosted in GitHub Pages to demonstrate the intended DOM structure.
The style guide is served from the github-pages branch, and there are rules in the make file to help keep that organized.
Yozons is the name of the dynamic layer on our pages. It is a client-side ecosystem that gathers information from advertisers and vendors to make decisions, and in many cases acts on those decisions. This is where ad positions are filled, analytics are tracked or measured, and subscription status is determined. It is managed by its own team, but that team has made it extensible. For example, NewsX currently maintains a Yozons extension that redistributes ad units based on a reader's status and geolocation.
Several years ago, we did a UX analysis to determine how frequently we should interrupt the reading experience with alternative content including ads, marketing CTAs and links to alternative content. To simplify conversation, we called these interruptions "zones". Each department got designated zones to inject content after the initial page load. The system is more fluid now, but the term lives on. Zones still referes to any content not created by the reporter directly in the CMS.
Ladon is a server implementation of Vue.js, and is used to distribute snippets of HTML or standalone pages. The files are stored in a separate repository from WPS so that they can be updated more frequently than the standard two-week sprint cycle. The contents of each file is typically small and completely static HTML.
In 2021, DevOps set up a sync making files stored in a Google Cloud Bucket accessible on each market. This was a major leap for us, as it allowed us to serve files directly from the primary domain. We call this The Bucket, and is where we store element class files, creative assets for projects and custom skins. It is synced every 15 minutes.