You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by Gavin Lei <ga...@gmail.com> on 2011/01/26 07:15:17 UTC

I want to build a Tapestry 5 Eclipse plugin editor

Hi guys,

I have been involved in Tapestry for years, usually build my project in
Eclipse. But I can not find fantastic Eclipse plugin for Taperstry. Now, if
we use Tapestry 5 to build our web project, it is more convinent, but i
think there is a good editor for Taperstry 5, Tapestry will be much more
cool.

So i want to build a Eclipse based editor for Tapestry 5, and build it as an
Google Summer of Code 2011 project, below is my mainly idea, helping for
your ideas and feedback. If anyone has interest in it, please let me know,
Thank you :-)

Features:

1.Tapestry project feature, such as import tapestry 5 libraries, project
wizards, add default Tapestry package structure and so on.
    In one word, once we create a Tapestry project, it is created with
required package structure and web.xml content.

2.One tapestry page includes one Java class file and one HTML based template
file. It seems like Microsoft's asp.net in Visual Studio somewhere.
    We can edit the java class file and template file together. So, this
tool supply a convinent editor for tapestry page. It has design view and
source view.
    I. source view
        we can edit template file source in this view. and this view supply
property tips and keyword highlight functions.
        For example, there are attributes "testA" and "testB" in its
cosspending Java class file. If you want to get the property value, you
should input "${prop:testA}" in template file,this view will     supply auto
complete function for you after you input "${prop:t}",you can select "testA"
or "testB".

    II.design view
        this view is a more powful HTML editor, we can build it on some open
souce Eclipse HTML editor. Besides,we can set component's property value in
this view, add listener for components.
        For example, if we double click a form's submit button named
"submitButton" in this view, it will add a function
"onSuccessFromSubmitButton" in its cosspending Java class,this function is
used to handler form submit action.

3.supply customization feature for Tapestry page editor. For example, we can
setup different color for different Java web component in template file.


---------------------------------
Best Regards
Gavin Lei (雷银)
Email: gavingui2011@gmail.com

Re: I want to build a Tapestry 5 Eclipse plugin editor

Posted by Gavin Lei <ga...@gmail.com>.
Hi Mark,

Thank you for your commends, Yeah, there are some tools which can do help us
to develop Tapestry application, but they are usually hava only some small
functions or can only work towards to special Tapestry version. What you
have done really give us some importmant instructions about how to build
such a usable Eclpse Tapestry plunge in tool.

I have involved in solution research job, once i have got something,  i will
show it here. Looking for more commends from you guys, thank you.

2011/2/21 Mark <ma...@xeric.net>

> > 2. Tapestry page/component creation wizard
> > It will help us to create the .tml file and .java file together (in
> Tapestry
> > 4, this will create the corresponding .page file too)
> > for a Tapestry page/component.
> >
>
> I think Loom already does this although I don't use this feature.
>
>
> > 4. Add convenient way for the Web Page Editor to change-over between a
> > Tapestry page's .tml file and .java file
>
> Loom does this well so you might look at how it works:
> http://code.google.com/p/loom-t5/
>
> >
> > 5. Add Tapestry built in and custom components autocomplete function for
> WTP
> > Web Page Editor's source view
> >
> > 6.Autocomplete of properties from the .java page when editing the .tml
> file
> > In the Source Page of the Web Page Editor, add the Tapestry tag, (for
> > example ${prop:index}).
>
> 5 and 6 are the features I'd recommend starting with and would
> probably give the biggest productivity boost for most users.  You can
> actually do 5 now by creating an XML definition document from your
> components, importing it into Eclipse and using the XML editor.  There
> are instructions for doing this on the wiki. (I'd find the link, but
> Apache is down right now.) In fact you might be able to do 5 simply by
> looking at what you can do manually and creating an eclipse plugin to
> automate it.
>
> The autocomplete of properties from the .java page would be wonderful
> as this is something that there isn't anyway to do right now using
> Eclipse.  IDEA does have the capability.
>
> Best of luck. I'm excited to see what you come up with.
>
> Mark
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>
>


-- 
---------------------------------
Best Regards
Gavin Lei (雷银)
Email: gavingui2011@gmail.com

Re: I want to build a Tapestry 5 Eclipse plugin editor

