Hi Li,
it's not a bad idea, especially as more servers support this
now. You can register a feature request in sourceforge if you like,
and we'll look at it for a future release. If you want to have a
shot yourself, I think the code you need is in AdvancedOps - stick
your code in before the recursive move methods...
cheers,
Chris
On 19/08/2005, at 7:52 AM, Li Yang wrote:
Hi, Chris:
I understand that JXplorer is a generic LDAP browser and aims at
working with all kind of LDAP servers. But ADD+DELETE is not equal
to MOVE. Operational attributes are going to be regenerated.
What I suggest is, to use ctx.rename() to modify dn as the default
method and try to catch the possible UNABLE_TO_PERFORM error from
the server. Then, LDAP systems like ours which support renaming of
internal nodes can get the correct behavior; for those systems
which don't support renaming, I think JXplorer should also prevent
renaming from happening and alert user by saying 'server does not
allow this move operation'. In any case, ADD+DELETE is giving the
user an illusion that the MOVE has been achieved, but actually the
moved entry is not identical to the original one anymore
(operational attributes get regenerated). Anyway, LDAP protocol
defines this move operation and a lot of more systems are
supporting this anyway.
Please let me know if you find any missing points here.
Regards,
Li
Chris Betts wrote:
Hi Li,
so what is the fix you are suggesting?
- Chris
On 18/08/2005, at 12:10 PM, Li Yang wrote:
Hi, Chris:
Yes, these are necessary. But anyway, ADD followed by DELETE
approach will have problem with operational attributes which is
quite common across many directory servers and the added entry
would have these operational attributes regenerated. Either a
fix inside the JXplorer core is desirable, or, a pluggin
framework is enabled for the configurable implementaion of
different behavior.
Thanks,
Li
Chris Betts wrote:
Hi Li,
Almost all 'move' operations in JXplorer that are
implemented as ADD followed by DELETE. The only 'move'
operation that is done as a RENAME is for a single leaf node
that does not change its parent. The reason is that many
directories do not allow renaming of internal nodes, while
others don't allow renaming of parents. We also need to be
able to handle recursively copying sub trees, and the code is
simpler if the logic is the same for subtrees as for leaf
nodes, especially as we don't always know which we have...
If you want to look at the method, see
com.ca.commons.jndi.AdvancedOps, method recMoveTree(Name from,
Name to), which does the recursive move operation.
I don't really know enough about your system to advice on a
fix, but it sounds like you have attribute level access
controls which are causing a problem? Are these necessary?
cheers,
- Chris
P.S. In theory this behaviour could be made configurable, but
it would require a fairly in depth rewrite of some of the core
code :-/.
On 18/08/2005, at 8:42 AM, Li Yang wrote:
Hi, Chris:
I'm not sure if this is a known issue with JXExplorer. We
'Drag and Drop' a user from one group to another, but an
LDAP error happens saying "LDAP: error code 53 - You cannot
add entries containing authpasswords.". By checking the
source code, when achieving this 'Drag and Drop' moddn
operation, the implementation in JXExplorer involves ADD and
then DELETE of the entry.
Besides the error we had, this ADD+DELETE approach is going to
be tricky since all the user entry has operational attributes
to some degree.
I would appreciate if you can share with us the original
design concern around this approach and let me know any
existing fix for the problem we have now.
Thanks,
Li
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Jxplorer-devel mailing list
Jxplorer-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jxplorer-devel