Yet Another Template System?

Yes and no. Sportwire consists of a data-acquisition stage specifically tailored to parsing and storing the ESPN and AFP sports news feeds and a set of tools to adapt legacy sports news feeds, but it also includes SportPage, a powerful general-purpose java-servlet web application delivery system for public websites.

Sportwire Feeder

Sportwire is a stand-alone daemon application to connect to and transform vendor-specific sports news feeds. Output formats include conversion to alternative XMLs via XSL (eg to SportsML) and mapping of continuous-feed news wire XML into relational databases (currently Oracle or Postgres).

SportPage Web Application Server

SportPage uses Apache/Jakarta Velocity to provide a topic-centric web server for high-traffic public websites.

Features:

  • MRU Caching: XML and JDBC results are cached only while demand persists. JDBC results are pre-fetched while the result set is live.
  • Multi-Site: Multiple independent deployments can co-exist on the same server.
  • Topic Oriented: All template variables are context dependent; layouts, data items, XML objects and property values can be set for topic directories and overridden by deeper directory contexts.
  • MVC Design: SportPage separates the model and control programming from the view layout and design.
  • Highly configurable: Everything from the default page handler to cache refresh periods and timeouts can be configured.
  • Ad-hoc Objects: Any well-behaved Java bean object can be added to the global system or on a template-by-template basis with no Java coding.
  • human-oriented web interface: all URIs within a SportPage site are completely pronounceable.

You're Giving Away Sportwire?

Every Sportsticker, AFP and SportsNetwork subscriber has the same problem: Incoming data must be parsed, spooled and delivered to their website in a manageable form. Every online sports news service has their own style, and their own focus; these abstract differences which do not change the underlying problem of just spooling the news.

Because we differentiate our websites by what we do, there is no advantage to 'owning' the core spooling system. Because software development is expensive and tedious, it makes sense for everyone to share and collaborate. The popularity of our old GPL Sportswire for the now-obsolete ESPN binary format convinced us to do it again, only this time, we went public from the start.

Like Sportwire I, this is commercial scale software intended for large public sports news websites; sportwire is not something for a casual website - but it's still free software. Some may only need parts of it, others may need to overhaul or extend it, but its here, available for use, and we welcome your participation. Because we needed this software for CBC.ca, we developed Sportwire to a production quality. Now it's done, it's time to move forward -- comments are welcome; requests for features and bug reports can be logged through the Sourceforge Project Page

Important: Sportwire is not a sports news feed; sports news is an expensive service offered by vendors like ESPN and TheSportsNetwork -- Sportwire only connects your website to these services, but you must subscribe to these services to use the kit. Also, the XSL stylesheets for transforming these feeds to SportsML are not included in the Sportwire distribution; for information on licensing these stylesheets, you will need to context the CBC.

Smaller websites, fan sites and fantasy leagues interested in adding inexpensive sports stats to their projects should contact XMLTeam.com to ask about their SportsML packages.
Project Resources
Project Page

SourceForge Project Page tracks the project status. This includes task lists, documentation

Documents:

Project Communications:

Openprojects IRC channel #sportwire is our unofficial home for project discussion. We're almost never there unless there is pressing need for real-time discussion.

Sample Data:
The ESPN Sportsticker Specifications Page contains the latest news on the proposed 2002 XML formats and sample feed files. For AFP sample data, please visit afp.com or look into the SportsML standard.
Can I Join?

Yes, if you have the right skills. The complete product is only really useful to sports news websites, but a project like this has many smaller problems. Our plan includes Object-Relational mapping, XML transport, ASCII/XML translation, robust TCP/IP socket coding, Java Beans, data caching, remote method calls, translating C/C++ to Java ... you don't have to be working for a sports news website to participate.