Nagu ma juba siin mõned artiklid tagasi kirjutasin, siis User Profile info on mitmes kohas laiali. Oleks tore seda omada ühes kohas. Ja nimelt kõige mõistlikum tundub olevat LAYOUTS folderis oleva userdisp.aspx muutmine.

Kuna see fail aga omab enda sees komponenti mida muuta ei õnnestu, siis tuleks see fail ise kirjutada.

Enne muutmist veel korra siiski tagasi selle faili muutmise juurde – nimelt kui SharedServices all muuta User Profiles metadata väljasid, siis on võimalik UserDisp.aspx faili täiendada andmetega, kuid mitte vähendada. St. kui võtad lahti lehe, kus saad muuta User profile Property väljaisd – siis leiad sealt ühe valiku Policy Settings alt linnukesega "Replicable". Kui see sisse lülitada, siis antud väli replitseeritakse ka UserDisp.aspx lehele.

clip_image002

NB! Kui see linnuke aga uuesti maha võtta, siis UserDisp.aspx lehelt ei korjata seda väärtust mitte ära. See jääb sinna igavesti. See on ka üks väga konkreetne põhjus, miks peaks tahtma ise kirjutada seda UserDisp.aspx faili.

Enne aga veel taustast.

Nimelt UserDisp.aspx leht kuvab ilma parameetriteta sisselogitud kasutaja andmed ning teiste kasutajate andmeid kuvab vastavalt sellele, milline ID-väärtus on talle antud.

Nüüd on väga oluline koht nr1 !!! See ID-number on kõikides site Colectionites erinev – Seega minu profiil tuleb ühe Site Collectionis välja ID=2-ga kuid teises hoopis ID=9-ga. Seega – kasutajal pole ainulaadset ID-numbrit ühe serveri piires.

Nüüd aga oluline koht nr2 !!! Kui soovid kasutajaprofiili juures kuvada tema ülemuse informatsiooni, siis selle info saab kätte User Profiles andmebaasist, mis ei tea mitte midagi nendest UserDisp.aspx juures kasutatavatest ID-numbritest, seega peab minu kood arvestama ka seda, et kasutaja parameeter võidakse ette anda ka kujul user=domeen\kasutajanimi (see on vorming, millega saab info kätte User Profiles andmebaasist).

Tulemuseks koos kujundusega on siis järgmine leht.

clip_image004

Eksole ju palju aprem kui originaal. Siin saab klikata ülemuse, assistendi või tuues välja alluvad siis ka nende peal.

Nõnda – ja ega rohkem polegi, edasi avaldan ainult siis selle enda välja mõeldud koodi, millega saate ise luua oma suva järgi UserDisp.aspx lehekülje.
Alljärgnev kood on ainult skripti osa mis võtab kasutaja andmed ning edastab need vajalikele labelitele, kujunduse ja omale sobiliku layoudi teeb igaüks ise.

clip_image005

clip_image006