I am trying to use a loopback driver to copy one user's Groupwise
Distribution Lists to another user. This has worked well for regular
eDirectory groups and we're trying to do the same for DL. I don't know
too much about Groupwise, so I looked at the User and Distribution List
objects in an LDAP browser. I've been informed that the DLs are
"Groupwise only," meaning it is not a converted eDirectory group. So in
LDAP I saw nothing on the User objects and a member attribute on the DL
object. So that's what I wrote the following rules to copy. The rules
work, but the results are not good. The users don't show up as being in
the DL, they show up as being in the eDirectory Group. In addition, the
users I tested this on now have a Group Membership attribute (you can
see IDM "fixing the link" in the trace), so I am obviously not
replicating whatever the ConsoleOne plugins are doing.

My main question is, is it possible to manage these Groupwise DLs from
IDM correctly? If so, what attributes should I be dealing with?

The idea in the rules below is that User A will be added as User B's
assistant, and then User B will get User A's Distribution Lists.

<do-set-local-variable name="desiredDistListsQuery" scope="policy">
<arg-node-set>
<token-query class-name="GroupWise Distribution List" datastore="src"
scope="subtree">
<arg-dn>
<token-text
xml:space="preserve">\AFG_TREE\AFG\GROUPWISE\DIST_ LISTS</token-text>
</arg-dn>
<arg-match-attr name="Member">
<arg-value type="string">
<token-op-attr name="assistant"/>
</arg-value>
</arg-match-attr>
</token-query>
</arg-node-set>
</do-set-local-variable>

<do-set-local-variable name="desiredDistLists" scope="policy">
<arg-node-set>
<token-xpath expression="$desiredDistListsQuery/@src-dn"/>
</arg-node-set>
</do-set-local-variable>

<do-for-each>
<arg-node-set>
<token-local-variable name="desiredDistLists"/>
</arg-node-set>
<arg-actions>
<do-set-local-variable name="current-node-ext" scope="policy">
<arg-string>
<token-local-variable name="current-node"/>
</arg-string>
</do-set-local-variable>
<do-set-local-variable name="do-add" scope="policy">
<arg-string>
<token-text xml:space="preserve">TRUE</token-text>
</arg-string>
</do-set-local-variable>
<do-for-each>
<arg-node-set>
<token-local-variable name="currentDistLists"/>
</arg-node-set>
<arg-actions>
<do-if>
<arg-conditions>
<and>
<if-local-variable mode="nocase" name="current-node"
op="equal">$current-node-ext$</if-local-variable>
</and>
</arg-conditions>
<arg-actions>
<do-set-local-variable name="do-add" scope="policy">
<arg-string>
<token-text xml:space="preserve">FALSE</token-text>
</arg-string>
</do-set-local-variable>
</arg-actions>
<arg-actions/>
</do-if>
</arg-actions>
</do-for-each>
<do-if>
<arg-conditions>
<and>
<if-local-variable mode="nocase" name="do-add"
op="equal">TRUE</if-local-variable>
</and>
</arg-conditions>
<arg-actions>
<do-add-src-attr-value class-name="GroupWise Distribution List"
name="Member">
<arg-dn>
<token-local-variable name="current-node"/>
</arg-dn>
<arg-value>
<token-src-dn/>
</arg-value>
</do-add-src-attr-value>
</arg-actions>
<arg-actions/>
</do-if>
</arg-actions>
</do-for-each>


--
nate_spears
------------------------------------------------------------------------
nate_spears's Profile: http://forums.novell.com/member.php?userid=7564
View this thread: http://forums.novell.com/showthread.php?t=359464