Hi all, I have created STANBOL-910 to track this work. I plan to provide a first version later today
best Rupert [1] https://issues.apache.org/jira/browse/STANBOL-910 On Tue, Feb 5, 2013 at 12:59 PM, Rupert Westenthaler <[email protected]> wrote: > On Tue, Feb 5, 2013 at 11:59 AM, Reto Bachmann-Gmür <[email protected]> wrote: >> Hi Rupert, >> >> You're right that a restructuring cleaning is needed and useful. You're >> proposals definitively go in the right direction. >> >> By our current naming/dirctory convention we cannot have >> o.a.s.commons.web.viewable.ldpath and o.a.s.commons.web.viewable the latter >> would have to be o.a.s.commons.web.viewable.core (unless we would change >> our convention as I ssuggested in: >> http://mail-archives.apache.org/mod_mbox/stanbol-dev/201212.mbox/%3ccalvhueuhyh2ur6ca0vponqdhaq6uttr2m0xsg7qp6acsdzb...@mail.gmail.com%3E). >> > > I would rather use the {main}-{sub} as this is already used by some modules > > The folder > > commons/web/viewable > commons/web/viewable-ldpath > > are mapped to > > o.a.stanbol.commons.web.viewable > o.a.stanbol.commons.web.viewable.ldpath > > >> It is not clear to me if RdfViewable and the legacy Viewable should they be >> moved to the same module as the writer. If so then module name should not >> be tied to ldpath as RdfViewable is potentially usable with many rendering >> mechanism. So for the package name I don't think there 's anything wrong >> with o.a.s.commons.viewable.RdfViewable.Medium-term we should deprecate >> Viewable as this technique inherited from jersey fosters a tied coupling of >> application logic and presentation and isn't linked data friendly. >> > > Ok than I suggest to keep RdfViewable in the commons.web.viewable > module. IMO Viewable is OK for most of the things it is used by Apache > Stanbol (e.g. RESTful service documentation). For pages that visualize > entity information I agree. > > I suggest also move the two Viewable classes to the > 'org.apache.stanbol.commons.web.viewable' package and keep deprecated > version in the original pakcage for backward compatibility. > > best > Rupert > > >> Cheers, >> Reto >>> >>> On Mon, Feb 4, 2013 at 6:47 PM, Rupert Westenthaler < >> [email protected]> wrote: >> >>> Hi all >>> >>> after a more detailed look I came to the following solution: >>> >>> LdRenderer (in o.a.s.commons.ldpathtempate) has several responsibilities: >>> >>> (1) loading Freemarker templates from Bundles (basically freemarker >>> TemplateLoader) >>> (2) rendering RdfViewable >>> (3) rendering Viewable >>> >>> Other than that the whole module is just a branch of the >>> ldpath-template module that is compatible to the LDpath version >>> currently used by Stanbol. >>> >>> The suggestion is to: >>> >>> * refactor the (1) to BundleTemplageLoader, an OSGI service that >>> implements TemplateLoader. This service can be provided by the >>> o.a.s.commons.web.viewable module >>> * move (3) to the ViewableWriter: >>> * create a new module o.a.s.commons.web.viewable.ldpath that provides >>> the LdViewableWriter containing (2). Loading of Templates is provided >>> by an injected TemplateLoader instance (the BundleTemplageLoader >>> implementation provided by the commons.web.viewable module) >>> >>> The o.a.s.commons.ldpathtempate can be completely removed as soon as >>> we upgrade to an LDpath version where the ldpath-template module is >>> available in maven central. >>> >>> In addition I would suggest to move the Viewable and RdfViewable >>> classes to the correct packages but keep the old classes (marked as >>> @deprecated) for backward compatibility) >>> >>> I have already implemented ~80% of the suggestion and to me it feels >>> much better as the current soltution >>> >>> WDYT >>> Rupert >>> >>> >>> On Mon, Feb 4, 2013 at 3:28 PM, Rupert Westenthaler >>> <[email protected]> wrote: >>> > Hi all >>> > >>> > While working on the Stanbol Bundlelists I discovered that the >>> > o.a.s.commons.web.viewable module depends on LDpath. A dependency that >>> > is IMO unwanted. >>> > >>> > The reason for that is that all Stanbol JAX-RS and Web UI modules do >>> > depend on Viewable to render the Web UI. Because of that all such >>> > modules depend also on LDpath without actually using it. >>> > >>> > I see two alternatives: >>> > >>> > 1) moving the LDpath specific Writer to ldpathtemplate module (would >>> > add JAX-RS dependency there) >>> > 2) creating an additional module providing LDViewable >>> > >>> > In addition the ViewableWriter will need to be changed so that it no >>> > longer used the LDPath renderer >>> > >>> > WDYT >>> > Rupert >>> > >>> > >>> > -- >>> > | Rupert Westenthaler [email protected] >>> > | Bodenlehenstraße 11 ++43-699-11108907 >>> > | A-5500 Bischofshofen >>> >>> >>> >>> -- >>> | Rupert Westenthaler [email protected] >>> | Bodenlehenstraße 11 ++43-699-11108907 >>> | A-5500 Bischofshofen >>> > > > > -- > | Rupert Westenthaler [email protected] > | Bodenlehenstraße 11 ++43-699-11108907 > | A-5500 Bischofshofen -- | Rupert Westenthaler [email protected] | Bodenlehenstraße 11 ++43-699-11108907 | A-5500 Bischofshofen
