Skip to main content

Custom sharepoint group through feature in SharePoint2010

Through this article I am demonstrating how to create groups once you activate the feature.
Below are the steps:
Step 1: Create a new sharepoint solution using VS2010.Set you feature scope as "Web".
Step 2: Right Click on feature,Add FeatureEventreciever.cs.
Step 3: Add the below code in FeatureEventreciever.cs class


For Creating group:
/// <summary>
/// Create group
/// </summary>
public static void CreateSubSiteGroup(SPWeb web, string groupName, string PermissionLevel, string groupDescription)
        {
            SPUserCollection users = web.AllUsers;
            SPUser owner = web.SiteAdministrators[0];
            SPMember member = web.SiteAdministrators[0];
            SPGroupCollection groups = web.SiteGroups;
            groups.Add(groupName, member, owner, groupDescription);
            SPGroup newSPGroup = groups[groupName];
            SPRoleDefinition role = web.RoleDefinitions[PermissionLevel];
            SPRoleAssignment roleAssignment = new SPRoleAssignment(newSPGroup);
            roleAssignment.RoleDefinitionBindings.Add(role);
            web.RoleAssignments.Add(roleAssignment);
            web.Update();

        }
For Deleting Group:
/// <summary>
/// Delete group for subsite
/// </summary>
public static void DeleteSubSiteGroup(SPWeb web, string groupName)
        {
            SPGroupCollection groups = web.SiteGroups;
            groups.Remove(groupName);
            web.Update();

        }
Step 4: Add the below code
string groupName = "Custom Group";

/// <summary>
/// Method to Attach Event receiver on feature activation.
/// </summary>
/// <param name="properties">SPFeatureReceiverProperties Properties</param>
///
public static void FeatureActivated(SPFeatureReceiverProperties properties)
        {
string groupDescription = "My Custom Group";
try
            {
using (SPWeb web = properties.Feature.Parent as SPWeb)
                {
                    CreateSubSiteGroup(web, groupName, premissionLevel, groupDescription);
                }

            }
catch (Exception ex)
            {
                ex.Message;
            }
        }
/// <summary>
/// Method to Remove Event receiver on feature deactivation.
/// </summary>
/// <param name="properties">SPFeatureReceiverProperties Properties</param>
public static void FeatureDeactivating(SPFeatureReceiverProperties properties)
        {
try
            {
using (SPWeb web = properties.Feature.Parent as SPWeb)
                {
                    DeleteSubSiteGroup(web, groupName);
                }
            }
catch (Exception ex)
            {
                ex.Message;
            }
        }
Step 5: That's it. Deploy this in your server.
Now its ready. Please let me know if you have any doubt or need clarification.

Comments

  1. hi
    i want to create multiple groups in one feature, would please tell me.
    Thanks

    ReplyDelete
    Replies
    1. Hi,
      Use this method for group creation:
      CreateSubSiteGroup(web, groupName, premissionLevel, groupDescription);
      It upto you that how many groupName you are passing.On feature activationmcall this method with groupName for group creation.

      Please let me know if you have any issue.

      Thanks
      Ravi

      Delete

Post a Comment

Popular posts from this blog

Create Custom hit counter in SharePoint2010 using Sandbox Solution

In this blog I am going to demonstrate how to create Hit counter for SharePoint site with user details using sandbox solution. I took reference from codeplex code(http://hitcounter.codeplex.com) which is sharepoint2007. I modified his sample and tried make it simple and easy for you. Once you understand the way I created then its very simple for you to make any further modification depends on your requirement.
This solution will be very useful when you need detail about the person who visit this page and also about the number of time page view with page detail. I created this solution that will make your work easy. It's very simple where you don't need to do anything except deploying the feature and adding the web part into you master page or layout page in sharepoint2010.
Below is the screenshot that will display the how it looks like:

Create a Web Part Page with a Web Part in Sharepoint 2010

Source code from codeplex
In this blog I am going to explain how to create a web part page along with a web part. After using this feature, we just need to activate the feature; the rest will complete automatically.
Steps for creating the functionality:
Step 1: Create a project with Farm-Based solution:

Step 2: Add a new item as webpart:

Step 3: Add feature event receiver class, your solution should look like the following:

Step 4: Add your logic to the web part:
01
[ToolboxItemAttribute(false)]
02
publicclassCustomWebPart : WebPart
03
{
04
protectedoverridevoidCreateChildControls()
05
{
06
LiteralControl lt = newLiteralControl();
07
lt.Text = "This webpart automatically added with page";
08
this.Controls.Add(lt);
09
}
10
}
Step 5: You need to provide logic in the feature Reciever class. Find the attached file to see the source code.
Step 6: Build, deploy and activate the feature.
Step 7: Go to Page library (Site Action->View All Pages->Pages).

We can see the code is working fine. The next step…

Step by step BCS in SharePoint2010

Hi friends,
Through this blog I am going to share the e-Book on BCS in Sharepoint2010 which guide you in development for Business Connectivity Service in sharepoint2010.This books contains everything about BCS  with screens and real scenerio examples. Vijai Anand (Author of this e-book) have covered all possibles scenerio which required for BCS.

Below are the Contents in this e-book:

1 Business data connectivity services: an overview

2 Configure business data connectivity services
3 Configure BCS service application association