Posted by Mark <ma...@xeric.net>.
On Mon, Feb 21, 2011 at 9:12 AM, Bob Harner <bo...@gmail.com> wrote:
> Mark,
>
> Is this the wiki page you're referring to?
>
>    http://wiki.apache.org/tapestry/Tapestry5JSPEditorEclipse
>
> I noticed that you had code completion working in your templates in
> the 10-minute demo you did. Was this the approach you used?

Yes that is it.  But it seems to not be loading for me right now.
There is more info here:
https://github.com/exanpe/tapestry-tldgen
http://exanpe.free.fr/tapestry-tldgen/

Mark

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


Re: I want to build a Tapestry 5 Eclipse plugin editor

Posted by Bob Harner <bo...@gmail.com>.
Mark,

Is this the wiki page you're referring to?

    http://wiki.apache.org/tapestry/Tapestry5JSPEditorEclipse

I noticed that you had code completion working in your templates in
the 10-minute demo you did. Was this the approach you used?

On Mon, Feb 21, 2011 at 9:55 AM, Mark <ma...@xeric.net> wrote:
>> 2. Tapestry page/component creation wizard
>> It will help us to create the .tml file and .java file together (in Tapestry
>> 4, this will create the corresponding .page file too)
>> for a Tapestry page/component.
>>
>
> I think Loom already does this although I don't use this feature.
>
>
>> 4. Add convenient way for the Web Page Editor to change-over between a
>> Tapestry page's .tml file and .java file
>
> Loom does this well so you might look at how it works:
> http://code.google.com/p/loom-t5/
>
>>
>> 5. Add Tapestry built in and custom components autocomplete function for WTP
>> Web Page Editor's source view
>>
>> 6.Autocomplete of properties from the .java page when editing the .tml file
>> In the Source Page of the Web Page Editor, add the Tapestry tag, (for
>> example ${prop:index}).
>
> 5 and 6 are the features I'd recommend starting with and would
> probably give the biggest productivity boost for most users.  You can
> actually do 5 now by creating an XML definition document from your
> components, importing it into Eclipse and using the XML editor.  There
> are instructions for doing this on the wiki. (I'd find the link, but
> Apache is down right now.) In fact you might be able to do 5 simply by
> looking at what you can do manually and creating an eclipse plugin to
> automate it.
>
> The autocomplete of properties from the .java page would be wonderful
> as this is something that there isn't anyway to do right now using
> Eclipse.  IDEA does have the capability.
>
> Best of luck. I'm excited to see what you come up with.
>
> Mark
>
> ---------------------------------------------------------------------
> 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: I want to build a Tapestry 5 Eclipse plugin editor

Posted by Mark <ma...@xeric.net>.
> 2. Tapestry page/component creation wizard
> It will help us to create the .tml file and .java file together (in Tapestry
> 4, this will create the corresponding .page file too)
> for a Tapestry page/component.
>

I think Loom already does this although I don't use this feature.


> 4. Add convenient way for the Web Page Editor to change-over between a
> Tapestry page's .tml file and .java file

Loom does this well so you might look at how it works:
http://code.google.com/p/loom-t5/

>
> 5. Add Tapestry built in and custom components autocomplete function for WTP
> Web Page Editor's source view
>
> 6.Autocomplete of properties from the .java page when editing the .tml file
> In the Source Page of the Web Page Editor, add the Tapestry tag, (for
> example ${prop:index}).

5 and 6 are the features I'd recommend starting with and would
probably give the biggest productivity boost for most users.  You can
actually do 5 now by creating an XML definition document from your
components, importing it into Eclipse and using the XML editor.  There
are instructions for doing this on the wiki. (I'd find the link, but
Apache is down right now.) In fact you might be able to do 5 simply by
looking at what you can do manually and creating an eclipse plugin to
automate it.

The autocomplete of properties from the .java page would be wonderful
as this is something that there isn't anyway to do right now using
Eclipse.  IDEA does have the capability.

Best of luck. I'm excited to see what you come up with.

Mark

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


Re: I want to build a Tapestry 5 Eclipse plugin editor

Posted by Gavin Lei <ga...@gmail.com>.
Hi guys,

