Hi Emilio

  I think this is what you want:

  Modify the method addUserMeta in:

  org.dspace.app.xmlui.aspect.eperson.Navigation.java.

  public void addUserMeta(UserMeta userMeta) throws SAXException,
            WingException, UIException, SQLException, IOException,
            AuthorizeException
    {
        String groupIDs="";
        EPerson eperson = context.getCurrentUser();
        if (eperson != null)
        {
            userMeta.setAuthenticated(true);
            userMeta.addMetadata("identifier").addContent(eperson.getID());
            Iterator<Integer> it=Group.allMemberGroupIDs(context, eperson).iterator();
            while (it.hasNext())
            {
                userMeta.addMetadata("identifier","epersongroupIDs").addContent(it.next().toString());
            }
            userMeta.addMetadata("identifier","email").addContent(eperson.getEmail());             userMeta.addMetadata("identifier","firstName").addContent(eperson.getFirstName());             userMeta.addMetadata("identifier","lastName").addContent(eperson.getLastName());             userMeta.addMetadata("identifier","logoutURL").addContent(contextPath+"/logout");             userMeta.addMetadata("identifier","url").addContent(contextPath+"/profile");
        }
        else
        {
            userMeta.setAuthenticated(false);
        }

        // Allways have a login URL.
        userMeta.addMetadata("identifier","loginURL").addContent(contextPath+"/login");
       
        // Allways add language information
        Request request = ObjectModelHelper.getRequest(objectModel);
        Enumeration locales = request.getLocales();
        while (locales.hasMoreElements())
        {
            Locale locale = (Locale) locales.nextElement();
            userMeta.addMetadata("language","RFC3066").addContent(locale.toString());   
        }
    }

  Now you have in the DIM:

<userMeta authenticated="yes"><metadata element="identifier">15</metadata><metadata element="identifier" qualifier="epersongroupIDs">0</metadata>

  <metadata element="identifier" qualifier="epersongroupIDs">1</metadata>

  <metadata element="identifier" qualifier="epersongroupIDs">50</metadata>

  <metadata element="identifier" qualifier="epersongroupIDs">54</metadata>

  <metadata element="identifier" qualifier="epersongroupIDs">52</metadata>

  <metadata element="identifier" qualifier="epersongroupIDs">47</metadata>

  <metadata element="identifier" qualifier="epersongroupIDs">74</metadata>

  <metadata element="identifier" qualifier="epersongroupIDs">44</metadata>

<metadata element="identifier" qualifier="email">pa...@jobim.org</metadata><metadata element="identifier" qualifier="firstName">Paulo</metadata>

  <metadata element="identifier" qualifier="lastName">Jobim</metadata>

<metadata element="identifier" qualifier="logoutURL">/xmlui/logout</metadata><metadata element="identifier" qualifier="url">/xmlui/profile</metadata>

<metadata element="identifier" qualifier="loginURL">/xmlui/login</metadata><metadata element="language" qualifier="RFC3066">en</metadata>

  <metadata element="language" qualifier="RFC3066">pt</metadata>

  <metadata element="language" qualifier="RFC3066">de</metadata>

  </userMeta>

  and I check for the administrator group in xsl:

<xsl:if test="/dri:document/dri:meta/dri:userMeta/@authenticated = 'yes'and /dri:document/dri:meta/dri:userMeta/                 dri:metadata[@element='identifier'][@qualifier='epersongroupIDs']=1">

  note: administrator group ID is = 1

  I hope you like it

  Paulo
------------------------------------------------------------------------------
Storage Efficiency Calculator
This modeling tool is based on patent-pending intellectual property that
has been used successfully in hundreds of IBM storage optimization engage-
ments, worldwide.  Store less, Store more with what you own, Move data to 
the right place. Try It Now! http://www.accelacomm.com/jaw/sfnl/114/51427378/
_______________________________________________
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to