You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "dragan.sahpaskix@gmail.com" <dr...@gmail.com> on 2011/03/23 23:15:02 UTC

GSOC 2011 proposal

 Hi,
I want to be a T5 GSOC student because I want to contribute to the T5
community and I think that the GSOC programme can provide me with mentorship
(from a T5 commiter or high skilled developer) that will get me familiar
with the internals of the T5 web framework and IOC container.

I know that the T5 devs are really busy, but I think it wont be much of a
burden for the mentor to have me as a student because I have some background
with t5, and I’m available on IM and email 24/7 (no fullltime obligations -
just studies).

I'm a first year masters student from Macedonia and I have about 2.5 years
experience with t5. I'm pretty familiar with Tapestry IOC, I've done AOP and
meta-programming in t5 and I know jQuery (for some custom components).

Here are some of my thoughts about potential GSOC 2011 tasks. Please give me
some guidlines to discuss these or new ideas that would benefit the T5
community the most in order to get my proposal good and ready ASAP.

GSOC 2011 - Applicant Dragan Sahpaski
Tapestry ideas/proposals:

   1. Grid component enhacements:
      1. Sorting: Support url query parameters for sort keys (property ids
      in the BeanModel). Example without zones: If you have a List<Employe>
      and sort by employee.department you can get a URL like:
      /employeeslist?sort=department&order=asc.
      Example with zones: /employeeslist#sort=department&order=asc.
      The SPI behaviour can be generalized for zones but thats a different
      story all together.
      2. Pagination: better pager. Also page-number can go into the url.
      3. Better HibernateDataSource for the grid
      4. Changing column order and visibility and saving this in a db.
       2. Multi-upload component:
      1. based on http://valums.com/files/2010/file-uploader/demo.htm
      https://github.com/valums/file-uploader


   1. Persistence strategy for persisting @Persist-ed fields in the DB.
   Exporting and changing saved values between users. Example: This is usefull
   when you are building a personalized app and the user changes UI state that
   gets saved in the DB and the changes he did are there the next time he logs
   in.


   1. Asynchronous DB operations. This would be a use case where the DB
   operation is not causing changes visible to the user so the request does not
   need to wait for it. Example: Logging requests, the user is not aware of
   this and doues not have to wait the logged request to get commited.


   1. Asynchronous Ajax updates (like gmail). I have no idea how to do this
   ATM but its a very compelling UI feature.


   1. Right click menu: Comprehensive configuration options. Use it as a
   mixin, component etc. Have it configured by page, component etc.


   1. Better transaction support with Hibernate.
   2. Integrate Tapestry with some NoSQL database. I have small experience
   with CouchDB and MongoDB.


Cheers,
Dragan Sahpaski

Re: GSOC 2011 proposal

Posted by "dragan.sahpaskix@gmail.com" <dr...@gmail.com>.
Hi,
OK, You have my answers below and let me just write here what I think are
good ideas of the ones mentioned previously, based on the discussion. I''m
the ideas on the users mailing list also so they could give some suggestions
on new custom components they are interested in.

Here is the new list:
1. Right click menu (find existing js implementation and integrate with it?
or make something more generic that can be used with different js
implementations of a right click menu?)

2. Grid enhacements: 1. better pager, 2. sorting params go in URL, 3. Better
HibernateDataSource (more generic). 4.Changing column order and visibility
and saving this in a db.

3.  Integrate Tapestry with some NoSQL database like Couch DB but possibly
not tie ourselves with one driver (Java adapter).

4. Enhance the hibernate support with some extra annotations providing
better control over the type of transactions and open/close of
a transaction in one session (session is opened/closed per request as i
understand).

5. *NEW: *What about making a tab component (like in Jira) that works with
the back button and makes an ajax call when pressing back). Also while on
the topic, can we make ajax updates (zone updates) to add parameter in the
URL so that the back button also reverts the action or so? I know its pretty
complex, but would a simple scenario be useful for the majority of users?

6. *NEW: *Maybe making a notification bubble like in gmail when it says
loading.. or sending etc.and also providing the "Are you sure you want to
navigate away from this page" the dialog when closing a browser tab/window
when you have some process in the background (like post or a zone update).

7.  I'm thinking more about new components and what would the users
be interested in the most so please step in with your suggestions. I'm
posting a new post on the users list too collect some suggestions about new
custom components.

On Thu, Mar 24, 2011 at 10:27 AM, Ulrich Stärk <ul...@spielviel.de> wrote:

> Hey Dragan,
>
> I really like your initiative. I'd be willing to mentor a student this
> year, so go ahead and discuss
> your ideas. You'll have to understand though that it's not the mentor's
> task to guide you through
> technical issues you encounter or give you lessons on the product's
> internals. I'll give you
> feedback on your ideas, provide you with pointers to documentation and code
> should you need it and
> help you integrate with the community. But your main point of contact for
> everything should be the
> community as a whole, that is the users and developer mailing lists.
>
> That being said, you'll find my comments to your ideas inline.
>
> You might also want to look at
> https://issues.apache.org/jira/browse/TAP5-1474 as well as at some of
> the wishlist items for additional ideas.
>
> Uli
>
> On 24.03.2011 09:32, dragan.sahpaskix@gmail.com wrote:
> > Hey, that's great thanks.
> >
> > I would really appreciate if everyone reading this list could just write
> > their ideas here for what the project should focus on.
> >
> > I have no problem with working on new components (like GSOC 2010) or some
> > other functionalities. IMO I think that this project should focus on
> > something that will be useful for the vast majority of users. Please feel
> > free to discuss the ideas I wrote in the prev email, or I could elaborate
> > them in more detail if needed.
> >
> > Thanks,
> > Dragan Sahpaski
> >
> >
> >
> > On Thu, Mar 24, 2011 at 3:47 AM, Kalle Korhonen
> > <ka...@gmail.com>wrote:
> >
> >> Thanks for volunteering Dragan. I think it's too good of a opportunity
> >> for T5 to pass up. I think there are many more qualified T5 committers
> >> to serve as mentors (hoping that Andreas would step up :) but if all
> >> the other committers are too busy, I'll do it. I'm way busy at the
> >> moment myself but I'll make time to make a strong proposal for
> >> whatever topic you and us decide on.
> >>
> >> Kalle
> >>
> >>
> >> On Wed, Mar 23, 2011 at 3:15 PM, dragan.sahpaskix@gmail.com
> >> <dr...@gmail.com> wrote:
> >>>  Hi,
> >>> I want to be a T5 GSOC student because I want to contribute to the T5
> >>> community and I think that the GSOC programme can provide me with
> >> mentorship
> >>> (from a T5 commiter or high skilled developer) that will get me
> familiar
> >>> with the internals of the T5 web framework and IOC container.
> >>>
> >>> I know that the T5 devs are really busy, but I think it wont be much of
> a
> >>> burden for the mentor to have me as a student because I have some
> >> background
> >>> with t5, and I’m available on IM and email 24/7 (no fullltime
> obligations
> >> -
> >>> just studies).
> >>>
> >>> I'm a first year masters student from Macedonia and I have about 2.5
> >> years
> >>> experience with t5. I'm pretty familiar with Tapestry IOC, I've done
> AOP
> >> and
> >>> meta-programming in t5 and I know jQuery (for some custom components).
> >>>
> >>> Here are some of my thoughts about potential GSOC 2011 tasks. Please
> give
> >> me
> >>> some guidlines to discuss these or new ideas that would benefit the T5
> >>> community the most in order to get my proposal good and ready ASAP.
> >>>
> >>> GSOC 2011 - Applicant Dragan Sahpaski
> >>> Tapestry ideas/proposals:
> >>>
> >>>   1. Grid component enhacements:
> >>>      1. Sorting: Support url query parameters for sort keys (property
> ids
> >>>      in the BeanModel). Example without zones: If you have a
> >> List<Employe>
> >>>      and sort by employee.department you can get a URL like:
> >>>      /employeeslist?sort=department&order=asc.
> >>>      Example with zones: /employeeslist#sort=department&order=asc.
> >>>      The SPI behaviour can be generalized for zones but thats a
> different
> >>>      story all together.
> >>>      2. Pagination: better pager. Also page-number can go into the url.
> >>>      3. Better HibernateDataSource for the grid
> >>>      4. Changing column order and visibility and saving this in a db.
>
> Some thought has to be put into that as to what happens when there are
> multiple Grids on the same
> page. Generally I like the idea but it's not my favorite.
>
> >>>       2. Multi-upload component:
> >>>      1. based on http://valums.com/files/2010/file-uploader/demo.htm
> >>>      https://github.com/valums/file-uploader
>
> Sounds like a good addition. It would be nice if
> https://issues.apache.org/jira/browse/TAP5-638
> could be fixed at the same time. You'll have to pay attention to license
> issues though. The
> file-uploader you mentioned is licensed under GPL and LGPL. Both are
> incompatible with the Apache
> License and that component thus can't be integrated into Tapestry core.
>
> >>>
> >>>
> >>>   1. Persistence strategy for persisting @Persist-ed fields in the DB.
> >>>   Exporting and changing saved values between users. Example: This is
> >> usefull
> >>>   when you are building a personalized app and the user changes UI
> state
> >> that
> >>>   gets saved in the DB and the changes he did are there the next time
> he
> >> logs
> >>>   in.
>
> Sounds interesting.
>
> >>>
> >>>
> >>>   1. Asynchronous DB operations. This would be a use case where the DB
> >>>   operation is not causing changes visible to the user so the request
> >> does not
> >>>   need to wait for it. Example: Logging requests, the user is not aware
> >> of
> >>>   this and doues not have to wait the logged request to get commited.
>
> You can already achieve that with what Tapestry provides today. What's the
> additional benefit?
>

