More in this section

Forums / Developing with Sitefinity / Limiting content to CMS users on a large Sitefinity site

Limiting content to CMS users on a large Sitefinity site

4 posts, 0 answered
  1. Daniel L
    Daniel L avatar
    26 posts
    Registered:
    06 May 2006
    27 Mar 2008
    Link to this post
    We are deploying a public school district of 60 schools. I would like to deploy this under a single Sitefinity website since some of the CMS logins will overlap and we will have a lot of custom modules.

    All of the Sitefinity modules will have a category name for each of the schools. We will have a Page called Schools with page sections underneath for each of the schools, and each school will have their own set of pages for their site. Each school's URL would be districtwebsite.com/schoolname.

    We have a security role for each school's site editor so we can set the edit rights on pages. The biggest problem I'm having right now is finding the best way to filter out content that the CMS user doesnt need to see when they login. If a School Website editor logs into the Sitefinity area we don't want them to have to click through a tree view three levels deep just to get to their school's content. Is there any way we can override the CMS sitemap provider to show the user only the pages they have rights to edit?

    Also, is there a way we can filter the generic content, blogs, lists, polls, etc to only show the category associated with their security role? This is one reason I am a big proponent of having categories on the Image/Documents library so that libraries can easily be categorized. We will have hundreds or thousands of libraries and without categorization this will quickly become a problem.

    Thanks for any help and insight you can provide!

    Daniel
  2. Yasen
    Yasen avatar
    121 posts
    Registered:
    18 May 2013
    31 Mar 2008
    Link to this post
    Hi Daniel L,

    Thank you for sharing your project plan with us. It should be possible to achieve it with Sitefinity, unfortunately for now permissions per category are not implemented. This functionality is included in our TO DO list and will be introduced in one of the future releases. For the time being, you could override the content providers in order to customize them. For instance, you can extend the default generic content provider in order to return only content for a given category, based on the current user information.

    About your request for pages, yes, it is possible to customize the navigation controls in order to show only the needed pages (see this KB article). Also, in the administration only users that have "view" permissions for a given page can see it in the tree view, so moderators from one school will see only the pages they can manage.

    As for your other request for categories of libraries, by default they are turned off because this functionality further complicates the logic. However it is possible to enable categories for the "Images and Documents" module. We are currently preparing a KB article about this and in a few days it will be available here:
    Knowledge Base.

    If you have any other questions, please feel free to contact us again.

    Sincerely yours,
    Yasen
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center
  3. UI Crew
    UI Crew avatar
    99 posts
    Registered:
    24 Sep 2012
    05 Apr 2008
    Link to this post
    Hi Daniel,

    I have done some similar things you are wanting to achieve on a large intranet project where different business units have dedicated sections they are responsible for and news, blogs, generic content that they have permissions on. Here what I did:

    Also, is there a way we can filter the generic content, blogs, lists, polls, etc to only show the category associated....


    To give me separate news, generic content, blogs etc for individual business units and to stop one unit publishing news in anothers area I created a cms user group for each unit and separate providers for each unit in news, blogs, generic content etc. and sets the permissions. This worked beautifuly because a drop down box appears in each module allowing the unit to select the news provider they wanted. If a unit has no permissions in a particular news provider then it doesn't appear in the list. If a unit has only permissions on one news provider then it doesn't show the drop down at all and the see ONLY their news items in the news module... this is great!

    This also has the wonderful advantage that it leaves categories alone so that the schools can create their own categories. You can find how to do this on page 207 of the Sitefinity 3.2 SP1 Manual. Example of a news provider (see the manual):


    <add name="School_Name" defaultMetaField="Title" visible="False" securityProviderName="" allowVersioning="True" applicationName="/SchoolName" versioningProviderName="" connectionStringName="GenericContentConnection" type="Telerik.Cms.Engine.Data.Providers.DefaultProvider, Telerik.Cms.Engine.Data" ...... />

    I believe this will not work for the new Images and docs module but I haven't tried it.

    I would suggest setting up providers for each school plus maybe a shared one as well for docs etc. that are shared across schools. This will obviously make you web.config really large I don't know as yet whether this effects performance. For a site as large as you seem to be suggesting I would recommend a dedicated server and at least a separte shared sql server. or a VPS and a shared sql server for hosting the site (But that is my opinion from experience only).

    The biggest problem I'm having right now is finding the best way to filter out content that the CMS user doesnt need to see when they login...

    This can be fairly simple (or you can over complicate things) and is a matter of carefully planning in most cases. In fact out of the box Sitefinity automatically filters pages users don't have permisisions to edit if you have your groups and permisisions done right.

    If your school's url is districtwebsite.com/schoolname then the schooname should be on the first level (or level 0 really) of the site map tree. If you follow the example above and create a cms user group fo each school then apply editing permissions for that group only to the matching schoolname node of the site then when they log into sitefinity they will only see that node in the treeview and any additional nodes they have permissions to edit as well.... all the rest will not appear in the admin treeview even though they can see it on the live site.  I think this is what you are looking for.

    Use additional page urls if you need to achieve any tricky navigation.

    If you have to put the schools in a sub directory like /schools/schoolname then setting the permissions correctly should give your users the same "filtered" exprience.

    I am big proponent of having categories on the Image/Documents library so that libraries can easily be categorized. Apparently with SP1 this can now be achieved.

    In my opinion the images and docs module needs to filter by at least tags in it's document list views otherwise there will be the need  for hundreds of groups and then need for multiple copies of docs across multiple groups. They strange thing is that the content view has the ability to filter by tags but the docs list can't even though it is built on the content view???? Strange decision there.  

    Even with docs and images separate providers for each school there could be then need for lots of docs lists which means you have to have a group for each individual list and if your doc appears in 2 different lists then you have to put the same doc in 2 groups... yucky.

    I have no answer for you on that one and like I said I have made my arguement to Telerik on this issue....

    I hope this helps you,

    Thanks

    Seth
  4. Georgi
    Georgi avatar
    3583 posts
    Registered:
    28 Oct 2016
    10 Apr 2008
    Link to this post
    Hi Set,

    I am big proponent of having categories on the Image/Documents library so that libraries can easily be categorized. Apparently with SP1 this can now be achieved.

    Here's the KB that will help you to do this: How to enable the categories for Images and Documents.

    All the best,
    Georgi
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center
Register for webinar
4 posts, 0 answered