mojoPortal (kao u verziji 2.2) uključuje fleksibilni sustav korisničkog profila za njegovu lakšu prilagodbu ovisno o namjeni stranice. Standardna instalacija ima specifičan set karakteristika korisničkog profila, no možete ukloniti one karakteristike koje vam nisu potrebne ili dodati one koje trebate kako bi korisnički profil učinili još prikladnijim za vaše potrebe.
Pripazite na to da nije dopušteno imati prilagođene karakteristike (custom properties) sa nazivima koji se ne podudaraju sa temeljnim korisničkim karakteristikama. Ako to ipak učinite pojavit će vam se greška na UserProfile strani. Također, ne možete upotrijebiti "UserID", "UserGuid", "Name", "LoginName", "Email", "Password", "PasswordQuestion", i "PasswordAnswer", jer su to sve temeljne karakteristike (core properties).
Kako bi dodali ili uklonili karakteristike korisničkog profila, trebate samo urediti mojoProfile.config datoteku u osnovi stranice. To je jednostavna tekstualna datoteka i može se urediti sa bilo kojim uređivačem teksta kao što je Notepad.
Postoje 4 strane na mojoPortal stranici koje su definirane iz postavki u mojoProfile.config-u
· Admin/ManageUsers.aspx koriste Site Administratori kako bi upravljali korisničkim postavkama. Sve karakteristike korisničkog profila mogu uređivati članovi koji imaju ulogu Admina.
· Secure/UserProfile.aspx koristi korisnik kako bi uredio/uredila svoje karakteristike profila
· ProfileView.aspx je strana samo za očitavanje kako bi mogli vidjeti profile drugih korisnika
· Secure/Register.aspx koristi se za registraciju korisničkog računa na stranici a karakteristike korisničkog profila se mogu podesiti da budu zatražene za registraciju
Prve 2 postavke u mojoProfile.config-u su Gender i Web Site Url, i to su dobri primjeri koji pokazaju većinu značajki sustava korisničkog profila, tako da ćemo ih detaljno proučiti. Kao prvo, evo kako karakteristike izgledaju u mojoProfile.config datoteci.

