[
https://issues.apache.org/jira/browse/TAP5-1490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gavin Lei updated TAP5-1490:
----------------------------
Description:
Introduction
Apache Tapestry supplies powerful component structure, and it offered a number
of other powerful features that proved to be critical in our work.
The Eclipse Web Tools Platform (WTP) 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.
Tapestry was used widely nowadays, 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, It is becoming more and more
popular today. But we can not find a proper Tapestry visual editor, Eclipse WTP
is popular in Web application development, but it is a shame that Eclipse WTP
does not support Tapestry, so i think it is a good idea to build a Tapestry
visual editor on Eclipse WTP.
This editor should have following mainly functions:
Note GSoC supplies us only 3 months to finish our project, so this project will
focus on Tapestry 5, after that, if we have enough time, will supply other
Tapestry version support
Must have functions
1. Tapertry libraries import wizard
Add necessary Tapestry 5 relative jars into web project, this function is not
special but it is basic and important, just help us to do some boring jars
download job. In the dynamic web application create wizard, if we select
"Import Tapestry libraries", it will add jars into "WEB-INF/lib" directory. In
the future, we can select Tapestry version (4 or 5, for example) here.
2. Tapestry page/component creation wizard
It will supply a wizard helping us to create the .tml file and .java file
together 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. In Tapestry Core section, it includes Tapestry
standard components, Foreach, Insert,Image,Conditional, Form components and the
other standard components.
NOTE Eclipse WTP supplies relative interface for us to change palette components
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 actionlink component, such as:
<t:actionlink t:id="logout">Log out</t:actionlink>
,So when you type
<t:
it comes up with a list you can choose from and then completes it with the
required parameters listed.
Suppose that we define a pagelink component in Java class file:
@Component(parameters = { "page=start" })
private PageLink goToStart;
and we want to use it in .tml file:
<span t:id="goToStart">Log out</span>
So when we type
<span t:id="
it will also come up with a list of components that we can use here, we can
select goToStart component name in the list.
6.Tapestry component's parameters property view
We select a component in canvas design view or source view, the Eclipse
property view will list this component's parameters and we can edit the
parameters here.
7.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.
8. Tapestry's built in Live Class Reloading support
It should be possible to change Java code, template files, properties etc, and
see the results without to restart the web server. In the past there were some
problems with WTP and Live Class Reloading, our project will fix this problem.
Optional features
9. Validation function in Tapestry .tml file source view
Beyond the basic JSP validation already provided with the JSP editor, this
editor supplies semantic validation of the Tapestry standard tag libraries for
both EL and non-EL attribute values.
10. Hyperlink function in Tapestry .tml file source view
Hyperlink to the Java editor from Managed Bean variable, Managed Bean property
and Managed Bean method referenced in the Expression Language(EL) of a
tag-attribute.
I have finished some research job and familiar with Eclipse WTP source code, so
i think it is definitely for us to finish function 1-7 during this summer.
Function 8 and 9 are more complex and not so necessary, so i mark them as
optional features. Once i finished must-have functions development job, i will
start option features job.
Online design demo
You can go here[1] to see project proposal details with picture demos.
Things i have done already:
I have been working with both Eclipse and Tapestry for years, have much Eclipse
plug-in development experience. Have subscribed Eclipse WTP and Tapestry mail
list,discuss technology details in the mail lists. As GSoC suggested it, mail
list is really a good place to discuss project ideas and some other details. I
use the mail lists whenever possible to clarify the doubts by asking questions
from the experts.Feedback that i received from mail lists helps me so much,
thanks for self-giving open source developers and open source spirit.
Time Schedule
* March 28 - April 8: Submitting the project proposal
* April 26 - May 24:Community Bonding Period (April 26 - May 24): Get to
know mentors, read documentation, and prepare development environment.
* May 23 - May 31: Finish Tapertry libraries import wizard function
* Jun 1 - Jun 8: Finish Tapestry page/component creation wizard function
* Jun 9 - Jun 24: Finish Add Tapestry component support for WTP web editor
palette function
* Jun 25 - Jul 2: Finish change-over function between Tapestry page's .tml
file and .java file
* Jul 3 - Jul 12: Add Tapestry built in and custom components autocomplete
function for WTP Web Page Editor's source view
* Jul 13 - Jul 20: Finish Tapestry component's parameters property view
* Jul 21 - Aug 6: Finish Autocomplete of properties from the .java page
when editing the .tml file function
* Aug 7 - Aug 14: Finish Tapestry's built in Live Class Reloading support
functions
* Aug 15 - Aug 25: Develop time for both Optional features 8 and 9
(Validation function in Tapestry .tml file source view & Hyperlink function in
Tapestry .tml file source view). Scrub code, write tests, improve documentation
and submit all my work
Something about me:
My name is Gavin Lei.My major is computer scienece and technology,and i am a
postgraduate student of University of Science and Technology Beijing.I am
familar with Eclipse,Java,ActionScript,Flex,SCXML,XML,XSL and some other open
source projects,such as struts,spring,jstl,dojo and so on and have several
years of Java development experience.I am familiar with many project in Apache
Foundation,Eclipse Foundation as well as Dojo Foundation .
My e-mail is [email protected], and my mobile phone number is
+8615810117210. When i was working in IBM China,my mentor helped me a lot and
know me well, if you are interested, my mentors may give you some impersonal
evaluation about my ability and others. My mentor in IBM China Develop Lab:
Qian Liang/Email:[email protected]
My open source development experience
Built a tool for struts2 to generate XML config file
Develop a Eclipse plugin for Apache SCXML engine which was a visualizing tool
for navigating and editing complex SCXML state description XML.
What i did in my student period
2008.7 - 2010.8 : Work in IBM China Research Laborary,my team focus on telecom
J2EE solution,get lots of XML relative knowledge
2010.9: Won IBM Blue Pathway Excellment team member 2010
2010.8 - 2011.3 : Work in IBM China Development Laborary as a intern
[1] http://visual-tapestry.appspot.com/
was:
Introduction
Apache Tapestry supplies powerful component structure, and it offered a number
of other powerful features that proved to be critical in our work.
The Eclipse Web Tools Platform (WTP) 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.
Tapestry was used widely nowadays, 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, It is becoming more and more
popular today. But we can not find a proper Tapestry visual editor, Eclipse WTP
is popular in Web application development, but it is a shame that Eclipse WTP
does not support Tapestry, so i think it is a good idea to build a Tapestry
visual editor on Eclipse WTP.
This editor should have following mainly functions:
Note GSoC supplies us only 3 months to finish our project, so this project will
focus on Tapestry 5, after that, if we have enough time, will supply other
Tapestry version support
Must have functions
1. Tapertry libraries import wizard
Add necessary Tapestry 5 relative jars into web project, this function is not
special but it is basic and important, just help us to do some boring jars
download job. In the dynamic web application create wizard, if we select
"Import Tapestry libraries", it will add jars into "WEB-INF/lib" directory. In
the future, we can select Tapestry version (4 or 5, for example) here.
2. Tapestry page/component creation wizard
It will supply a wizard helping us to create the .tml file and .java file
together 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. In Tapestry Core section, it includes Tapestry
standard components, Foreach, Insert,Image,Conditional, Form components and the
other standard components.
NOTE Eclipse WTP supplies relative interface for us to change palette components
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 actionlink component, such as:
<t:actionlink t:id="logout">Log out</t:actionlink>
,So when you type
<t:
it comes up with a list you can choose from and then completes it with the
required parameters listed.
Suppose that we define a pagelink component in Java class file:
@Component(parameters = { "page=start" })
private PageLink goToStart;
and we want to use it in .tml file:
<span t:id="goToStart">Log out</span>
So when we type
<span t:id="
it will also come up with a list of components that we can use here, we can
select goToStart component name in the list.
6.Tapestry component's parameters property view
We select a component in canvas design view or source view, the Eclipse
property view will list this component's parameters and we can edit the
parameters here.
7.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.
8. Tapestry's built in Live Class Reloading support
It should be possible to change Java code, template files, properties etc, and
see the results without to restart the web server. In the past there were some
problems with WTP and Live Class Reloading, our project will fix this problem.
Optional features
9. Validation function in Tapestry .tml file source view
Beyond the basic JSP validation already provided with the JSP editor, this
editor supplies semantic validation of the Tapestry standard tag libraries for
both EL and non-EL attribute values.
10. Hyperlink function in Tapestry .tml file source view
Hyperlink to the Java editor from Managed Bean variable, Managed Bean property
and Managed Bean method referenced in the Expression Language(EL) of a
tag-attribute.
I have finished some research job and familiar with Eclipse WTP source code, so
i think it is definitely for us to finish function 1-7 during this summer.
Function 8 and 9 are more complex and not so necessary, so i mark them as
optional features. Once i finished must-have functions development job, i will
start option features job.
Online design demo
You can go here[1] to see project proposal details with picture demos.
Something about me:
My name is Gavin Lei.My major is computer scienece and technology,and i am a
postgraduate student of University of Science and Technology Beijing.I am
familar with Eclipse,Java,ActionScript,Flex,SCXML,XML,XSL and some other open
source projects,such as struts,spring,jstl,dojo and so on and have several
years of Java development experience.I am familiar with many project in Apache
Foundation,Eclipse Foundation as well as Dojo Foundation .
My e-mail is [email protected], and my mobile phone number is
+8615810117210. When i was working in IBM China,my mentor helped me a lot and
know me well, if you are interested, my mentors may give you some impersonal
evaluation about my ability and others. My mentor in IBM China Develop Lab:
Qian Liang/Email:[email protected]
My open source development experience
Built a tool for struts2 to generate XML config file
Develop a Eclipse plugin for Apache SCXML engine which was a visualizing tool
for navigating and editing complex SCXML state description XML.
What i did in my student period
2008.7 - 2010.8 : Work in IBM China Research Laborary,my team focus on telecom
J2EE solution,get lots of XML relative knowledge
2010.9: Won IBM Blue Pathway Excellment team member 2010
2010.8 - 2011.3 : Work in IBM China Development Laborary as a intern
[1] http://visual-tapestry.appspot.com/
> Eclipse WTP based Tapestry visual editor project proposal
> -----------------------------------------------------------
>
> Key: TAP5-1490
> URL: https://issues.apache.org/jira/browse/TAP5-1490
> Project: Tapestry 5
> Issue Type: Task
> Environment: Eclipse in all OS
> Reporter: Gavin Lei
> Assignee: Igor Drobiazko
> Labels: gsoc, gsoc2011, mentor
> Original Estimate: 1680h
> Remaining Estimate: 1680h
>
> Introduction
> Apache Tapestry supplies powerful component structure, and it offered a
> number of other powerful features that proved to be critical in our work.
> The Eclipse Web Tools Platform (WTP) 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.
> Tapestry was used widely nowadays, 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, It is becoming more and more
> popular today. But we can not find a proper Tapestry visual editor, Eclipse
> WTP is popular in Web application development, but it is a shame that Eclipse
> WTP does not support Tapestry, so i think it is a good idea to build a
> Tapestry visual editor on Eclipse WTP.
> This editor should have following mainly functions:
> Note GSoC supplies us only 3 months to finish our project, so this project
> will focus on Tapestry 5, after that, if we have enough time, will supply
> other Tapestry version support
> Must have functions
> 1. Tapertry libraries import wizard
> Add necessary Tapestry 5 relative jars into web project, this function is not
> special but it is basic and important, just help us to do some boring jars
> download job. In the dynamic web application create wizard, if we select
> "Import Tapestry libraries", it will add jars into "WEB-INF/lib" directory.
> In the future, we can select Tapestry version (4 or 5, for example) here.
> 2. Tapestry page/component creation wizard
> It will supply a wizard helping us to create the .tml file and .java file
> together 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. In Tapestry Core section, it
> includes Tapestry standard components, Foreach, Insert,Image,Conditional,
> Form components and the other standard components.
> NOTE Eclipse WTP supplies relative interface for us to change palette
> components
> 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 actionlink component, such as:
> <t:actionlink t:id="logout">Log out</t:actionlink>
> ,So when you type
> <t:
> it comes up with a list you can choose from and then completes it with the
> required parameters listed.
> Suppose that we define a pagelink component in Java class file:
> @Component(parameters = { "page=start" })
> private PageLink goToStart;
> and we want to use it in .tml file:
> <span t:id="goToStart">Log out</span>
> So when we type
> <span t:id="
> it will also come up with a list of components that we can use here, we can
> select goToStart component name in the list.
> 6.Tapestry component's parameters property view
> We select a component in canvas design view or source view, the Eclipse
> property view will list this component's parameters and we can edit the
> parameters here.
> 7.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.
> 8. Tapestry's built in Live Class Reloading support
> It should be possible to change Java code, template files, properties etc,
> and see the results without to restart the web server. In the past there were
> some problems with WTP and Live Class Reloading, our project will fix this
> problem.
> Optional features
> 9. Validation function in Tapestry .tml file source view
> Beyond the basic JSP validation already provided with the JSP editor, this
> editor supplies semantic validation of the Tapestry standard tag libraries
> for both EL and non-EL attribute values.
> 10. Hyperlink function in Tapestry .tml file source view
> Hyperlink to the Java editor from Managed Bean variable, Managed Bean
> property and Managed Bean method referenced in the Expression Language(EL) of
> a tag-attribute.
> I have finished some research job and familiar with Eclipse WTP source code,
> so i think it is definitely for us to finish function 1-7 during this summer.
> Function 8 and 9 are more complex and not so necessary, so i mark them as
> optional features. Once i finished must-have functions development job, i
> will start option features job.
> Online design demo
> You can go here[1] to see project proposal details with picture demos.
> Things i have done already:
> I have been working with both Eclipse and Tapestry for years, have much
> Eclipse plug-in development experience. Have subscribed Eclipse WTP and
> Tapestry mail list,discuss technology details in the mail lists. As GSoC
> suggested it, mail list is really a good place to discuss project ideas and
> some other details. I use the mail lists whenever possible to clarify the
> doubts by asking questions from the experts.Feedback that i received from
> mail lists helps me so much, thanks for self-giving open source developers
> and open source spirit.
> Time Schedule
> * March 28 - April 8: Submitting the project proposal
> * April 26 - May 24:Community Bonding Period (April 26 - May 24): Get to
> know mentors, read documentation, and prepare development environment.
> * May 23 - May 31: Finish Tapertry libraries import wizard function
> * Jun 1 - Jun 8: Finish Tapestry page/component creation wizard function
> * Jun 9 - Jun 24: Finish Add Tapestry component support for WTP web
> editor palette function
> * Jun 25 - Jul 2: Finish change-over function between Tapestry page's
> .tml file and .java file
> * Jul 3 - Jul 12: Add Tapestry built in and custom components
> autocomplete function for WTP Web Page Editor's source view
> * Jul 13 - Jul 20: Finish Tapestry component's parameters property view
> * Jul 21 - Aug 6: Finish Autocomplete of properties from the .java page
> when editing the .tml file function
> * Aug 7 - Aug 14: Finish Tapestry's built in Live Class Reloading support
> functions
> * Aug 15 - Aug 25: Develop time for both Optional features 8 and 9
> (Validation function in Tapestry .tml file source view & Hyperlink function
> in Tapestry .tml file source view). Scrub code, write tests, improve
> documentation and submit all my work
> Something about me:
> My name is Gavin Lei.My major is computer scienece and technology,and i am a
> postgraduate student of University of Science and Technology Beijing.I am
> familar with Eclipse,Java,ActionScript,Flex,SCXML,XML,XSL and some other open
> source projects,such as struts,spring,jstl,dojo and so on and have several
> years of Java development experience.I am familiar with many project in
> Apache Foundation,Eclipse Foundation as well as Dojo Foundation .
> My e-mail is [email protected], and my mobile phone number is
> +8615810117210. When i was working in IBM China,my mentor helped me a lot and
> know me well, if you are interested, my mentors may give you some impersonal
> evaluation about my ability and others. My mentor in IBM China Develop Lab:
> Qian Liang/Email:[email protected]
> My open source development experience
> Built a tool for struts2 to generate XML config file
> Develop a Eclipse plugin for Apache SCXML engine which was a visualizing tool
> for navigating and editing complex SCXML state description XML.
> What i did in my student period
> 2008.7 - 2010.8 : Work in IBM China Research Laborary,my team focus on
> telecom J2EE solution,get lots of XML relative knowledge
> 2010.9: Won IBM Blue Pathway Excellment team member 2010
> 2010.8 - 2011.3 : Work in IBM China Development Laborary as a intern
> [1] http://visual-tapestry.appspot.com/
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira