Try our conversational search powered by Generative AI!

Intranet and Relate?

Vote:
 

Hello!

I'm probably gonna be highly involved in a coming intranet project where all users should have their own "profile". There will be around 5000 users and maybe around 50 editors. Relate came to my mind (to handle the profiles) and I wonder if someone here can tell me if it's a good idea to implement Relate for this use only or if someone has another (maybe better) suggestion? I have no previous experience of Relate and I somehow get the feeling it's not the most popular kid on the block... Users are to be fetched from the AD and obviously we don't want to manually handle users in EPiServer. If you could share your experience or maybe point me in a direction here I would be thankful.

Henning

#114571
Dec 15, 2014 18:02
Vote:
 
<p>I would say that if you don't need the big community suit with forums I would say it could be overkill.</p> <p>If you only need to present profiles I would suggest that you use pages or blocks for this. Keep in mind to not create ALL content in the same node, but rather group them into container nodes.</p>
#114577
Dec 15, 2014 22:55
Vote:
 
<p>Yes, it seems a bit overkill I suppose. That's good advice... 5000 pages under one and the same node would not feel ideal :) Do you know of any good AD-&gt;EPiServer sync solutions available?&nbsp;Thanks Alf!</p>
#114625
Dec 16, 2014 14:47
Vote:
 
<p>It's a quite quick scheduled job to build. We've been connecting through LDAP and doing something like this and creating a first letter or lastname structure for the "user pages":</p> <pre class="brush:csharp;auto-links:false;toolbar:false" contenteditable="false">using System.DirectoryServices; .. PrincipalInfo.CurrentPrincipal = PrincipalInfo.CreatePrincipal(lookupUser); var activeDirectoryUsers = new List&lt;Dictionary&lt;string, string&gt;&gt;(); var directoryEntryMultiple = new DirectoryEntry(lookupUri, lookupUser, lookupPass); // LDAP_MATCHING_RULE_BIT_AND = 1.2.840.113556.1.4.803 // Flag UF_ACCOUNTDISABLE = 2 var directorySearcherMultiple = new DirectorySearcher(directoryEntryMultiple, "(&amp;(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))"); SearchResultCollection searchResultCollection = directorySearcherMultiple.FindAll(); foreach (SearchResult searchResult in searchResultCollection) { ResultPropertyCollection resultPropertyCollection = searchResult.Properties; var propertiesDictionary = new Dictionary&lt;string, string&gt;(); if (resultPropertyCollection.PropertyNames != null) { foreach (string key in resultPropertyCollection.PropertyNames) { foreach (object values in resultPropertyCollection[key]) {</pre> <p></p>
#114727
Dec 19, 2014 9:23
Vote:
 
<p>Johan, could you share the entire job/solution? Thanks!</p>
#114777
Dec 21, 2014 11:11
Vote:
 
<p>I think you also could add those profiles as a contentprovider. Kalle Ljung has done that for youtube and it might not be so difficult to rewrite it to look in a active directory instead, get it here:</p> <p>https://github.com/episerver/YouTubeContentProvider</p>
#114924
Jan 02, 2015 13:13
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.