Honestly I don't understand why do we need these dependency injections for
such a task as form/property/template generation. I remember Yaron have
explained that it's a legacy remained from some kind of global plan of
making PageSchemas the central framework for managing all kinds of
extensions.
-----
Yury Katkov, WikiVote



On Thu, Aug 8, 2013 at 3:34 PM, James HK <jamesin.hongkon...@gmail.com>wrote:

> Hi,
>
> When I looked over SMWPageSchemas which is right now part of SMW core,
> I failed to understand as to why it has to be deployed with SMW core.
>
> I do not know the exact circumstances on how PageSchemas operates but
> the current design requires SMW core to deploy SMWPageSchemas for some
> reason.
>
> Normally when you deploy a class requiring it to derive from a
> different class that resides in another extension (SMWPageSchemas
> extends PSExtensionHandler ) it is because you expect that the
> concrete implementation is specific to the environment that implements
> this class, nevertheless when I tried to figure out which part of
> SMWPageSchemas is so specific that it has to be deployed with SMW core
> I failed.
>
> As for the reason why I failed, I could not see a clear dependency
> that would require SMWPageSchemas to be implemented by SMW core
> meaning no specific object injection occurs from SMW core into
> SMWPageSchemas that would allow to draw a conclusion about an inherent
> (or even necessary) dependency that can only be resolved by deploying
> it with SMW core.
>
> Other issue while browsing through SMWPageSchemas are:
> * All methods are declared static which makes it a less likely
> candidate to be testable
> * Mixing string manipulation using raw '<p>' , or XML::, Html:: which
> can potentially create issues with escaping
> * Each method relies on GLOBALS such as global $wgUser; global
> $wgContLang; etc.
>
> It would be nice to have some sort of resolution on how to deal with
> this class. In case it is decided that this class should remain in SMW
> core, a proper unit test should be provided (by PageSchemas) in order
> to minimize any vulnerability and exposure due to object references
> such as (PageSchemas::getValueFromObject etc.).
>
> PS: This is not about eliminating PageSchemas from SMW but rather to
> ensure that dependencies (and so its implementation) does reside
> within an appropriate context without exposing other objects to
> unnecessary risk.
>
> Cheers
>
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&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