locked
Enumerate metaverse objects RRS feed

  • Question

  • Is there a way to read programmatically the objects in the metaverse? I could only find out how to get the total number of objects using the NumMVObjects method of the MIIS_Server class (http://msdn.microsoft.com/en-us/library/ms698304%28VS.85%29.aspx).

    Thanks,
    Paolo
    Monday, August 17, 2009 4:00 PM

Answers

  • Paolo,

    neither the connecor space nor the metaverse are app store data repositories – data stores, client applications can access for whatever general purpose.

    It is assumed that the internal data stores are under the exclusive control of the synchronization service to guarantee that the system functions according to the intended design.

    Because of this, direct access to the metaverse is neither recommended nor supported.

    There are some exceptions to this that belong into the catergory troubleshooting / edge cases.
    A Lightweight Metaverse Search is an example for this.

    If you have client apps that require access to the identity data in your system, you should either implement an operational MA – a data store to which you provision the data you need your client apps to have access to – or, in case of FIM, enable your client app to access the data in the app store by using web services. 

    From a very high perspective, the FIM app store is an implementation of our best practice recommendation to implement an  operational MA for direct access to the available identity data.

    The ILM WMI docs are still good for FIM.
    There is no extension planned to the existing interface. 

    Cheers,
    Markus

    Markus Vilcinskas, Technical Content Developer, Microsoft Corporation
    • Marked as answer by Paolo Tedesco Wednesday, August 19, 2009 7:31 AM
    Tuesday, August 18, 2009 12:16 PM

All replies

  • Where are you attempting to read them from?  For a workflow? From an Rules Extension?  External to either? 

    Eric
    Eric
    Monday, August 17, 2009 6:57 PM
  • Hi Eric,

    my idea would be to read them from an external application (a stand-alone test program).

    Thanks,
    Paolo
    Tuesday, August 18, 2009 7:23 AM
  • Is there a way to read programmatically the objects in the metaverse? I could only find out how to get the total number of objects using the NumMVObjects method of the MIIS_Server class (http://msdn.microsoft.com/en-us/library/ms698304%28VS.85%29.aspx).

    Thanks,
    Paolo

    The link you have posted is for ILM 2007, not for ILM2. The ILM2 way would probably be this:
    1. Define rules so that metaverse data would flow to ILM portal.
    2. Access that data using ILM 2 web services. There is a wonderful blog how to do this in ILM 2 RC0: http://blogs.msdn.com/imex/default.aspx . I believe we will have the whole client updated with the release of RC1 (which I hope would occur soon).

    If you do care about how this could be done in ILM 2007, my answer would be create additional management agent, create flow rules from metaverse to that MA's connector space, export data to whatever datasource your MA is connected to and read data programatically from datasource.
    Donatas Vyzas
    Tuesday, August 18, 2009 10:45 AM
  • Hi Donatas,

    I couldn't find updated WMI documentation for ILM2/FIM, so I used the one for ILM 2007; inspecting the namespace with WMI CIM studio, anyway, it looks like the documentation is still valid.

    In any case, what I would like to do is to read the object definitions in the metaverse, not from ILM.

    Thanks,
    Paolo
    Tuesday, August 18, 2009 11:35 AM
  • Hi Donatas,

    I couldn't find updated WMI documentation for ILM2/FIM, so I used the one for ILM 2007; inspecting the namespace with WMI CIM studio, anyway, it looks like the documentation is still valid.

    In any case, what I would like to do is to read the object definitions in the metaverse, not from ILM.

    Thanks,
    Paolo

    As far as I know, there is no supported way to read data from metaverse directly from an external application. I guess you could gather data from MIIS database using SQL queries, but as I have already said, it is completelly unsupported.
    Donatas Vyzas
    Tuesday, August 18, 2009 12:03 PM
  • Paolo,

    neither the connecor space nor the metaverse are app store data repositories – data stores, client applications can access for whatever general purpose.

    It is assumed that the internal data stores are under the exclusive control of the synchronization service to guarantee that the system functions according to the intended design.

    Because of this, direct access to the metaverse is neither recommended nor supported.

    There are some exceptions to this that belong into the catergory troubleshooting / edge cases.
    A Lightweight Metaverse Search is an example for this.

    If you have client apps that require access to the identity data in your system, you should either implement an operational MA – a data store to which you provision the data you need your client apps to have access to – or, in case of FIM, enable your client app to access the data in the app store by using web services. 

    From a very high perspective, the FIM app store is an implementation of our best practice recommendation to implement an  operational MA for direct access to the available identity data.

    The ILM WMI docs are still good for FIM.
    There is no extension planned to the existing interface. 

    Cheers,
    Markus

    Markus Vilcinskas, Technical Content Developer, Microsoft Corporation
    • Marked as answer by Paolo Tedesco Wednesday, August 19, 2009 7:31 AM
    Tuesday, August 18, 2009 12:16 PM
  • Hello Eric,

    i made AD MA rule extension Project, and i want to read another object's data while importing the first object

    "importing user, then i want to get a certain group from the metaverse and check for the members in this group to take a certain action towards the user"

    the rule extenstion is in C# language.

    can u help please ?!?!


    Ali Merdan Software Development Engineer - Blue Cloud Corp.
    Tuesday, May 3, 2011 1:42 PM
  • Hello Eric,

    i made AD MA rule extension Project, and i want to read another object's data while importing the first object

    "importing user, then i want to get a certain group from the metaverse and check for the members in this group to take a certain action towards the user"

    the rule extenstion is in C# language.

    can u help please ?!?!


    Ali Merdan Software Development Engineer - Blue Cloud Corp.

    Hi Eric,

    It doesn't appear that FIM allows this. The sync rule extension invocation gets handed the MVentry which can be enumerated but it doesn't allow you to access any other object in the MV (or CS for that matter). This is a significant shortcoming. It looks like the only real option (if you want to stay within the transaction context of the sync operation) is to do something similar to what Donatas (earlier post above) suggests and export the metaverse group objects (using a separate MA and run profile)  to an external database so that you can do your membership lookups from your rule extension.

    I'm keen to hear from anyone who has a better suggestion.

    David.

    Friday, November 30, 2012 5:36 AM