incubator-photark-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Subash Chaturanga <subash...@gmail.com>
Subject Re: Progress of UI support for remote album subscription with new local jcr structure in trunk
Date Fri, 04 Feb 2011 15:37:55 GMT
On Fri, Feb 4, 2011 at 7:36 PM, Avdhesh Yadav <avd@avdheshyadav.com> wrote:

>  I think at the time of subscribe what you are doing is going through all
> the images for album and adding to jcr right ?

Are you storing meta data of images also in the jcr?


Yes. Adding only meta data such as name, type and url. Not image itself.


> I am thinking of doing
> lazy fetching of images
> I mean instead of fetching images at the time of subscribe just save the
> album url at the time of subscribe
> and when anyone view the remote album from the gallery..we should fetch the
> meta-data of image  and cache it into the JCR.
> it make a bit complicated but improves the user experience.later on any way
> we have to add the sync feature
> so your idea is also good and it work.but suppose if an album has 1000
> images..it would make bad experience if  user have to wait after clicking
> subscribing to albums.
>

In my implementation as an initial step I planned to make the remote
subscription thing as much as simple where it follows almost the same model
as how local albums deals except few stuff. It led me to give the ui support
for remote albums in less effort and less complexity.

But seems like your suggestion is also a pretty good way which can be added
as a future enhancement to this, which will give a better user experience in
performance where you fetch image by image at the view time. And sync
problem also solved. gallery.js functions related to remote albums will have
to be changed bit more, may be from scratch.

I will look in to it. Thank you very much for reviewing the patch with in
your busy schedules.



>
>
> On Mon, Jan 31, 2011 at 7:59 PM, Suhothayan Sriskandarajah <
> suhothayan@gmail.com> wrote:
>
> > On 31 January 2011 19:29, Subash Chaturanga <subashsdm@gmail.com> wrote:
> >
> > > Hi all,
> > >
> > > Last few weeks I was working on two jira issues in photark trunk
> > > 1.Provide UI support for remote album subscription [1]
> > > 2.Change local jcr structure in trunk [2]
> > >
> > > where I needed to complete the work on jira[2], to finish jira [1] in a
> > > better way.
> > >
> > > I think the above two jira issues are finished and they all work fine
> > > without any errors. I run it with a cleaned tomcat and worked fine for
> > me.
> > > I
> > > also added client side validations for remote subscriptions..
> > > So now,  in my patch [3], photark trunk UI supports remote album
> > > subscription with the new local jcr structure.
> > >
> > > The structure is as follows.
> > >
> > > Local albums - /albums/local
> > > Remote Albums - /albums/remote
> > >
> > > - I have added a AlbumSubscriptionManager who acquire remote albums
> from
> > > corresponding album providers and store them (as Luciano suggested).
> > >
> > > - I didn't touch the local gallery service and kept it as it is, and
> > > created
> > > a new remote gallery service where it only deals with the remote
> albums.
> > >
> > > - I have added JCRAlbumAggregator, who is capable of aggregating all
> > types
> > > of albums.(currently only remote gallery service deals with this, and
> > local
> > > gallery service works its own way).
> > >
> > > - Above facts make my life easy to change the gallery UI, where local
> > > albums
> > > and remote albums works alone separately inside their own  html tables.
> > >
> > > It will be really feel great for me, if photark can apply this to trunk
> (
> > > if
> > > this is good enough ) . Please try the patch in your free time and
> > provide
> > > any  pros and cons of this patch, so that I can make further changes as
> > > photark needs.
> > >
> > > Good job Subash
> >
> > Before committing there is a small issue to fix,
> > After adding picasa album and then when I view the album from the gallery
> > by pressing the slideshow mode I get an error :
> >
> > javax.jcr.PathNotFoundException: BB
> >    at org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2683)
> >    at
> >
> >
> org.apache.photark.jcr.services.JCRImageCollectionImpl.get(JCRImageCollectionImpl.java:86)
> >    at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source)
> >    at
> >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >    at java.lang.reflect.Method.invoke(Method.java:597)
> >    at
> >
> >
> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:113)
> >    at
> >
> >
> org.apache.tuscany.sca.binding.http.provider.HTTPBindingListenerServlet.doGet(HTTPBindingListenerServlet.java:104)
> >    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> >    at
> >
> >
> org.apache.tuscany.sca.binding.http.provider.HTTPBindingListenerServlet.service(HTTPBindingListenerServlet.java:72)
> >    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> >    at
> >
> >
> org.apache.tuscany.sca.host.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:110)
> >    at
> >
> >
> org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.doFilter(TuscanyServletFilter.java:94)
> >    at
> >
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> >    at
> >
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >    at
> >
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> >    at
> >
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> >    at
> >
> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
> >    at
> >
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> >    at
> >
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> >    at
> >
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >    at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> >    at
> >
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
> >    at
> >
> >
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> >    at
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> >    at java.lang.Thread.run(Thread.java:662)
> > 31-Jan-2011 19:52:32
> > org.apache.tuscany.sca.host.webapp.TuscanyServletFilter
> > doFilter
> > SEVERE: null
> > java.lang.NullPointerException
> >    at
> >
> >
> org.apache.tuscany.sca.binding.http.provider.HTTPBindingListenerServlet.doGet(HTTPBindingListenerServlet.java:141)
> >    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> >    at
> >
> >
> org.apache.tuscany.sca.binding.http.provider.HTTPBindingListenerServlet.service(HTTPBindingListenerServlet.java:72)
> >    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> >    at
> >
> >
> org.apache.tuscany.sca.host.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:110)
> >    at
> >
> >
> org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.doFilter(TuscanyServletFilter.java:94)
> >    at
> >
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> >    at
> >
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >    at
> >
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> >    at
> >
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> >    at
> >
> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
> >    at
> >
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> >    at
> >
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> >    at
> >
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >    at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> >    at
> >
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
> >    at
> >
> >
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> >    at
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> >    at java.lang.Thread.run(Thread.java:662)
> >
> >
> >
> > I think you are calling the old (local album) slide show. Please update
> > that.
> >
> > Other than that I think its good for the commit
> >
> > Thoughts?
> >
> >
> > Suho
> >
> > [1] - https://issues.apache.org/jira/browse/PHOTARK-62
> > > [2] - https://issues.apache.org/jira/browse/PHOTARK-66
> > > [3] -
> > >
> > >
> >
> https://issues.apache.org/jira/secure/attachment/12469819/uiSubscriptionWithNewStructureCompleted.patch
> > >
> > >
> > > Regards
> > > /subash
> > >
> >
>
>
>
> --
> Avdhesh Yadav
> http://www.avdheshyadav.com
> http://twitter.com/yadavavdhesh
>

Thanks
/subash

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message