]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/recentchanges.mdwn
oops
[git.ikiwiki.info.git] / doc / todo / recentchanges.mdwn
index 7337c3d497c25c137a315b01514528b17029f7b2..d46c0d9a88704055eec9daf607dff1f12dc6e029 100644 (file)
@@ -2,18 +2,19 @@
   seems like it could be beneficial to have it rendered in the post-commit
   hook, just like everything else in the wiki. 
 
-  I hope to statically generate it eventually, currently the problem is
-  that it takes at least several seconds to generate the recentchanges
-  page, and adding several seconds to every page edit is not desiriable. If
-  the time can be reduced it could be done, I'm also not adverse to
-  adding an optional way to statically render it even at the current speed.
+  > I hope to statically generate it eventually, currently the problem is
+  > that it takes at least several seconds to generate the recentchanges
+  > page, and adding several seconds to every page edit is not desiriable. If
+  > the time can be reduced it could be done, I'm also not adverse to
+  > adding an optional way to statically render it even at the current
+  > speed. --[[Joey]]
 
 * Also, is it planned/desired that recent changes generate the same
   information in RSS feed format? This seems like it could be a useful way
   to keep track of the wiki as a whole. 
 
-  This is used by various interwiki type things, I think, so should be
-  done..
+  This is used by various interwiki type things, I think, so should be
+  > done.. --[[Joey]]
 
 * Lastly, would it be possible to use the recent changes code with a
   pagespec? I understand this sort of infringes on territory covered by the
   once, when it's created, and I imagine some people -- some deranged,
   obsessive-compulsive people like myself -- would like to know about the
   changes made to existing pages as well as newly-created pages.
+
+  > That would work rather well for pages like [[todo]] and [[bugs]], where
+  > you want to know about any updates, not just initial
+  > creation. --[[JoshTriplett]]
+
+  > Of course you can use email subscriptions for that too.. --[[Joey]]
+
+  >> I have more thoughts on this topic which I will probably write 
+  >> tomorrow. If you thought my other patches were blue-sky, wait until 
+  >> you see this. --Ethan
+
+OK, so here's how I see the RecentChanges thing. I write blog posts and
+the inline plugin generates RSS feeds. Readers of RSS feeds are notified 
+of new entries but not changes to old entries. I think it's rude to change
+something without telling your readers, so I'd like to address this.
+To tell the user that there have been changes, we can tell the user which
+page has been changed, the new text, the RCS comment relating to
+the change, and a diff of the actual changes. The new text probably isn't
+too useful (I have a very hard time rereading things for differences), 
+so any modifications to inline to re-inline pages probably won't help,
+even if it were feasible (which I don't think it is). So instead we
+turn to creating diffs automatically and (maybe) inlining them.
+
+I suggest that for every commit, a diff is created automagically 
+but not committed to the RCS. The page containing this diff would be
+a "virtual page", which cannot be edited and is not committed. 
+(Committing here would be bad, because then it would create a new
+commit, which would need a new diff, which would need to be committed, 
+etc.) Virtual pages would "expire" and be deleted if they were not 
+depended on in some way.
+
+Let's say these pages are created in edits/commit_%d.mdwn. RecentChanges
+would then be a page which did nothing but inline the last 50 `edits/*`. 
+This would give static generation and RSS/Atom feeds. The inline 
+plugin could be optionally altered to inline pages from `edits/*` 
+that match any pages in its pagespec, and through this we could get
+a recent-changes+pagespec thing. You could also exclude edits that have
+"minor" in the commit message (or some other thing that marks them as
+unremarkable).
+
+You could make an argument that I care way too much about what amounts
+to edits anyhow, but like Josh says, there are use cases for this. 
+While this could be done with mail subscriptions, I can think of sites
+where you might want to disable all auth so that people can't edit
+your pages. --Ethan
+
+> I really dislike all Wiki engine recentchanges pages.  They all tend to be
+> fairly machine readable, but confusing for non-wiki users to grok.  And I've
+> yet to see an _attractive_ recentchanges implementation.  IkiWikis' is no
+> better or worse than the others.
+>
+> I really like the frontpage of [Bill
+> Seitz](http://webseitz.fluxent.com/wiki/FrontPage) as an recentchanges
+> format.  Note how he uses some clever css to show changes in different
+> sections of the website.  I modeled my own
+> [recentchanges](http://xtermin.us/recentchanges) page page on his ideas.  This
+> probably isn't appropriate for non-WikiLog style setups, but is this
+> something closer to what you what was requested?
+>
+> BTW: My recentchanges plugin does not seem to add a lot processing time
+> to compiling.  Then again, I'm not pulling changelog message from the RCS 
+> backend.
+>
+> -- CharlesMauch