Mauricio, may I suggest you may want to look at your problem from a different
level. Instead of a Mediawiki/SMW extension, perhaps you could write it with an
agent/bot approach, using the Mediawiki API. The reason being the (great)
design of SMW (at least without the RDF store) is that all annotations are
stored in wikitext on pages, and the pages are edited by users only. Using the
API (at the http level), your program would perform queries and transformations
and write updated pages back to the wiki. Any changes made to pages would
clearly be made by the external agent, rather than changing the user's contents
at page save.

The disadvantages are it's quite a bit slower (and not real time) and you
aren't leveraging directly PHP SMW code, but the advantages are you get full
control over your code, and as SMW becomes more compatible with semantic web
standards it can become operable with other bases.

I use this approach quite a bit and find it very effective. I have a
substantial library of relevant code in Java for this purpose anyone is welcome
to, though it's by no means great code, it can do operations like the
following:

Wiki wiki = new Wiki(...);

List<TemplatePage> students = wiki.getPagesByAsk("[[in class::AZ-202]]");
for (TemplatePage c : students) {
  if (c.getProperty("registration number") > 20) {
    c.setProperty("in class", "AZ-203");
    wiki.edit(c, "late registering students class change"));
  }
}

For many cases, I'd suggest looking at the bot approach with the libraries
available for different programming languages.

David


On Wed, Sep 07, 2011 at 12:10:08AM -0300, Mauricio Etchevest wrote:
...
>    Then I need to modify and update some annotations, so this may be done by
>    editing the wiki-text in the page where it's belonge?
> 
>    Thanks!

------------------------------------------------------------------------------
Using storage to extend the benefits of virtualization and iSCSI
Virtualization increases hardware utilization and delivers a new level of
agility. Learn what those decisions are and how to modernize your storage 
and backup environments for virtualization.
http://www.accelacomm.com/jaw/sfnl/114/51434361/
_______________________________________________
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel

Reply via email to