source: wiki-toolkit/trunk/Changes @ 425

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

fix uninitialized warnings (fixes #28)

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