Well yes but I thought that providing an annotation like @Asynch that you
can put on methods will be useful for not dealing with threads by hand and
not using some other framework for background work if you need something
basic to be done asynchronously. I know you can not make this generic
enough, but I thought the use case with the background DB operation was
motivating enough to do it.


> >>>
> >>>
> >>>   1. Asynchronous Ajax updates (like gmail). I have no idea how to do
> >> this
> >>>   ATM but its a very compelling UI feature.
>
> What's wrong with Zones?
>

I'm really sorry you're right.

>
> >>>
> >>>
> >>>   1. Right click menu: Comprehensive configuration options. Use it as a
> >>>   mixin, component etc. Have it configured by page, component etc.
>
> Nice. I like that one.
>

I chose this one as my no 1 candidate for now.


>
> >>>
> >>>
> >>>   1. Better transaction support with Hibernate.
>
> What's wrong with the current solution? What would you change and why?
>

I wouldn't change anything from what we have now but, but what if you want
to have a read only session fro some methods and not for others (in the same
request) or have a spare transaction for every method that is not annotated
with @CommitAfter. I know this can also be done and would be something like
a utility but we are brainstorming now right and I'm getting feedback which
is really good for me.


>
> >>>   2. Integrate Tapestry with some NoSQL database. I have small
> experience
> >>>   with CouchDB and MongoDB.
>
> This would be a nice addition. How would such an integration look like?
> Also, I'd like to see a
> generic integration that can be connected to differnt NoSQL databases with
> the right driver and a
> driver implementation for one of them.
>

I gave some thought today also, and IDK what the integration would look
like, because all these NoSQL sollutions are REST based or simmilar and have
multiple plugins for Java. Maybe we should integrate with some existing
driver for Java for ex like extorp <http://code.google.com/p/ektorp/> or
jrelax <https://github.com/isterin/jrelax/wiki>, but I'm not too sure how
many users will benefit from it.


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

Re: GSOC 2011 proposal

Posted by Kalle Korhonen <ka...@gmail.com>.
On Thu, Mar 24, 2011 at 2:27 AM, Ulrich Stärk <ul...@spielviel.de> wrote:
> I really like your initiative. I'd be willing to mentor a student this year, so go ahead and discuss
> your ideas. You'll have to understand though that it's not the mentor's task to guide you through

Yeah, I also found the gsoc issue you had opened. Looks like we have a
mentor, I'll step in if needed.

> On 24.03.2011 09:32, dragan.sahpaskix@gmail.com wrote:
>> On Thu, Mar 24, 2011 at 3:47 AM, Kalle Korhonen
>>> On Wed, Mar 23, 2011 at 3:15 PM, dragan.sahpaskix@gmail.com
>>> <dr...@gmail.com> wrote:
>>>>       2. Multi-upload component:
>>>>      1. based on http://valums.com/files/2010/file-uploader/demo.htm
>>>>      https://github.com/valums/file-uploader
> Sounds like a good addition. It would be nice if https://issues.apache.org/jira/browse/TAP5-638
> could be fixed at the same time. You'll have to pay attention to license issues though. The
> file-uploader you mentioned is licensed under GPL and LGPL. Both are incompatible with the Apache
> License and that component thus can't be integrated into Tapestry core.

I think that Chris Riedel already announced earlier on the list he's
made this exact uploader (which is fabulous btw) into a Tapestry
component as part of tapestry-jquery. Github is also the right home
for it given the license, so Dragan, you can check that off of your
list.

Kalle

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


Re: GSOC 2011 proposal

Posted by Ulrich Stärk <ul...@spielviel.de>.
Hey Dragan,

I really like your initiative. I'd be willing to mentor a student this year, so go ahead and discuss
your ideas. You'll have to understand though that it's not the mentor's task to guide you through
technical issues you encounter or give you lessons on the product's internals. I'll give you
feedback on your ideas, provide you with pointers to documentation and code should you need it and
help you integrate with the community. But your main point of contact for everything should be the
community as a whole, that is the users and developer mailing lists.

That being said, you'll find my comments to your ideas inline.

You might also want to look at https://issues.apache.org/jira/browse/TAP5-1474 as well as at some of
the wishlist items for additional ideas.

Uli

On 24.03.2011 09:32, dragan.sahpaskix@gmail.com wrote:
> Hey, that's great thanks.
> 
> I would really appreciate if everyone reading this list could just write
> their ideas here for what the project should focus on.
> 
> I have no problem with working on new components (like GSOC 2010) or some
> other functionalities. IMO I think that this project should focus on
> something that will be useful for the vast majority of users. Please feel
> free to discuss the ideas I wrote in the prev email, or I could elaborate
> them in more detail if needed.
> 
> Thanks,
> Dragan Sahpaski
> 
> 
> 
> On Thu, Mar 24, 2011 at 3:47 AM, Kalle Korhonen
> <ka...@gmail.com>wrote:
> 
>> Thanks for volunteering Dragan. I think it's too good of a opportunity
>> for T5 to pass up. I think there are many more qualified T5 committers
>> to serve as mentors (hoping that Andreas would step up :) but if all
>> the other committers are too busy, I'll do it. I'm way busy at the
>> moment myself but I'll make time to make a strong proposal for
>> whatever topic you and us decide on.
>>
>> Kalle
>>
>>
>> On Wed, Mar 23, 2011 at 3:15 PM, dragan.sahpaskix@gmail.com
>> <dr...@gmail.com> wrote:
>>>  Hi,
>>> I want to be a T5 GSOC student because I want to contribute to the T5
>>> community and I think that the GSOC programme can provide me with
>> mentorship
>>> (from a T5 commiter or high skilled developer) that will get me familiar
>>> with the internals of the T5 web framework and IOC container.
>>>
>>> I know that the T5 devs are really busy, but I think it wont be much of a
>>> burden for the mentor to have me as a student because I have some
>> background
>>> with t5, and I’m available on IM and email 24/7 (no fullltime obligations
>> -
>>> just studies).
>>>
>>> I'm a first year masters student from Macedonia and I have about 2.5
>> years
>>> experience with t5. I'm pretty familiar with Tapestry IOC, I've done AOP
>> and
>>> meta-programming in t5 and I know jQuery (for some custom components).
>>>
>>> Here are some of my thoughts about potential GSOC 2011 tasks. Please give
>> me
>>> some guidlines to discuss these or new ideas that would benefit the T5
>>> community the most in order to get my proposal good and ready ASAP.
>>>
>>> GSOC 2011 - Applicant Dragan Sahpaski
>>> Tapestry ideas/proposals:
>>>
>>>   1. Grid component enhacements:
>>>      1. Sorting: Support url query parameters for sort keys (property ids
>>>      in the BeanModel). Example without zones: If you have a
>> List<Employe>
>>>      and sort by employee.department you can get a URL like:
>>>      /employeeslist?sort=department&order=asc.
>>>      Example with zones: /employeeslist#sort=department&order=asc.
>>>      The SPI behaviour can be generalized for zones but thats a different
>>>      story all together.
>>>      2. Pagination: better pager. Also page-number can go into the url.
>>>      3. Better HibernateDataSource for the grid
>>>      4. Changing column order and visibility and saving this in a db.

