More structure.
diff --git a/MelangeURLs.wiki b/MelangeURLs.wiki index f3419f4..03c2ca7 100644 --- a/MelangeURLs.wiki +++ b/MelangeURLs.wiki
@@ -1,13 +1,13 @@ #summary Url scheme in melange #labels Contents-Skeleton -= URLs in Melange = +<wiki:toc max_depth="2" /> -== What does a URL look like? == += What does a URL look like? = - Example: hostname/*gsoc*/*homepage*/*google*/*gsoc2013* + Example: /*gsoc*/*org*/*home*/*google*/*gsoc2013*/*melange* - * The first path component is considered the “module” (examples are /gsoc, /gci, /tasks) + * The first path component is considered the “module”, some examples. * */gsoc* are the Google Summer of Code related urls * */gci* are the Google Code-in related urls * */tasks* are all the Google Appengine TaskQueue related URLs, these are followed by another component to indicate which module they belong to. All urls starting with /tasks can only be hit by a AppEngine developer or an internal AppEngine generated request. @@ -17,13 +17,30 @@ * */document* any documents in the program * */admin* the administration pages for Hosts * */org/application* organization applications - * Third is “function” or “action”, (sometimes omitted) (“edit”, “show”, “create”, “update”) - * Under what conditions does this appear? If it’s a document, “edit” and “show” will probably appear... but there’s not really consistent criteria - * Fourth path component is ID, keyname, or enough of the key name to unambiguously identify the viewed entity prefixed by /<sponsor>/<program>. + * Third is “function” or “action”, such as + * */edit* + * */show* + * */create* + * */update* + * Fourth path component is ID, keyname, or enough of the key name to unambiguously identify the viewed entity. E.g. + * */google/gsoc2013/melange* + +== Module Component == + +== Components component == + +== Action component == + * Under what conditions does function/action appear? If it’s a document, “edit” and “show” will probably appear... but there’s not really consistent criteria + +== Identifier component == + += How to define a URL in the code? = * Common patterns live in url_patterns.py - * Get parameters are used for things like telling the user that their form was saved correctly - * GCI uses Get parameters to determine action in task view. * URLs are registered with DjangoUrlPatterns during frontend instantiation * See each module’s callback.py module - * MapReduces live at some /_ah/mapreduce “special” url. - * AppEngine ensures that only app developers can reach those urls. \ No newline at end of file + += Conventions around GET parameters = + * Get parameters are used for things like telling the user that their form was saved correctly + * GCI uses Get parameters to determine action in task view. + +