Please excuse the shouting, but it isn't the sort of thing that happens every day! Ten years ago we listed this project here on the sf.net, and here we are today all these many svn updates later and it is this software that is at the core of where we made most of our income during this century! Who says you can't make money from free software!
And as I mentioned, there are still changes going into the Sportwire, although many more changes happening around the way that we are using it; I'm proud to report that, overall the architecture of the program is largey the same today as it was back in 2001, a high performance concurrent document processing machine that has become somewhat leaner as the world caught up to XML and we no longer needed all the integrity checks and fixups. This year too we have replaced our own concurrent thread code with the new Java6 util.concurrent classes, incorporated the now-standard regex packages and even modernized a few of the loop constructs! :) Most of all, though, it just works, so we just leave it be to do it's job, accepting, transforming and delivering tens of documents per second 7x24 without maintenance so we can get on with all the fun parts of sports news syndication!
nearly ten years on and sportwire is still going strong, still the core engine delivering tens of documents per second through an xml transform machine. this summer, more than just minor tweaks, updates, concurrency lock fixes and feature enhancements, there's a major leap to put sportwire into cloud computing as this fall sportwire will become the document transform engine in an AWS based computing cluster. The architecture also now moves away from the old HTTP POST input to incorporate an HTTP PUT content submission system that selects the transformer classes based on path info in the URI; that means even faster input turnarounds and with the new parameterized transform classes, sportwire can support an open-ended set of document classes, wtih new classes added and mapped to your xsl simply by adding the line in the sportwire.conf... read more
I'd been putting it off because, with such an old and venerable project like the Sportwire, I really didn't want to lose the revision history, and being a curmudgeon, I really didn't want to learn yet another version control system (what was it called? scs?) but ... times change, most every project I now deal with is dealt with in svn and, well, it really isn't THAT difficult to migrate the whole thing over.... read more
[ A new paper by Peter Cossette and Andrew Horning has some amazingly
nice things to say about Sportwire! I hope they don't mind the
reprint, but there was no contact info in the copy I received. I hope
they forgive the formatting too, as it's just a dump of the Word DOC
via antiword --- Also do note that while they say Sportwire can be
used for HTTP and FTP sports data acquisition, it is primarily
intended for the traditional TELNET feeds from vendors such as
SportsNetwork and ESPN -- garym ]... read more
XMLTeam has selected sportwire technology to power a new next-generation sports newswire webservices product line.
Due for launch Q3 2003, XMLTeam is turning sports stats distribution upside down; for the past many years, obtaining up-to-the-minute statistics for sports news and gaming sites meant a significant investment in infrastructure to obtain newswire feeds over proprietary protocols and session-based client/server methods. Even those sites using the sportwire software realized the gross duplication of effort where everyone is basically doing the same thing, transforming the incoming streams or FTP documents into useful XML packages suitable for XSL conversion to HTML. XMLTeam moves this common expense to one central redistribution point where the feed is converted to IPTC SportsML and distributed via low-cost commodity HTTP.... read more
There's two things you need to know: The final draft of the International Press Telecommunications Council standard Sports Markup Language provides a uniform language for the exchange and transmission of news and statistics relating to professional and amateur sports ... and SportWire is the most mature and robust software for manipulating SportsML!
Full Story: http://www.teledyn.com/article.php?story=20021108170055993
We're going about this the wrong way. This is an open comment to all internet news feed providers. Providers are stuck in 80's vintage mindsets, offering their news in the staid old formats of FTP, or telnet. IMHO, this is awkward, limiting, expensive and just plain counter-productive; it's more work for you, more work for me, and it limits what we can give the people who want to consume our work.... read more
Tarballs have been released for the 2.0 revision which brings Sportwire into the SportsML space; the new feeder, set by default for the SportsNetwork.com XML, can now translate vendor XML (ESPN, SN or AFP) into SportsML "sports-content" documents so that the remaining XMLDBMS, file-caching and presention systems can be tailored to a vendor-independent SportsML 0.5 DTD.
The Sportwire project is pleased to report another milestone: Translation of the SportsNetwork news feed to IPTC SportsML 0.5 is now the live feed behind CBC Sports. This release is a soft-launch, a final test run before the main release for the 2002 Stanley Cup. Great work, everyone!
To view the translated feed, visit http://cbc.ca/sports/stats/icehockey/NHL/daysked; baseball, basketball, american football and soccer will be added within the next few weeks. For more information about SportsML, visit http://sportsml.com
Development has begun to migrate Sportwire to true NewsML and SportsML as a vendor-independent news and stats data representation. Vendor XML news feeds will be translated into NewsML/SportsML documents and stored in the relational database in this open standard structure; new components added to the SportPage website tools to enable pulling the original SportsML objects out of the relational data. The target date for the first working versions (supporting ice hockey) is April 12th, 2002.... read more
Sportwire sources in the CVS have been tagged as rel-1-0 -- all future development will be working towards Sportwire 2.0; the rel-1-0 will continue for bug fixes or for sites needing the simpler vendor-specific WireFeeder processing of the older release.
SportWire is a website toolkit for parsing, storing and presenting XML/DBMS content, originally designed for Sports Ticker XML(sportsticker.com) or AFP (afp.com) NewsML in high-traffic public news and stats archiving websites such as cbc.ca/olympics.
Recent CVS Additions: Sportwire's WireFeeder now supports the TSN Telnet-based XML feed distributed in Canada by http://fantasysports.ca. TSN provides similar coverage for major sports as the AFP and ESPN feeds, but in an XML that requires far less fiddling to get it through the parsers. This new support features auto-login and connection recovery, compensates for the duplicate line errors and allows echoing the feed to a spool file.
it's called RC1 because this code has survived 10 days as cbc.ca/olympics at the sort of loads that would fry slashdot -- and includes a simple choose your game stars" poll that logged 17,000 votes inside of 10 minutes (probably more during tonight's game). That seemed at least a contender for the title "ready for prime time" (note, that method has since been replaced with a new but unproven worker-thread batching method that can hit 800 votes per second when distributed across servers).... read more
Just in time for Groundhog Day, the 020130 release of the SportPage binary WAR file and updated userguide fixes some concurrency issues in high-load situations, caches XSL transforms and adds XPath support to imported XML documents. Updated examples show how to use the new XML features to parse the AFP (http://www.afp.com) NewsML competition event files.
To see this code in action, this edition is currently powering the preview olympics website at http://cbc.ca/olympics
SportPage is the web application and template component of the Sportwire sports news system and while it's being developed with high-traffic sports news websites in mind, the webapp component is not limited to sports websites.
Why release another template system? SportPage copies some of the best features of jakarta Turbine, including the Velocity base, omitting sessions, O:R mapping and authentication, and focussing on high-load capability, co-hosting of multiple independent deployments, and ad-hoc javabean and JDOM support at the template level.... read more
A first draft of a web-designer's guide to the page-presentation component of Sportwire has been published to the project homepage at http://sportwire.sourceforge.net. This guide describes how to install and configure the SportPage template system, how to use the context-dependent dot-variables and how to incorporate javabeans without involving the Java developers. DocBook source for the userguid is also in the CVS as sportwire/docs/userguide
SportWire is a toolkit for parsing, storing and redistribution of sports news from the ESPN Sports Ticker (sportsticker.com) or AFP NewsML feeds. Typical use of this software is the presentation of sports news on websites and statistics archiving.
The first publically viewable beta release of the Sportwire system is now online as the engine behind the CBC Olympics website, http://www.cbc.ca/olympics; this site proofs the SportPage presentation components and incorporates the Velocity template engine and JDOM xml tools to present the AFP winter olympics background and athlete biographic pages.
Sportwire javadoc-generated documentation is now online at http://sportwire.cbc.ca/api -- these pages include all public and private interface information for the XML Feeder and the Velocity-based SportPage presentation system.
Update to the wire2xml component of the Compat package extends the STORYNUMBER element to be more compatible with the proposed ESPN spec by prepending the current year and appending the STORYCODE. Those using Sportwire for AFP will have no clue what I'm talking about, but for those using the old ESPN feed, the new changes now give enough information to be able to resolve mapping games to recap and preview items
Sportwire moves into alpha with the release of the first functional wire2xml release based on the Compat module DTDs for existing Sportsticker news items. The new release now handles daily schedules, event items (updates and finals) and will translate previews, recaps and boxscores into the OLDTEXT XML format. This compatibility module release supports the CVS Feeder which will now read from the Sportsticker feed and store those items into a relational database. The update also corrects date and time issues with the ESPN formats to make it easier to use the stock SimpleDateFormat support in XML-DBMS.
The current serialtalk and wire2xml tools have been bundled as source tarballs for download. Serialtalk is a general purpose application to broadcast a read-only serial port across TCP or Unix sockets; it has been tested on Solaris and Linux, and should be relatively portable. Wire2XML is a special-purpose translator that reads the ESPN Sportsticker binary-coded feed and emits custom Sportwire XML files for bc-com-sked, update/final events, and the PRVW, RCPS, BOX text messages. The Sportwire DTDs are included in the release and are intentionally similar to the proposed ESPN XML schemas. Wire2XML can be used to plan and develop new ESPN applications using the existing binary feeds (modem or ftp). Both packages are pre-alpha releases and are not intended for production use. Your mileage may vary. Comments welcome.
A new utility component to generate a rough SQL script and XMLDBMS map schema to create and store XML documents has been checked into the CVS. This is adapted from the example app included in XMLDBMS; required jar files to use this component with NanoXML and Postgresql JDBC have been added to the sources/Foreign/jars module.
The CVS now contains a few utilities for the old pre-2002 ESPN Sportsticker compatibility kit. This includes a modem broadcaster to redistribute the newswire over TCP/IP and a translator that transforms the old binary Sportsticker feed into a stream of XML documents; these XML docs use new DTDs and are much more similar to the proposed ESPN XML. This should allow you to build new applications based on the new Feb-2002 feed format while using live data from the pre-2002 binary feed (ftp or modem versions).