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.
<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>
<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->EPiServer sync solutions available? Thanks Alf!</p>
<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<Dictionary<string, string>>();
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, "(&(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<string, string>();
if (resultPropertyCollection.PropertyNames != null)
{
foreach (string key in resultPropertyCollection.PropertyNames)
{
foreach (object values in resultPropertyCollection[key])
{</pre>
<p></p>
<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>
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