Catapult Announcement Documentation
The announcements codeline is by far the largest “small” codeline that the Catapult development team is responsible for maintaining. Among the reasons for this are the flexibility and scale that is required for the program to achieve what it was designed to accomplish.
Unlike the directory, or school manager the announcement feed is used by a thousand schools to serve millions of requests and the same content needs to be able to be displayed in a dozen different HTML outputs.
Announcements 2.0 End of Life
The existing announcement codeline is written in .NET 4 is hosted on a Windows 2017 server and stores data in a MSSQL database. These technologies are expensive, dated and are due to reach their “end of life” within the next year, which will open the announcement server to vulnerabilities that we won’t be able to fix.
Announcement 2.0 Usage Limitations
The current program is now receiving more traffic then it can support, when our sites receive traffic the announcement program receives approximately 15 requests per homepage view, which translates to over 20 million packets of traffic per day (as many as one million every 10 minutes) this level of traffic is worse than most DDOS attacks, it is enough to overload a firewall and shut down a server.
Announcements 3.0
Required Features for Announcement 3.0
To solve the current need the announcement program needs to solve several problems. It provides a centralized platform which can both receive and distribute content from multiple platforms.
Accept content from multiple sources (Connect, CMS 2.0, CMS 3.0) The system needs to validate the sender has the authority to access the system and ensure content goes to the “correct” place. (limited access based on your usage credentials)
Allows “blog” content to be syndicated across multiple websites at the same time, (District office to multiple schools)
Send content to our “District App”.
It needs a robust scheduling system (Schedule / Archive / Draft)
A tiered priority system for displaying announcements. In Chronological order.
Support for multiple content types (simple, basic & rich) text posts.
Solution for the Future
We can expect the traffic from CMS 2 and our apps to double in the next year, and the traffic from 3.0 to eventually scale to 10x or more then the current volume. The Server, Database and Code we use to develop this solution needs to last 10 years from launch without a significant re-write.