Jeroen,

Thank you very much!  This sounds like a well-defined target for my students.

I agree that they might finish it sooner rather than later, so I appreciate 
that it could lead to additional work.

I'll run this past my class, and will let you know if there are immediate 
questions, etc.

Thanks again,

Steve Chenoweth
Assoc Prof, CSSE
RHIT

From: Jeroen De Dauw [mailto:jeroended...@gmail.com]
Sent: Wednesday, November 06, 2013 12:17 PM
To: James HK
Cc: Neill Mitchell; Chenoweth, Stephen V; Semantic MediaWiki developers
Subject: Re: [SMW-devel] A list of suggested developments for undergrads to try?

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