You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by Howard Lewis Ship <hl...@gmail.com> on 2011/06/29 22:34:53 UTC

Tapestry Configurator

Had an interesting idea this morning (in the shower ... what do YOU
think about in the shower?) that dovetails with Bob's initiative to
track & rate third party libraries.

How about a Tapestry app that collects information from the user:
basic information as with the Maven archetype, but additional things
such as which Tapestry and 3rd party libraries to include, which
version of Tapestry to use, and maybe a few other things (like which
database drivers to use), locales to support, etc.

At the end of all this, a .zip file of the project source is created.
Pretty much an extended version of what gets produced by the Maven
archetype.

I kind of imagined a data-driven approach, where there would be a DB,
or more likely, a JSON document, that described the different options
and how they relate.

This could be combined with Freemarker templates to generate the
artifacts (build scripts, source files).

Some things would just "bolt on", some would be either-or, some would
be dependent.

For example: Ant build vs. Maven build vs. Gradle build

If you choose Hibernate or JPA support ... an option to choose one or
more drivers for different databases.

Some selection logic so that a 3rd party library that isn't compatible
with the selected Tapestry version would be disabled.

Internally, this could use Ant libraries and Maven Ant Tasks to
properly download the dependencies (for an Ant build).

Before you download, there would be an optional "survey" page that
would collect information about the app you are building.

The app could be deployed into EC2 or GAE or hosted in the Apache Jail.

-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: Tapestry Configurator

Posted by Mark <ma...@xeric.net>.
Appfuse has a page where you can select several different options and
it will give you the maven command to generate a new project to your
specs:
http://appfuse.org/display/APF/AppFuse+QuickStart

It sounds like you are talking about a very VERY advanced version of this.

I like the idea, but I wonder if you'd get 80% of the benefit by
offering several Maven archetypes for common
configurations--especially one with Hibernate already setup and a few
entities to show how it works.

I wonder if you could get some of the statistics you want by looking
at which archetypes get downloaded most frequently.

That said, anything that makes it easier for someone to get a new
project up and running with Tapestry is going to be a good thing.

Mark


On Wed, Jun 29, 2011 at 3:34 PM, Howard Lewis Ship <hl...@gmail.com> wrote:
> Had an interesting idea this morning (in the shower ... what do YOU
> think about in the shower?) that dovetails with Bob's initiative to
> track & rate third party libraries.
>
> How about a Tapestry app that collects information from the user:
> basic information as with the Maven archetype, but additional things
> such as which Tapestry and 3rd party libraries to include, which
> version of Tapestry to use, and maybe a few other things (like which
> database drivers to use), locales to support, etc.
>
> At the end of all this, a .zip file of the project source is created.
> Pretty much an extended version of what gets produced by the Maven
> archetype.
>
> I kind of imagined a data-driven approach, where there would be a DB,
> or more likely, a JSON document, that described the different options
> and how they relate.
>
> This could be combined with Freemarker templates to generate the
> artifacts (build scripts, source files).
>
> Some things would just "bolt on", some would be either-or, some would
> be dependent.
>
> For example: Ant build vs. Maven build vs. Gradle build
>
> If you choose Hibernate or JPA support ... an option to choose one or
> more drivers for different databases.
>
> Some selection logic so that a 3rd party library that isn't compatible
> with the selected Tapestry version would be disabled.
>
> Internally, this could use Ant libraries and Maven Ant Tasks to
> properly download the dependencies (for an Ant build).
>
> Before you download, there would be an optional "survey" page that
> would collect information about the app you are building.
>
> The app could be deployed into EC2 or GAE or hosted in the Apache Jail.
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: Tapestry Configurator

Posted by Josh Canfield <jo...@gmail.com>.
> Had an interesting idea this morning (in the shower ... what do YOU
> think about in the shower?)

I was thinking about extending your new Tree component so that
building mutable trees was easier... Oh, was that rhetorical? By the
way I got many oohs and ahhs when I showed off my Tree based
JSONObject editor, which took about a day to learn the component and
get fleshed out with insert/update and inline property editing.

> How about a Tapestry app that collects information from the user:
> basic information as with the Maven archetype, but additional things
> such as which Tapestry and 3rd party libraries to include, which
> version of Tapestry to use, and maybe a few other things (like which
> database drivers to use), locales to support, etc.

Sounds like a good way to demonstrate some Tapestry features.

> Internally, this could use Ant libraries and Maven Ant Tasks to
> properly download the dependencies (for an Ant build).

I suppose the only time you'd need to download the dependencies is if
you are using ant without ivy, right? Otherwise you're just
configuring a pom.xml or build.gradle.

> Before you download, there would be an optional "survey" page that
> would collect information about the app you are building.

I assume it's assumed that if you provide this app then you get to
gather statistics about apps that people are generating... not sure
how valuable that info is without the survey tying the app usage to an
actual user/project....

Josh

On Wed, Jun 29, 2011 at 1:34 PM, Howard Lewis Ship <hl...@gmail.com> wrote:
> Had an interesting idea this morning (in the shower ... what do YOU
> think about in the shower?) that dovetails with Bob's initiative to
> track & rate third party libraries.
>
> How about a Tapestry app that collects information from the user:
> basic information as with the Maven archetype, but additional things
> such as which Tapestry and 3rd party libraries to include, which
> version of Tapestry to use, and maybe a few other things (like which
> database drivers to use), locales to support, etc.
>
> At the end of all this, a .zip file of the project source is created.
> Pretty much an extended version of what gets produced by the Maven
> archetype.
>
> I kind of imagined a data-driven approach, where there would be a DB,
> or more likely, a JSON document, that described the different options
> and how they relate.
>
> This could be combined with Freemarker templates to generate the
> artifacts (build scripts, source files).
>
> Some things would just "bolt on", some would be either-or, some would
> be dependent.
>
> For example: Ant build vs. Maven build vs. Gradle build
>
> If you choose Hibernate or JPA support ... an option to choose one or
> more drivers for different databases.
>
> Some selection logic so that a 3rd party library that isn't compatible
> with the selected Tapestry version would be disabled.
>
> Internally, this could use Ant libraries and Maven Ant Tasks to
> properly download the dependencies (for an Ant build).
>
> Before you download, there would be an optional "survey" page that
> would collect information about the app you are building.
>
> The app could be deployed into EC2 or GAE or hosted in the Apache Jail.
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org