Wednesday, July 26, 2006, 8:33:55 PM, James M Snell wrote:
> Now imagine that we start to apply machine translation to entries, so > that we can say, give me all entries, but translate them to French, or > English, etc. Would that be best done using conneg or separate URIs? I'd go for seperate URLs. Server-driven conneg (SDN) has its uses, but for a protocol like atom (-syntax), the benefits are very limited, and the risks and costs are high. With client-driven negotiation (CDN), the client and server both have a better understanding of what they are asking for and what is available - there is less risk of anything going wrong. The only advantage of SDN, is that it selects what it thinks is the best feed without any user interaction - but that is something that only needs to be done once anyway. With SDN, you'll need to employ the Vary header, which can adversely affect caching. Hosted services (eg Bloglines) won't work unless they store multiple seperate lists of entries and feed data for each set of request headers that the request varies over; this seems very optimistic. If you want to use a user's language preference to provide them with a localized feed, I'd do it at the HTML level - use accept headers to provide the correct autodiscovery link, or even better, to sort the list of multiple links in a suitable order. What are you going to do about ids BTW? I'd probably mint new ids for the translated entries and feeds, and employ some sort of link/extension if you need to be able to associate them. -- Dave