Hi Lenya devs, I added a new option for module descriptors:
<published>false</published> This way, you can mark modules explicitly as published or unpublished. If a module is marked as unpublished, this means that it is not part of the API and might change without notice. Now we can put all our unpublished code into modules without breaking external code which depends on it, and notify the users that they should remove these depenencies. You can also use this for your own modules, e.g. newsletter -> published=true (API) newsletter-james -> published=false (specific implementation) This means that you can change the James-specific code without endangering the backwards compatibility for users who depend their code on your newsletter module. If they extend your newsletter-james module, they are on their own. If you omit the <published> element, it defaults to "true". The build process prints a warning for each dependency to an unpublished module. This way, extending them is still allowed but explicitly discouraged. ---- ATM we have the following internal dependencies to unpublished modules: * administration -> ac-impl * administration -> ldap This is because the user classes have to be hard-coded in the admin GUI. IMO we should use a configurable factory instead. * ldap -> ac-impl The LDAPUser class extends the FileUser class. To get rid of the warning, we'd have to include some code duplication. Or maybe there's a way to make the class hierarchy more flexible? * usecase-impl -> ac-impl I'm not sure if this is still necessary, I'll check this. -- Andreas -- Andreas Hartmann Wyona Inc. - Open Source Content Management - Apache Lenya http://www.wyona.com http://lenya.apache.org [EMAIL PROTECTED] [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
