Hi Kevin,
Thanks for the feedback on [1], response inline, and I'm copying to isis-dev in case others want to chime in.

[1] https://cwiki.apache.org/confluence/display/ISIS/MavenArchetypeDesign

On 22/10/2010 08:35, Kevin Meyer wrote:
[snip]

While I do see the advantage of having an archetype that can generate a
fully fledged app with lots of functionality, I feel quite strongly
that there should, then *also* be an archetype that builds a mostly
empty application (like the current one).

I use the current archetype to generate an empty project. At the moment
there is only 1 class created, which is fine.

It could be quite tedious deleting all the other classes, in future.
Yes, I can see that would be the case.

I think there are two main use cases to support:
- being able to get started on a greenfield project really quickly (your point) - being able to have a working demo of something really quickly, which also demonstrates how some of the less obvious functionality - such as Concordion or JUnit - works (my point)

In addition, we want the archetypes we create to be "intuitive", in the sense that:
- the user isn't confused as to which archetype to use
- the user can readily understand what is generated by the archetype.

To me, this says we should have a very small number of archetypes, and rather than have "mix-in" archetypes for each separate module (scimpi, restful, wicket etc), I'd rather have an archetype where the user can just delete (or ignore) the modules they don't care about.

Putting this together, I suggest we have two archetypes, that (as you alluded to) would be nearly identical, in that both would create the full set of modules. Then: - the first (lets call it "application") would create a DOM with just a single class "DomainObject" model - the second (let's call it "demoapp") would create a 4 class "Customer/Order/OrderItem/Product" DOM.


BTW: Did you ever find out how to use an archetype to add module(s)
to an existing project? The scimpi archetype is almost there..
If we go the way I'm proposing (delete bits you don't want, rather than try to figure out what you want to add), then that means we'll get rid of this archetype.

Thoughts?
Dan


Regards,
Kevin



Reply via email to