abdera-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul B. Anderson" <pau...@pnlassociates.com>
Subject URL Design Choices
Date Tue, 03 Feb 2015 16:39:20 GMT
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     );

Mime
View raw message