[Zope-CMF] Re: DirectoryView, GenericSetup/skins, CMF 2.1

Rocky Burt rocky at serverzen.com
Thu Jul 13 13:19:06 EDT 2006


Hi Yuppie,

Just checking in to see if you got any of this put in place yet.  Also
hoping you can identify anything I need to do to ensure I can use skins
with productless products :)

- Rocky


On Sun, 2006-09-07 at 21:59 +0200, yuppie wrote:
> Hi Rocky!
> 
> 
> Rocky Burt wrote:
> > 
> > On Sun, 2006-09-07 at 13:46 +0200, yuppie wrote:
> >> 
> >> The keys generated by 'utils.minimalpath' currently look like this:
> >>
> >>    "MyProduct/skins/my_skin"
> >>    "full/path/to/MyPackage/skins/my_skin"
> >>
> >> But we could change 'utils.minimalpath' to generate keys like these:
> >>
> >>    "Products/MyProduct/skins/my_skin"
> >>    "MyPackage/skins/my_skin"
> > 
> > If we're changing how the keys look, why not simply use full package
> > names in front with relative paths after the first slash (although I
> > might prefer a colon or something in place of the first slash).
> > 
> > So the new keys would be:
> >   "Products.MyProduct/skins/my_skin"
> >   "some.long.package/skins/my_skin"
> > 
> > No need to make exception for Products in my opinion.  And the retrieval
> > logic would convert the first portion (before the first slash, or as I
> > mentioned earlier, perhaps a colon) into an absolute path based on the
> > actual package filesystem location.
> 
> I did not want to make an exception for Products. For 
> 'some.long.package' this would be the registry key:
> 
>    "some/long/package/skins/my_skin"
> 
> 
> But after looking again at the code I see why you propose to separate 
> the module from the module-relative path: The FS* objects store 
> minimal_fp in _filepath. This makes it necessary to convert minimal_fp 
> back to the full path.
> 
> AFAICS the code is unnecessary complex, we can store the full path in 
> _filepath instead. The platform independent minimal_fp is only necessary 
> for persistent objects.
> 
> If there are no objections I'll change that on the trunk. With that 
> change 'minimal_fp' becomes just a simple registry key without any need 
> to convert it back to a real path.
> 
> >> We can use the same pattern as for GenericSetup's registerProfile: 
> >> Omitting 'Products/' would become deprecated. For backwards 
> >> compatibility DirectoryInformations are first looked up with a 
> >> "Products/" prefix and if no DirectoryInformation is registered for that 
> >> key the plain 'DirectoryView._dirpath' is looked up.
> >>
> >> With this lookup order "MyPackage/skins/my_skin" is masked by 
> >> "Products/MyPackage/skins/my_skin", but I guess we can live without 
> >> support for that rare case until we remove the BBB code.
> > 
> > Well, if we switch to colon's to separate package from relative path
> > then we could still support the old and new way with no masking
> > necessary (ie "Products.MyProduct:skins/my_skin)
> 
> I see your point, but if I change the value stored in _filepath we no 
> longer need to know which part of minimal_fp represents the module. And 
> I'd prefer the same format as in GenericSetup's registerProfile because 
> it avoids confusion. As I mentioned already I think we can live with the 
> masking issue for a while.
> 
> > And since you understand the problem so well and it only took me about
> > 20min yesterday to come up with my initial patch... any chance you could
> > implement the changes necessary for this?  Otherwise I'll have to
> > flounder about until I understand the minimal_fp thing a bit more :/
> 
> If I have fixed the _filepath issue there is not much left you need to 
> understand. minimal_fp is a simple dictionary key based on the directory 
> path. The keys you proposed make sense to me, I just would prefer to 
> keep this in sync with registerProfile.
> 
> 
> Cheers,
> 
> 	Yuppie
> 
> _______________________________________________
> Zope-CMF maillist  -  Zope-CMF at lists.zope.org
> http://mail.zope.org/mailman/listinfo/zope-cmf
> 
> See http://collector.zope.org/CMF for bug reports and feature requests
> 
-- 
Rocky Burt
ServerZen Software -- http://www.serverzen.com
News About The Server (blog) -- http://www.serverzen.net

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: This is a digitally signed message part
Url : http://mail.zope.org/pipermail/zope-cmf/attachments/20060713/b12da985/attachment.bin


More information about the Zope-CMF mailing list