Alexander Klimetschek wrote:
Hi Ken!

On Mon, Dec 1, 2008 at 5:40 AM, Kenneth Yue <[EMAIL PROTECTED]> wrote:
I would really appreciate if you could do that ASAP.

Just a short reminder: This is an open-source project which means: a)
people spend their limited time on it for the great idea of
open-source software, b) it is *not* a paid support contract with a
defined response-time and finally c) using open-source libraries means
to get involved in the project, at least by building it yourself and
patching it to your needs, which might come in handy for the project
itself.

Therefore I'd recommend not to ask people for deliveries as if you
were their manager.

It certainly wasn't my intention to treat Angela as my subordinate. If my request came across as a demand, I apologize.

Look, I'm working on another FOSS project too. I'm familiar with the work I'm doing. However, I have not been involved in the development of Jackrabbit, so it will be awfully inefficient for me to go in and spend countless hours of time trying to figure out how the current Jackrabbit code works, how it's organized, what its architecture is, etc. in order to come up with a RepositoryFactory for spi2dav.

I was really surprised to find out that the server side of JCR remoting over WebDAV is released but there is no client code for it (which makes JCR remoting over WebDAV pretty much useless).

If I were to work on this today, this is the approach I'll make. Please let me know if this makes sense (all of these are just guessworks so I could be completely off-base):

1. Try to understand what the SPI architecture is. I suppose it's an implementation of JCR using SPI (what does this interface look like?) and then there are multiple implementations of SPI. One of that will be using WebDAV as the remote protocol to communicate with the JCR WebDAV Servlet. Another will be using RMI (which I'm not interested in using).

2. Try to understand what a RepositoryFactory is. There are a couple of examples. One is the BindableRepositoryFactory and another is ClientRepositoryFactory. There are probably more. I have to study these as examples to create my own.

3. There are at least two approaches for creating the RepositoryFactory for SPI. The first one is to have just one that takes a parameter for what type of SPI implementation to use (WebDAV or RMI). The other approach is to have different classes that return different RepositoryImpls that use different SPI implementations. Oh wait, if there is really just one JCR2SPI implementation, then the second approach doesn't make sense.

All of these are not rocket science. Giving enough time, maybe a few weeks/months (which I don't really have right now), anyone can do it. As you can imagine, trying to read and understand all those classes, how they interact, takes a long time.

On the other hand, Angela has been working on this project for a long time (I suppose) and definitely is familiar with the Jackrabbit code. With the other RepositoryFactory examples that she has, she could probably create one for SPI2WebDAV in a few hours. :-) Again, this RepositoryFactory she checks into sandbox doesn't have to be stable/tested, just something I can start using for the most basic scenario to continue my development I'll be very happy. I can help debugging and fixing things as I get more familiar with the code, but as of now I'm not even sure how to start or if my "approach" above makes any sense.

Thanks for the good work so far.  I really appreciate it.

Ken

P.S. ASAP is not a "defined response time."  :-)

Thanks,
Alex


Reply via email to