Adrian,

Like I mentioned a week or so ago I'm finally getting around to taking a peek 
at the executioncontext20091231 branch. It looks like you've made a lot of 
progress, and that's great!

Could you comment on the general status and the top things on your to do list 
for it?

In addition to your general thoughts I'm wondering about a few things I ran 
into while reviewing it, and trying to build it (and will eventually try to run 
it too):

1. There are currently a few issues keeping it from compiling:
   a. like various classes are declared to implement the ExecutionArtifact 
interface but don't implement the "run" method on that interface (on a side 
note a more specific name might be helpful like even 
runExecutionArtifactInternal or something in order to avoid name conflicts); 
was your plan to do something special with this "run" method?
   b. there are quite a few methods scattered about that have a @Override 
annotation but that don't override anything; this shows as an error in Eclipse, 
though now as I test the build with the run method commented out I see that it 
doesn't block compilation

2. It looks like your primary focus initially is to implement the 
context-sensitive security using the ExecutionContext to keep track of the 
ArtifactPath so you know how you got to the artifact you are in. How is that 
security configured? I apologize that I haven't dug into this a whole lot (have 
that next on my list), but I don't see any entity definitions for 
database-driven security or an XSD for an XML file or anything like that. I see 
the interfaces and classes you've started working on, is the intent to run 
everything through a Java API somehow?

3. I'd like to get back to the stuff I was working in my branch from July, and 
redoing it based on the current interfaces and changes made in the trunk and 
the new executioncontext20091231 branch. That would mean deprecating the 
current delegator and dispatcher factory methods and changing everything 
(including the Service Engine dispatch context) to get the delegator and 
dispatcher (and perhaps other things in the future) from the ExecutionContext. 
This means significant refactoring as I did before and lots of changes to go 
into the branch. I'm in a position where I'd like to get this done fairly 
quickly (like within the next couple/few weeks), but I won't try to imply that 
this is small or simple or will represent a small number of changes since it 
will require abstracting various parts of the entity and service engines into 
the new "api" component as interfaces for parts of those tools. However, if 
you're not going to work with me on this and avoid making changes that 
invalidate lots of work like with the last branch, then I won't bother doing 
it, and if this potential project comes through that might help pay for it I 
guess I'll end up doing it outside of the main project just like has been done 
with all of the other multi-tenant implementations so far.

4. I'd also like to finish the design for a data model to externalize security 
configuration, along the lines of what I wrote in the 
OFBTECH/OFBiz+Security+Redesign document, including the comment I added later 
to normalize the SecurityArtifactAuth entity. This of course relates to #2 
above.

Anyway, thanks for all of your work on this. It's a great direction in general 
and it's great to see progress on it.

-David


Reply via email to