I'm beginning to build an Atom server based on Abdera and I am unclear on what I should do for the URLs. It seems to be an important aspect of designing creating the server but the tutorials do not go into the requirements and ramifications.

I have read the Atom RFCs. I don't have a problem with the service document or an individual entry. The Server Implementation Guide (excerpt shown below) shows in line 34, for example, a number of possibilities following collection that I did not see explained.

Can provide any general guidance for setting up URLs or point me to something that provides some additional information? I am particularly interested in:

1.  What is required to be RFC-compliant or to conform to current practice.
2.  What URLs Abdera will handle automatically and what I must implement.
3. Clarification distinguishing the functions of TargetResolver and TargetBuilder.

Thanks!

Paul


22   setTargetResolver(
23       new RegexTargetResolver()
24         .setPattern("/atom(\\?[^#]*)?", TargetType.TYPE_SERVICE)
25 .setPattern("/atom/([^/#?]+);categories", TargetType.TYPE_CATEGORIES, "collection") 26 .setPattern("/atom/([^/#?;]+)(\\?[^#]*)?", TargetType.TYPE_COLLECTION, "collection") 27 .setPattern("/atom/([^/#?]+)/([^/#?]+)(\\?[^#]*)?", TargetType.TYPE_ENTRY, "collection","entry") 28 .setPattern("/search", OpenSearchFilter.TYPE_OPENSEARCH_DESCRIPTION)
29     );
30
31     setTargetBuilder(
32       new TemplateTargetBuilder()
33         .setTemplate(TargetType.TYPE_SERVICE, "{target_base}/atom")
34 .setTemplate(TargetType.TYPE_COLLECTION, "{target_base}/atom/{collection}{-opt|?|q,c,s,p,l,i,o}{-join|&|q,c,s,p,l,i,o}") 35 .setTemplate(TargetType.TYPE_CATEGORIES, "{target_base}/atom/{collection};categories") 36 .setTemplate(TargetType.TYPE_ENTRY, "{target_base}/atom/{collection}/{entry}") 37 .setTemplate(OpenSearchFilter.TYPE_OPENSEARCH_DESCRIPTION, "{target_base}/search")
38     );

Reply via email to