Is it possible to select a tab/RCDC group via URL?

Hi All,

I've spent a fair amount of time customising RCDC's for the User Create/Edit/View UI views, wanting to have a specific view for specific end-user purpose (long story). I now understand that it is only possible to have these 3 RCDC's (create/edit/view) for each type of object, but I was wondering about this...

Is it possible to create a custom URL that will do the following:

- Open the ~/IdentityManagement/aspx/users/EditPerson.aspx UI dialog

- Preselect one of the tab/groups? e.g. The Contact Info tab.

I see that in the EditPerson.aspx UI it is being done with the following: javascript:__doPostBack('ctl00$PlaceHolderMain$EditPerson$uoc$navigate_ContactInfo_linkbutton','')

What I'm wanting is to have a link on a sharepoint 2010 site that will take the user to the specific FIM "My Profile" tab/panel that has the attributes they can edit, rather than having them drill through each panel to find them. I hope this makes sense...

If this is not workable/possible, does anyone have any other ideas? It is a crying shame that FIM2010 and the UPS in SP2010 aren't one and the same product...

Thanks in advance for any help or insight anyone may have :)

 

June 8th, 2011 9:43pm

You would need a difinitive answer from the Product Group, but I don't believe this is presently supported, and if it is it is almost certainly undocumented.  The only trick I know is the ?p=1 querystring parameter which causes the page to be raised in a modal dialog, or ?p=0 which causes the page to be opened in the main browser.  I've been experimenting with the ?id=xxx parameter, but I can't get anything sensible - and putting in a value for this parameter invariably throws an errror.  I have a hunch that if you could work out the format if the "id" parameter you could be in business ...
Free Windows Admin Tool Kit Click here and download it now
June 12th, 2011 8:24am

Many thanks for your reply FIMBob! I did suspect that it may be a bit of a long-shot, it never hurts to ask though.

The ?p=1 query string trick you mentioned I will use, so thanks for that too! The ?id= parameter I have seen mentioned in other posts, but not documented anywhere. Are they documented anywhere? It seems strange to me that we would have to be guessing this sort of thing... (sorry MS if I have this wrong).

June 14th, 2011 11:48pm

this is not supported by FIM, but I tried to play with the pages of FIM in my test environment, I added querystring "tab", and postback again to the server based on the tab value, the tab value should be the name of grouping in RCDC not the caption

 

for example : http://fim2010/IdentityManagement/aspx/users/Editperson.aspx?tab=contactinfo

 

here is the editperson.aspx page :

<%@ Page masterpagefile="../../_catalogs/masterpage/submission.master" language="C#"
inherits="Microsoft.SharePoint.WebPartPages.WebPartPage, Microsoft.SharePoint,
Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
meta:progid="SharePoint.WebPartPage.Document" UICulture="auto" Culture="auto" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"
Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities"
Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=12.0.0.0,
Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Import
Namespace="Microsoft.SharePoint" %> <%@ Register Tagprefix="WebPartPages"
Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint,
Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<asp:Content id="content1" ContentPlaceHolderID="PlaceHolderMain" runat="server">
    
    <IdentityManagement:EditPerson runat="server" id="EditPerson"/>
    <script type="text/javascript">

function getQuerystring(key)
{

  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
  var qs = regex.exec(window.location.href);
  if(qs == null)
    return null;
  else
    return qs[1];
}

    Sys.Application.add_init(function() {

    var tab=getQuerystring("tab");
if(tab)
{

var elm = document.getElementById('ctl00_PlaceHolderMain_EditPerson_uoc_navigate_' +
tab.toString() + '_linkButton');

if(Sys.UI.DomElement.containsCssClass(elm.parentNode.parentNode,
'uocNavigationButtonCellInActive'))
{    
    __doPostBack('ctl00$PlaceHolderMain$EditPerson$uoc$navigate_' + tab +
'_linkButton','');
}
}
    });

    </script>
</asp:Content>

 


  • Proposed as answer by Amer Almotlaq Wednesday, June 15, 2011 8:57 AM
  • Marked as answer by Marcus Holland Thursday, June 16, 2011 4:24 AM
Free Windows Admin Tool Kit Click here and download it now
June 15th, 2011 8:40am

the id parameter represent the Resource ID "Guid", so you can edit specific user by specifiying the query string "id", if it does not exist I think FIM use the GUID of the logged in user in the current context.

http://fim2010/IdentityManagement/aspx/users/editperson.aspx?id=b62c360a-0bb0-49fe-bf7d-36ea9eeee997&tab=basicinfo

check the pages in the sitepages feature of FIM:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\FEATURES\MSILM2SitePages\SitePages\aspx\

 

for customized objects you can use the pages in the "customized" folder, or even you can use them for out-of-the-box objects like person.

http://fim2010/IdentityManagement/aspx/customized/EditCustomizedObject.aspx?type=Person&id=7fb2b853-24f0-4498-9534-4e10589723c4

June 15th, 2011 9:07am

Thank you very much Amer, on both counts. You've given me a lot to go on with here, very helpful. I guess using the customised pages folder is preferential, as any custom mods may be wiped out with the next FIM update.

Time for some playing in the Dev environment :)

Again, thanks to everyone for their assistance here.

 

 

 

Free Windows Admin Tool Kit Click here and download it now
June 16th, 2011 4:30am

I would recommend creating your own sharepoint feature to add custom pages, all u need in the custom page is to include the correct identity controls like :

  <IdentityManagement:EditPerson runat="server" id="EditPerson"/>

and then you can play with javascripts...

all the configuration is already in the 80 site webconfig including the definition of the tagprefix "IdentityManagement" for the namespace "Microsoft.IdentityManagement.WebUI.Controls".

so you can use the identity controls safely relying on the fact that you should build your sharepoint feature with dependency on the FIM features, so that your feature cannot be activated if the FIM features are not activated

its sharepoint development ... 

 


June 16th, 2011 6:16am

Hi all,

Did anything change here with R2 or MIM?

I would like to directly jump to a custom tab on my user edit form. Is this now possible in a supported way without chaning the aspx page?

Thanks

Chris

Free Windows Admin Tool Kit Click here and download it now
September 8th, 2015 5:09am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics