Hi folks, Canvassing opinions here.
Andi and I are still hard at work on v2.0. We've been chatting offline about the @Action annotation. Currently this is optional, but there's a config property (isis.reflector.explicit-annotations.action) that can be set to require it to be required. If it's required, then it allows actions that start with a "reserved" word, such as "clear", "disable" and "addTo" to be used as action names. What do folks think about this? Obviously it means there's more effort to migrate to v2.0, but is it a worthwhile trade-off. A couple of follow-on questions. First, if we make @Action mandatory, should we do the same for @Property and @Collection? Second, if we are being explicit about the "main" methods, should we also annotate supporting methods? There was an earlier discussion about this, where Andi had suggested a @Model annotation, the semantic opposite of @Programmatic. I prefer the name @Supporting, but at any rate the idea is that the developer would annotate all supporting methods, and the framework would then be able to ensure that none had become orphaned. So, to summarise, what do we think about: - @Action mandatory - @Property and @Collection also mandatory - @Supporting as an indicator of any supporting method, to make part of the metamodel and ensure not orphaned? Thanks