These days, i have finished some research job and design job. Now, i get a
whold project proposal about Tapestry visual editor, i want to build it on
Eclipse WTP project. Here is my proposal detail, if you guys have any ideas
about this project, please let me know. Thank you :-)

The Eclipse Web Tools Platform (WTP) [1] project extends the Eclipse
platform with tools for developing Web and
Java EE applications. It includes source and graphical editors for a variety
of languages,
wizards and built-in applications to simplify development, and tools and
APIs to support deploying,
 running, and testing apps.

WTP supplies Web Page Editor for us to edit HTML page, JSP page and JSF-JSP
web page. Just like JSF technology,
Apache Tapestry supplies powerful component structure, and it offered a
number of other powerful features that
proved to be critical in our work. For example, it allowed a clean
separation
between Java and HTML, and made it possible for the design work on the
application to continue well after the code had been completed. So Tapestry
become more and more popular today,
and i think it is necessary for Eclipse WTP to support Tapestry.

So I want to build an Eclipse WTP based Tapestry visual editor, named it
Tapestry Tools. It should have following mainly functions:

1. Tapertry libraries import wizard
We can select which Tapestry version do we need, and then it will help us to
import the corresponding jars. We should
notice that different Tapestry release version have their own features. For
example, in Tapestry 4, we usually use
a .tml file,a .page file and a .java file to construct a Tapestry page, but
in Tapestry 5, a page usually contains only
a .tml file and a .java file.

2. Tapestry page/component creation wizard
It will help us to create the .tml file and .java file together (in Tapestry
4, this will create the corresponding .page file too)
for a Tapestry page/component.

3. Add Tapestry component support for WTP web editor palette
If we open a Tapestry page/component with WTP Web Page Editor, its palette
will contains three main section, HTML,Tapestry
core and Tapestry custom component. Then, we can drap-and-drop the
components in the palette to the canvas. WTP
web editor supplies property view for us already, we can improve the
property to support Tapestry component.

4. Add convenient way for the Web Page Editor to change-over between a
Tapestry page's .tml file and .java file

5. Add Tapestry built in and custom components autocomplete function for WTP
Web Page Editor's source view
If we add component insert code, such as "<span jwcid="@NewBorder"/>",So
when you type
<t: it comes up with a list you can choose from and then completes it with
the required parameters listed.

6.Autocomplete of properties from the .java page when editing the .tml file
In the Source Page of the Web Page Editor, add the Tapestry tag, (for
example ${prop:index}).
With the cursor inside the brackets, hit Ctrl+spacebar, should see a pop-up
with a list of all the available
properties defined in the corresponding java class.


[1] http://www.eclipse.org/webtools/
---------------------------------
Best Regards
Gavin Lei (雷银)
Email: gavingui2011@gmail.com

Re: I want to build a Tapestry 5 Eclipse plugin editor

Posted by Gavin Lei <ga...@gmail.com>.
Hi Bob,

It seems that you have started you job for months, what do you have yet ?
May be we can discuss details here. When i search "Tapestry eclipse plunge"
in google, we can get lots of result and get some editor, but they are all
not perfect, or even not avaiable, so, i think a editor which can improve
Tapertry development progress is really needed

在 2011年1月27日 上午10:26,Bob Harner <bo...@gmail.com>写道:

