Great, thanks for the change - that fixed the issue.

Also, for what it's worth, it appears that only one of my SMW-based extensions uses any of those three functions - that's Data Transfer (the XML-exporting one), and it in fact fails on the new code; I'll have to modify it.


On Tue, Jul 8, 2008 at 2:25 AM, Markus Krötzsch <> wrote:
On Dienstag, 8. Juli 2008, Yaron Koren wrote:
> Hi,
> It looks like some changes to the code yesterday may have caused saving to
> no longer work using the original SMWSQLStore. Specifically, the change to
> having SMWSemanticData use the class SMWWikiPageValue instead of Title as
> its subject seems to have not been fully implemented; when you go to save,
> the function updateData() fails because of the type difference. I can try
> to diagnose this further if need be, but hopefully one of you knows how to
> fix this.

Right, thanks. I missed that (I tested the SMWSQLStore in many ways but not by
saving). Fixed in SVN now.

I should also announce these changes right away, in case someones code depends
on this: some functions of the SMW stores have slightly changed their return
types in that they now return arrays of SMWWikiPageValues instead of arrays
of Titles. This affects the functions:

* getPropertySubjects
* getAllPropertySubjects
* getSpecialSubjects

In many cases, this does not change much (SMWWikiPageValue also has functions
getText, getNamespace, getDBkey like Title). The function getPrefixedText can
be replaced by getWikiValue(). Calls to a MediaWiki skin object for creating
a hyperlink ($skin->makeLinkObject($title,...)) can be replaced by calls to
the datavalues display method ($title->getLongHTMLText($skin) or
$title->getShortHTMLText($skin)). If all fails, you can always use the method
getTitle() to get a title object for the WikiPageValue.

This change was necessary to have a way of storing SMW sortkeys together with
the result of a storage query. SMWWikiPageValue now has a function
getSortkey() and some functions in SMW use this value for sorting outside the
database. This would not work with Titles.

The change of the subject value for SMWSemanticData objects has a similar
motivation. The pagevalue there is used to hold the input sortkey that will
be stored.

-- Markus

> -Yaron

Markus Krötzsch
Semantic MediaWiki