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