> Gavin,
>
> Your plans are quite ambitious and your efforts will be very much
> appreciated by Tapestry users if you can accomplish even a few of your
> goals.
>
> In terms of priorities, I agree with Mark's list.
>
> Also: I hope you'll use the Apache License 2.0
>
> I started developing a more modest Tapestry-Eclipse plugin myself a
> month ago. I haven't made enough progress yet to show anybody, but if
> you happen to not start on yours for a month or two then please check
> back with me to see if I have anything decent to give you as a
> starting point. My approach also combines the editing of tml and java
> source (and component message catalogs, too), but only as separate
> editor "pages" (tabs at the bottom of the editor) rather than in a
> fancy graphical drag-and-drop editor.
>
> 2011/1/26 Gavin Lei <ga...@gmail.com>:
> > Hi Mark,
> >
> > Thank you for your reply, that is what in my mind :-)
> >
> > As we know, Tapestry focus on components, each page is made up of many
> > compoents. This development model like Visual Studio very much, if we
> > develop C# asp.net application, each page is made up of a .aspx file and
> a
> > .cs file, and Visual Studio supply a editor for us to edit these two
> files
> > together, we can easily transfer between these two files, even we can not
> > feel that they are two files. Page property view is also a necessary part
> of
> > this editor. This design model help me much when i was developing
> > asp.netapplication.
> >
> > Tapestry focus on components too, i think Java open source community
> should
> > supply such a convinent development environment like Visual Studio for
> > Tapestry, this will improve develop feeling, help us much.  So i want to
> > finish a editor for Tapestry
> >
> > 在 2011年1月27日 上午12:35,Mark <ma...@xeric.net>写道:
> >
> >> My two cents:
> >>
> >> - Project setup isn't a particularly big deal for me since I can do
> >> this through Maven.  If you do make the plugin create the project,
> >> make sure it is flexible enough to handle projects that already exist
> >> and isn't tied to a specific tapestry release.
> >>
> >> - Checkout the paid version of IDEA as it offers some nice code
> >> completion features in the template.
> >>
> >> - Loom will let you switch back and forth between the .java and the
> >> corresponding .tml file.
> >>
> >> - If you want to create something graphical, I'd take a look at how
> >> the WebObjects editor use to work.  You may be able to find a
> >> screenshot somewhere.  Basically at the bottom of the page, you had a
> >> list of all the property objects that were available for the page.
> >> You could click on one and see all of its properties and drill down
> >> until you found what you were looking for.  Then you could drag that
> >> property and drop it on the editor where you wanted it to appear. I
> >> found it to be very convenient even though it wasn't a full WYSIWYG
> >> environment.
> >>
> >> Here are three things that would probably give the biggest
> >> productivity gains in order of importance.
> >>
> >> 1. Switch between .tml and .java files (Loom does this already). It
> >> would be nice if you could open both the .java and cooresponding .tml
> >> side by side rather than just switching between them.
> >>
> >> 2. Autocomplete for tapestry built in components.  So when you type
> >> <t: it comes up with a list you can choose from and then completes it
> >> with the required parameters listed. (There is a how to for setting
> >> this up using the schema and the .jsp editor, but it didn't seem to
> >> work for me last time I tried it.)
> >>
> >> 3. Autocomplete for custom components. I think there is a how to, to
> >> create a schema to do this using the .jsp editor as well, but I didn't
> >> have any luck with it during the brief time I played with it.
> >>
> >> 4. Autocomplete of properties from the .java page when editing the
> >> .tml file.  When it is setup correctly IDEA does a reasonable job of
> >> this.
> >>
> >> 5. Some type of drag and drop to put properties from the .java file
> >> into the .tml file. (Could be a GUI, but wouldn't have to be.)
> >>
> >> At least those are my thoughts on what would be the most useful
> features.
> >>
> >> Mark
> >>
> >> 2011/1/26 Gavin Lei <ga...@gmail.com>:
> >> > Hi guys,
> >> >
> >> > I have been involved in Tapestry for years, usually build my project
> in
> >> > Eclipse. But I can not find fantastic Eclipse plugin for Taperstry.
> Now,
> >> if
> >> > we use Tapestry 5 to build our web project, it is more convinent, but
> i
> >> > think there is a good editor for Taperstry 5, Tapestry will be much
> more
> >> > cool.
> >> >
> >> > So i want to build a Eclipse based editor for Tapestry 5, and build it
> as
> >> an
> >> > Google Summer of Code 2011 project, below is my mainly idea, helping
> for
> >> > your ideas and feedback. If anyone has interest in it, please let me
> >> know,
> >> > Thank you :-)
> >> >
> >> > Features:
> >> >
> >> > 1.Tapestry project feature, such as import tapestry 5 libraries,
> project
> >> > wizards, add default Tapestry package structure and so on.
> >> >    In one word, once we create a Tapestry project, it is created with
> >> > required package structure and web.xml content.
> >> >
> >> > 2.One tapestry page includes one Java class file and one HTML based
> >> template
> >> > file. It seems like Microsoft's asp.net in Visual Studio somewhere.
> >> >    We can edit the java class file and template file together. So,
> this
> >> > tool supply a convinent editor for tapestry page. It has design view
> and
> >> > source view.
> >> >    I. source view
> >> >        we can edit template file source in this view. and this view
> >> supply
> >> > property tips and keyword highlight functions.
> >> >        For example, there are attributes "testA" and "testB" in its
> >> > cosspending Java class file. If you want to get the property value,
> you
> >> > should input "${prop:testA}" in template file,this view will
> supply
> >> auto
> >> > complete function for you after you input "${prop:t}",you can select
> >> "testA"
> >> > or "testB".
> >> >
> >> >    II.design view
> >> >        this view is a more powful HTML editor, we can build it on some
> >> open
> >> > souce Eclipse HTML editor. Besides,we can set component's property
> value
> >> in
> >> > this view, add listener for components.
> >> >        For example, if we double click a form's submit button named
> >> > "submitButton" in this view, it will add a function
> >> > "onSuccessFromSubmitButton" in its cosspending Java class,this
> function
> >> is
> >> > used to handler form submit action.
> >> >
> >> > 3.supply customization feature for Tapestry page editor. For example,
> we
> >> can
> >> > setup different color for different Java web component in template
> file.
> >> >
> >> >
> >> > ---------------------------------
> >> > Best Regards
> >> > Gavin Lei (雷银)
> >> > Email: gavingui2011@gmail.com
> >> >
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> >> For additional commands, e-mail: dev-help@tapestry.apache.org
> >>
> >>
> >
> >
> > --
> > ---------------------------------
> > Best Regards
> > Gavin Lei (雷银)
> > Email: gavingui2011@gmail.com
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>
>


