On Monday, 7 May 2012 at 18:51:26 UTC, Sönke Ludwig wrote:
I think one of us (Jan) has something for better form handling locally, not yet committed, and I would count that as something that would still fit well into the core package. But in general, I think the number of features should not grow too much anymore - the core should contain all that is necessary for _most_ applications and that with an interface that is as comfortable as possible.

The main scope of modules, I would say, are higher level features, features that are not as widely used or those which provide alternatives to the functions in the core library. Basic, common functionality, however, is always a candidate for the core (OAuth(2) is on the way for example).

Another - quite banal - criterion could be if we would actually use a feature ourselves, at least a bit; simply because if we don't use it, we cannot test it without further time investments and it could be unclear (to us) how well such a component actually works (e.g. wrt. stable releases). Also, the implementation/API style of a feature should match the rest of the core library. The MySQL driver would be an example that currently fails both criterions and thus is a module.

Maybe it would also be good to establish a defined procedure such as: New features are implemented as modules first and after a review it's decided if they should go in for the next release. I don't have a real opinion on this yet and I'm basically completely open for suggestions.

Sound good, now I'm just hoping that porting my forms stuff to the core forms isn't going to be too hard :D.

Otherwise it seems you have a rough idea of what constitutes a module and what is a feature, and that is a good start. I think an informal review process for module -> feature promotion would be good, since then the code can be available for use earlier. Also, there is something to be said for making "official" vibe modules, ones maintained, or at least, approved by the vibe team and given slightly more prominence. This can keep the core system small, but still allow the vibe team to provide more functionality, especially if it is common functionality.

--
James Miller

Reply via email to