More in this section

Forums / Developing with Sitefinity / Personlization

Personlization

21 posts, 0 answered
  1. Jay
    Jay avatar
    25 posts
    Registered:
    12 May 2008
    20 May 2008
    Link to this post
    Hi,

    We are looking at implementing sitefinity on our Intranet and would like to enable the user to be able to set some preferences e.g. add personal links, save searches.

    Does sitefinity support this out of the box or do we have to implement our on solution?

    Regards,

    Jay
  2. Nikifor
    Nikifor avatar
    232 posts
    Registered:
    18 May 2013
    20 May 2008
    Link to this post
    Hello Jay,

    As far as we understand your requirements Sitefinity will suit in an Intranet environment such as yours. We have a Preferences section where you can set custom settings separately for each user. Anyway, it would be really helpful if you could elaborate on what exactly you mean by "personal links and save searches". Sitefinity has its own page editor so it is possible to set a personal page for every user, if that is what you mean.

    Maybe you will find useful information in our Blogs. Please check the following two links where my colleague Ivan has given examples for using Sitefinity as a Social Network Platform:
    Sitefinity Social Network Platform (part 1): Rudimentary specs and ideas and Sitefinity Social Network Platform (part 2): setting up public side membership

    Hope that this information is helpful.

    Regards,
    Nikifor
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center
  3. Jay
    Jay avatar
    25 posts
    Registered:
    12 May 2008
    21 May 2008
    Link to this post
    Hi Nikifor,

    Thanks for the reply, we want users to be able to personalize the Intranet homepage by being able to save personal links we need to be able to cater for anonymous users as well.

    I have enabled anonymous in the web.config:

       <anonymousIdentification enabled="true"/>
        <profile defaultProvider="Sitefinity">
          <providers>
            <clear />
            <add  name="Sitefinity" connectionStringName="DefaultConnection" applicationName="/" type="Telerik.DataAccess.AspnetProviders.TelerikProfileProvider, Telerik.DataAccess" />
          </providers>
          <properties >
            <add name="FirstName" />
            <add name="LastName"  />
            <add name="MyLinkTest" allowAnonymous="true"  />
          </properties>
        </profile>

    On my test page I have:

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                TextBox1.Text = Profile.Link;
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Profile.Link = TextBox1.Text;
        }

    This works if I remove sitefinity as the default provider, I have tried implementing a few different things after reading the developers manual with limited success, if you could point me in the right direction that would be appreciated.

    Regards,

    Jay

  4. Jay
    Jay avatar
    25 posts
    Registered:
    12 May 2008
    21 May 2008
    Link to this post
    Forgive the typo TextBox1.Text = Profile.Link should read TextBox1.Text = Profile.MyLinkTest same with Profile.Link = TextBox1.Text should read Profile.MyLinkTest

    Regards,

    Jay
  5. Nikifor
    Nikifor avatar
    232 posts
    Registered:
    18 May 2013
    22 May 2008
    Link to this post
    Hello Jay,

    Thanks for the update.

    The Sitefinity profile provider offers the ability to save all kinds of data for registered, as well as anonymous users. This means that different kinds of data, like strings, numeric types, collections, etc. can be stored using the default profile. If you need to add just a few customizations to the user's home page, it is enough to create a few user controls which utilize the profile information (like the example you gave).

    However, if you plan to handle many users and add many profile properties, you might want to use your own Profile Provider as the one Sitefinity uses, as well as the default SqlProfileProvider are too generic and not well optimized.

    Regarding your last question, could you please give us more details for the exact problem with the default provider? It would be really helpful if you could provide some specific examples.

    For more information, you could check this blog post: http://blogs.sitefinity.com/Ivan/Post/08-01-17/sitefinity_social_network_platform_part_2_setting_up_public_side_membership.aspx

    Greetings,

    Nikifor
    the Telerik team


    Instantly find answers to your questions at the new Telerik Support Center
  6. farhan
    farhan avatar
    2 posts
    Registered:
    15 May 2008
    09 Jun 2008
    Link to this post
    Hi,

    I have the same issue regarding Anonymous profiles.

    I have enabled Anonymous profiles by editing the web.config as follows:

    <anonymousIdentification cookieless="AutoDetect" enabled="true"/>
            <profile enabled="true" defaultProvider="Sitefinity">
                <providers>
                    <clear/>
                    <add name="Sitefinity" connectionStringName="DefaultConnection" applicationName="/" type="Telerik.DataAccess.AspnetProviders.TelerikProfileProvider, Telerik.DataAccess"/>
                </providers>
                <properties>
                    <add name="ShoppingCart" serializeAs="Binary" type="espa.core.business.ESPAShoppingCart" allowAnonymous="true"/>
                </properties>

    However, when I set the items in my ShopingCart, the data does not persist between pages.  I know my code is working because if I use ASP.NET default provider it works.  However, if I use the Sitefinity provider it does not work. 

    Does the Sitefinity provider support Anonymous Profiles?  If so, can you please let me know what I need to do to enable this feature.



    Regards,
    Farhan


  7. Nikifor
    Nikifor avatar
    232 posts
    Registered:
    18 May 2013
    13 Jun 2008
    Link to this post
    Hi farhan,

    There shouldn't be any problem with using Anonymous Providers in Sitefinity projects. Anyway, we would need some time to investigate the particular problem you are faced with so we suggest you using the SQL Membership Provider instead of the default Sitefinity one.

    Regards,
    Nikifor
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center
  8. Adam
    Adam avatar
    7 posts
    Registered:
    12 May 2008
    30 Jun 2008
    Link to this post
    Has this issue been resolved?  We are having the same problems with anonymous profiles.  They are not being persisted with the sitefinity profile provider.  The exact same code works with the sqlprofileprovider, but we would prefer to keep all membership information together instead of registering another copy of the asp.net membership tables in our database.  Our webconfig is included below:

     
        <anonymousIdentification enabled="true"/> 
        <profile defaultProvider="Sitefinity"
          <providers> 
            <clear/> 
            <add name="Sitefinity" connectionStringName="DefaultConnection" applicationName="/" type="Telerik.DataAccess.AspnetProviders.TelerikProfileProvider, Telerik.DataAccess"/> 
          </providers> 
          <properties> 
            <add name="MarketState" type="String" allowAnonymous="true"/> 
            <add name="MarketCity" type="String" allowAnonymous="true"/> 
          </properties> 
        </profile> 

    Thanks,
    Adam
  9. farhan
    farhan avatar
    2 posts
    Registered:
    15 May 2008
    01 Jul 2008
    Link to this post
    The way I solved it was buy making the profile properties use multiple profile providers.  For the anonymous properites, I use the default ASP.NET provider, which means I need to ensure my Database Server has the ASP.NET tables.  Here is my web config:

    <anonymousIdentification cookieless="AutoDetect" enabled="true"/>

    <profile enabled="true" defaultProvider="Sitefinity">

    <providers>

    <clear/>

    <add name="Sitefinity" connectionStringName="DefaultConnection" applicationName="/" type="Telerik.DataAccess.AspnetProviders.TelerikProfileProvider, Telerik.DataAccess"/>

    <add name="AspNetProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="AspNetServices" applicationName="ESPAOnline" description="ASPProfileProvider for Anonymous ESPAOnline"/>

    </providers>

    <properties>

    <add name="FirstName" type="string"/>

    <add name="LastName" type="string"/>

    <add name="CurrencyCode" provider="AspNetProvider" defaultValue="GBP" allowAnonymous="true"/>

    <add name="ShoppingCart" provider="AspNetProvider" serializeAs="Binary" type="espa.core.business.ESPAShoppingCart" allowAnonymous="true"/>

    </properties>

    </profile>


    This seems to work fine for me.  All the non-anonymous properites are stored in the sitefinity tables, and the anonymous properties are stored in the ASP.NET tables. 

    Farhan
  10. Adam
    Adam avatar
    7 posts
    Registered:
    12 May 2008
    01 Jul 2008
    Link to this post
    Farhan,

    Thanks for the workaround, but we wont be able to use both asp.net and sitefinity membership tables.  Session will work for the time being, but I hope telerik fixes this issue in the near future.

    Regards,
    Adam
  11. Vlad
    Vlad avatar
    498 posts
    Registered:
    19 Jun 2017
    02 Jul 2008
    Link to this post
    Hi Adam and Farhan,

    Yes, this issue is in our Bug Tracking system.
    We will do our best to fix it in the next release.

    Best wishes,
    Vlad
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center
  12. Mike
    Mike avatar
    208 posts
    Registered:
    10 Dec 2007
    08 Jan 2009
    Link to this post
    Was this issue ever addressed?  I believe I'm experiencing the same thing in SF 3.5. 

    Regards,
    Mike
  13. Mike
    Mike avatar
    208 posts
    Registered:
    10 Dec 2007
    09 Jan 2009
    Link to this post

    Just as a followup, I set up a second provider to handle profile information the way Farhan described (THANKS!!) and I stopped getting the invalidCastException on the calls to retrieve profile properties, and now when I inspect the profile table in AspNetDb database, I can see profile information being written to the profile table. 

    Is there a timetable when this might be addressed?  It's obviously not critical, as there seems to be a good workaround, but it would be nice not to need two separate databases.

    Regards,

    Mike Sharp

  14. Georgi
    Georgi avatar
    3583 posts
    Registered:
    28 Oct 2016
    14 Jan 2009
    Link to this post
    Hi Mike,

    There is no time frame for this issue yet. We will follow up if there is some other decision, or a better solution.

    Best wishes,
    Georgi
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  15. Brian
    Brian avatar
    14 posts
    Registered:
    01 Dec 2007
    06 Aug 2009
    Link to this post
    bump.

    was this fixed? still waiting.
  16. Georgi
    Georgi avatar
    3583 posts
    Registered:
    28 Oct 2016
    11 Aug 2009
    Link to this post
    Hello Brian,

    This should be working now. Instead of reading the properties by Profile.MyValue, use Profile.GetPropertyValue("MyValue").

    Sincerely yours,
    Georgi
    the Telerik team

    Instantly find answers to your questions on the newTelerik Support Portal.
    Check out the tipsfor optimizing your support resource searches.
  17. Jaime Weise
    Jaime Weise avatar
    120 posts
    Registered:
    02 Nov 2008
    27 Oct 2009
    Link to this post
    This doesn't work for me. I don't need to handle anonymous profiles. I need to store custom objects for authenticated users. These custom types that I need to access can't reside in a different providers since there are no users or roles stored in that datastore.

    <add name="CurrentRole" type="Vetc.Profiles.Role" />

     


    If I set this in the Sitefinity provider it will do fine and serialize the content but as soon as it is updated in the database and it needs to come down again it says that it can't cast type string to Vetc.Profiles.Role(a simple serializable type).

    I could just create a group and use all the properties which makes sense for now since the object is just a proxy for the real type which is the generated LINQ to sql type but there should be alternatives for more complex types that need to integrate or be tied to the sitefinity TelerikProfileRole type Maybe I can just switch over to a sql provider for all my needs.

    Theoretically that will work without affecting the architecture. Could you give me the Yay or Nay on that scenario? Are there any dependencies in sitefinity that may change or break the functionailty in sitefinity when changing the provider type barring saving the info in different tables?

    Thanks, Jaime
  18. Radoslav Georgiev
    Radoslav Georgiev avatar
    3370 posts
    Registered:
    01 Feb 2016
    30 Oct 2009
    Link to this post
    Hi jaime,

    Thank you for getting back to us.

    If you have already working membership, roles and profile providers developed and you have them populated with user you can try to add those providers to Sitefinity. Sitefinity does support the use of security providers other than the built in one (in this case an SQL provider too). Please take a look at the following article for more information: Implementing Multiple Membership Providers. Please note that the front end of sitefinity allows you to use more than one provider at the same time. However the back end can work with only one default provider and can not authenticate and authorize users from multiple providers.

    If this approach does not work for you, you will have to go on with the one that you have suggested - to provide profile groups and just put in relevant fields.

    Greetings,
    Radoslav Georgiev
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
  19. Jaime Weise
    Jaime Weise avatar
    120 posts
    Registered:
    02 Nov 2008
    12 Mar 2010
    Link to this post
    Hi there,

    This just in
    By Adding the correct config sections and assembly references and registrations I was able to work with the Telerik Role provider from a regular website enabling me to share user and role data with the standard Sitefinity install. The whole reason for this was I wanted a light-weight way to develop role-based controls but share the same data . This way I don't have to compile everything for tests.

    Jaime
  20. John White
    John White avatar
    20 posts
    Registered:
    29 May 2010
    26 Jun 2010
    Link to this post
    This is EXACTLY what I am trying to do and cannot find anything concrete.

    By Adding the correct config sections and assembly references and registrations I was able to work with the Telerik Role provider from a regular website enabling me to share user and role data with the standard Sitefinity install. The whole reason for this was I wanted a light-weight way to develop role-based controls but share the same data.

    Which config sections and which assembly references/registrations?
  21. Ivan Dimitrov
    Ivan Dimitrov avatar
    16072 posts
    Registered:
    12 Sep 2017
    27 Jun 2010
    Link to this post
    Hello John White,

    The sections for the role, membership and profile provider are declared in the web.config file that resides in the root of the website

    Sections

    <roleManager>
    <membership>
    <profile>

    References to the standard ASP.NET providers

    System.Web
    System.Web.Security

    Under <securiry> node you can define the default membership provider that the backend will use

    <security defaultProvider="DefaultSecurityProvider" cmsProvidersName="CustomProvider">


    All the best,
    Ivan Dimitrov
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
Register for webinar
21 posts, 0 answered