name (naziv; obavezan) – mora biti jedinstven za svaku karakteristiku u mojoProfile.config datoteci, to je naziv karakteristike
type (oznaka; po izboru, standardi prema System.String) – ova postavka se koristi za određivanje prikaza karakteristike
- System.Boolean prikazan je kao Checkbox za uređivanje karakteristike i u načinu rada samo za očitavanje, kao slika sa skin mape, true.png ili false.png.
- System.DateTime prikazan je u načinu rada za uređivanje kao DatePicker.
- Za sve ostale oznake imamo TextBox za uređivanje karakteristika, osim ako karakteristika ima podešen OptionList sa barem jednom opcijom. U tom slučaju tu je DropDownList za uređivanje.
IncludeTimeForDate (UključiVrijemeZaDatum; po izboru, standardi prema netočnom) koristi se samo kada je oznaka (type) podešena na System.DateTime. Ako je istinit DatePicker će također pokazivati vrijeme.
resourceFile (izvornaDatoteka; po izboru, standardi prema ProfileResource) – ovo nije prikazano iznad, ProfileResource odgovara App_GlobalResources/ProfileResource.resx ali možete preći preko i dobiti resurse iz drugačije datoteke.
labelResourceKey (ključOznakeIzvora; bit će prikazan kao zatražen ili bez oznake) – ova vrijednost se koristi za oznaku povezanu sa karakteristikom (property). Može se lokalizirati stavljanje izvornog ključa ovdje koji se nalazi u App_GlobalResources/ProfileResource.resx datoteci. Ako izvor nije pronađen, to znači da se ova karakteristika upotrebljava direktno za oznaku (label) tako da nije potrebno urediti Resource datoteke, ali se preporučuje.
lazyLoad (sporoUčitavanje; po izboru, standardi prema netočnom) – u većini slučajeva trebali biste ostaviti ovo podešeno kao netočno (false). Kada se podesi kao istinita (true), karakteristika (property) će se na zahtjev učitati sa baze podataka prije kao grupa sa drugim karakteristikama profila. Ovo bi trebalo biti podešeno kao istinito jedino za rijetku upotrebu ili kako bi ponovo pronašli karakteristike (properties).
requiredForRegistration (potrebnoZaRegistraciju; po izboru, standardi prema netočnom) – ako se podesi kao istinita, ova karakteristika će se pojaviti na strani registracije kada se korisnik registrira na stranicu i pritom će zatražiti vrijednost.
allowAnonymous (dopuštenjeAnonimnimKorisnicima; po izboru, standardi prema istinitom) – ova postavka služi za buduću upotrebu, ako trebamo sakupiti vrijednosti karakteristike anonimnih korisnika. Trenutno se ne koristi.
visibleToAnonymous (vidljivoAnonimnimKorisnicima; po izboru, standardi prema netočnom) – ako je Web.config postavka "AllowAnonymousUsersToViewMemberList" podešena kao istinita, anonimni korisnici će moći vidjeti listu članova stranice. Na strani liste članova se nalazi "View Profile" link za pregled profila svakog korisnika. Podešavanje "visibleToAnonymous" kao netočno (false) znači da samo ovlašteni korisnici mogu vidjeti ovu karakteristiku na pregledu profila drugog korisnika.
visibleToAuthenticated (vidljivoOvlaštenomKorisniku; po izboru, standardi prema istinitom) – odnosi se na stranu pregleda profila (Profile View page). Podesite ovo kao netočno za postavke koje bi trebale biti vidljive samo korisniku ili administratorima.
visibleToUser (vidljivoKorisniku; po izboru, standardi prema istinitom) – trebat će vam karakteristike koje samo administratori stranice mogu vidjeti. Podesite ovu karakteristiku kao netočnu i samo će ju administratori stranice moći vidjeti.
editableByUser (korisnikmožeUređivati; po izboru, standardi prema istinitom) – ako ne želite da korisnik bude u mogućnosti urediti ovu karakteristiku, postavite ju kao netočnu. Korisnik također neće moći urediti karakteristiku ako nije vidljiva.
regexValidationExpression (regexValidacijaIzraza; po izboru) – unesite RegularExpression ovdje kako bi potaknuli validaciju na vašoj karakteristici da bi se mogle unijeti samo važeće vrijednosti. Vidite primjer WebSiteUrl karakteristike ispod, ona ima Regular Expression koja prisiljava WebSiteUrl karakteristiku da počne ili sa http:// ili sa https://. Više detalja o Regular Expressions i više primjera uobičajenih scenarija validacije naći ćete ovdje:
http://www.regxlib.com/
ako je lijevo prazno, validacija se neće dogoditi.
regexValidationErrorResourceKey (regexValidacijaPogreškaIzvornogKljuča; po izboru, no mora se precizirati ako se koristi regexValidationExpression) – kada korisnik unese vrijednost koja ne prolazi validaciju izraza (validation expression), dobra je ideja pokazati poruku sa nekom idejom očekivane vrijednosti. Ovdje možete unijeti ovu poruku ili ju dodati na App_GlobalResources/ProfileResource.resx datoteci a samo ključ stavite ovdje.
onlyAvailableForRoles (dozvoljenoSamoZaFunkcije; po izboru, standardna vrijednost je prazan niz što znači da je dostupno za sve funkcije) – ponekad će vam trebati karakteristika dostupna samo za određene funkcije. Na primjer, ako želite karakteristiku koja bi bila dostupna članovima administratorskih ili Content Admins funkcija, stavit ćete "Admins;Content Administrators", tako da odvojite svaki naziv funkcije točka-zarezom.
onlyVisibleForRoles (vidljivoSamoZaFunkcije; po izboru, standardna vrijednost je prazan niz što znači da je vidljivo za sve funkcije) - ponekad će vam trebati karakteristika vidljiva samo za određene funkcije. Na primjer, ako želite karakteristiku koja bi bila dostupna članovima administratorskih ili Content Admins funkcija, stavit ćete "Admins;Content Administrators", tako da odvojite svaki naziv funkcije točka-zarezom.
defaultValue (standardnaVrijednost; po izboru) – može se upotrijebiti kako bi se odredio standard (default) za karakteristiku koja će se koristiti kada se kreiraju novi korisnici.
includeHelpLink (uključiLinkZaPomoć; po izboru; standardi prema netočnom) – ako je podešeno kao istinito, help link (link za pomoć) biti će prikazan pored ove karakteristike na strani UserProfile.aspx ili Admins/ManageUsers.aspx. Članovi administratorske i Content Admins funkcije će tada moći urediti pomoć za ovu karakteristiku.
OptionList (ListaOpcija; po izboru) – omogućuje vam da konfigurirate listu mogućih opcija koje će se pojaviti na dropdown popisu.

Pripazite, karakteristika WebSiteUrl prikazuje se na ProfileView.aspx strani kao hyperlink sa korisnikove web stranice. Ako imate prilagođenu karakteristiku sa "Url" u nazivu, karakteristika će biti prikazana kao hyperlink. Na vama je da upotrijebite regularni izraz (regular expression) kako bi bili sigurni da je vrijednost koju je korisnik unio u edit modu odgovarajuća.
Za karakteristike koje su prikazane u edit modu kao TextBox, možete također podesiti maxLength koji određuje maksimalni broj znakova dopuštenih za karakteristiku. Ako je maxLength 0, tada nema ograničenja dužine.
Karakteristika stupaca, columns, određuje širinu TextBox-a. Također možete odrediti karakteristiku redova, rows, ako je rows > 1, TextBox će biti konfiguriran višestrukim linijama (područje teksta u html-u).
Uzmite u obzir da datoteka za konfiguriranje služi podešavanju karakteristika korisnika koje se pokazuju na strani profila korisnika. Također je moguće kreirati i obnoviti arbitrarne karakteristike za ovlaštene korisnike koji nisu nikad prikazani na stranama korisničkog profila.
if(Request.IsAuthenticated)
{
SiteUser siteUser = SiteUtils.GetCurrentUser();
siteUser.SetProperty(...)
object someObject = siteUser.GetProperty(...)
}
Nadamo se da će vam ova dokumentacija biti korisna. Ako imate bilo kakve sugestije za poboljšanje dokumentacije molimo vas da ih ostavite na forumu programera na stranici foruma.