Some thought has to be put into that as to what happens when there are multiple Grids on the same
page. Generally I like the idea but it's not my favorite.

>>>       2. Multi-upload component:
>>>      1. based on http://valums.com/files/2010/file-uploader/demo.htm
>>>      https://github.com/valums/file-uploader

Sounds like a good addition. It would be nice if https://issues.apache.org/jira/browse/TAP5-638
could be fixed at the same time. You'll have to pay attention to license issues though. The
file-uploader you mentioned is licensed under GPL and LGPL. Both are incompatible with the Apache
License and that component thus can't be integrated into Tapestry core.

>>>
>>>
>>>   1. Persistence strategy for persisting @Persist-ed fields in the DB.
>>>   Exporting and changing saved values between users. Example: This is
>> usefull
>>>   when you are building a personalized app and the user changes UI state
>> that
>>>   gets saved in the DB and the changes he did are there the next time he
>> logs
>>>   in.

Sounds interesting.

>>>
>>>
>>>   1. Asynchronous DB operations. This would be a use case where the DB
>>>   operation is not causing changes visible to the user so the request
>> does not
>>>   need to wait for it. Example: Logging requests, the user is not aware
>> of
>>>   this and doues not have to wait the logged request to get commited.

You can already achieve that with what Tapestry provides today. What's the additional benefit?

>>>
>>>
>>>   1. Asynchronous Ajax updates (like gmail). I have no idea how to do
>> this
>>>   ATM but its a very compelling UI feature.

What's wrong with Zones?

>>>
>>>
>>>   1. Right click menu: Comprehensive configuration options. Use it as a
>>>   mixin, component etc. Have it configured by page, component etc.

Nice. I like that one.

>>>
>>>
>>>   1. Better transaction support with Hibernate.

What's wrong with the current solution? What would you change and why?

>>>   2. Integrate Tapestry with some NoSQL database. I have small experience
>>>   with CouchDB and MongoDB.

This would be a nice addition. How would such an integration look like? Also, I'd like to see a
generic integration that can be connected to differnt NoSQL databases with the right driver and a
driver implementation for one of them.

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


Re: GSOC 2011 proposal

Posted by "dragan.sahpaskix@gmail.com" <dr...@gmail.com>.
Hi,
Thanks. I'm writing the proposal today so I'll have the first version of it
in a few hours.

BTW I asked the GSOC people about writing two proposals and they allowed it.
I'm going to write at least 2 proposals so that later on while evaluating
the proposals you can pick maximum one.

Cheers,
Dragan Sahpaski



On Tue, Mar 29, 2011 at 10:50 AM, Ulrich Stärk <ul...@spielviel.de> wrote:

