Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-13 Thread Steve Alexander

>>No, we just make the registration of layers optional. If you want layers
>>to be registered (and marked with an ILayerType marker) for whatever
>>reason, it's your choice. The framework shouldn't make you like it does
>>now.
> 
> This will definitely backfire. Let's say I want to extend the wiki views 
> using 
> some TTW development. But the wiki package does not register the layer, then 
> the TTW developer is cut off.
> 
> Note that I am not saying that the *framework* should require this, but it 
> should be at least a strong convention and people should do this registration 
> all the time.

I disagree.

The wiki package either supports the ZMI or it does not do.  If it
supports the ZMI, then it will register its layers.  If it does not,
then it won't.

I would encourage people to register their layers with the ZMI, and to
do things that couple their products to the ZMI, only when they make a
decision that the ZMI is relevant to their stuff.

If they decide that the ZMI is not relevant to their goals, they should
stay well away from it.

Let's say that the wiki system authors decide that the ZMI is out of
scope for them.  Someone else can come along and produce a wiki-in-zmi
product that depends on the ZMI and on the original wiki.  This is
great, because it keeps the plain wiki produdct simpler and more
approachable, and it keeps the dependency on the ZMI clear.

-- 
Steve Alexander
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-13 Thread Steve Alexander

>>I understand from this discussion that registering layers is needed only
>>for certain ZMI things, to be implemented later on.  So, I guess the
>>ZCML will be implemented later on, or not implemented later on.  In
>>either case, later on.
> 
> I disagree. The layers are registered now. You rip them out now, just so I 
> have to add them later again? That sounds dubious to me.

Earlier, you were saying that you didn't see a need for a specific zcml
statement to register layers, so your statement above confuses me.  I'm
proposing a consideration, later on, of special zcml to register layers
for use in the ZMI.

In addition, I'd like to say that I believe that it is important to keep
things that are just for the ZMI separate from the "core", where they
add complexity to the "core".

-- 
Steve Alexander
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-13 Thread Stephan Richter
On Tuesday 13 December 2005 08:34, Philipp von Weitershausen wrote:
> No, we just make the registration of layers optional. If you want layers
> to be registered (and marked with an ILayerType marker) for whatever
> reason, it's your choice. The framework shouldn't make you like it does
> now.

This will definitely backfire. Let's say I want to extend the wiki views using 
some TTW development. But the wiki package does not register the layer, then 
the TTW developer is cut off.

Note that I am not saying that the *framework* should require this, but it 
should be at least a strong convention and people should do this registration 
all the time.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-13 Thread Philipp von Weitershausen
Stephan Richter wrote:
> On Tuesday 13 December 2005 06:15, Steve Alexander wrote:
> 
>>I understand from this discussion that registering layers is needed only
>>for certain ZMI things, to be implemented later on.  So, I guess the
>>ZCML will be implemented later on, or not implemented later on.  In
>>either case, later on.
> 
> I disagree. The layers are registered now. You rip them out now, just so I 
> have to add them later again? That sounds dubious to me.

No, we just make the registration of layers optional. If you want layers
to be registered (and marked with an ILayerType marker) for whatever
reason, it's your choice. The framework shouldn't make you like it does now.

Philipp
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-13 Thread Stephan Richter
On Tuesday 13 December 2005 06:15, Steve Alexander wrote:
> I understand from this discussion that registering layers is needed only
> for certain ZMI things, to be implemented later on.  So, I guess the
> ZCML will be implemented later on, or not implemented later on.  In
> either case, later on.

I disagree. The layers are registered now. You rip them out now, just so I 
have to add them later again? That sounds dubious to me.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-13 Thread Stephan Richter
On Tuesday 13 December 2005 04:30, Philipp von Weitershausen wrote:
> That said, I still think that in the long term, local registration should
> not be done TTW.

Who said that I just want to register local components? :-) I want to attack 
true TTW development, similar to how ZClasses worked. I have a couple of use 
cases in mind that are not served with Zope 3 right now.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-13 Thread Dominik Huber

Steve Alexander wrote:


Who will use these interfaces?  In what parts of the code will they be
present?

I think these marker interfaces are used only in infrastructure code to
do with setting up layers and skins.  In this case, they will not be
typed often, and will not even be read often.  So, I think it is more
important that the name be clear than the name be short, so that it can
be understood quickly upon reading it.
 

As I mentioned,  the dotted name already provides some semantics. IMO 
zope.app.publisher.browser.ISkinType does explicitly means that such a 
type is used for browser applications, otherwise it should be not  
within the browser package (unwritten convention).



want your layer interface to show up for TTW view registration, you'll need 
ILayerType so
that it shows up in the "Browser Layers" vocabulary and thus among the list of 
selectable
layer interfaces.
   


I strongly support this being an optional feature; a price you pay only
if you care about TTW stuff.
 


Me too.


That said, I still think that in the long term, local registration should not 
be done TTW.
So this optional notion of ILayerType might not be necessary in the future 
after all. For
filesystem-based development I don't find any compelling usage for it at all.
   