-- 
---------------------------------
Best Regards
Gavin Lei (雷银)
Email: gavingui2011@gmail.com

Re: I want to build a Tapestry 5 Eclipse plugin editor

Posted by Bob Harner <bo...@gmail.com>.
Gavin,

Your plans are quite ambitious and your efforts will be very much
appreciated by Tapestry users if you can accomplish even a few of your
goals.

In terms of priorities, I agree with Mark's list.

Also: I hope you'll use the Apache License 2.0

I started developing a more modest Tapestry-Eclipse plugin myself a
month ago. I haven't made enough progress yet to show anybody, but if
you happen to not start on yours for a month or two then please check
back with me to see if I have anything decent to give you as a
starting point. My approach also combines the editing of tml and java
source (and component message catalogs, too), but only as separate
editor "pages" (tabs at the bottom of the editor) rather than in a
fancy graphical drag-and-drop editor.

2011/1/26 Gavin Lei <ga...@gmail.com>:
> Hi Mark,
>
> Thank you for your reply, that is what in my mind :-)
>
> As we know, Tapestry focus on components, each page is made up of many
> compoents. This development model like Visual Studio very much, if we
> develop C# asp.net application, each page is made up of a .aspx file and a
> .cs file, and Visual Studio supply a editor for us to edit these two files
> together, we can easily transfer between these two files, even we can not
> feel that they are two files. Page property view is also a necessary part of
> this editor. This design model help me much when i was developing
> asp.netapplication.
>
> Tapestry focus on components too, i think Java open source community should
> supply such a convinent development environment like Visual Studio for
> Tapestry, this will improve develop feeling, help us much.  So i want to
> finish a editor for Tapestry
>
> 在 2011年1月27日 上午12:35,Mark <ma...@xeric.net>写道:
>
>> My two cents:
>>
>> - Project setup isn't a particularly big deal for me since I can do
>> this through Maven.  If you do make the plugin create the project,
>> make sure it is flexible enough to handle projects that already exist
>> and isn't tied to a specific tapestry release.
>>
>> - Checkout the paid version of IDEA as it offers some nice code
>> completion features in the template.
>>
>> - Loom will let you switch back and forth between the .java and the
>> corresponding .tml file.
>>
>> - If you want to create something graphical, I'd take a look at how
>> the WebObjects editor use to work.  You may be able to find a
>> screenshot somewhere.  Basically at the bottom of the page, you had a
>> list of all the property objects that were available for the page.
>> You could click on one and see all of its properties and drill down
>> until you found what you were looking for.  Then you could drag that
>> property and drop it on the editor where you wanted it to appear. I
>> found it to be very convenient even though it wasn't a full WYSIWYG
>> environment.
>>
>> Here are three things that would probably give the biggest
>> productivity gains in order of importance.
>>
>> 1. Switch between .tml and .java files (Loom does this already). It
>> would be nice if you could open both the .java and cooresponding .tml
>> side by side rather than just switching between them.
>>
>> 2. Autocomplete for tapestry built in components.  So when you type
>> <t: it comes up with a list you can choose from and then completes it
>> with the required parameters listed. (There is a how to for setting
>> this up using the schema and the .jsp editor, but it didn't seem to
>> work for me last time I tried it.)
>>
>> 3. Autocomplete for custom components. I think there is a how to, to
>> create a schema to do this using the .jsp editor as well, but I didn't
>> have any luck with it during the brief time I played with it.
>>
>> 4. Autocomplete of properties from the .java page when editing the
>> .tml file.  When it is setup correctly IDEA does a reasonable job of
>> this.
>>
>> 5. Some type of drag and drop to put properties from the .java file
>> into the .tml file. (Could be a GUI, but wouldn't have to be.)
>>
>> At least those are my thoughts on what would be the most useful features.
>>
>> Mark
>>
>> 2011/1/26 Gavin Lei <ga...@gmail.com>:
>> > Hi guys,
>> >
>> > I have been involved in Tapestry for years, usually build my project in
>> > Eclipse. But I can not find fantastic Eclipse plugin for Taperstry. Now,
>> if
>> > we use Tapestry 5 to build our web project, it is more convinent, but i
>> > think there is a good editor for Taperstry 5, Tapestry will be much more
>> > cool.
>> >
>> > So i want to build a Eclipse based editor for Tapestry 5, and build it as
>> an
>> > Google Summer of Code 2011 project, below is my mainly idea, helping for
>> > your ideas and feedback. If anyone has interest in it, please let me
>> know,
>> > Thank you :-)
>> >
>> > Features:
>> >
>> > 1.Tapestry project feature, such as import tapestry 5 libraries, project
>> > wizards, add default Tapestry package structure and so on.
>> >    In one word, once we create a Tapestry project, it is created with
>> > required package structure and web.xml content.
>> >
>> > 2.One tapestry page includes one Java class file and one HTML based
>> template
>> > file. It seems like Microsoft's asp.net in Visual Studio somewhere.
>> >    We can edit the java class file and template file together. So, this
>> > tool supply a convinent editor for tapestry page. It has design view and
>> > source view.
>> >    I. source view
>> >        we can edit template file source in this view. and this view
>> supply
>> > property tips and keyword highlight functions.
>> >        For example, there are attributes "testA" and "testB" in its
>> > cosspending Java class file. If you want to get the property value, you
>> > should input "${prop:testA}" in template file,this view will     supply
>> auto
>> > complete function for you after you input "${prop:t}",you can select
>> "testA"
>> > or "testB".
>> >
>> >    II.design view
>> >        this view is a more powful HTML editor, we can build it on some
>> open
>> > souce Eclipse HTML editor. Besides,we can set component's property value
>> in
>> > this view, add listener for components.
>> >        For example, if we double click a form's submit button named
>> > "submitButton" in this view, it will add a function
>> > "onSuccessFromSubmitButton" in its cosspending Java class,this function
>> is
>> > used to handler form submit action.
>> >
>> > 3.supply customization feature for Tapestry page editor. For example, we
>> can
>> > setup different color for different Java web component in template file.
>> >
>> >
>> > ---------------------------------
>> > Best Regards
>> > Gavin Lei (雷银)
>> > Email: gavingui2011@gmail.com
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: dev-help@tapestry.apache.org
>>
>>
>
>
> --
> ---------------------------------
> Best Regards
> Gavin Lei (雷银)
> Email: gavingui2011@gmail.com
>

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


