]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/todo/auto-create_tag_pages_according_to_a_template.mdwn
clarify re %pagestate persistence
[ikiwiki.git] / doc / todo / auto-create_tag_pages_according_to_a_template.mdwn
index 7631e6fc8e2b9d2897bca1a91a30d8a22f07e329..1259552bf31d0c0de69b8301a6933861fa899f8a 100644 (file)
@@ -126,7 +126,7 @@ is not satisfied for the newly created tag page. I shall put debug msgs into Ren
 
 ---
 
-I've made another attempt at fixiing this
+I've made another attempt at fixing this
 
 The current progress can be found at my [git repository][gitweb] on branch
 `autotag`:
@@ -213,23 +213,54 @@ wrong direction.
 
 >>> This doesn't seem to have all the refinements that autoindex has:
 >>>
->>> * `autoindex` attaches the record of deletions off the `index` page, which
+>>> * `autoindex` attaches the record of deletions to the `index` page, which
 >>>   is (nearly) guaranteed to exist; this one attaches the record of
->>>   deletions to the deleted page's page state.
->>>
+>>>   deletions to the deleted page's page state. Won't that tend to result
+>>>   in losing the record along with the deleted page?
+
+>>>> This is probably on of the harder things to do, 'cause there are (most of the
+>>>> time) several pages that are responsible for the creation of a single tag page.
+>>>> Of course I could attach the info to all of them.
+
+>>>> With current behaviour I think the information in `%pagestate` is kept around
+>>>> regardless whether the corresponding page exists or not.
+>>>> --[[David_Riebenbauer]]
+
+>>>>> Sorry, I'll try to be clearer: `autoindex` hard-codes that the [[index]] page
+>>>>> of the entire wiki is the one responsible for storing the page state. That
+>>>>> page isn't responsible for the creation of the tag page, it's just an
+>>>>> arbitrary page that's (more or less) guaranteed to exist. --[[smcv]]
+
+>>>>> I don't like that [[plugins/autoindex]] has to do that,
+>>>>> but `%pagestate` values are only stored for pages that exist,
+>>>>> so it was necessary. (Another way to look at this is that
+>>>>> `%pagestate` is not the ideal data structure.) --[[Joey]]
+
 >>> * `autoindex` forgets that a page was deleted when that page is
 >>>   re-created
->>>
+
+>>>> Yes, I forgot about that and that is a bug. I'll fix that.
+>>>> --[[David_Riebenbauer]]
+
 >>> * `autoindex` forgets that a page was deleted when it's no longer needed
 >>>   anyway (this may be harder for `autotag`?)
->>>
+
+>>>> I don't think so. AFAIK ikiwiki can detect whether there are taglinks to a page
+>>>> anyway, so it should be quite easy. I'll try to implement that too.
+>>>> --[[David_Riebenbauer]]
+
 >>> It'd probably be an interesting test of the core change to port
 >>> `autoindex` to use it? (Adding the file to the RCS would be
 >>> necessary to get parity with `autoindex`.) --[[smcv]]
 
+>>>> Good suggestion. Adding the files to RCS is on my todo list anyway.
+>>>> --[[David_Riebenbauer]]
+
 > Regarding the call from `IkiWiki.pm` to `Render.pm`, wouldn't this be
 > quite easy to solve by moving `verify_src_file` to IkiWiki.pm? --[[smcv]]
 
+>> True. I'll do that. --[[David_Riebenbauer]]
+
 [f3abeac919c4736429bd3362af6edf51ede8e7fe]: http://git.liegesta.at/?p=ikiwiki.git;a=commitdiff;h=f3abeac919c4736429bd3362af6edf51ede8e7fe (commitdiff for f3abeac919c4736429bd3362af6edf51ede8e7fe)
 [4af4d26582f0c2b915d7102fb4a604b176385748]: http://git.liegesta.at/?p=ikiwiki.git;a=commitdiff;h=4af4d26582f0c2b915d7102fb4a604b176385748 (commitdiff for 4af4d26582f0c2b915d7102fb4a604b176385748)
 [f58f3e1bec41ccf9316f37b014ce0b373c8e49e1]: http://git.liegesta.at/?p=ikiwiki.git;a=commitdiff;h=f58f3e1bec41ccf9316f37b014ce0b373c8e49e1 (commitdiff for f58f3e1bec41ccf9316f37b014ce0b373c8e49e1)