Apparently when we brought our LDAP data over into the UME we pulled in things like systems and not simply users. Therefore we've got around 10,000+ UME entries whereas we have perhaps 3000 actual portal users.
I have coded an EVS help to allow a user to select a portal user and populate an Input Box. I put the code to populate this into the wdDoInit method so the application is taking a good 2-3 minutes to launch.
I found that if I do a restriction on email address containing an "@" sign that seems to get it down to under 5000 records but that operation seems like it's rather slow (maybe because it's using LIKE_OPERATOR??)- I do that using the following code:
isf = ufact.getUserSearchFilter();
isf.setEmail("@", ISearchAttribute.LIKE_OPERATOR,true)
My question, then, has a couple of levels to it...
1. Is there a way to keep these "bad" records from ever getting into the UME? My colleague seems to think that she saw something about this somewhere, printed it off, and now cannot find it.
2. Is there a better way for me to access this user information. Basically I need a name (the UniqueName field) and the Email but no other info. Would it make sense to set up some kind of job to pull in the entire UME on a regular basis and then pare it down and put it into a table local to the Webdynpro/J2EE projects? I know I will have need to do this kind of selection in multiple future projects so I want to find an elegant solution that I can then apply elsewhere.