On Sun, Jun 28, 2009 at 10:40, Sergiu
Dumitriu<sergiu(a)xwiki.com>
 wrote:
  Vincent Massol wrote:
> On Jun 27, 2009, at 2:46 PM, Thomas Mortagne wrote:
>
>> On Sat, Jun 27, 2009 at 10:48, Vincent Massol<vincent(a)massol.net>
>> wrote:
>>> Hi,
>>>
>>> In order to implement SpacePreferencesConfigurationSource I need
>>> access to the current space.
>>> Hence I'm proposing to add String
>>> DocumentAccessBridge.getCurrentSpace()
>>>
>>> Here's my +1
>> I think SpacePreferencesConfigurationSource should be in xwiki-
>> core
>> for now (until we have the new model) or it will just be a class
>> full
>> of calls to DocumentAccessBridge...
>>
>> Same for WikiPreferencesConfigurationSource.
> I see only 1 getProperty() call for each (and possibly - not even
> sure
> - one call to get the current space).
>
> What am I missing? 
 The only job of SpacePreferencesConfigurationSource is to
retrieve
 data in the space preferences object. I don't see anything which is
 not about accessing to the model, which is why i'm saying there is
 almost only call to DocumentAccessBridge in this class.
 It's useless IMO to use the bridge in a component which is doing
 nothing except retrieve datas in the model. The goal of the bridge
 for
 me is to give some access for component which need simple
 informations
 in the model and not to do a complete temporary model...
  And the calls to the access bridge are OK, since
they are supposed
 to be
 replaced with calls to the new model once it is in place, so all
 the
 code that needs access to the model *should* use the bridge. Once
 we
 have the new model in place, the default bridge implementation will
 use
 it instead of the old core. 
 When the bridge already have all needed but we are
mapping more and
 more model in the bridge which is wrong IMO.
 I don't vote against it so if everyone is +1 go for it but i don't
 like adding temporary code when there is no good reason. 
 Well there is a good reason and an important one: My take is that
 it's
 better to partition modules by domain rather than partition around a
 technological barrier.
 This mean that I think it's better to have all configuration related
 code as sub modules of xwiki-configuration rather that in xwiki-core
 for example.
 Now we could have xwiki-configuration-default and xwiki-
 configuration-
 document and have xwiki-configuration-document depend on xwiki-core
 but somehow it doesn't like right since this is not what we'll want
 in
 the future.
 Hence the idea of putting everything for now in xwiki-configuration-
 default and using the bridge.
 Re the bridge I think we should start creating the xwiki-module and
 have a model separated from the storage for starters + put the
 current
 wiki/space/doc in the Execution Context. We could also refactor the
 XWiki Context to get the current space/doc from the Execution Context
 so that we don't duplicate the information.