> Dragan,
>
> you need to decide now on what you want to do and write a proposal. I
> suggest you do that on
> http://wiki.apache.org/tapestry/. Please use the template from [1].
>
> Keep in mind that the task should be big enough to be implemented in 3
> months full-time and small
> enough to fit into the 3 months. The application period started yesterday
> and will end in a week or so.
>
> Uli
>
> [1] http://www.google-melange.com/gsoc/org/google/gsoc2011/asf
>
> On 25.03.2011 19:16, Kalle Korhonen wrote:
> > On Fri, Mar 25, 2011 at 3:35 AM, dragan.sahpaskix@gmail.com
> > <dr...@gmail.com> wrote:
> >> On Thu, Mar 24, 2011 at 9:28 PM, Kalle Korhonen <
> kalle.o.korhonen@gmail.com>
> >> wrote:
> >>> On Thu, Mar 24, 2011 at 1:32 AM, dragan.sahpaskix@gmail.com
> >>> <dr...@gmail.com> wrote:
> >> About  conversations with local storage: I'm very interested in doing
> this,
> >> but I have a question. I have went over the source code of
> >> tapestry-conversations, and I'm asking: if I decide to do it, will it be
> >> better to be a part of tapestry-conversations or build
> >> a separate conversations module?
> >> Also I'm interested in some ideas about using the local storage for
> other
> >> purposes as well.
> >
> > Yes, local storage can be used for a lot of interesting purposes.
> > There's no way to know for sure before prototyping it first what the
> > best approach is. If you decide on this idea, I think you should
> > definitely draw as much insipiration and code from
> > tapestry-conversations as possible but not worry about breaking any
> > interfaces. I have no interest in keeping tapestry-conversations as a
> > Tynamo module - if the community wants, we could fairly easily  (me
> > being a committer in both and Tynamo using Apache license) make it
> > into a tapestry core or apache extras module. It might need a
> > different @Persist identifier though, especially given that you cannot
> > count on local storage to be automatically available. But as said,
> > difficult to know for sure what it's going to turn into before writing
> > the code first. HTML5 features definitely have some sex appeal, which
> > is always good marketing.
> >
> >> About websockets: I think it would be very good to integrate it with
> zones,
> >> and make it trivial to push data from the server (trigger zone updates).
> I
> >> also read this great article from Robin Komiwes (from the wooky
> project),
> >> about using WebSockets with T5, NodeJS and Redis. The important thing
> here
> >> was using NodeJS as a server fro the WebSockets communication because of
> >> scalability, performance and locking issues of java web servers. I'm not
> >> sure what exactly the performance issues will be here, but I am
> >> interested in trying it out. Also about the implementation with T5 I
> don't
> >> know the WebSockets protocol  well and I like to ask is tapestry's page
> >> render using singletones now an obstacle for this or no?
> >
> > Yes, I'm thinking something along those lines as well and certainly
> > I've also read the same interesting post from Robin. I think it's also
> > a very interesting, strong and well-enough defined idea to make a GSoC
> > project out of. Just to address the question, I don't think the server
> > side of the websocket would live on the page, but perhaps there'd be a
> > WebSocketService that would manage the sockets client have opened -
> > that would seem more in tune with Tapestry, don't you think?
> >
> > Kalle
> >
> >>
> >>>
> >>> Kalle
> >>
> >> Cheers ,
> >> Dragan Sahpaski
> >>>
> >>>> On Thu, Mar 24, 2011 at 3:47 AM, Kalle Korhonen
> >>>> <ka...@gmail.com>
> >>>> wrote:
> >>>>>
> >>>>> Thanks for volunteering Dragan. I think it's too good of a
> opportunity
> >>>>> for T5 to pass up. I think there are many more qualified T5
> committers
> >>>>> to serve as mentors (hoping that Andreas would step up :) but if all
> >>>>> the other committers are too busy, I'll do it. I'm way busy at the
> >>>>> moment myself but I'll make time to make a strong proposal for
> >>>>> whatever topic you and us decide on.
> >>>>>
> >>>>> Kalle
> >>>>>
> >>>>>
> >>>>> On Wed, Mar 23, 2011 at 3:15 PM, dragan.sahpaskix@gmail.com
> >>>>> <dr...@gmail.com> wrote:
> >>>>>>  Hi,
> >>>>>> I want to be a T5 GSOC student because I want to contribute to the
> T5
> >>>>>> community and I think that the GSOC programme can provide me with
> >>>>>> mentorship
> >>>>>> (from a T5 commiter or high skilled developer) that will get me
> >>>>>> familiar
> >>>>>> with the internals of the T5 web framework and IOC container.
> >>>>>>
> >>>>>> I know that the T5 devs are really busy, but I think it wont be much
> >>>>>> of
> >>>>>> a
> >>>>>> burden for the mentor to have me as a student because I have some
> >>>>>> background
> >>>>>> with t5, and I’m available on IM and email 24/7 (no fullltime
> >>>>>> obligations -
> >>>>>> just studies).
> >>>>>>
> >>>>>> I'm a first year masters student from Macedonia and I have about 2.5
> >>>>>> years
> >>>>>> experience with t5. I'm pretty familiar with Tapestry IOC, I've done
> >>>>>> AOP
> >>>>>> and
> >>>>>> meta-programming in t5 and I know jQuery (for some custom
> >>>>>> components).
> >>>>>>
> >>>>>> Here are some of my thoughts about potential GSOC 2011 tasks. Please
> >>>>>> give me
> >>>>>> some guidlines to discuss these or new ideas that would benefit the
> >>>>>> T5
> >>>>>> community the most in order to get my proposal good and ready ASAP.
> >>>>>>
> >>>>>> GSOC 2011 - Applicant Dragan Sahpaski
> >>>>>> Tapestry ideas/proposals:
> >>>>>>
> >>>>>>   1. Grid component enhacements:
> >>>>>>      1. Sorting: Support url query parameters for sort keys
> (property
> >>>>>> ids
> >>>>>>      in the BeanModel). Example without zones: If you have a
> >>>>>> List<Employe>
> >>>>>>      and sort by employee.department you can get a URL like:
> >>>>>>      /employeeslist?sort=department&order=asc.
> >>>>>>      Example with zones: /employeeslist#sort=department&order=asc.
> >>>>>>      The SPI behaviour can be generalized for zones but thats a
> >>>>>> different
> >>>>>>      story all together.
> >>>>>>      2. Pagination: better pager. Also page-number can go into the
> >>>>>> url.
> >>>>>>      3. Better HibernateDataSource for the grid
> >>>>>>      4. Changing column order and visibility and saving this in a
> db.
> >>>>>>       2. Multi-upload component:
> >>>>>>      1. based on
> http://valums.com/files/2010/file-uploader/demo.htm
> >>>>>>      https://github.com/valums/file-uploader
> >>>>>>
> >>>>>>
> >>>>>>   1. Persistence strategy for persisting @Persist-ed fields in the
> >>>>>> DB.
> >>>>>>   Exporting and changing saved values between users. Example: This
> is
> >>>>>> usefull
> >>>>>>   when you are building a personalized app and the user changes UI
> >>>>>> state
> >>>>>> that
> >>>>>>   gets saved in the DB and the changes he did are there the next
> time
> >>>>>> he
> >>>>>> logs
> >>>>>>   in.
> >>>>>>
> >>>>>>
> >>>>>>   1. Asynchronous DB operations. This would be a use case where the
> >>>>>> DB
> >>>>>>   operation is not causing changes visible to the user so the
> request
> >>>>>> does not
> >>>>>>   need to wait for it. Example: Logging requests, the user is not
> >>>>>> aware
> >>>>>> of
> >>>>>>   this and doues not have to wait the logged request to get
> commited.
> >>>>>>
> >>>>>>
> >>>>>>   1. Asynchronous Ajax updates (like gmail). I have no idea how to
> do
> >>>>>> this
> >>>>>>   ATM but its a very compelling UI feature.
> >>>>>>
> >>>>>>
> >>>>>>   1. Right click menu: Comprehensive configuration options. Use it
> as
> >>>>>> a
> >>>>>>   mixin, component etc. Have it configured by page, component etc.
> >>>>>>
> >>>>>>
> >>>>>>   1. Better transaction support with Hibernate.
> >>>>>>   2. Integrate Tapestry with some NoSQL database. I have small
> >>>>>> experience
> >>>>>>   with CouchDB and MongoDB.
> >>>>>>
> >>>>>>
> >>>>>> Cheers,
> >>>>>> Dragan Sahpaski
> >>>>>>
> >>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>> 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
> >>>
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > 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: GSOC 2011 proposal

Posted by Ulrich Stärk <ul...@spielviel.de>.
Dragan,

you need to decide now on what you want to do and write a proposal. I suggest you do that on
http://wiki.apache.org/tapestry/. Please use the template from [1].

Keep in mind that the task should be big enough to be implemented in 3 months full-time and small
enough to fit into the 3 months. The application period started yesterday and will end in a week or so.

Uli

[1] http://www.google-melange.com/gsoc/org/google/gsoc2011/asf

