Hi,
Am Donnerstag, den 08.05.2008, 10:52 +0200 schrieb Carsten Ziegeler:
> Ok, part four is from me again :)
hehe
> I briefly looked at the nodetypes we define in Sling and where we define it:
>
> a) jcr.resource (resource.cnd) defines sling:Resource and
> sling:ResourceSuperType
>
> b) core (content.cnd, references.cnd, selection.cnd) defines
> sling:Folder (content.cnd)
> sling:Reference (references.cnd)
> sling:Selector, sling:ReferingSelector, sling:Selectable (selection.cnd)
>
> c) servlets.get (redirect.cnd) : sling:Redirect
>
> d) i18n:
> mix:language (jcrlanguage.cnd)
> sling:Language (slinglanguage.cnd)
> sling:Message, sling:MessageEntry (message.cnd)
>
> e) event (event.cnd) - the event node types
>
> I think d) and e) are fine - we could merge slinglanguage.cnd and
> message.cnd into one file though.
Makes sense. But we should keen the mix:language in a separate file.
Because this node type definition might pre-exist in the repository.
> I have the feeling that a) b) and c) should be defined in a single
> bundle and not in three different places.
Yes and no. I rather tend to keep the node type definitions in the
bundle, which contains the code using the node types.
The sling:Redirect node type is used by the RedirectServlet contained in
the servlets.get bundle. So we should keep this there.
Another situation is with the node types in core:
(1) sling:Reference: This has once defined for the
ReferenceContent/Component. These have gone in the meantime - AFAIK
without replacement. Is this node type still needed ? Otherwise I would
opt for removal.
(2) node types in selection.cnd: These are mainly used for the object
mapping in o.a.s.core.objects. First question: Are these used/needed ?
Second: Shouldn't they better be moved to a separate, probably extension
or sample, bundle ?
(3) sling:Folder: This can certainly be moved to the jcr/resource
module. But we should add more comments to that - otherwise it is just
another node type, for which no-one knows anymore why it exists ;-)
Regards
Felix