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.
+
+