Me too.

I'm not a TTW-fan at all, but IMO it is important that such a framework 
supports potential use cases as long we don't get unacceptable 
drawbacks. I'm really not interested in the never-ending file versus ttw 
development debate ;)


Regards,
Dominik
begin:vcard
fn:Dominik Huber
n:Huber;Dominik
email;internet:[EMAIL PROTECTED]
tel;work:++41 56 534 77 30
x-mozilla-html:FALSE
version:2.1
end:vcard

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-13 Thread Steve Alexander

>>It is simple to create a zcml directive specifically for registering a
>>layer.  If there is a good reason to register layers, then I think there
>>should be a zcml directive for it.
> 
> I disagree. Just because it is simple to create new ZCML directives
> doesn't mean we don't have to. The less special ZCML directives there
> are, the less people need to learn and the more people can reuse
> reoccurring idioms. That's a good thing. If we can pass on architectural
> simplifications to the developer who's writing Python and ZCML, we
> should do that.

I see what you're saying.

I didn't explain where I'm coming from.  I think that the ZMI is really
a separate product than the core of Zope 3.  This is a controversial
position to hold.

>From that position, I think that if the ZMI product wants to define its
own ZCML to make doing ZMI-related things easy, then it should.

I understand from this discussion that registering layers is needed only
for certain ZMI things, to be implemented later on.  So, I guess the
ZCML will be implemented later on, or not implemented later on.  In
either case, later on.


-- 
Steve Alexander
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-13 Thread Philipp von Weitershausen
Steve Alexander wrote:
I would suggest to register the
layers like skins using a ILayerBrowserType interface:

>>> interface=".interfaces.I18NFeatures"
 type="zope.publisher.interfaces.browser.IBrowserLayerType"
 />
> 
> It is simple to create a zcml directive specifically for registering a
> layer.  If there is a good reason to register layers, then I think there
> should be a zcml directive for it.

I disagree. Just because it is simple to create new ZCML directives
doesn't mean we don't have to. The less special ZCML directives there
are, the less people need to learn and the more people can reuse
reoccurring idioms. That's a good thing. If we can pass on architectural
simplifications to the developer who's writing Python and ZCML, we
should do that.

Philipp
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-13 Thread Steve Alexander

>>>I would suggest to register the
>>>layers like skins using a ILayerBrowserType interface:
>>>
>  interface=".interfaces.I18NFeatures"
>>>  type="zope.publisher.interfaces.browser.IBrowserLayerType"
>>>  />

It is simple to create a zcml directive specifically for registering a
layer.  If there is a good reason to register layers, then I think there
should be a zcml directive for it.

Of course, it may be that there's not really a good reason for
registering layers.


>>>2. I liked the naming ISkinType and ILayerType much more (instead of
>>>IBrowserSkinType/ IBrowserLayerType), because this browser-specific
>>>differentiation is already given by the package hierarchy and those
>>>ILongCamelCaseWordingsThatTriesToExplainEverything are hard to type and
>>>at the end they confuse newcomers even more than the simple ones. Please
>>>keep the naming also simple and stupid like the skinning simplification
>>>itself  :)
> 
> 
> I don't feel strongly about this at all. It was mostly Steve's idea and I 
> took his
> suggestion as it adds some conherence (IBrowserRequest, IBrowserResponse,
> IBrowserLayerType, ...). It would be up to Steve to defend it, for all I care 
> we can use
> the shorter forms.

Who will use these interfaces?  In what parts of the code will they be
present?

I think these marker interfaces are used only in infrastructure code to
do with setting up layers and skins.  In this case, they will not be
typed often, and will not even be read often.  So, I think it is more
important that the name be clear than the name be short, so that it can
be understood quickly upon reading it.


>>Two good points I agree with. I wanted to write a similar response as 1., but
>>did not have a good argument. Dominik just gave it. I think it is important
>>to keep a registry of all layers, especially for TTW development, an area I
>>really want to put some effort in for 3.3.

Why do you need a registry of all layers?  What use-cases drive this
requirement?  Maybe you just need to be able to look them up?


> Thanks, I guess this is a good use case. The good thing is that the whole 
> ILayerType thing
> can be *optional*.

This is important to me.  The core of a publisher-with-layers can be
based on just a request's interfaces.  No need for extra complexity or
infrastructure.  It should be possible to strip a use of Zope 3 down to
this level.

> The 'type' argument of browser:page et.al. won't require an ILayerType
> interface; any interface will do as long as it is or extends IBrowserRequest.

This is important too.


> Only if you
> want your layer interface to show up for TTW view registration, you'll need 
> ILayerType so
> that it shows up in the "Browser Layers" vocabulary and thus among the list 
> of selectable
> layer interfaces.

I strongly support this being an optional feature; a price you pay only
if you care about TTW stuff.


> That said, I still think that in the long term, local registration should not 
> be done TTW.
> So this optional notion of ILayerType might not be necessary in the future 
> after all. For
> filesystem-based development I don't find any compelling usage for it at all.