Re: I want to build a Tapestry 5 Eclipse plugin editor

Posted by Gavin Lei <ga...@gmail.com>.
Hi Mark,

Thank you for your reply, that is what in my mind :-)

As we know, Tapestry focus on components, each page is made up of many
compoents. This development model like Visual Studio very much, if we
develop C# asp.net application, each page is made up of a .aspx file and a
.cs file, and Visual Studio supply a editor for us to edit these two files
together, we can easily transfer between these two files, even we can not
feel that they are two files. Page property view is also a necessary part of
this editor. This design model help me much when i was developing
asp.netapplication.

Tapestry focus on components too, i think Java open source community should
supply such a convinent development environment like Visual Studio for
Tapestry, this will improve develop feeling, help us much.  So i want to
finish a editor for Tapestry

在 2011年1月27日 上午12:35,Mark <ma...@xeric.net>写道:

> My two cents:
>
> - Project setup isn't a particularly big deal for me since I can do
> this through Maven.  If you do make the plugin create the project,
> make sure it is flexible enough to handle projects that already exist
> and isn't tied to a specific tapestry release.
>
> - Checkout the paid version of IDEA as it offers some nice code
> completion features in the template.
>
> - Loom will let you switch back and forth between the .java and the
> corresponding .tml file.
>
> - If you want to create something graphical, I'd take a look at how
> the WebObjects editor use to work.  You may be able to find a
> screenshot somewhere.  Basically at the bottom of the page, you had a
> list of all the property objects that were available for the page.
> You could click on one and see all of its properties and drill down
> until you found what you were looking for.  Then you could drag that
> property and drop it on the editor where you wanted it to appear. I
> found it to be very convenient even though it wasn't a full WYSIWYG
> environment.
>
> Here are three things that would probably give the biggest
> productivity gains in order of importance.
>
> 1. Switch between .tml and .java files (Loom does this already). It
> would be nice if you could open both the .java and cooresponding .tml
> side by side rather than just switching between them.
>
> 2. Autocomplete for tapestry built in components.  So when you type
> <t: it comes up with a list you can choose from and then completes it
> with the required parameters listed. (There is a how to for setting
> this up using the schema and the .jsp editor, but it didn't seem to
> work for me last time I tried it.)
>
> 3. Autocomplete for custom components. I think there is a how to, to
> create a schema to do this using the .jsp editor as well, but I didn't
> have any luck with it during the brief time I played with it.
>
> 4. Autocomplete of properties from the .java page when editing the
> .tml file.  When it is setup correctly IDEA does a reasonable job of
> this.
>
> 5. Some type of drag and drop to put properties from the .java file
> into the .tml file. (Could be a GUI, but wouldn't have to be.)
>
> At least those are my thoughts on what would be the most useful features.
>
> Mark
>
> 2011/1/26 Gavin Lei <ga...@gmail.com>:
> > Hi guys,
> >
> > I have been involved in Tapestry for years, usually build my project in
> > Eclipse. But I can not find fantastic Eclipse plugin for Taperstry. Now,
> if
> > we use Tapestry 5 to build our web project, it is more convinent, but i
> > think there is a good editor for Taperstry 5, Tapestry will be much more
> > cool.
> >
> > So i want to build a Eclipse based editor for Tapestry 5, and build it as
> an
> > Google Summer of Code 2011 project, below is my mainly idea, helping for
> > your ideas and feedback. If anyone has interest in it, please let me
> know,
> > Thank you :-)
> >
> > Features:
> >
> > 1.Tapestry project feature, such as import tapestry 5 libraries, project
> > wizards, add default Tapestry package structure and so on.
> >    In one word, once we create a Tapestry project, it is created with
> > required package structure and web.xml content.
> >
> > 2.One tapestry page includes one Java class file and one HTML based
> template
> > file. It seems like Microsoft's asp.net in Visual Studio somewhere.
> >    We can edit the java class file and template file together. So, this
> > tool supply a convinent editor for tapestry page. It has design view and
> > source view.
> >    I. source view
> >        we can edit template file source in this view. and this view
> supply
> > property tips and keyword highlight functions.
> >        For example, there are attributes "testA" and "testB" in its
> > cosspending Java class file. If you want to get the property value, you
> > should input "${prop:testA}" in template file,this view will     supply
> auto
> > complete function for you after you input "${prop:t}",you can select
> "testA"
> > or "testB".
> >
> >    II.design view
> >        this view is a more powful HTML editor, we can build it on some
> open
> > souce Eclipse HTML editor. Besides,we can set component's property value
> in
> > this view, add listener for components.
> >        For example, if we double click a form's submit button named
> > "submitButton" in this view, it will add a function
> > "onSuccessFromSubmitButton" in its cosspending Java class,this function
> is
> > used to handler form submit action.
> >
> > 3.supply customization feature for Tapestry page editor. For example, we
> can
> > setup different color for different Java web component in template file.
> >
> >
> > ---------------------------------
> > Best Regards
> > Gavin Lei (雷银)
> > Email: gavingui2011@gmail.com
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>
>


