Rob Miller wrote:
- Why is it necessary to use version numbers from VERSION.txt? AFAICS
it does not make much sense to keep profile version numbers in sync
with product version numbers. New profiles should have an explicit
version in metadata.xml, old profiles can use '0' as version number. No?
i could go either way. i thought that some folks, with products that
had fast release cycle, might choose to use the product version as the
profile version, so the product version is used as a failover if a
profile version isn't present. i don't feel strongly, though, and
would be fine to remove this if others disagree.
Well. I'd prefer to have *one* obvious and explicit solution. The
failover adds extra code that needs to be maintained and makes it less
obvious where the version number comes from.
i agree. i was thinking since my last reply that, since the code is already
in there, we could support a special value in the metadata.xml file that
explicitly tells GS to use the product version for the profile version, rather
than having that be the default behaviour.
- Why uses ProfileMetadata the old ImportConfiguratorBase?
ImportConfiguratorBase is just not deprecated because GenericSetup
still uses it in some places. But the goal was to get rid of it, not
to add new files that depend on it.
since it wasn't deprecated, or even commented, i didn't know the goal
was to get rid of it. sorry.
I am sorry. Looks like you spent a lot of time on figuring out how it
works and writing documentation :(
yup. ah well.
I wrote that code long ago, replacing the old pattern still used in
DCWorkflow's WorkflowDefinitionConfigurator. Later I figured out that
this extra framework is less flexible and not much easier to use than
the generic DOM API. All new code is DOM based and a big part of the old
code is converted.
If you agree that this code can be removed in the long run, we should
figure out how to document this decision.
i'm fine to remove it. it was a bit of a PITA. putting a comment in the code
or the docstring would have been enough to alert me to not use it, until such
time as we can convert the remaining uses and officially deprecate it.
- Why is exporting metadata.xml not supported?
because metadata.xml is not actually site configuration. it's
metadata on the profile itself. there's not any way, nor should there
be, IMO, that the information provided in the metadata file can be
changed on a live site in such a way that it would be exported.
perhaps it would be better to change the metadata to an .ini file, or
some other config syntax, to distinguish it more clearly from the rest
of the profile.
If it is pure registration information, why don't we extend the ZCML
directive? But AFAICS data like the version number belongs to the
profile itself and it might be useful to add timestamp based version
numbers to exported profiles.
- How are profile dependencies specified, where are they used?
dependencies are specified in metadata.xml; syntax can be found in
test_profile_metadata.py. unfortunately, they're not used yet... this
was a goal that we didn't actually get to. :-(.
'DEPENDENCY 1' and 'DEPENDENCY 2' don't really explain how to specify
dependencies: Would we use identifiers like
'Products.CMFCalendar:default'? Is it possible to use version numbers?
true enough. i was thinking it would simply be the profile identifier, e.g.
'Products.CMFCalendar:default'. i'm not planning on developing a really rich
dependency management infrastructure, just a way to have one profile trigger
the importation of another.
As long as these questions are not resolved I would disable the support
for dependencies completely.
it IS disabled completely. but i'm fine w/ removing the 'dependency' pieces
from the metadata.xml parsing, until such time as it can actually be implemented.
Zope-CMF maillist - Zope-CMF@lists.zope.org
See http://collector.zope.org/CMF for bug reports and feature requests