Me too.


> So, if there are no other comments on this proposal, I will update it with 
> your latest
> suggestions and get started on the implementation (on a branch, of course).

-- 
Steve Alexander

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-13 Thread Philipp von Weitershausen
Stephan Richter wrote:
> On Monday 12 December 2005 16:29, Dominik Huber wrote:
> > 1. The brand *skin* and *layer* are fairly common and they are
> > reflecting two logical uses cases. At a first glance the usage for a
> > layer type is not given, but the layer concept is still interesting to
> > build modular skins. The layer audience could be the developers which
> > like to share layer specific informations. IMO an use case for an
> > Browser Layer Names utility could be a corresponding
> > online-documentation within the api-doc.

Well, the vocabulary would probably be a "Browser Layers" vocabulary (listing 
the actual
interface objects, not their names, since layers won't have human-readable 
aliases
anymore).

However, I don't see how that vocabulary would be necessary for the 
documentation (it
would be necessary for TTW development, see below). It's not like we mark every 
interface
we have with some special marker and put it in a vocabulary, just so it shows 
up in a
certain category in APIDoc. If you want to find the layer interface, you'll 
find it just
fine by walking the code browser in APIDoc, as with any other interface or 
component.
Layer interfaces are just marker interfaces; if we'd treat every kind of marker 
interface
specially, we'd not be simplifying at all...

> > I would suggest to register the
> > layers like skins using a ILayerBrowserType interface:
> >
> >  >   interface=".interfaces.I18NFeatures"
> >   type="zope.publisher.interfaces.browser.IBrowserLayerType"
> >   />
> >
> >
> > 2. I liked the naming ISkinType and ILayerType much more (instead of
> > IBrowserSkinType/ IBrowserLayerType), because this browser-specific
> > differentiation is already given by the package hierarchy and those
> > ILongCamelCaseWordingsThatTriesToExplainEverything are hard to type and
> > at the end they confuse newcomers even more than the simple ones. Please
> > keep the naming also simple and stupid like the skinning simplification
> > itself  :)

I don't feel strongly about this at all. It was mostly Steve's idea and I took 
his
suggestion as it adds some conherence (IBrowserRequest, IBrowserResponse,
IBrowserLayerType, ...). It would be up to Steve to defend it, for all I care 
we can use
the shorter forms.

> Two good points I agree with. I wanted to write a similar response as 1., but
> did not have a good argument. Dominik just gave it. I think it is important
> to keep a registry of all layers, especially for TTW development, an area I
> really want to put some effort in for 3.3.

Thanks, I guess this is a good use case. The good thing is that the whole 
ILayerType thing
can be *optional*. The 'type' argument of browser:page et.al. won't require an 
ILayerType
interface; any interface will do as long as it is or extends IBrowserRequest. 
Only if you
want your layer interface to show up for TTW view registration, you'll need 
ILayerType so
that it shows up in the "Browser Layers" vocabulary and thus among the list of 
selectable
layer interfaces.
That said, I still think that in the long term, local registration should not 
be done TTW.
So this optional notion of ILayerType might not be necessary in the future 
after all. For
filesystem-based development I don't find any compelling usage for it at all.

So, if there are no other comments on this proposal, I will update it with your 
latest
suggestions and get started on the implementation (on a branch, of course).

Philipp



This message was sent using IMP, the Internet Messaging Program.
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-12 Thread Stephan Richter
On Monday 12 December 2005 16:29, Dominik Huber wrote:
> 1. The brand *skin* and *layer* are fairly common and they are
> reflecting two logical uses cases. At a first glance the usage for a
> layer type is not given, but the layer concept is still interesting to
> build modular skins. The layer audience could be the developers which
> like to share layer specific informations. IMO an use case for an
> Browser Layer Names utility could be a corresponding
> online-documentation within the api-doc. I would suggest to register the
> layers like skins using a ILayerBrowserType interface:
>
>            interface=".interfaces.I18NFeatures"
>           type="zope.publisher.interfaces.browser.IBrowserLayerType"
>           />
>
>
> 2. I liked the naming ISkinType and ILayerType much more (instead of
> IBrowserSkinType/ IBrowserLayerType), because this browser-specific
> differentiation is already given by the package hierarchy and those
> ILongCamelCaseWordingsThatTriesToExplainEverything are hard to type and
> at the end they confuse newcomers even more than the simple ones. Please
> keep the naming also simple and stupid like the skinning simplification
> itself  :)
Two good points I agree with. I wanted to write a similar response as 1., but 
did not have a good argument. Dominik just gave it. I think it is important
to keep a registry of all layers, especially for TTW development, an area I 
really want to put some effort in for 3.3.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-12 Thread Dominik Huber

Philipp von Weitershausen wrote:


