I hope to respond to your post soon; quite busy with multiple clients right
now.

I know in the past I have made specific decisions to simplify manual
coding, even though it made IDE support more complex.

In addition, I think some features I've introduced made certain edge cases
of Tapestry more "concise", but not necessarily better (*) and probably
harder to support in an IDE.

(*) What I've found is that some of the very concise features made it much
more complicated to explain what Tapestry is doing at any point in time.
Everything becomes a checklist.


On Thu, Nov 22, 2012 at 7:37 AM, Alessio Gambi <[email protected]> wrote:

> Gentlemen,
>
> my name is Alessio Gambi, I have a PhD in Informatics from the University
> of Lugano (Switzerland), a M.Sc. from the Politecnico of Milan (Italy) and
> another M.Sc. form the University of Illinois at Chicago (USA).
>
> As you guessed, I am also a huge fan of T5; therefore, I would like to
> contribute to the community.
>
> Differently from many of you, I do not want (at least for the moment :) )
> became an active developer *of* the framework itself.
> And I plan to contribute by developing, or better, formalizing high level
> knowledge about development of T5 applications, and also by developing tools
> that support the programmers and the other actors involved in this (fun)
> process of making T5-based applications.
>
> I go straight to the point so I do not take much of your time.
>
> Goals
>
> Goal n1
> Define a methodology that is tailored on and specific to Tapestry5. The
> framework offers a great deal of functionalities and features that must be
> used at the right time, for precise purposes, and in the intended way.
> In other words, develop according to the T5 way of doing things, while
> avoiding as much as possible "The Hard Way"®
>
> Goal n2
> Design and implement as set of tools that support such a specific
> development process. Here, I am talking about means to improve the quality
> of the design, not to ease the implementation by automate activities, and
> not
> to reduce the time to produce code.
>
>
> Some motivating examples just to stimulate further discussion:
>
>         Example: You are just arrived in a company where they have plenty
> of T5 modules (aka Library and Application Modules) and you are asked to
> find or define the best datatype (hint: this is a keyword) to use in a
> brand new requirement.
>                         How do you proceed? Note: You do not have access
> to the code of such modules.
>
>
>         Example: You are given an Library Module that was developed by a
> colleague that left the company, the module is 1K LOC and makes a lot
> (hint: A LOT) of contributions, service definitions, customizations.
>                         Your boss asks you to explain how that module fits
> in the main application.  How do proceed ? Note: some services override T5
> default behavior, there are ClassTransformationWorkers-here and there.
>
>
> How can you help ?
>
> Do not blow up the dev-list with flames-like mail... contact me in
> private, unless you feel it is better to share your thoughts/experiences
> with the dev community.
>
>
> For Goal 1 I need stories (as sort as possible, but not shorter !) that
> tells me your experiences as developers of T5 applications, and as
> developers of the framework itself.
> Dev apps with T5:
>         - How do you usually organize your work ? Agile vs Waterfall ?
>         - How do you plan pages/components/services?
>         - Do you evolve your code? I start by putting everything in a
> page, then I realize there's a change for a component, then I evolve the
> component by adding some AJAX, ...
>         - Do you adopt some specific pattern ? I like to define a
> Service*Source that will create instances of * because then I can
> contribute to that **
>         - How do you approach the integration with other frameworks ?
>         - Common Use Case and Scenarios?
>         - ...
>
> Dev T5 itself:
>         - I am interesting to understand your
> motivations/assumptions/requirements about the different features of the
> framework that you developed somehow.
>         - Can you list if there are new roles that developers cover with
> T5 ? Tester -> Page tester, component tester, service tester, service
> integration tester ? Component development ? Datatype designer ? Validator
> designer ?
>         - ...
>
> Do not be shy, I will not just you, and I do not assume that everything
> MUST be in favor of Tapestry... I would like also to see also  weaknesses
> of T5 and its limitations.
>
> For Goal 2 I need requirements and helps with the code.
> Requirements:
>         - What king of activity of you process do you like to be supported
> ? Any suggestions on how you plan to do that ?
>
> Help with the code:
>         - The first step is to extract the info from the framework itself.
> How do you do that without patching or touching core, internals and ioc ?
>         Simple example: How can I recover the configuration of a service
> after everything is initialized ?
>
>         - The second step is in organize the information. Are these info
> about validation? Are that related to TypeCoercion ? BeanEditing/Displaying
> ?
>         BTW: what are the main area of knowledge that you can identify in
> Tapestry ? Services, Data, DataTransformation, Pages, Navigation,
> Components?
>
>
>
> If I can get enough things I plan to start writing down and disseminate.
> If you like to contribute we can setup a mini-task-force. If you like to
> review and comments on the various
> outcome that is fine anyway.
>
>
>
> Cheers
>
> -- Alessio
>
>
>


-- 
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

Reply via email to