]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/design_for_cross-linking_between_content_and_CGI.mdwn
Review request for: Let plugins influence what environment variables a wrapper will...
[git.ikiwiki.info.git] / doc / todo / design_for_cross-linking_between_content_and_CGI.mdwn
index d00368bfbdb826b41786e41058b9966ba0d20b02..d8040bf3e31e18ba7e4961e9d0b0838cfbeb8981 100644 (file)
@@ -32,8 +32,10 @@ rather than solving one bug at the cost of exacerbating another.
 * URIs in RSS feeds must be absolute, because feed readers do not have
   any consistent semantics for the base of relative links
 
-* If we have a `<base href>` then the HTML spec says it must be
-  absolute
+* If we have a `<base href>` then HTML 4.01 says it must be
+  absolute, although HTML 5 does relax this by defining semantics
+  for a relative `<base href>` - it is interpreted relative to the
+  "fallback base URL" which is the URL of the page being viewed
   ([[bugs/trouble_with_base_in_search]],
   [[bugs/preview_base_url_should_be_absolute]])
 
@@ -62,6 +64,11 @@ rather than solving one bug at the cost of exacerbating another.
   [[forum/Using_reverse_proxy__59___base_URL_is_http_instead_of_https]],
   [[forum/Dot_CGI_pointing_to_localhost._What_happened__63__]])
 
+* For relative links in page-previews to work correctly without
+  having to have global state or thread state through every use of
+  `htmllink` etc., `cgitemplate` needs to make links in the page body
+  work as if we were on the page being previewed.
+
 # "Would be nice"
 
 * In general, the more relative the better
@@ -102,3 +109,26 @@ in the setup file as http if you intend that they will most commonly
 be accessed via http (e.g. the "my cert is not CA-cartel approved"
 use-case), or as https if you intend to force accesses into
 being via https (the "my wiki is secret" use-case).
+
+# Regression test
+
+I've added a regression test in `t/relativity.t`. We might want to
+consider dropping some of it or skipping it unless a special environment
+variable is set once this is all working, since it's a bit slow.
+--[[smcv]]
+
+# Remaining bugs
+
+## Arguable
+
+* Configure the url and cgiurl to both be https, then access the
+  CGI via a non-https address. The stylesheet is loaded from the http
+  version of the static site, but maybe it should be forced to https?
+
+* Configure url = "http://static.example.com/",
+  cgiurl = "http://cgi.example.com/ikiwiki.cgi" and access the
+  CGI via staging.example.net. Self-referential links to the
+  CGI point to cgi.example.com, but maybe they should point to
+  staging.example.net?
+
+* *(possibly incomplete, look for TODO and ??? in relativity.t)*