On 25.03.2011 19:16, Kalle Korhonen wrote:
> On Fri, Mar 25, 2011 at 3:35 AM, dragan.sahpaskix@gmail.com
> <dr...@gmail.com> wrote:
>> On Thu, Mar 24, 2011 at 9:28 PM, Kalle Korhonen <ka...@gmail.com>
>> wrote:
>>> On Thu, Mar 24, 2011 at 1:32 AM, dragan.sahpaskix@gmail.com
>>> <dr...@gmail.com> wrote:
>> About  conversations with local storage: I'm very interested in doing this,
>> but I have a question. I have went over the source code of
>> tapestry-conversations, and I'm asking: if I decide to do it, will it be
>> better to be a part of tapestry-conversations or build
>> a separate conversations module?
>> Also I'm interested in some ideas about using the local storage for other
>> purposes as well.
> 
> Yes, local storage can be used for a lot of interesting purposes.
> There's no way to know for sure before prototyping it first what the
> best approach is. If you decide on this idea, I think you should
> definitely draw as much insipiration and code from
> tapestry-conversations as possible but not worry about breaking any
> interfaces. I have no interest in keeping tapestry-conversations as a
> Tynamo module - if the community wants, we could fairly easily  (me
> being a committer in both and Tynamo using Apache license) make it
> into a tapestry core or apache extras module. It might need a
> different @Persist identifier though, especially given that you cannot
> count on local storage to be automatically available. But as said,
> difficult to know for sure what it's going to turn into before writing
> the code first. HTML5 features definitely have some sex appeal, which
> is always good marketing.
> 
>> About websockets: I think it would be very good to integrate it with zones,
>> and make it trivial to push data from the server (trigger zone updates). I
>> also read this great article from Robin Komiwes (from the wooky project),
>> about using WebSockets with T5, NodeJS and Redis. The important thing here
>> was using NodeJS as a server fro the WebSockets communication because of
>> scalability, performance and locking issues of java web servers. I'm not
>> sure what exactly the performance issues will be here, but I am
>> interested in trying it out. Also about the implementation with T5 I don't
>> know the WebSockets protocol  well and I like to ask is tapestry's page
>> render using singletones now an obstacle for this or no?
> 
> Yes, I'm thinking something along those lines as well and certainly
> I've also read the same interesting post from Robin. I think it's also
> a very interesting, strong and well-enough defined idea to make a GSoC
> project out of. Just to address the question, I don't think the server
> side of the websocket would live on the page, but perhaps there'd be a
> WebSocketService that would manage the sockets client have opened -
> that would seem more in tune with Tapestry, don't you think?
> 
> Kalle
> 
>>
>>>
>>> Kalle
>>
>> Cheers ,
>> Dragan Sahpaski
>>>
>>>> On Thu, Mar 24, 2011 at 3:47 AM, Kalle Korhonen
>>>> <ka...@gmail.com>
>>>> wrote:
>>>>>
>>>>> Thanks for volunteering Dragan. I think it's too good of a opportunity
>>>>> for T5 to pass up. I think there are many more qualified T5 committers
>>>>> to serve as mentors (hoping that Andreas would step up :) but if all
>>>>> the other committers are too busy, I'll do it. I'm way busy at the
>>>>> moment myself but I'll make time to make a strong proposal for
>>>>> whatever topic you and us decide on.
>>>>>
>>>>> Kalle
>>>>>
>>>>>
>>>>> On Wed, Mar 23, 2011 at 3:15 PM, dragan.sahpaskix@gmail.com
>>>>> <dr...@gmail.com> wrote:
>>>>>>  Hi,
>>>>>> I want to be a T5 GSOC student because I want to contribute to the T5
>>>>>> community and I think that the GSOC programme can provide me with
>>>>>> mentorship
>>>>>> (from a T5 commiter or high skilled developer) that will get me
>>>>>> familiar
>>>>>> with the internals of the T5 web framework and IOC container.
>>>>>>
>>>>>> I know that the T5 devs are really busy, but I think it wont be much
>>>>>> of
>>>>>> a
>>>>>> burden for the mentor to have me as a student because I have some
>>>>>> background
>>>>>> with t5, and I’m available on IM and email 24/7 (no fullltime
>>>>>> obligations -
>>>>>> just studies).
>>>>>>
>>>>>> I'm a first year masters student from Macedonia and I have about 2.5
>>>>>> years
>>>>>> experience with t5. I'm pretty familiar with Tapestry IOC, I've done
>>>>>> AOP
>>>>>> and
>>>>>> meta-programming in t5 and I know jQuery (for some custom
>>>>>> components).
>>>>>>
>>>>>> Here are some of my thoughts about potential GSOC 2011 tasks. Please
>>>>>> give me
>>>>>> some guidlines to discuss these or new ideas that would benefit the
>>>>>> T5
>>>>>> community the most in order to get my proposal good and ready ASAP.
>>>>>>
>>>>>> GSOC 2011 - Applicant Dragan Sahpaski
>>>>>> Tapestry ideas/proposals:
>>>>>>
>>>>>>   1. Grid component enhacements:
>>>>>>      1. Sorting: Support url query parameters for sort keys (property
>>>>>> ids
>>>>>>      in the BeanModel). Example without zones: If you have a
>>>>>> List<Employe>
>>>>>>      and sort by employee.department you can get a URL like:
>>>>>>      /employeeslist?sort=department&order=asc.
>>>>>>      Example with zones: /employeeslist#sort=department&order=asc.
>>>>>>      The SPI behaviour can be generalized for zones but thats a
>>>>>> different
>>>>>>      story all together.
>>>>>>      2. Pagination: better pager. Also page-number can go into the
>>>>>> url.
>>>>>>      3. Better HibernateDataSource for the grid
>>>>>>      4. Changing column order and visibility and saving this in a db.
>>>>>>       2. Multi-upload component:
>>>>>>      1. based on http://valums.com/files/2010/file-uploader/demo.htm
>>>>>>      https://github.com/valums/file-uploader
>>>>>>
>>>>>>
>>>>>>   1. Persistence strategy for persisting @Persist-ed fields in the
>>>>>> DB.
>>>>>>   Exporting and changing saved values between users. Example: This is
>>>>>> usefull
>>>>>>   when you are building a personalized app and the user changes UI
>>>>>> state
>>>>>> that
>>>>>>   gets saved in the DB and the changes he did are there the next time
>>>>>> he
>>>>>> logs
>>>>>>   in.
>>>>>>
>>>>>>
>>>>>>   1. Asynchronous DB operations. This would be a use case where the
>>>>>> DB
>>>>>>   operation is not causing changes visible to the user so the request
>>>>>> does not
>>>>>>   need to wait for it. Example: Logging requests, the user is not
>>>>>> aware
>>>>>> of
>>>>>>   this and doues not have to wait the logged request to get commited.
>>>>>>
>>>>>>
>>>>>>   1. Asynchronous Ajax updates (like gmail). I have no idea how to do
>>>>>> this
>>>>>>   ATM but its a very compelling UI feature.
>>>>>>
>>>>>>
>>>>>>   1. Right click menu: Comprehensive configuration options. Use it as
>>>>>> a
>>>>>>   mixin, component etc. Have it configured by page, component etc.
>>>>>>
>>>>>>
>>>>>>   1. Better transaction support with Hibernate.
>>>>>>   2. Integrate Tapestry with some NoSQL database. I have small
>>>>>> experience
>>>>>>   with CouchDB and MongoDB.
>>>>>>
>>>>>>
>>>>>> Cheers,
>>>>>> Dragan Sahpaski
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> 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
>>>
>>
>>
> 
> ---------------------------------------------------------------------
> 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: GSOC 2011 proposal

Posted by Kalle Korhonen <ka...@gmail.com>.
On Fri, Mar 25, 2011 at 3:35 AM, dragan.sahpaskix@gmail.com
<dr...@gmail.com> wrote:
> On Thu, Mar 24, 2011 at 9:28 PM, Kalle Korhonen <ka...@gmail.com>
> wrote:
>> On Thu, Mar 24, 2011 at 1:32 AM, dragan.sahpaskix@gmail.com
>> <dr...@gmail.com> wrote:
> About  conversations with local storage: I'm very interested in doing this,
> but I have a question. I have went over the source code of
> tapestry-conversations, and I'm asking: if I decide to do it, will it be
> better to be a part of tapestry-conversations or build
> a separate conversations module?
> Also I'm interested in some ideas about using the local storage for other
> purposes as well.

Yes, local storage can be used for a lot of interesting purposes.
There's no way to know for sure before prototyping it first what the
best approach is. If you decide on this idea, I think you should
definitely draw as much insipiration and code from
tapestry-conversations as possible but not worry about breaking any
interfaces. I have no interest in keeping tapestry-conversations as a
Tynamo module - if the community wants, we could fairly easily  (me
being a committer in both and Tynamo using Apache license) make it
into a tapestry core or apache extras module. It might need a
different @Persist identifier though, especially given that you cannot
count on local storage to be automatically available. But as said,
difficult to know for sure what it's going to turn into before writing
the code first. HTML5 features definitely have some sex appeal, which
is always good marketing.

> About websockets: I think it would be very good to integrate it with zones,
> and make it trivial to push data from the server (trigger zone updates). I
> also read this great article from Robin Komiwes (from the wooky project),
> about using WebSockets with T5, NodeJS and Redis. The important thing here
> was using NodeJS as a server fro the WebSockets communication because of
> scalability, performance and locking issues of java web servers. I'm not
> sure what exactly the performance issues will be here, but I am
> interested in trying it out. Also about the implementation with T5 I don't
> know the WebSockets protocol  well and I like to ask is tapestry's page
> render using singletones now an obstacle for this or no?

Yes, I'm thinking something along those lines as well and certainly
I've also read the same interesting post from Robin. I think it's also
a very interesting, strong and well-enough defined idea to make a GSoC
project out of. Just to address the question, I don't think the server
side of the websocket would live on the page, but perhaps there'd be a
WebSocketService that would manage the sockets client have opened -
that would seem more in tune with Tapestry, don't you think?

Kalle

