root/wiki-toolkit/trunk/Changes @ 426

Revision 426, 21.1 KB (checked in by dom, 5 years ago)

ignore tables that aren't Wiki::Toolkit tables

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