Can you clarify what it is that you're trying to do? You said that you wanted to turn SMW into a CMS (it already is one, of course, but it certainly could be a nicer one), but then you mentioned using "images from our CMS". Where are these images coming from? And what features, if any, do you want to add besides external-image integration?


On Fri, Oct 9, 2009 at 2:35 PM, Schuchardt, Karen L <Karen.Schuchardt@pnl.gov> wrote:

We are interested in augmenting SMW/MW to have a more sophisticated content management capability so that it can act as a Content Management System (CMS) with great wiki features.  Our approach so far has been to generate a façade page for every document/collection that gets loaded into the CMS.  These façade pages are essentially metadata pages that contain semantic markup about the contents of the files.  They also support normal directory navigation.  I’m trying to get a handle on the best way to change the existing SMW code and extensions so that they “know” about our files.  I hope you can offer some advice.

As a first example, I’m looking at modifying the semantic gallery so that it can display images from our CMS.  The semantic markup that we add to each file facade includes properties for mimetype and a reference to the actual file.  But I don’t want the ask query writer to think about such things so I would expect a normal image gallery query to be supplied.  That implies that in my output formatter, I would get hits on the image façade pages and have to do two things:
  1. for a page hit, ask for more data about the page (additional properties we have added (mimetype,fileuri))
  2. somehow replace some of the filerepo code to be able to locate files

The latter is more of a MW issue I believe.  But for the 1st item, the documentation says to use the SMW Store api.  However I notice that most extension code uses direct DB calls.  Is it still the case that I should be using the Store API?  I have started down this path as it seems like the correct thing to do.

I have tried to use the Store API like this:
      $data = smwfGetStore()->getSemanticData($title);
      $properties = $data->getProperties();
      foreach ($properties as $property) {
         $rv = $property->getWikiValue();
         //$proptext = $property->getLongHTMLText($skin);
         $values = $data->getPropertyValues($property);
         $count = count($values);
         foreach ($values as $value) {
            $valu = $value->getShortWikiText();

What I’m getting back is the modification time and an initial category I used for the page.  I added more properties and another category and they don’t show up in the query result but they do show up in an ask query.  I tried to update the cache with a action=purge

Am I approaching this wrong or using the wrong method?  We are using the HaloStore2 I believe but the method is implemented in sqlstore2.  I have not sifted through all that code but at first glance, it looks like its looking for a well-defined set of properties.  Is that correct?

Any pointers greatly appreciated.


Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
Semediawiki-devel mailing list