jyawn / googletransitdatafeed

Automatically exported from code.google.com/p/googletransitdatafeed
0 stars 0 forks source link

The feed_info.txt proposal has been officially adopted #303

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
When first proposed, the feed_info.txt proposal was meant to be the primary 
mechanism for specifying the default language and timezone for a GTFS feed.  
Unfortunately, the feed_info.txt proposal was made over three years ago.  Since 
that time, there has been a lot of confusion on the part of agencies because 
the official spec made no mention of feed_info.txt.  However, the Google 
extension to the feedvalidator does include the proposal and additionally 
mentions that agency_lang and agency_timezone should be deprecated in favor of 
feed_info.txt.

In order to help rectify this situation and reduce agency and developer 
confusion, I formalized the feed_info.txt proposal a few weeks ago:

https://groups.google.com/group/gtfs-changes/browse_thread/thread/4a1d1ee28f68d8
6c

http://code.google.com/transit/spec/transit_feed_specification.html#feed_info_tx
t___Field_Definitions

However, there were a couple of changes between the original proposal and the 
officially adopted proposal.  Chief among them is the removal of the 
feed_timezone field in feed_info.txt.  At the time of the original proposal, 
it's conceivable that the required agency_timezone field could have been 
deprecated in favor of feed_timezone without too much pain.  In the three years 
since, however, a lot of GTFS consumer code has been written that expects 
agency_timezone to be specified, as documented in the official spec.  To that 
end, the GTFS community decided to keep the existing agency_timezone field as 
the primary way of specifying the timezone for a feed.  One point of 
clarification was made to the spec, however.  If multiple agencies are 
specified in an agency.txt file, each must have the same agency_timezone value. 
 This removes any ambiguity around specifying multiple default timezones for 
the same feed.

Because agency_lang is an optional field, feed_lang was kept in feed_info.txt.

The only other major change to feed_info.txt proposal was renaming 
'feed_valid_from' and 'feed_valid_until' to 'feed_start_date' and 
'feed_end_date'.

What does this mean for feedvalidator?

1) feed_info.txt code should be moved out of the googletransit extension module 
into the main transitfeed module.
2) feed_timezone validation should be removed
3) 'feed_valid_from' and 'feed_valid_until' should be changed to 
'feed_start_date' and 'feed_end_date'
4) agency_timezone should no longer be deprecated in the googletransit extension
5) Additionally, agency_lang should not be deprecated in the googletransit 
extension either.  Because so few agencies have adopted feed_info.txt in 
practice, specifying an agency_lang directly is still a perfectly acceptable 
way to indicate a feed's language, especially for feeds with just one agency.

Since these changes are significant, I'm going to break them up into a couple 
of different patches.

Original issue reported on code.google.com by bdfer...@google.com on 5 Oct 2011 at 4:07

GoogleCodeExporter commented 8 years ago
Initial work on removing Google Transit extension deprecation of agency_lang 
and agency_timezone reviewed in http://codereview.appspot.com/5169054/ and 
committed in r1598.

Original comment by bdfer...@google.com on 6 Oct 2011 at 4:55

GoogleCodeExporter commented 8 years ago
Completed work by moving feed_info.txt into the main transitfeed module, 
reviewed in http://codereview.appspot.com/5240052/ and committed in r1601.

Original comment by bdfer...@google.com on 14 Oct 2011 at 12:50

GoogleCodeExporter commented 8 years ago

Original comment by bdfer...@google.com on 24 Oct 2011 at 9:38