>
>>
>> Kalle
>
> Cheers ,
> Dragan Sahpaski
>>
>> > On Thu, Mar 24, 2011 at 3:47 AM, Kalle Korhonen
>> > <ka...@gmail.com>
>> > wrote:
>> >>
>> >> Thanks for volunteering Dragan. I think it's too good of a opportunity
>> >> for T5 to pass up. I think there are many more qualified T5 committers
>> >> to serve as mentors (hoping that Andreas would step up :) but if all
>> >> the other committers are too busy, I'll do it. I'm way busy at the
>> >> moment myself but I'll make time to make a strong proposal for
>> >> whatever topic you and us decide on.
>> >>
>> >> Kalle
>> >>
>> >>
>> >> On Wed, Mar 23, 2011 at 3:15 PM, dragan.sahpaskix@gmail.com
>> >> <dr...@gmail.com> wrote:
>> >> >  Hi,
>> >> > I want to be a T5 GSOC student because I want to contribute to the T5
>> >> > community and I think that the GSOC programme can provide me with
>> >> > mentorship
>> >> > (from a T5 commiter or high skilled developer) that will get me
>> >> > familiar
>> >> > with the internals of the T5 web framework and IOC container.
>> >> >
>> >> > I know that the T5 devs are really busy, but I think it wont be much
>> >> > of
>> >> > a
>> >> > burden for the mentor to have me as a student because I have some
>> >> > background
>> >> > with t5, and I’m available on IM and email 24/7 (no fullltime
>> >> > obligations -
>> >> > just studies).
>> >> >
>> >> > I'm a first year masters student from Macedonia and I have about 2.5
>> >> > years
>> >> > experience with t5. I'm pretty familiar with Tapestry IOC, I've done
>> >> > AOP
>> >> > and
>> >> > meta-programming in t5 and I know jQuery (for some custom
>> >> > components).
>> >> >
>> >> > Here are some of my thoughts about potential GSOC 2011 tasks. Please
>> >> > give me
>> >> > some guidlines to discuss these or new ideas that would benefit the
>> >> > T5
>> >> > community the most in order to get my proposal good and ready ASAP.
>> >> >
>> >> > GSOC 2011 - Applicant Dragan Sahpaski
>> >> > Tapestry ideas/proposals:
>> >> >
>> >> >   1. Grid component enhacements:
>> >> >      1. Sorting: Support url query parameters for sort keys (property
>> >> > ids
>> >> >      in the BeanModel). Example without zones: If you have a
>> >> > List<Employe>
>> >> >      and sort by employee.department you can get a URL like:
>> >> >      /employeeslist?sort=department&order=asc.
>> >> >      Example with zones: /employeeslist#sort=department&order=asc.
>> >> >      The SPI behaviour can be generalized for zones but thats a
>> >> > different
>> >> >      story all together.
>> >> >      2. Pagination: better pager. Also page-number can go into the
>> >> > url.
>> >> >      3. Better HibernateDataSource for the grid
>> >> >      4. Changing column order and visibility and saving this in a db.
>> >> >       2. Multi-upload component:
>> >> >      1. based on http://valums.com/files/2010/file-uploader/demo.htm
>> >> >      https://github.com/valums/file-uploader
>> >> >
>> >> >
>> >> >   1. Persistence strategy for persisting @Persist-ed fields in the
>> >> > DB.
>> >> >   Exporting and changing saved values between users. Example: This is
>> >> > usefull
>> >> >   when you are building a personalized app and the user changes UI
>> >> > state
>> >> > that
>> >> >   gets saved in the DB and the changes he did are there the next time
>> >> > he
>> >> > logs
>> >> >   in.
>> >> >
>> >> >
>> >> >   1. Asynchronous DB operations. This would be a use case where the
>> >> > DB
>> >> >   operation is not causing changes visible to the user so the request
>> >> > does not
>> >> >   need to wait for it. Example: Logging requests, the user is not
>> >> > aware
>> >> > of
>> >> >   this and doues not have to wait the logged request to get commited.
>> >> >
>> >> >
>> >> >   1. Asynchronous Ajax updates (like gmail). I have no idea how to do
>> >> > this
>> >> >   ATM but its a very compelling UI feature.
>> >> >
>> >> >
>> >> >   1. Right click menu: Comprehensive configuration options. Use it as
>> >> > a
>> >> >   mixin, component etc. Have it configured by page, component etc.
>> >> >
>> >> >
>> >> >   1. Better transaction support with Hibernate.
>> >> >   2. Integrate Tapestry with some NoSQL database. I have small
>> >> > experience
>> >> >   with CouchDB and MongoDB.
>> >> >
>> >> >
>> >> > Cheers,
>> >> > Dragan Sahpaski
>> >> >
>> >>
>> >> ---------------------------------------------------------------------
>> >> 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
>>
>
>

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


Re: GSOC 2011 proposal

Posted by "dragan.sahpaskix@gmail.com" <dr...@gmail.com>.
Hi,

On Thu, Mar 24, 2011 at 9:28 PM, Kalle Korhonen
<ka...@gmail.com>wrote:

> On Thu, Mar 24, 2011 at 1:32 AM, dragan.sahpaskix@gmail.com
> <dr...@gmail.com> wrote:
> > I have no problem with working on new components (like GSOC 2010) or some
> > other functionalities. IMO I think that this project should focus on
> > something that will be useful for the vast majority of users. Please feel
> > free to discuss the ideas I wrote in the prev email, or I could elaborate
>
> I wouldn't worry *too* much about working on something everybody would
> be interesting in using, but just picking up something you are most
> interested in. Relatively small, well-contained components probably
> have the best chance of being included and used as is, as opposed to
> strategies or frameworks additions ("framelets"). I was reading your
> new list, and I agree that right click menu as a mixin would be quite
> useful. I wouldn't worry too much about creating yet another
> abstraction layer, just use what works, except if it creates a
> dependency on a larger Javascript framework, i.e. Prototype or jQuery.
>

I'll probably try to build the right-click menu without using a js framework
but we'll see.
Thanks for the thoughts.

