From: Jeff D. <da...@da...> - 2001-09-20 16:16:02
|
Just to ramble some more on the topic: The ticket idea is, I think, closer to the concept of WikiBadges than Categories. See http://c2.com/cgi/wiki?WikiBadge. Of course, on a traditional wiki, the implementation of WikiBadges is identical to that of Categories... In the latest PhpWiki, plugins can be used to generate in-line lists of Badges/Categories/Tickets. <?plugin BackLinks page=TicketApprove?> will generate a list of all pages which link to TicketApprove. You can use this to write a ticket index page which will list all ticketed pages (or certain subsets of them). (If you wanted, you could write a custom plugin to perform specialized smart ticket searches...) This gives you most of the functionality you want without any new code. I guess the main thing you don't get is any sort of per ticket history: ticket creator/author, creation time, closed tickets (though you could use something like TicketApproveClosed (or TicketApproved ?) to keep track of closed tickets)... A few more comments: > ((rewrite)) ((check)) ((fixme)) These correspond pretty much exactly to traditional WikiBadges.... > NOTES AS TO IMPLEMENTATION > > 2. The logical time to create/open/close tickets is when the page > containing them (or from which they have been deleted) is first saved. > Right now the only parsing of page text on save is for converting tabs. > This is in savepage.php. When a new page is saved, it gets parsed for WikiLinks. (This is necessary to properly update the link table which is used to find BackLinks, etc...) Currently this is done using ExtractWikiPageLinks(), but I think we should eliminate that function and just use the transform code to find the links --- it eliminate duplicated code, and eliminates the opportunities for inconsistency regarding what is a link and what's not.) The tab conversion stuff is obsolete, and should probably be deleted at this point. (I have already taken the checkbox off the editpage template, so without some hackage, the tab conversion code never gets invoked.) Jeff |