Hey,

With regards to the objective to engage in OO and design pattern
> development, Semantic Results Formats does have several design issues
> (misuse of inheritance, violation of SRP etc.) which are rather
> counter-productive to the stated objective.
>

I second this. SRF is not suited to learn students how to something well.
The same holds for MediaWiki and SMW.  We are working on removing the later
from the list, though it is not there yet.

So, do you have specific ideas that come to mind?
>

How about creating a fresh implementation of our wikitext ask query parser?

This would be fairly self contained and can be done without touching the
existing implementation in SMW core. When its ready it could then be used
to replace the existing implementation, though this step would likely be
out of scope. This can be developed without knowledge of MW or SMW (expect
Ask queries), and requires neither to be installed. Implementation would
start from scratch, though one can look at the existing one in SMW. The
people doing this can thus experiment with several designs, do not have to
bother with unrelated code, and work on top of well designed code, rather
then the typical example of legacy code.

The role of this parser would be to turn an ask query definition in
wikitext into the corresponding PHP object definition. The input would thus
be something like [0] into a Query [1] object.

This is something that needs to happen at some point before we can
implement related new functionality. So it'd be very helpful if this item
was tackled for us.

The item is rather smallish, and perhaps to small to fill the course.
Additional things can be done on top however. If this sounds good to you,
I'll describe it a bit more on a wiki page and link to the relevant
resources.

[0] http://pastebin.com/mHNvf3yw
[1]
https://github.com/wikimedia/mediawiki-extensions-Ask/blob/master/src/Ask/Language/Query.php

Cheers

--
Jeroen De Dauw
http://www.bn2vs.com
Don't panic. Don't be evil. ~=[,,_,,]:3
--
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel

Reply via email to