X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/595b0359157d1f57ee5a87c63e665dfa1d2130ec..2b0054a1ddb93cbc57c41ec3c0a76002e0b4c646:/doc/todo/tagging_with_a_publication_date.mdwn diff --git a/doc/todo/tagging_with_a_publication_date.mdwn b/doc/todo/tagging_with_a_publication_date.mdwn index 8c20760ab..b4d3ca007 100644 --- a/doc/todo/tagging_with_a_publication_date.mdwn +++ b/doc/todo/tagging_with_a_publication_date.mdwn @@ -22,3 +22,56 @@ on vacation". > pages. Alternatively, for larger organisations wishing to deploy more > sweeping changes on a given date, replace cron job with intern.. ;-) > --[[Joey]] + +> > Good approach if you have one day on which a big change goes through, but +> > often the reason for tagging with a publication date is so that you can +> > dribble out articles one per day when you're gone for a week. Branches are easy +> > in git, but it would still be an extra step to switch branches every time +> > you edit a different day's article. +> > +> > And just to make it a little harder, some sites might want an internal +> > copy of the wiki that _does_ build the future pages, just tags them with the publication +> > date, for previewing. +> > +> > One more reason to have publication date: if you move a page from your old CMS to ikiwiki +> > and want to have it show up in the right order in RSS feeds. +> > +> > I no longer have the original wiki for which I wanted this feature, but I can +> > see using it on future ones. -- [[DonMarti]] + +>>> FWIW, for the case where one wants to update a site offline, +>>> using an ikiwiki instance on a laptop, and include some deffered +>>> posts in the push, the ad-hoc cron job type approach will be annoying. +>>> +>>> In modern ikiwiki, I guess the way to accomplish this would be to +>>> add a pagespec that matches only pages posted in the present or past. +>>> Then a page can have its post date set to the future, using meta date, +>>> and only show up when its post date rolls around. +>>> +>>> Ikiwiki will need to somehow notice that a pagespec began matching +>>> a page it did not match previously, despite said page not actually +>>> changing. I'm not sure what the best way is. +>>> +>>> * One way could be to +>>> use a needsbuild hook and some stored data about which pagespecs +>>> exclude pages in the future. (But I'm not sure how evaluating the +>>> pagespec could lead to that metadata and hook being set up.) +>>> * Another way would be to use an explicit directive to delay a +>>> page being posted. Then the directive stores the metadata and +>>> sets up the needsbuild hook. +>>> * Another way would be for ikiwiki to remember the last +>>> time it ran. It could then easily find pages that have a post +>>> date after that time, and treat them the same as it treats actually +>>> modified files. Or a plugin could do this via a needsbuild hook, +>>> probably. (Only downside to this is it would probably need to do +>>> a O(n) walk of the list of pages -- but only running an integer +>>> compare per page.) +>>> +>>> You'd still need a cron job to run ikiwiki -refresh every hour, or +>>> whatever, so it can update. --[[Joey]] + +--- + +Some times ago, I wrote a Pagespec function that matches pages that have creation date in the future: [[plugins/contrib/created_in_future/]]. It can be used to solve the original problem. + +-- [[Louis|spalax]]