-- 
---------------------------------
Best Regards
Gavin Lei (雷银)
Email: gavingui2011@gmail.com

Re: I want to build a Tapestry 5 Eclipse plugin editor

Posted by Mark <ma...@xeric.net>.
My two cents:

- Project setup isn't a particularly big deal for me since I can do
this through Maven.  If you do make the plugin create the project,
make sure it is flexible enough to handle projects that already exist
and isn't tied to a specific tapestry release.

- Checkout the paid version of IDEA as it offers some nice code
completion features in the template.

- Loom will let you switch back and forth between the .java and the
corresponding .tml file.

- If you want to create something graphical, I'd take a look at how
the WebObjects editor use to work.  You may be able to find a
screenshot somewhere.  Basically at the bottom of the page, you had a
list of all the property objects that were available for the page.
You could click on one and see all of its properties and drill down
until you found what you were looking for.  Then you could drag that
property and drop it on the editor where you wanted it to appear. I
found it to be very convenient even though it wasn't a full WYSIWYG
environment.

Here are three things that would probably give the biggest
productivity gains in order of importance.

1. Switch between .tml and .java files (Loom does this already). It
would be nice if you could open both the .java and cooresponding .tml
side by side rather than just switching between them.

2. Autocomplete for tapestry built in components.  So when you type
<t: it comes up with a list you can choose from and then completes it
with the required parameters listed. (There is a how to for setting
this up using the schema and the .jsp editor, but it didn't seem to
work for me last time I tried it.)

