source: wiki-toolkit/trunk/Changes @ 424

Last change on this file since 424 was 424, checked in by Dominic Hargreaves, 14 years ago

whitespace-only change to fix some POD bugs and generally make things read
more nicely. Tab-damage fixing still todo...

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 21.0 KB
Line 
10.75   
2        Added support for selecting versions by moderation status (see
3          OpenGuides ticket #142).
4        Added "new_only" parameter to ->list_recent_changes, so you can ask
5          for e.g. all pages added in the last week.  This involved a bit of
6          a rewrite of ->list_recent_changes, so please keep an eye out for
7          any bugs that may have been introduced (I'm not convinced the test
8          suite covered everything it should have).
9        Fix some badly-formatted POD documentation which accidentally included
10          some code
11
120.74    9  June 2007
13        Added list_last_version_before method, to get the version of all the
14         nodes at a given point in time
15        Updated version on Text::WikiFormat dependency to avoid long-standing
16         test failure with old version
17        Bump version number of Wiki::Toolkit::Plugin as this was not done
18         the last time it was changed (for CPAN.pm compatibility)
19
200.73    12 December 2006
21        Added parse_feed_timestamp method
22        Added encoding parameter to the Feed methods, to allow overriding
23          the store's encoding.
24
250.72    15 September 2006
26        Install wiki-toolkit-rename-node
27
280.71    30 August 2006
29        More feed code refactoring, to allow "mini" feeds with just
30          name, and optionally distance and location. Typically used in
31          search results, especially with Wiki::Toolkit::Plugin::Locator's
32        Ability to filter by nodes without certain metadata, by type
33          or type+value ("everything without a longitude" or
34          "everything not category=Pub")
35        Fix bug in Listing.pm pod output
36
370.70    6 June 2006
38        Feed code has been refactored.
39        Check that the database schema is up-to-date when initializing the
40          store and abort otherwise.
41        In PostgresSQL setup code, delete orphaned content/metadata rows.
42        When we bulk delete and insert data for an upgrade, check to make
43          sure we can create the tables and indexes before dropping the old
44          tables.
45        Other miscellaneous fixes.
46
470.69_03 13 May 2006
48        Add Wiki::Toolkit::Feed::RSS (formerly CGI::Wiki::Plugin::RSS::Modwiki)
49          and Wiki::Toolkit::Feed::Atom (formerly CGI::Wiki::Plugin::Atom)
50
510.69_02 27 April 2006
52        Add missing new file lib/Wiki/Toolkit/Setup/Database.pm to
53          distribution.
54
550.69_01 23 April 2006
56        *** IMPORTANT NOTICE *** This release introduces a new database schema
57        which should be considered beta in nature at this stage. It is not yet
58        suitable for deployment on production data and should only be tested
59        on copies of your production data. If it eats your data, you get to
60        keep the pieces. Additionally, functionality exposed in this beta
61        release is subject to change.
62
63        Rename to Wiki::Toolkit.
64        Support for moderation on a per-node basis.
65        Update to the database schema: added needs_moderation column to
66         node, and moderated column to content
67        You will need to run wiki-toolkit-setupdb to upgrade your database
68
69                Many more plugin points: pre_write + pre_retrieve (get to change
70                 the data), pre_moderate + post_moderate, pre_rename + post_rename,
71                 + post_delete. See test 150 for examples, and the perldoc of
72                 Wiki::Toolkit::Plugin for a description.
73
74        Merge Wiki::Toolkit::Formatter::Multiple:
75        0.02    15 September 2004
76                Applied patch from Tom Insam to fix bug with
77                find_internal_links.
78
79        0.01    22 September 2003
80                Initial release.
81
820.69    22 February 2006
83        Update to database schema: added an ID column to node, and changed
84          the content + metadata tables to FK to the ID field, rather than
85          the node name. Also added rails like schema_info table, to hold
86          the current database schema version number
87        You will need to run cgi-wiki-setupdb to upgrade your database
88
890.62    26 November 2004
90        Fixed delete_node bug - now it's OK to delete eg version 2 and
91          then version 3 of a node (ie you no longer have to delete
92          versions in order newest first).
93
940.61    3 October 2004
95        Added "ignore_case" option to ->node_exists.
96
970.60    30 September 2004
98        Added generic ->new method to CGI::Wiki::Plugin (Tom Insam).
99
1000.59    18 September 2004
101        Added "ignore_case" option to list_recent_changes for use with
102          metadata filtering.
103
1040.58    18 September 2004
105        Even more powerful metadata filtering!  You can now supply both
106          "metadata_was" and "metadata_wasnt", or both "metadata_is"
107          and "metadata_isnt", and they will be ANDed.
108        (Also added the test I forgot to add to MANIFEST last time.)
109
1100.57    18 September 2004
111        Extended capabilities of list_recent_changes - more powerful
112          metadata filtering (see docs for details).
113
1140.56    14 September 2004
115        Added Plucene search backend (with help from Simon Cozens).
116        Applied Tom Insam's encoding patch.
117
1180.55    There wasn't one.  Something bizarre happened with PAUSE.
119
1200.54    25 June 2004
121        Let ->delete_node take an optional version parameter.
122
1230.53    18 June 2004
124        Fixed CGI::Wiki::TestLib so $iterator->number actually does something.
125
1260.52    10 June 2004
127        Add include_all_changes and between_days to list_recent_changes.
128
1290.51    8 June 2004
130        Time for a non-developer release.
131
1320.51_02 6 June 2004
133        Added support for passing in a database handle instead of
134          connection parameters (Chris Winters).
135
1360.51_01 24 February 2004
137        Refactoring of search classes in preparation for new search
138          backend.  (Simon Cozens)
139        Please test against your applications and let me know of any
140          problems ASAP.
141
1420.50    21 December 2003
143        First non-developer release with new test system.
144
1450.50_02 21 November 2003
146        Make tests skip rather than try to run zero tests if no backends
147          configured - thanks to nothingmuch via CPAN testers for the
148          test failure report.
149
1500.50_01 18 November 2003
151        Huge overhaul of test suite, no change in functionality.
152        Removed dependency on Test::MockObject and Hook::LexWrap
153          (the relevant tests are now skipped if these aren't installed).
154        Removed the examples since they were very out of date.
155        Made a small clarification to the CGI::Wiki::Plugin docs.
156
1570.49    23 September 2003
158        Added "ignore_case" option to ->list_nodes_by_metadata
159
1600.48    22 September 2003
161        Couple of small changes so I can write formatters that allow node
162          metadata to affect the rendering of the node.
163        A rewrite and renaming of the CGI::Wiki distribution is on the
164          cards - subscribe to cgi-wiki-dev if you're interested:
165          http://www.earth.li/cgi-bin/mailman/listinfo/cgi-wiki-dev
166
1670.47    29 August 2003
168        Added metadata_was and metadata_wasnt parameters to list_recent_changes
169
1700.46    14 August 2003
171        Fix for Shevek.  ->write_node used to croak if it failed to index
172          the backlinks, but since the MySQL varchar type is case-insensitive
173          by default, we were getting a duplicate key error.  As a temporary
174          fix pending a proper think about an explicit way for you to specify
175          whether you want your wiki case-sensitive or not (yes, people have
176          asked me for both), this now just warns if it has trouble writing
177          backlinks.
178
1790.45    11 August 2003
180        Removed dependency on Class::Delegation.
181        Fixed Makefile.PL to check for Lingua::Stem before trying to test
182          DBIx::FullTextSearch stuff.
183        Fixed DBIx and Search::InvertedIndex tests to take note of database
184          host if one supplied.
185
1860.44    10 July 2003
187        Fixed bug with metadata_isnt - it wasn't picking up nodes where
188          that metadata type wasn't set.
189
1900.43    10 July 2003
191        Added metadata_isnt constraint to ->list_recent_changes.
192
1930.42    16 June 2003
194        Dropped Test::Warn from the dependencies - it's too much installing
195          for too little gain (I was hardly using it).
196        Made CGI::Wiki::TestConfig::Utilities check for the Postgres
197          Search::InvertedIndex backend, and test using that if possible.
198
1990.41    27 May 2003
200        Changed the order of things when registering a plugin, so the
201          on_register method can access the datastore properly.
202
2030.40    24 May 2003
204        Added an index to the metadata table in the MySQL setup, to
205          speed up RecentChanges.  To apply this index to an existing
206          database you need to do (as the database superuser):
207
208          CREATE INDEX metadata_index ON metadata
209                       (node, version, metadata_type, metadata_value(10))
210
211        Also made the warnings in Makefile.PL and INSTALL stronger, since
212          we had another data-eating incident.
213
2140.39    21 May 2003
215        Amended Makefile.PL and INSTALL to make it absolutely clear that you
216          should not run the tests on databases containing valuable data.
217          Thanks to Rocco for, er, stress-testing this, and sorry to 'know'
218          for eating its brains...
219
2200.38    17 May 2003
221        Added ->list_dangling_links method; thanks to Simon Cozens for
222          the idea.
223
2240.37    12 May 2003
225        Oh dear.  No real changes, but I moved Extending.pod to stop it
226          getting installed as CGI::Extending.  Sorry.
227
2280.36    9 May 2003
229        Added CGI::Wiki::Plugin as a base class for plugins to inherit from.
230
2310.35    5 May 2003
232        Fixed bug in CGI::Wiki::Store::SQLite introduced with new calling
233          syntax in version shipped with 0.34.
234        Very basic start at plugin support as described in Extending.pod -
235          see 'perldoc CGI::Wiki' for details.
236
2370.34    5 May 2003
238        Moving towards adding proper plugin support - the proposed API is
239          in Extending.pod, please take a look and send comments.
240        In preparation for the above, the metadata hash passed to ->write_node
241          can now contain more complex data structures - but these will *not*
242          be stored directly, just checksummed.  The way to access them will
243          be via plugins.  See 'perldoc CGI::Wiki;' for details.
244        Also added alternative calling syntax for the CGI::Wiki::Setup::*
245          store modules, as requested by Podmaster.
246
2470.33    3 May 2003
248        Added ->fuzzy_title_match method to the Search::InvertedIndex backend
249          (CGI::Wiki::Search::SII).  You will need to re-index all existing
250          nodes in your wiki in order to take advantage of this.  Take your
251          wiki offline and do something like
252
253          my $wiki = CGI::Wiki->new( %conf );
254          # (Where %conf is exactly as you would set this up for your actual
255          #  Wiki application, including your store, search and formatter
256          #  options exactly as you use them live.)
257          my @nodes = $wiki->list_all_nodes;
258          foreach my $node ( @nodes ) {
259            my %node_data = $wiki->retrieve_node( $node );
260            $wiki->write_node( $node,
261                               $node_data{content},
262                               $node_data{checksum},
263                               $node_data{metadata}
264            );
265            print "Reindexed $node\n";
266          }
267
268        to refresh all the nodes in your database.  Note that for wikis
269        of more than a couple of nodes, this can take quite some time.
270
2710.32    2 May 2003
272        Fixed bug with write_node dying when using Search::InvertedIndex
273          and writing node with blank content (thanks to Bob Walker for
274          the bug report).
275
2760.31    26 April 2003
277        Added an index to the metadata table in the postgres setup, to
278          speed up RecentChanges.  To apply this index to an existing
279          database you need to do (as the database superuser):
280
281          bench=# create index metadata_nodeindex on metadata
282                   (node, version, metadata_type, metadata_value);
283
284        It will also help speed things up if you run:
285
286          bench=# analyze;
287
288        every so often, maybe once a week.
289
2900.30    22 April 2003
291        Added support for supplying 'host' parameter when connecting to
292          MySQL/Postgres databases (requested and assisted by Paul Makepeace).
293
2940.29    20 April 2003
295        Got rid of the separate bin/user-setup-* scripts, added
296          bin/cgi-wiki-setupdb and made it be installed when the rest of
297          the distribution is.
298
2990.28    6 April 2003
300        Added ->formatter accessor to Wiki.pm
301
3020.27    5 April 2003
303        Added ->reinitialise_stores method to CGI::Wiki::TestConfig::Utilities
304          to make it easier for plugins and so forth to make sure they have
305          nice virginal test stores before they start running their tests.
306          Altered my setup tests to use this.
307
3080.26    3 April 2003
309        Cleanup:
310          - Removed deprecated method retrieve_node_and_checksum.
311          - Added DBI as a prerequisite (ta Max).
312          - Fixed up the SEE ALSO in the pod.
313
314        Bugfix:
315          - The SQLite backend was failing tests with DBI 1.34 or up;
316            fixed now (with a kluge, but no worse than the one already there)
317            Thanks to DH for the test failure report.
318
3190.25    29 March 2003
320        list_recent_changes can now filter on a single metadata criterion
321          - multiple criteria coming soon.
322
3230.24    29 March 2003
324        list_recent_changes now returns any metadata attached to the node
325          as well - so you can put comments and usernames and things in there
326          and display them on RecentChanges.  Note that it no longer pretends
327          to return a comment separately since you can do it this way now.
328          See perldoc CGI::Wiki::Store::Database for the new API.
329        Moved recent changes tests out into their own file.
330
3310.23    17 March 2003
332        Fixed bug - metadata wasn't getting deleted when ->delete_node
333          was called.
334
3350.22    8 March 2003
336        Rejig of the way the tests work, in preparation for allowing
337          third-party plugins:
338
339            When 'perl Makefile.PL' is run on a CGI::Wiki distribution,
340            information will be gathered about test databases etc that
341            can be used for running tests. CGI::Wiki::TestConfig::Utilities
342            gives you convenient access to this information, so you can
343            easily write and run tests for your own CGI::Wiki plugins.
344
345        No functionality changes.
346
3470.21    6 March 2003
348        Purely a documentation update; thanks to Alex McLintock for comments.
349
3500.20    22 February 2003
351        Added simple (and intentionally naive) metadata support.  Note that
352          the database schema has changed (additional 'metadata' table), so
353          you will need to re-run the relevant database setup script again as
354          described below for upgrading to 0.15.
355        Much of this release was written on David Woolger's laptop; thanks :)
356
3570.16    5 February 2003
358        Changed CGI::Wiki::Setup::Pg to use the 'timestamp' data type
359          instead of 'datetime', since 'datetime' was deprecated and
360          has been removed in Postgres 7.3.
361        Fixed bug with supplying blank database username/password;
362          thanks to DH for the bug report.
363        Fixed mistake in pod, pointed out by Podmaster.
364
3650.15    5 January 2003
366        Amended store setup modules so their 'setup' functions don't
367          wipe pre-existing data; added 'cleardb' functions for when you
368          really do want to wipe it.
369        Along with that, amended the setup scripts in ./bin/ to take a
370          --force-preclear option.  Now they leave existing data by default.
371        Added standalone tests for CGI::Wiki::Formatter::Default
372        Added $formatter->find_internal_links method and tests.
373
374        Implemented backlinks!  Thanks to blair christensen for the idea,
375          and sorry for taking so long to get around to it.
376
377        *** IMPORTANT NOTE ***
378        *After* upgrading, you will need to re-run the relevant database setup
379        script (in ./bin/) on any databases created using earlier versions of
380        CGI::Wiki, in order that the internal_links table gets created.  From
381        version 0.15, these scripts won't affect data in existing tables, as
382        long as you don't supply the --force-preclear option, so this is safe.
383
384 ===>    *** IF YOU DON'T DO THIS THEN YOUR CODE WILL FALL OVER AND DIE. ***
385
386        You have been warned.
387
388        (You can do the database munging before you install this new version
389        -- the old versions won't mind the extra table -- but
390 ===>                     *** MAKE SURE ***
391        to invoke the scripts as something like
392          perl -Ilib bin/user-setup-[...]
393        so you get the *new* setup modules which *won't* hose your data
394        (the old ones did, ugh).)
395
396        The backlink data will also not exist for links *from* a given node
397        until you re-write that node.  Take your wiki offline then do
398        something like
399
400          my $wiki = CGI::Wiki->new( %conf );
401          # (Where %conf is exactly as you would set this up for your actual
402          #  Wiki application, including your store, search and formatter
403          #  options exactly as you use them live.)
404          my @nodes = $wiki->list_all_nodes;
405          foreach my $node ( @nodes ) {
406            my %nodedata = $wiki->retrieve_node( $node );
407            $wiki->write_node($node, $nodedata{content}, $nodedata{checksum});
408          }
409
410        to refresh all the nodes in your database.
411
4120.14    3 January 2003
413        Added $store->node_exists method and tests.
414        Amended $store->list_recent_changes to take a 'last_n_changes'
415          parameter, so you can find the last 10 (or whatever) nodes edited.
416        Made an internal change to the way ->format is delegated to the
417          formatter object, to give said object access to the store.
418
4190.13    2 January 2003
420        Minor fix - t/031_formatting.t was being reported as failing on
421          systems without support for any of the backends, since I forgot to
422          update the SKIP condition when I added six extra tests.  Thanks
423          to root@ostend.org for the report via cpan-testers.
424
4250.12    1 January 2003
426        The Search::InvertedIndex backend wasn't indexing the node titles -
427          fixed and added tests.
428        Added tests for non-MySQL Search::InvertedIndex backends and fixed
429          CGI::Wiki::Search::SII to be case-insensitive all the time (instead
430          of just when using MySQL).
431        Tweaked the documentation some more - offers to simplify the docs
432          and/or write a tutorial would be greatly appreciated.
433
4340.11    31 December 2002
435        Changes suggested by blair christensen, to allow alternate formatters.
436        See the README for details and CGI::Wiki::Formatter::Default for an
437          example.
438        Took out some leftover debug stuff from CGI::Wiki::Search::SII.
439
4400.10    19 December 2002
441        Added a Search::InvertedIndex backend; currently only tested with
442          the MySQL version of Search::InvertedIndex.  When running make test,
443          if the Search::InvertedIndex tests are being run, the following tests
444          will warn 'testdb is not open. Can't lock.' (but should pass):
445            005_setup_mysql_search_invertedindex.t
446            011_cgi_wiki.t
447
448        *** NOTE INTERFACE CHANGE ****
449        Cleaned up the initialisation of the Wiki object, at the expense of
450          a small interface change - you now need to create your store and
451          (optional) search objects yourself and pass them as arguments
452          to CGI::Wiki->new - read 'perldoc CGI::Wiki' (once installed)
453          for details, or see examples/wiki.cgi in the tarball.
454
4550.05    17 November 2002
456        I'd uploaded an unfinished version by mistake.  One day I will figure
457          out how to do this upload thing without screwing up.
458
4590.04    17 November 2002
460        Added a DBD::SQLite storage backend (thanks to blair christensen
461          for a patch that makes up part of this).
462        Added tests and docs for retrieval of old versions of pages
463          (bad Kake, should have written those before implementing the
464           feature; blair and Richard shamed me into getting it sorted now).
465        retrieve_node_and_checksum is now deprecated -- retrieve_node is
466          more clever and will return content only or a hash with content
467          plus meta-data, according to context.  So you should get at the
468          checksum via that.
469        user-setup-postgres.pl was buggy, fixed now.
470        Only two beer rewards now remain.
471
4720.03    9 November 2002
473        Forgot to regenerate and add the README (I've put it in the
474        MANIFEST now to stop that happening again).  Also forgot to
475        mention that I've upped the bribe.
476
4770.02    9 November 2002
478        Pulled out the database setup stuff into modules (Mark Fowler
479          did most of this bit, thanks).
480        Added recent_changes method and its tests, changed the example
481          wiki to show how this can be used.
482        Renamed some tests since the order they're run in matters now.
483        Added better support for noninteractive installation (with help
484          from Mark again).
485
4860.01    28 October 2002
487        Initial release.
Note: See TracBrowser for help on using the repository browser.