For marketing T5 and skill-wise, it might be a good idea to work on
> something HTML5 related. For example, T5 websocket components or
> conversational persistence scope using local storage (e.g.
> http://www.webreference.com/authoring/languages/html/HTML5-Client-Side/).
> The latter is something I'm personally interested and been thinking
> about.
>
>
*About  conversations with local storage:* I'm very interested in doing
this, but I have a question. I have went over the source code of
tapestry-conversations, and I'm asking: if I decide to do it, will it be
better to be a part of tapestry-conversations or build
a separate conversations module?

Also I'm interested in some ideas about using the local storage for other
purposes as well.

*About websockets:* I think it would be very good to integrate it with
zones, and make it trivial to push data from the server (trigger zone
updates). I also read this great
article<http://spreadthesource.com/2010/11/bringing-realtime-to-your-java-applications-with-websockets-nodejs-redis-tapestry-5/>from
Robin Komiwes (from the
wooky <http://wookicentral.com/> project), about using WebSockets with T5,
NodeJS and Redis. The important thing here was using NodeJS as a server fro
the WebSockets communication because of scalability, performance and locking
issues of java web servers. I'm not sure what exactly the performance issues
will be here, but I am interested in trying it out. Also about the
implementation with T5 I don't know the WebSockets protocol  well and I like
to ask is tapestry's page render using singletones now an obstacle for this
or no?



>  Kalle
>

Cheers ,
Dragan Sahpaski

>
>
> > On Thu, Mar 24, 2011 at 3:47 AM, Kalle Korhonen <
> kalle.o.korhonen@gmail.com>
> > wrote:
> >>
> >> Thanks for volunteering Dragan. I think it's too good of a opportunity
> >> for T5 to pass up. I think there are many more qualified T5 committers
> >> to serve as mentors (hoping that Andreas would step up :) but if all
> >> the other committers are too busy, I'll do it. I'm way busy at the
> >> moment myself but I'll make time to make a strong proposal for
> >> whatever topic you and us decide on.
> >>
> >> Kalle
> >>
> >>
> >> On Wed, Mar 23, 2011 at 3:15 PM, dragan.sahpaskix@gmail.com
> >> <dr...@gmail.com> wrote:
> >> >  Hi,
> >> > I want to be a T5 GSOC student because I want to contribute to the T5
> >> > community and I think that the GSOC programme can provide me with
> >> > mentorship
> >> > (from a T5 commiter or high skilled developer) that will get me
> familiar
> >> > with the internals of the T5 web framework and IOC container.
> >> >
> >> > I know that the T5 devs are really busy, but I think it wont be much
> of
> >> > a
> >> > burden for the mentor to have me as a student because I have some
> >> > background
> >> > with t5, and I’m available on IM and email 24/7 (no fullltime
> >> > obligations -
> >> > just studies).
> >> >
> >> > I'm a first year masters student from Macedonia and I have about 2.5
> >> > years
> >> > experience with t5. I'm pretty familiar with Tapestry IOC, I've done
> AOP
> >> > and
> >> > meta-programming in t5 and I know jQuery (for some custom components).
> >> >
> >> > Here are some of my thoughts about potential GSOC 2011 tasks. Please
> >> > give me
> >> > some guidlines to discuss these or new ideas that would benefit the T5
> >> > community the most in order to get my proposal good and ready ASAP.
> >> >
> >> > GSOC 2011 - Applicant Dragan Sahpaski
> >> > Tapestry ideas/proposals:
> >> >
> >> >   1. Grid component enhacements:
> >> >      1. Sorting: Support url query parameters for sort keys (property
> >> > ids
> >> >      in the BeanModel). Example without zones: If you have a
> >> > List<Employe>
> >> >      and sort by employee.department you can get a URL like:
> >> >      /employeeslist?sort=department&order=asc.
> >> >      Example with zones: /employeeslist#sort=department&order=asc.
> >> >      The SPI behaviour can be generalized for zones but thats a
> >> > different
> >> >      story all together.
> >> >      2. Pagination: better pager. Also page-number can go into the
> url.
> >> >      3. Better HibernateDataSource for the grid
> >> >      4. Changing column order and visibility and saving this in a db.
> >> >       2. Multi-upload component:
> >> >      1. based on http://valums.com/files/2010/file-uploader/demo.htm
> >> >      https://github.com/valums/file-uploader
> >> >
> >> >
> >> >   1. Persistence strategy for persisting @Persist-ed fields in the DB.
> >> >   Exporting and changing saved values between users. Example: This is
> >> > usefull
> >> >   when you are building a personalized app and the user changes UI
> state
> >> > that
> >> >   gets saved in the DB and the changes he did are there the next time
> he
> >> > logs
> >> >   in.
> >> >
> >> >
> >> >   1. Asynchronous DB operations. This would be a use case where the DB
> >> >   operation is not causing changes visible to the user so the request
> >> > does not
> >> >   need to wait for it. Example: Logging requests, the user is not
> aware
> >> > of
> >> >   this and doues not have to wait the logged request to get commited.
> >> >
> >> >
> >> >   1. Asynchronous Ajax updates (like gmail). I have no idea how to do
> >> > this
> >> >   ATM but its a very compelling UI feature.
> >> >
> >> >
> >> >   1. Right click menu: Comprehensive configuration options. Use it as
> a
> >> >   mixin, component etc. Have it configured by page, component etc.
> >> >
> >> >
> >> >   1. Better transaction support with Hibernate.
> >> >   2. Integrate Tapestry with some NoSQL database. I have small
> >> > experience
> >> >   with CouchDB and MongoDB.
> >> >
> >> >
> >> > Cheers,
> >> > Dragan Sahpaski
> >> >
> >>
> >> ---------------------------------------------------------------------
> >> 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: GSOC 2011 proposal

Posted by Kalle Korhonen <ka...@gmail.com>.
On Thu, Mar 24, 2011 at 1:32 AM, dragan.sahpaskix@gmail.com
<dr...@gmail.com> wrote:
> I have no problem with working on new components (like GSOC 2010) or some
> other functionalities. IMO I think that this project should focus on
> something that will be useful for the vast majority of users. Please feel
> free to discuss the ideas I wrote in the prev email, or I could elaborate

I wouldn't worry *too* much about working on something everybody would
be interesting in using, but just picking up something you are most
interested in. Relatively small, well-contained components probably
have the best chance of being included and used as is, as opposed to
strategies or frameworks additions ("framelets"). I was reading your
new list, and I agree that right click menu as a mixin would be quite
useful. I wouldn't worry too much about creating yet another
abstraction layer, just use what works, except if it creates a
dependency on a larger Javascript framework, i.e. Prototype or jQuery.

For marketing T5 and skill-wise, it might be a good idea to work on
something HTML5 related. For example, T5 websocket components or
conversational persistence scope using local storage (e.g.
http://www.webreference.com/authoring/languages/html/HTML5-Client-Side/).
The latter is something I'm personally interested and been thinking
about.

Kalle


> On Thu, Mar 24, 2011 at 3:47 AM, Kalle Korhonen <ka...@gmail.com>
> wrote:
>>
>> Thanks for volunteering Dragan. I think it's too good of a opportunity
>> for T5 to pass up. I think there are many more qualified T5 committers
>> to serve as mentors (hoping that Andreas would step up :) but if all
>> the other committers are too busy, I'll do it. I'm way busy at the
>> moment myself but I'll make time to make a strong proposal for
>> whatever topic you and us decide on.
>>
>> Kalle
>>
>>
>> On Wed, Mar 23, 2011 at 3:15 PM, dragan.sahpaskix@gmail.com
>> <dr...@gmail.com> wrote:
>> >  Hi,
>> > I want to be a T5 GSOC student because I want to contribute to the T5
>> > community and I think that the GSOC programme can provide me with
>> > mentorship
>> > (from a T5 commiter or high skilled developer) that will get me familiar
>> > with the internals of the T5 web framework and IOC container.
>> >
>> > I know that the T5 devs are really busy, but I think it wont be much of
>> > a
>> > burden for the mentor to have me as a student because I have some
>> > background
>> > with t5, and I’m available on IM and email 24/7 (no fullltime
>> > obligations -
>> > just studies).
>> >
>> > I'm a first year masters student from Macedonia and I have about 2.5
>> > years
>> > experience with t5. I'm pretty familiar with Tapestry IOC, I've done AOP
>> > and
>> > meta-programming in t5 and I know jQuery (for some custom components).
>> >
>> > Here are some of my thoughts about potential GSOC 2011 tasks. Please
>> > give me
>> > some guidlines to discuss these or new ideas that would benefit the T5
>> > community the most in order to get my proposal good and ready ASAP.
>> >
>> > GSOC 2011 - Applicant Dragan Sahpaski
>> > Tapestry ideas/proposals:
>> >
>> >   1. Grid component enhacements:
>> >      1. Sorting: Support url query parameters for sort keys (property
>> > ids
>> >      in the BeanModel). Example without zones: If you have a
>> > List<Employe>
>> >      and sort by employee.department you can get a URL like:
>> >      /employeeslist?sort=department&order=asc.
>> >      Example with zones: /employeeslist#sort=department&order=asc.
>> >      The SPI behaviour can be generalized for zones but thats a
>> > different
>> >      story all together.
>> >      2. Pagination: better pager. Also page-number can go into the url.
>> >      3. Better HibernateDataSource for the grid
>> >      4. Changing column order and visibility and saving this in a db.
>> >       2. Multi-upload component:
>> >      1. based on http://valums.com/files/2010/file-uploader/demo.htm
>> >      https://github.com/valums/file-uploader
>> >
>> >
>> >   1. Persistence strategy for persisting @Persist-ed fields in the DB.
>> >   Exporting and changing saved values between users. Example: This is
>> > usefull
>> >   when you are building a personalized app and the user changes UI state
>> > that
>> >   gets saved in the DB and the changes he did are there the next time he
>> > logs
>> >   in.
>> >
>> >
>> >   1. Asynchronous DB operations. This would be a use case where the DB
>> >   operation is not causing changes visible to the user so the request
>> > does not
>> >   need to wait for it. Example: Logging requests, the user is not aware
>> > of
>> >   this and doues not have to wait the logged request to get commited.
>> >
>> >
>> >   1. Asynchronous Ajax updates (like gmail). I have no idea how to do
>> > this
>> >   ATM but its a very compelling UI feature.
>> >
>> >
>> >   1. Right click menu: Comprehensive configuration options. Use it as a
>> >   mixin, component etc. Have it configured by page, component etc.
>> >
>> >
>> >   1. Better transaction support with Hibernate.
>> >   2. Integrate Tapestry with some NoSQL database. I have small
>> > experience
>> >   with CouchDB and MongoDB.
>> >
>> >
>> > Cheers,
>> > Dragan Sahpaski
>> >
>>
>> ---------------------------------------------------------------------
>> 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: GSOC 2011 proposal

Posted by "dragan.sahpaskix@gmail.com" <dr...@gmail.com>.
Hey, that's great thanks.

I would really appreciate if everyone reading this list could just write
their ideas here for what the project should focus on.

I have no problem with working on new components (like GSOC 2010) or some
other functionalities. IMO I think that this project should focus on
something that will be useful for the vast majority of users. Please feel
free to discuss the ideas I wrote in the prev email, or I could elaborate
them in more detail if needed.

Thanks,
Dragan Sahpaski



On Thu, Mar 24, 2011 at 3:47 AM, Kalle Korhonen
<ka...@gmail.com>wrote:

> Thanks for volunteering Dragan. I think it's too good of a opportunity
> for T5 to pass up. I think there are many more qualified T5 committers
> to serve as mentors (hoping that Andreas would step up :) but if all
> the other committers are too busy, I'll do it. I'm way busy at the
> moment myself but I'll make time to make a strong proposal for
> whatever topic you and us decide on.
>
> Kalle
>
>
> On Wed, Mar 23, 2011 at 3:15 PM, dragan.sahpaskix@gmail.com
> <dr...@gmail.com> wrote:
> >  Hi,
> > I want to be a T5 GSOC student because I want to contribute to the T5
> > community and I think that the GSOC programme can provide me with
> mentorship
> > (from a T5 commiter or high skilled developer) that will get me familiar
> > with the internals of the T5 web framework and IOC container.
> >
> > I know that the T5 devs are really busy, but I think it wont be much of a
> > burden for the mentor to have me as a student because I have some
> background
> > with t5, and I’m available on IM and email 24/7 (no fullltime obligations
> -
> > just studies).
> >
> > I'm a first year masters student from Macedonia and I have about 2.5
> years
> > experience with t5. I'm pretty familiar with Tapestry IOC, I've done AOP
> and
> > meta-programming in t5 and I know jQuery (for some custom components).
> >
> > Here are some of my thoughts about potential GSOC 2011 tasks. Please give
> me
> > some guidlines to discuss these or new ideas that would benefit the T5
> > community the most in order to get my proposal good and ready ASAP.
> >
> > GSOC 2011 - Applicant Dragan Sahpaski
> > Tapestry ideas/proposals:
> >
> >   1. Grid component enhacements:
> >      1. Sorting: Support url query parameters for sort keys (property ids
> >      in the BeanModel). Example without zones: If you have a
> List<Employe>
> >      and sort by employee.department you can get a URL like:
> >      /employeeslist?sort=department&order=asc.
> >      Example with zones: /employeeslist#sort=department&order=asc.
> >      The SPI behaviour can be generalized for zones but thats a different
> >      story all together.
> >      2. Pagination: better pager. Also page-number can go into the url.
> >      3. Better HibernateDataSource for the grid
> >      4. Changing column order and visibility and saving this in a db.
> >       2. Multi-upload component:
> >      1. based on http://valums.com/files/2010/file-uploader/demo.htm
> >      https://github.com/valums/file-uploader
> >
> >
> >   1. Persistence strategy for persisting @Persist-ed fields in the DB.
> >   Exporting and changing saved values between users. Example: This is
> usefull
> >   when you are building a personalized app and the user changes UI state
> that
> >   gets saved in the DB and the changes he did are there the next time he
> logs
> >   in.
> >
> >
> >   1. Asynchronous DB operations. This would be a use case where the DB
> >   operation is not causing changes visible to the user so the request
> does not
> >   need to wait for it. Example: Logging requests, the user is not aware
> of
> >   this and doues not have to wait the logged request to get commited.
> >
> >
> >   1. Asynchronous Ajax updates (like gmail). I have no idea how to do
> this
> >   ATM but its a very compelling UI feature.
> >
> >
> >   1. Right click menu: Comprehensive configuration options. Use it as a
> >   mixin, component etc. Have it configured by page, component etc.
> >
> >
> >   1. Better transaction support with Hibernate.
> >   2. Integrate Tapestry with some NoSQL database. I have small experience
> >   with CouchDB and MongoDB.
> >
> >
> > Cheers,
> > Dragan Sahpaski
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>
>

Re: GSOC 2011 proposal

Posted by Kalle Korhonen <ka...@gmail.com>.
Thanks for volunteering Dragan. I think it's too good of a opportunity
for T5 to pass up. I think there are many more qualified T5 committers
to serve as mentors (hoping that Andreas would step up :) but if all
the other committers are too busy, I'll do it. I'm way busy at the
moment myself but I'll make time to make a strong proposal for
whatever topic you and us decide on.

Kalle


On Wed, Mar 23, 2011 at 3:15 PM, dragan.sahpaskix@gmail.com
<dr...@gmail.com> wrote:
>  Hi,
> I want to be a T5 GSOC student because I want to contribute to the T5
> community and I think that the GSOC programme can provide me with mentorship
> (from a T5 commiter or high skilled developer) that will get me familiar
> with the internals of the T5 web framework and IOC container.
>
> I know that the T5 devs are really busy, but I think it wont be much of a
> burden for the mentor to have me as a student because I have some background
> with t5, and I’m available on IM and email 24/7 (no fullltime obligations -
> just studies).
>
> I'm a first year masters student from Macedonia and I have about 2.5 years
> experience with t5. I'm pretty familiar with Tapestry IOC, I've done AOP and
> meta-programming in t5 and I know jQuery (for some custom components).
>
> Here are some of my thoughts about potential GSOC 2011 tasks. Please give me
> some guidlines to discuss these or new ideas that would benefit the T5
> community the most in order to get my proposal good and ready ASAP.
>
> GSOC 2011 - Applicant Dragan Sahpaski
> Tapestry ideas/proposals:
>
>   1. Grid component enhacements:
>      1. Sorting: Support url query parameters for sort keys (property ids
>      in the BeanModel). Example without zones: If you have a List<Employe>
>      and sort by employee.department you can get a URL like:
>      /employeeslist?sort=department&order=asc.
>      Example with zones: /employeeslist#sort=department&order=asc.
>      The SPI behaviour can be generalized for zones but thats a different
>      story all together.
>      2. Pagination: better pager. Also page-number can go into the url.
>      3. Better HibernateDataSource for the grid
>      4. Changing column order and visibility and saving this in a db.
>       2. Multi-upload component:
>      1. based on http://valums.com/files/2010/file-uploader/demo.htm
>      https://github.com/valums/file-uploader
>
>
>   1. Persistence strategy for persisting @Persist-ed fields in the DB.
>   Exporting and changing saved values between users. Example: This is usefull
>   when you are building a personalized app and the user changes UI state that
>   gets saved in the DB and the changes he did are there the next time he logs
>   in.
>
>
>   1. Asynchronous DB operations. This would be a use case where the DB
>   operation is not causing changes visible to the user so the request does not
>   need to wait for it. Example: Logging requests, the user is not aware of
>   this and doues not have to wait the logged request to get commited.
>
>
>   1. Asynchronous Ajax updates (like gmail). I have no idea how to do this
>   ATM but its a very compelling UI feature.
>
>
>   1. Right click menu: Comprehensive configuration options. Use it as a
>   mixin, component etc. Have it configured by page, component etc.
>
>
>   1. Better transaction support with Hibernate.
>   2. Integrate Tapestry with some NoSQL database. I have small experience
>   with CouchDB and MongoDB.
>
>
> Cheers,
> Dragan Sahpaski
>

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