3. Autocomplete for custom components. I think there is a how to, to
create a schema to do this using the .jsp editor as well, but I didn't
have any luck with it during the brief time I played with it.

4. Autocomplete of properties from the .java page when editing the
.tml file.  When it is setup correctly IDEA does a reasonable job of
this.

5. Some type of drag and drop to put properties from the .java file
into the .tml file. (Could be a GUI, but wouldn't have to be.)

At least those are my thoughts on what would be the most useful features.

Mark

2011/1/26 Gavin Lei <ga...@gmail.com>:
> Hi guys,
>
> I have been involved in Tapestry for years, usually build my project in
> Eclipse. But I can not find fantastic Eclipse plugin for Taperstry. Now, if
> we use Tapestry 5 to build our web project, it is more convinent, but i
> think there is a good editor for Taperstry 5, Tapestry will be much more
> cool.
>
> So i want to build a Eclipse based editor for Tapestry 5, and build it as an
> Google Summer of Code 2011 project, below is my mainly idea, helping for
> your ideas and feedback. If anyone has interest in it, please let me know,
> Thank you :-)
>
> Features:
>
> 1.Tapestry project feature, such as import tapestry 5 libraries, project
> wizards, add default Tapestry package structure and so on.
>    In one word, once we create a Tapestry project, it is created with
> required package structure and web.xml content.
>
> 2.One tapestry page includes one Java class file and one HTML based template
> file. It seems like Microsoft's asp.net in Visual Studio somewhere.
>    We can edit the java class file and template file together. So, this
> tool supply a convinent editor for tapestry page. It has design view and
> source view.
>    I. source view
>        we can edit template file source in this view. and this view supply
> property tips and keyword highlight functions.
>        For example, there are attributes "testA" and "testB" in its
> cosspending Java class file. If you want to get the property value, you
> should input "${prop:testA}" in template file,this view will     supply auto
> complete function for you after you input "${prop:t}",you can select "testA"
> or "testB".
>
>    II.design view
>        this view is a more powful HTML editor, we can build it on some open
> souce Eclipse HTML editor. Besides,we can set component's property value in
> this view, add listener for components.
>        For example, if we double click a form's submit button named
> "submitButton" in this view, it will add a function
> "onSuccessFromSubmitButton" in its cosspending Java class,this function is
> used to handler form submit action.
>
> 3.supply customization feature for Tapestry page editor. For example, we can
> setup different color for different Java web component in template file.
>
>
> ---------------------------------
> Best Regards
> Gavin Lei (雷银)
> Email: gavingui2011@gmail.com
>

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