Hi Echo I've been reading your application and it looks right to me. One thing I see is that you have selected gwt-platform instead of the core mvp in gwt but you don't say any reason about why you prefer the first option. Also I'd like a deeper description of how you pretend to face new features, I mean components, persistence, customization etc.
Cheers - Manolo On Thu, Apr 5, 2012 at 1:01 PM, echo <[email protected]> wrote: > Hi, Manolo > My "[GSOC2012] Hupa evolution" proposal has been updated in > > http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/echo/1. > > Could you give me some advices about it? If it looks Ok, I am gonna to cope > with some beginning stuff. If not, however, I will have to change something > through your suggests. > Many thanks for your consideration. > > -Echo > > > > On 03/30/2012 06:08 PM, Manuel Carrasco Moñino wrote: > > Hi Echo > > I'm CCing the mailing list because other developers could be > interested in these questions. > > Proly you can not login into gmail because of either cacerts issues or > you have not enabled imap in your gmail account. > > Yesterday, I committed a fix to the default config.properties removing > the 'TrustStore' line so as hupa can use the default java cacerts > file. > If you are using openjdk, you should check that cacerts file is complete. > > There are several MVP articles, the one you say is a good start point. > There are different approaches of how implement MVP, hupa is using > gwt-presenter which is similar to the stuff in gwt-2.4 so the idea is > to replace it with gwt-2.4 although we could consider other nice > libraries like mvp4g or gwtp. I recomend to you to read everything you > find in order to write a good proposal. > > gwt-dispatcher is used in client and server sides because it is the > framework used to comunicate both sides (this is the reason why you > can see it in many modules). We used it instead of RPC in order to use > the command pattern and facilitate testing of remote procedures in the > jvm. This library is not very used nowadays because people uses the > new RequestFactory stuff. The evolution of gwt-dispatcher is in the > gwtp library. > > Although RequestFactory is though to be used with ddbb entities, I > think we can consider our objects (emails, folders, etc) like entities > and take advantage of this pattern. Anyway, you could consider other > library like gwtp if it simplifies the code or the developing of new > features in hupa. > > Gin is the only way to have injection in client side. Gin syntax is > the same than Guice and you have to use both to test client presenters > and code in the jvm. Note that one of the main goals in MVP is to test > in the jvm client code, so we need a way to decouple presenters, etc > and inject the necessary stuff to test them in the jvm. > > We use gwt-dnd because it was the only available library those days. > It is necessary to move messages to folders. Now gwt has dnd support > although Cell widgets do not support it, may be we had to use > gwtquery-dnd etc. when we replace the message celltable. > > gwtquery brings the simplicity of jquery to gwt, specially when > dealing with dom elements or html content, note that it doesn't need > jquery at all. I think gquery can help to display messages (clean > them, resize, etc). I maintain this library so feel free to ask me any > question you had about it. > > All of these new features you suggest are welcome. Note that hupa does > not have any ddbb in server side, we are storing stuff in a hidden > message in the imap server, it is experimental, so maybe you could > consider to add a ddbb to handle this info (we use derby in james > server as the default one). > > The project is big and it is difficult to estimate the effort for each > thing. But I think your schedule could be a good start point. > > > Cheers > - Manolo > > > On Thu, Mar 29, 2012 at 3:43 PM, echo <[email protected]> wrote: > > Hi, Manuel Carrasco > > Hupa is an Rich IMAP-based Webmail application written in GWT, but there is > no release delivered yet > > We propose that gsoc student/s take the actual Hupa code and make it fully > functional adding many features which are missing and removing out-of-dated > dependencies in favor of the new stuff in the latest GWT version. > > ** Hupa Status > - Hupa has been entirely written in java to be coherent with the > language used in the James project. > > The Hupa has been checked out and deployed successfully on my > ArchLinux+openjdk6+eclipse,even though I could not login with my gmail > account and password which can access http://hupa.alcala.org. Maybe it need > config the .hupa/config.properties, I think. > > - Time ago, Hupa was a reference of a GWT MVP pattern application. > - Hupa MVP design is based of a set of libraries available for gwt a > couple of years ago when Gwt-core didn't have support for MVP > Gwt-presenter: for the MVP and EventBus patterns. > Gwt-dispatch: for the Command pattern > Gin + Guice: for dependency injection. > - Hupa was developed before GWT-2.0 was released, when LayoutPanels, > uibinders, Cells, RF, etc. were not available. > - Although Hupa is using the last GWT release, it still depends on some > unmaintained libraries because they have an equivalent feature in modern > GWT. > - In summary, Hupa is a functional and well designed email client, ready > to read, send and manage messages, but it lacks many of the nice features > any email client nowadays has. > > I also found some examples or instructions on GWT's own MVP architectrue at > here, it can be as a reference in my opinion, can it? > It is found that gwt-dispatch is used in more places than the others, since > almost every maven module(sever, client, share, etc.) needs it. So I believe > it will take more time to change it by Command Pattern(RequestFactory as > below) than the others. > Acutally I have no idea about "Gin + Guice: for dependency injection." which > needs to deeply discuss with you. > > ** Hupa roadmap > - Replace out-of-date dependencies with GWT-2.4.0 stuff > Replace gwt-dispatch by RequestFactory > Replace gwt-presenter with the available stuff in GWT-2.4 > Remove gwt-incubator dependency in favor of CellTable and CellTree > Use LayoutPanels and DecoratorPanels of css workarounds > Use Gwt DnD > > It is necessary for the theme to be improved by nearly all the recent apis > and I think it also need some time to be familiar with those new features. > Another thing I found in the code base is gwt-dnd-3.1.1 has been imported in > the maven dependencies, while I am not sure whether it is using or not. > > - Performance > Use gQuery in client side to enhance message view, specially to > parse html messages and remove dangerous tags, instead of expensive parsing > in server side > Implement Server cache and client storage > > I played with gQuery roughly yesterday and am familiar with its concept of > JQuery in GWT. > > - New features > Contact management. > Authentication: Oauth > Message filtering, grouping, sorting and labeling. > User settings: name, emails, signature. > Theming. > > And some other small but user-friendly stuffs such as "archive", "draft > save", user cookies(maybe HTML5 local storage) and so forth. > > All right, this is very first draft of the my plan on Hupa: > [From now to the announcement of GSoC] get started to be familiar with both > of the Hupa and GWT. > [Week 1~4] replace gwt-dispatch by RequestFactory, after which I will get > more familiar with Hupa. > Deliverable #1: the improved Hupa after replacing something. > [Week 5] Remove gwt-incubator dependency in favor of CellTable and CellTree. > [Week 6~7] Replace gwt-presenter with the available stuff in GWT-2.4 > Deliverable #2: the improved Hupa with almost all GWT-2.4 owning > [Week 8~9] make several prototypes of new features(Contact management, > Message filtering, grouping, sorting and labeling, etc.). And then try to > commit to the mail list for quickly feedback. > [Week 10~11] develop Oauth and User settings, meanwhile update the feedback > from Week8~9. > Deliverable #3: the improved Hupa with some new features. > [Week 12] suggested "pencils down" date: write documentation, test > everything... > > To be honest, I am not really sure about it(probably two few things to do or > priorities to change and not very well specified). So could you tell me how > do you think? Any advices will be welcome. > > > -- > cheers, > echo > > > > -- > cheers, > echo --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