(http://dev.zope.org/Zope3/SimplifySkinning) yet another overhaul.

Basically, it now proposes to go one step further: Layers and skins will always 
be simple
interfaces extending IBrowserRequest. The only difference between skins and 
layers is
that only skins are registered as local utilities under a human readable name 
whereas
layers are plain old boring interfaces with no extra marker (it's not needed at 
all).

Along with that we can get rid of the  and  
ZCML
directives and simply reuse existing, much simpler directives from the standard 
Component
Architecture ( and ). This is not only a good step 
towards
reducing the ZCML directive proliferation, it's also a reflection of what's 
going on
under the hood. If we simplify under the hood, the Zope 3 developer should 
benefit from
that simplification as well. That's now happening.

The rest of the changes deal with small harmonizations that should make the 
understanding
of certain patterns easier (if they're always the same).

Looking-for-comments-as-usual-ly
 


+1 in general, but two cosmetics-change-requests.

1. The brand *skin* and *layer* are fairly common and they are 
reflecting two logical uses cases. At a first glance the usage for a 
layer type is not given, but the layer concept is still interesting to 
build modular skins. The layer audience could be the developers which 
like to share layer specific informations. IMO an use case for an 
Browser Layer Names utility could be a corresponding 
online-documentation within the api-doc. I would suggest to register the 
layers like skins using a ILayerBrowserType interface:





2. I liked the naming ISkinType and ILayerType much more (instead of 
IBrowserSkinType/ IBrowserLayerType), because this browser-specific 
differentiation is already given by the package hierarchy and those 
ILongCamelCaseWordingsThatTriesToExplainEverything are hard to type and 
at the end they confuse newcomers even more than the simple ones. Please 
keep the naming also simple and stupid like the skinning simplification 
itself  :)


Regards,
Dominik
begin:vcard
fn:Dominik Huber
n:Huber;Dominik
email;internet:[EMAIL PROTECTED]
tel;work:++41 56 534 77 30
x-mozilla-html:FALSE
version:2.1
end:vcard

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-12 Thread Philipp von Weitershausen
Stephan Richter wrote:
> On Monday 12 December 2005 02:53, Philipp von Weitershausen wrote:
> 
>>Basically, it now proposes to go one step further: Layers and skins will
>>always be simple interfaces extending IBrowserRequest. The only difference
>>between skins and layers is that only skins are registered as local
>>utilities under a human readable name whereas layers are plain old boring
>>interfaces with no extra marker (it's not needed at all).
> 
> 
> Hold on, but skins and layers can also still extend other skins and layers 
> (as 
> they do now), right?

Sure. I should have said: Layers and skins will always be simple
interfaces **directly or indirectly** extending IBrowserRequest. The
"indirectly" means by inheriting from some other skin or layer interface.

Philipp
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning Redux

2005-12-12 Thread Stephan Richter
On Monday 12 December 2005 02:53, Philipp von Weitershausen wrote:
> Basically, it now proposes to go one step further: Layers and skins will
> always be simple interfaces extending IBrowserRequest. The only difference
> between skins and layers is that only skins are registered as local
> utilities under a human readable name whereas layers are plain old boring
> interfaces with no extra marker (it's not needed at all).

Hold on, but skins and layers can also still extend other skins and layers (as 
they do now), right? Because otherwise I do not see how you want to realize 
the proposal.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] RFC: Simplify Skinning Redux

2005-12-11 Thread Philipp von Weitershausen
Hi there,

after a good discussion with Steve Alexander, I gave my Simplify Skinning 
proposal
(http://dev.zope.org/Zope3/SimplifySkinning) yet another overhaul.

Basically, it now proposes to go one step further: Layers and skins will always 
be simple
interfaces extending IBrowserRequest. The only difference between skins and 
layers is
that only skins are registered as local utilities under a human readable name 
whereas
layers are plain old boring interfaces with no extra marker (it's not needed at 
all).

Along with that we can get rid of the  and  
ZCML
directives and simply reuse existing, much simpler directives from the standard 
Component
Architecture ( and ). This is not only a good step 
towards
reducing the ZCML directive proliferation, it's also a reflection of what's 
going on
under the hood. If we simplify under the hood, the Zope 3 developer should 
benefit from
that simplification as well. That's now happening.

The rest of the changes deal with small harmonizations that should make the 
understanding
of certain patterns easier (if they're always the same).

Looking-for-comments-as-usual-ly

Philipp



This message was sent using IMP, the Internet Messaging Program.
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-08 Thread Dominik Huber

Philipp von Weitershausen wrote:



Thanks for the input so far, please revise it and let me know if
you see any other issues.
 


+1 I like it. Thank you!


Your connotation assertion here is incorrect. The default layer stands for:
"If the browser directive did not specify a layer, use the default layer." By
default, the Basic and thus Rotterdam skin incorporate that layer, but others
like Dominik and Garrett do not want to include that layer.
   



Right. I wonder if we should make the 'layer' argument mandatory then. Right 
now we have
the connotation "You can leave the layer argument out in which case Zope will 
use some
arbitrary layer that might or might not be in your skins and is boldly called 
'default'."
 

I find the current optional layer argument ok. In our current pratice we 
allways use the default for the basic or general views of a package. 
This offers a simple way to configure a 
out-of-the-box-general-purpose-administration-skin like the Rotterdam 
whitout the drawback that such a general skin should have to know a 
dedicated layer itself. If we provide other dedicated layers we always 
do additional registrations to those layers.


A  fairly usefull pattern that becomes manifest in our pratice:
1. Layers for one or more features belonging together. For such a unit 
we define three different layers that

   covers the following aspects of an application:
 -> minimal_feature layer: Invisible functionality like traverser that 
should be there even if there is no ui

 -> user_feature layer: All views for general end-user usage
 -> admin_featur layer: Views for administration purposes.
(One example for a minimal layer tiks 
svn://svn.tiks.org/repos/Tiks/trunk/src/tiks/skins/minimal)


2. Those feature layers are used to compose the a custom skin afterwards.
-> pretty modular and clearly arranged whitout beeing to granular.

3. Because we still register to the default layer a general zmi like the 
rotterdam skin can be used too.
->this is cool, because everybody can use its favority general-purpose 
skin and it doesn't hurts his
brain to guess where he should configure something (compared to plone in 
hybrid zope2/plone applications)


Maybe we should introduce a minimal_zope_core and other important layers 
which might simplify such application for all parties.


Regards,
Dominik
begin:vcard
fn:Dominik Huber
n:Huber;Dominik
email;internet:[EMAIL PROTECTED]
tel;work:++41 56 534 77 30
x-mozilla-html:FALSE
version:2.1
end:vcard

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Philipp von Weitershausen
Stephan Richter wrote:
> On Wednesday 07 December 2005 16:33, Dominik Huber wrote:
> > Phillip's Proposal:
> > Furthermore, I propose to remove the |IDefaultLayer| interface. We've
> > been using the |default| layer as a connotation of "always being
> > available unless overridden by a more specific layer." However, this
> > does not apply all the time: When the |default| layer is not included in
> > a specific skin, nothing from the |default| layer will be found even
> > though the ZCML statements suggest that it would always be available. I
> > therefore propose to make the |default| skin layer an alias for
> > |IBrowserRequest|. Anything registered for |default| will obviously
> > always be available then, no matter what your skin layer looks like.
>
> Oops, I missed that part. -1 on it, like Dominik. I originally did not have an
> IDefaultLayer when I converted views to adapters and it caused a lot of
> headaches for people. It was thus added and we all agreed it was needed.

Very well, I wasn't aware of the fact that it was commonly undestood that 
IDefaultLayer
was needed. The original proposal 
(http://dev.zope.org/Zope3/ImplementViewsAsAdapters)
certainly doesn't mention it. I've now found the relevant check-in where it was
introduced 
(http://mail.zope.org/pipermail/zope3-checkins/2004-November/023621.html). The
benefits are stated there, but the actual reasoning is in CHANGES.txt where it 
says
"[IDefaultLayer] allows developers to create skins that do not include the 
default
layer." I guess the proposal should have been updated with this info and a 
sentence
saying that there actually *are* developers with the use case of creating skins 
sans
default layer. At least it would have made things clearer to me from the 
beginning ;).

Anyways, I overhauled the proposal now to include lots of useful suggestions 
from you,
Martijn, and Dominik. Thanks for the input so far, please revise it and let me 
know if
you see any other issues.

> Your connotation assertion here is incorrect. The default layer stands for:
> "If the browser directive did not specify a layer, use the default layer." By
> default, the Basic and thus Rotterdam skin incorporate that layer, but others
> like Dominik and Garrett do not want to include that layer.

Right. I wonder if we should make the 'layer' argument mandatory then. Right 
now we have
the connotation "You can leave the layer argument out in which case Zope will 
use some
arbitrary layer that might or might not be in your skins and is boldly called 
'default'."

Philipp


This message was sent using IMP, the Internet Messaging Program.
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Philipp von Weitershausen
Quoting Dominik Huber <[EMAIL PROTECTED]>:

> Phillip's Proposal:
> Furthermore, I propose to remove the |IDefaultLayer| interface. We've
> been using the |default| layer as a connotation of "always being
> available unless overridden by a more specific layer." However, this
> does not apply all the time: When the |default| layer is not included in
> a specific skin, nothing from the |default| layer will be found even
> though the ZCML statements suggest that it would always be available. I
> therefore propose to make the |default| skin layer an alias for
> |IBrowserRequest|. Anything registered for |default| will obviously
> always be available then, no matter what your skin layer looks like.
>
> -1
> I really appreciate that I can disable all registrations if I do not
> derive a skin from the default layer. That's very important use case for
> us. We introduced a minimal layer that is providing only the most
> important functionality like traversers etc. Regularly we derive
> end-user skins from this minimal layer and then we register all views
> explicitly so that we have full controll over accessibility of information.

Very well, I didn't think there were use cases for this. I guess there are. 
Thanks for
letting me know! I've given the proposal a general overhaul and ripped out this
suggestion as well. Please revise it again and let me know if you see any other 
issues.

Continuing-to-RFC-ly

Philipp



This message was sent using IMP, the Internet Messaging Program.
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Alec Munro
I don't have much constructive to add to this, but the discussion
itself has really given me a much better understanding of the reasons
for the complexity of the current skinning system. I would still like
to see it simplified, but I feel far more empowered to properly use it
after reading the proposal and this discussion.

Thanks everyone!

Alec Munro
On 12/7/05, Stephan Richter <[EMAIL PROTECTED]> wrote:
> On Wednesday 07 December 2005 16:33, Dominik Huber wrote:
> > Phillip's Proposal:
> > Furthermore, I propose to remove the |IDefaultLayer| interface. We've
> > been using the |default| layer as a connotation of "always being
> > available unless overridden by a more specific layer." However, this
> > does not apply all the time: When the |default| layer is not included in
> > a specific skin, nothing from the |default| layer will be found even
> > though the ZCML statements suggest that it would always be available. I
> > therefore propose to make the |default| skin layer an alias for
> > |IBrowserRequest|. Anything registered for |default| will obviously
> > always be available then, no matter what your skin layer looks like.
>
> Oops, I missed that part. -1 on it, like Dominik. I originally did not have an
> IDefaultLayer when I converted views to adapters and it caused a lot of
> headaches for people. It was thus added and we all agreed it was needed.
>
> Your connotation assertion here is incorrect. The default layer stands for:
> "If the browser directive did not specify a layer, use the default layer." By
> default, the Basic and thus Rotterdam skin incorporate that layer, but others
> like Dominik and Garrett do not want to include that layer.
>
> Regards,
> Stephan
> --
> Stephan Richter
> CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
> Web2k - Web Software Design, Development and Training
> ___
> Zope3-dev mailing list
> Zope3-dev@zope.org
> Unsub: http://mail.zope.org/mailman/options/zope3-dev/alecmunro%40gmail.com
>
>
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Stephan Richter
On Wednesday 07 December 2005 16:33, Dominik Huber wrote:
> Phillip's Proposal:
> Furthermore, I propose to remove the |IDefaultLayer| interface. We've
> been using the |default| layer as a connotation of "always being
> available unless overridden by a more specific layer." However, this
> does not apply all the time: When the |default| layer is not included in
> a specific skin, nothing from the |default| layer will be found even
> though the ZCML statements suggest that it would always be available. I
> therefore propose to make the |default| skin layer an alias for
> |IBrowserRequest|. Anything registered for |default| will obviously
> always be available then, no matter what your skin layer looks like.

Oops, I missed that part. -1 on it, like Dominik. I originally did not have an 
IDefaultLayer when I converted views to adapters and it caused a lot of 
headaches for people. It was thus added and we all agreed it was needed.

Your connotation assertion here is incorrect. The default layer stands for: 
"If the browser directive did not specify a layer, use the default layer." By 
default, the Basic and thus Rotterdam skin incorporate that layer, but others 
like Dominik and Garrett do not want to include that layer.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Dominik Huber

Martijn Faassen wrote:


Philipp von Weitershausen wrote:


Looking for your comments at http://dev.zope.org/Zope3/SimplifySkinning.
This is a follow-up proposal from 
http://www.zope.org/Collectors/Zope3-dev/444.




I rather like having the *concept* skin to talk about. While 
implementation-wise things may become cleaner, being able to talk 
about a skin is I think a bit more clear than if you talk about skin 
layers.


Similarly, I think it's a useful concept to talk to a layout developer 
about 'layers' as a separate concept, to indicate to them that a layer 
is not something necessarily directly exposed to an end user. I think 
that this use case is less strong than the one for maintaining the 
word 'skin', though.


In various use cases, for instance Silva, there's a class of users 
that just wants to select from a list of skins installed for their 
site, and has no knowledge of how they're implemented. You don't want 
to show all layers to them.


It would therefore be nice to have a way to mark particular skin 
layers as actual skins you want to expose to end-users, not just as 
things useful as a building block. This is something we use the skin 
mechanism for now, and that facility would, if I understand it 
correctly, go away in this proposal.


+1 to all those



Regards,

Martijn
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: 
http://mail.zope.org/mailman/options/zope3-dev/dominik.huber%40perse.ch




--
Dominik Huber

Perse Engineering GmbH
Jurastrasse 9a
CH-5406 Baden
 
E-Mail: [EMAIL PROTECTED]

Telefon: ++41 56 534 7730

begin:vcard
fn:Dominik Huber
n:Huber;Dominik
email;internet:[EMAIL PROTECTED]
tel;work:++41 56 534 77 30
x-mozilla-html:FALSE
version:2.1
end:vcard

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Dominik Huber

Phillip's Proposal:
Furthermore, I propose to remove the |IDefaultLayer| interface. We've 
been using the |default| layer as a connotation of "always being 
available unless overridden by a more specific layer." However, this 
does not apply all the time: When the |default| layer is not included in 
a specific skin, nothing from the |default| layer will be found even 
though the ZCML statements suggest that it would always be available. I 
therefore propose to make the |default| skin layer an alias for 
|IBrowserRequest|. Anything registered for |default| will obviously 
always be available then, no matter what your skin layer looks like.


-1
I really appreciate that I can disable all registrations if I do not 
derive a skin from the default layer. That's very important use case for 
us. We introduced a minimal layer that is providing only the most 
important functionality like traversers etc. Regularly we derive 
end-user skins from this minimal layer and then we register all views 
explicitly so that we have full controll over accessibility of information.


Regards,
Dominik
begin:vcard
fn:Dominik Huber
n:Huber;Dominik
email;internet:[EMAIL PROTECTED]
tel;work:++41 56 534 77 30
x-mozilla-html:FALSE
version:2.1
end:vcard

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Philipp von Weitershausen
Martijn Faassen wrote:
> Philipp von Weitershausen wrote:
> 
>> Looking for your comments at http://dev.zope.org/Zope3/SimplifySkinning.
>> This is a follow-up proposal from
>> http://www.zope.org/Collectors/Zope3-dev/444.
> 
> I rather like having the *concept* skin to talk about. While
> implementation-wise things may become cleaner, being able to talk about
> a skin is I think a bit more clear than if you talk about skin layers.
> 
> Similarly, I think it's a useful concept to talk to a layout developer
> about 'layers' as a separate concept, to indicate to them that a layer
> is not something necessarily directly exposed to an end user. I think
> that this use case is less strong than the one for maintaining the word
> 'skin', though.
> 
> In various use cases, for instance Silva, there's a class of users that
> just wants to select from a list of skins installed for their site, and
> has no knowledge of how they're implemented. You don't want to show all
> layers to them.
> 
> It would therefore be nice to have a way to mark particular skin layers
> as actual skins you want to expose to end-users, not just as things
> useful as a building block. This is something we use the skin mechanism
> for now, and that facility would, if I understand it correctly, go away
> in this proposal.

It's a good use-case, but not much of a problem. As you said, it's not
about the implementation, it's about presenting a decent list to the user.

Skins and layers (and after my proposal skin layers, too) are registered
as utilities providing ISkin or ILayer (and after my proposal,
ISkinLayerType). You could create an interface, e.g. called
IUserSelectSkinLayerType, which extends ISkinLayerType. All skin layers
that are skins in the old sense (IOW, being choosable by users) would be
registered as utilities with this interface. You could then use a
UtilityVocabulary to pull out all user-selectable skin layers easily
into a Choice field or whatever.

If you think such an interface and perhaps the vocabulary should be in
Zope itself, fine by me. We could ammend the proposal.

Philipp
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Philipp von Weitershausen
Stephan Richter wrote:
> On Wednesday 07 December 2005 09:47, Philipp von Weitershausen wrote:
> 
>>If I understand you correctly, you just propose to keep layers and get
>>rid of skins while I roughly propose to do it the other way around. I
>>really don't see a big difference :).
> 
> 
> The difference is in effort. :-) If we keep layers around, there is no need 
> to 
> changed any browser directive, but if we keep skin around, then we have to 
> change eventually all browser:* directives "layer" attribute to "skin".

If you read my proposal carefully, you'll see that I never proposed to
change any ZCML directive parameter.

> Also, you called the new interface "ISkinLayerType". Layer is the more 
> general 
> term, so you really proposed to keep layers around as well. :-)

No I didn't. I don't follow your thinking here. I proposed to
consolidate the concepts into one. Whether we call that "layer" or "skin
layer", I don't really care. I guess you propose to call it "layer"
whereas "skin" would be a conceptual term based on layers (like view is
a conceptual term based on adapters).

> Personally I like layers better anyways, since it makes conceptually more 
> sense to me.

I'm not really choosing one over the other conceptually, maybe only from
a nomenclature point of view.

> As to Martijn's comments, I think that the term "skin" can still be around, 
> like the term "view" does, but it should be a conceptual term, not an 
> implemented one.

Right.

Philipp
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Martijn Faassen

Stephan Richter wrote:

On Wednesday 07 December 2005 09:15, Martijn Faassen wrote:


In various use cases, for instance Silva, there's a class of users that
just wants to select from a list of skins installed for their site, and
has no knowledge of how they're implemented. You don't want to show all
layers to them.


Why not? Currently there is only one layer more than there are skins, namely 
the IDefaultLayer. Whenever I write a layer I also write a skin, and this has 
been really annoying.


Please remember, Zope 3 core is not all the applications that use Zope 
3. In Zope 3 core, currently there's only one more layer than there are 
skins. This is not necessarily true for all applications that use Zope 3.



It would therefore be nice to have a way to mark particular skin layers
as actual skins you want to expose to end-users, not just as things
useful as a building block. This is something we use the skin mechanism
for now, and that facility would, if I understand it correctly, go away
in this proposal.
 
Right, if this deems necessary, it would be very easy to tag on another type 
interface specifying a skin in comparison to a regular layer.


My point is to make people aware of this use case. It may be something 
we have to solve on the application side with tagging, etc, but it would 
also mean the framework is doing less for us than it is doing now, where 
we can just ask for a list of skins.


Regards,

Martijn
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Stephan Richter
On Wednesday 07 December 2005 09:15, Martijn Faassen wrote:
> In various use cases, for instance Silva, there's a class of users that
> just wants to select from a list of skins installed for their site, and
> has no knowledge of how they're implemented. You don't want to show all
> layers to them.

Why not? Currently there is only one layer more than there are skins, namely 
the IDefaultLayer. Whenever I write a layer I also write a skin, and this has 
been really annoying.

> It would therefore be nice to have a way to mark particular skin layers
> as actual skins you want to expose to end-users, not just as things
> useful as a building block. This is something we use the skin mechanism
> for now, and that facility would, if I understand it correctly, go away
> in this proposal.

Right, if this deems necessary, it would be very easy to tag on another type 
interface specifying a skin in comparison to a regular layer.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Stephan Richter
On Wednesday 07 December 2005 09:47, Philipp von Weitershausen wrote:
> If I understand you correctly, you just propose to keep layers and get
> rid of skins while I roughly propose to do it the other way around. I
> really don't see a big difference :).

The difference is in effort. :-) If we keep layers around, there is no need to 
changed any browser directive, but if we keep skin around, then we have to 
change eventually all browser:* directives "layer" attribute to "skin".

Also, you called the new interface "ISkinLayerType". Layer is the more general 
term, so you really proposed to keep layers around as well. :-)

Personally I like layers better anyways, since it makes conceptually more 
sense to me. Also translating skin always provided troubles.

As to Martijn's comments, I think that the term "skin" can still be around, 
like the term "view" does, but it should be a conceptual term, not an 
implemented one.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Philipp von Weitershausen
Stephan Richter wrote:
>>Looking for your comments at http://dev.zope.org/Zope3/SimplifySkinning.
>>This is a follow-up proposal from
>>http://www.zope.org/Collectors/Zope3-dev/444.
> 
> 
> I was going to write a similar proposal for 3.3 as well. I think we should 
> simply get rid of skins and pretend they never existed.
> 
> Some comments:
> 
>   * 'ISkinLayerType' is introduced to mark skin layers interfaces.
> 
> Just call it ILayer.
> 
>   * 'ISkin' is made an alias of 'ISkinLayerType', deprecated and
> slated for removal in Zope 3.4.
> 
> Yep, gone and goner.
> 
>   * 'ILayer' is made to extend 'ISkinLayerType' but also deprecated
> and slated for removal in Zope 3.4.
> 
> Don't deprecate it. It's still useful.

Why? It's not more or less useful than ISkin.

If I understand you correctly, you just propose to keep layers and get
rid of skins while I roughly propose to do it the other way around. I
really don't see a big difference :).

Philipp
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Martijn Faassen

Philipp von Weitershausen wrote:

Looking for your comments at http://dev.zope.org/Zope3/SimplifySkinning.
This is a follow-up proposal from http://www.zope.org/Collectors/Zope3-dev/444.



I rather like having the *concept* skin to talk about. While 
implementation-wise things may become cleaner, being able to talk about 
a skin is I think a bit more clear than if you talk about skin layers.


Similarly, I think it's a useful concept to talk to a layout developer 
about 'layers' as a separate concept, to indicate to them that a layer 
is not something necessarily directly exposed to an end user. I think 
that this use case is less strong than the one for maintaining the word 
'skin', though.


In various use cases, for instance Silva, there's a class of users that 
just wants to select from a list of skins installed for their site, and 
has no knowledge of how they're implemented. You don't want to show all 
layers to them.


It would therefore be nice to have a way to mark particular skin layers 
as actual skins you want to expose to end-users, not just as things 
useful as a building block. This is something we use the skin mechanism 
for now, and that facility would, if I understand it correctly, go away 
in this proposal.


Regards,

Martijn
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Stephan Richter
On Wednesday 07 December 2005 03:55, Philipp von Weitershausen wrote:
> Looking for your comments at http://dev.zope.org/Zope3/SimplifySkinning.
> This is a follow-up proposal from
> http://www.zope.org/Collectors/Zope3-dev/444.

I was going to write a similar proposal for 3.3 as well. I think we should 
simply get rid of skins and pretend they never existed.

Some comments:

      * 'ISkinLayerType' is introduced to mark skin layers interfaces.

Just call it ILayer.

      * 'ISkin' is made an alias of 'ISkinLayerType', deprecated and
        slated for removal in Zope 3.4.

Yep, gone and goner.

      * 'ILayer' is made to extend 'ISkinLayerType' but also deprecated
        and slated for removal in Zope 3.4.

Don't deprecate it. It's still useful.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] RFC: Simplify Skinning

2005-12-07 Thread Philipp von Weitershausen
Looking for your comments at http://dev.zope.org/Zope3/SimplifySkinning.
This is a follow-up proposal from http://www.zope.org/Collectors/Zope3-dev/444.


This message was sent using IMP, the Internet Messaging Program.
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com