Hi,
Version 1.5 of the Cargo extension has been released. This is a big release
because it solves, or at least is intended to solve, the two big problems
that have been experienced by (some) Cargo users: a painfully slow
"recreate table" process for data tables that are very large, and duplicate
data showing up within tables. These two problems are actually tied in with
one another somewhat, in that a slow recreate process has caused some
admins to press the "recreate data" button more than once, which in turn
causes data duplication to happen (which then in turn makes another
"recreate data" call necessary, which can cause even more problems).
Version 1.5 contains the following changes and additions:
- Now, by default, recreating a Cargo table puts all the new content into a
"replacement" table, which can be viewed but is not yet used for querying.
Then, only when the administrator is ready to switch, the old/current table
gets deleted and the new one gets replaced in. In this way, functionality
on the site is never harmed while data is being recreated.
Note that MediaWiki's update.php must be called for this new functionality
to appear, since it required a small database change.
- In order to avoid duplicate rows, the software now checks every row about
to be added to a table to make sure it doesn't match some existing row
- There were a number of improvements made to the "calendar" display
format, which in turn uses the FullCalendar JavaScript library:
- In the upcoming version 1.30, MediaWiki switched from jQuery 1 to jQuery
3. It looks like there is no one version of FullCalendar that works with
both, so Cargo now contains two copies of FullCalendar, at different
versions, with the one used depending on the jQuery/MW version.
- Most of the text displayed in the calendar, like month names, was
hardcoded in English; the code now uses FullCalendar's own "locale"
handling to display the right text. FC's internationalization support is
not nearly as comprehensive as MediaWiki's - it supports 50 instead of 200
languages - but it has support for things like deciding what the first day
of each week should be based on the language, and was in general a lot
easier to implement. Eventually it will be good to switch to using
MediaWiki's i18n.
- Events that have both a start and end time set now have both times
displayed on the calendar, instead of just the start time; the default
FullCalendar behavior is to just show the start time, for some reason.
- Calendar week and day displays were made more detailed, with an "agenda"
view.
- A "list" view was added, in addition to the "month",
"week" and "day"
views; although it only shows up with MediaWiki 1.30 and higher.
- The _fileData table, which holds information on every uploaded file, now
contains two additional possible fields: _lastUploadDate and_numPages (the
latter is only stored for PDF files). Thanks to Paul Troughton for help
with these.
- There was a bug where the standard _pageNamespace field in tables could
not be displayed in queries; this has been fixed.
- There was a fix for the display of list fields where the delimiter is ";"
and one or more values contain quotation marks.
- There was a fix for the parsing of queries containing "WITHIN", a keyword
added in Cargo 1.4; thanks to Feroz Ahmed for this.
- Many of the PHP files were moved into a new /includes directory.
- Many error messages which were hardcoded in English are now translated.
You can read more about Cargo, and download the new version, here:
https://www.mediawiki.org/wiki/Extension:Cargo
-Yaron