<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>MOSS Object Model</title>
        <link>http://geekswithblogs.net/madhawa/category/10485.aspx</link>
        <description>MOSS Object Model</description>
        <language>en-US</language>
        <copyright>Madhawa Karunaratne</copyright>
        <managingEditor>madhawa@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Add Permission Level to a Sharepoint user group collection</title>
            <link>http://geekswithblogs.net/madhawa/archive/2009/08/17/134159.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// &lt;span class="Apple-style-span" style="WORD-SPACING: 0px; FONT: 16px 'Times New Roman'; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"&gt;&lt;span class="Apple-style-span" style="FONT-SIZE: 13px; FONT-FAMILY: Arial; WHITE-SPACE: pre"&gt;Add Permission Level to a Sharepoint user group collection&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;font face="Arial"&gt;        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name="spWeb"&amp;gt;The sp web.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name="permissionName"&amp;gt;Name of the permission.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name="groupCollection"&amp;gt;The group collection.&amp;lt;/param&amp;gt;&lt;br /&gt;
        public static void AddPermissionsToGroupCollection(SPWeb spWeb, string permissionName, string[] groupCollection)&lt;br /&gt;
        {&lt;br /&gt;
            SPSecurity.RunWithElevatedPrivileges(delegate&lt;br /&gt;
            {&lt;br /&gt;
                try&lt;br /&gt;
                {&lt;br /&gt;
                    //Allow updating of some sharepoint lists, (here spUsers, spGroups etc...)&lt;br /&gt;
                    spWeb.AllowUnsafeUpdates = true;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                    SPRoleDefinition roleDefinition = spWeb.RoleDefinitions[permissionName];&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                    foreach (string group in groupCollection)&lt;br /&gt;
                    {&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                        SPGroup spGroup = spWeb.Groups[group];&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                        SPRoleAssignment roleAssignment = new SPRoleAssignment(spGroup);&lt;br /&gt;
                        SPRoleDefinitionBindingCollection roleDefBindings = roleAssignment.RoleDefinitionBindings;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                        roleDefBindings.Add(roleDefinition);&lt;br /&gt;
                        spWeb.RoleAssignments.Add(roleAssignment);&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                        roleDefinition.Update();&lt;br /&gt;
                    }&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                }&lt;br /&gt;
                catch (Exception ex)&lt;br /&gt;
                {&lt;br /&gt;
                    //Error handling logic should go here&lt;br /&gt;
                    throw ex;&lt;br /&gt;
                }&lt;br /&gt;
                finally&lt;br /&gt;
                {&lt;br /&gt;
                    spWeb.AllowUnsafeUpdates = false;&lt;br /&gt;
                }&lt;/font&gt;&lt;font face="Arial"&gt;&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Ok this is it. &lt;/p&gt;
&lt;p&gt;Well... I called above method from "&lt;font face="Arial"&gt;FeatureActivated" &lt;/font&gt;event of a feature. For "&lt;font face="Arial"&gt;FeatureDeactivating" &lt;/font&gt;event I tried to achieve the contrary to this, delete a permission level from a user group. But didn't succeed. :( &lt;/p&gt;
&lt;p&gt;If you have any idea pls let us know.Thanks in advance.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134159"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134159" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/madhawa/aggbug/134159.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Madhawa Karunaratne</dc:creator>
            <guid>http://geekswithblogs.net/madhawa/archive/2009/08/17/134159.aspx</guid>
            <pubDate>Tue, 18 Aug 2009 04:06:21 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/madhawa/comments/134159.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/madhawa/archive/2009/08/17/134159.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/madhawa/comments/commentRss/134159.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/madhawa/services/trackbacks/134159.aspx</trackback:ping>
        </item>
        <item>
            <title>Get value collection of a SharePoint Choice Field</title>
            <link>http://geekswithblogs.net/madhawa/archive/2009/08/01/133849.aspx</link>
            <description>&lt;p&gt;&lt;font face=""&gt; public static List&amp;lt;string&amp;gt; GetChoiceFieldValues(string listName,string fieldName, string siteCollection, string webSite)&lt;br /&gt;
        {&lt;br /&gt;
            List&amp;lt;string&amp;gt; fieldList;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;            SPSite spSite = null;&lt;br /&gt;
            SPWeb spWeb = null;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;            try&lt;br /&gt;
            {&lt;br /&gt;
                if (siteCollection != null)&lt;br /&gt;
                    spSite = new SPSite(siteCollection);&lt;br /&gt;
                else&lt;br /&gt;
                    spSite = SPContext.Current.Site;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;                if (webSite != null)&lt;br /&gt;
                    spWeb = spSite.OpenWeb(webSite);&lt;br /&gt;
                else&lt;br /&gt;
                    spWeb = spSite.OpenWeb();&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;                SPList spList = spWeb.Lists[listName];&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;                SPFieldChoice field = (SPFieldChoice)spList.Fields[fieldName];&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;                fieldList = new List&amp;lt;string&amp;gt;();&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;                foreach (string str in field.Choices)&lt;br /&gt;
                {&lt;br /&gt;
                    fieldList.Add(str);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            catch (Exception ex)&lt;br /&gt;
            {&lt;br /&gt;
                LogException(ex);&lt;br /&gt;
                throw;&lt;br /&gt;
            }&lt;br /&gt;
            finally&lt;br /&gt;
            {&lt;br /&gt;
                if(spWeb != null)&lt;br /&gt;
                    spWeb.Close();&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;                if(spSite != null)&lt;br /&gt;
                    spSite.Close();&lt;br /&gt;
            }&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;            return fieldList;&lt;br /&gt;
        }&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133849"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133849" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/madhawa/aggbug/133849.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Madhawa Karunaratne</dc:creator>
            <guid>http://geekswithblogs.net/madhawa/archive/2009/08/01/133849.aspx</guid>
            <pubDate>Sat, 01 Aug 2009 09:01:40 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/madhawa/comments/133849.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/madhawa/archive/2009/08/01/133849.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/madhawa/comments/commentRss/133849.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/madhawa/services/trackbacks/133849.aspx</trackback:ping>
        </item>
        <item>
            <title>Add a user programmatically to a User Group in SharePoint</title>
            <link>http://geekswithblogs.net/madhawa/archive/2008/11/18/127171.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Add a user to a Sharepoint group&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name="userLoginName"&amp;gt;Login name of the user to add&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name="userGroupName"&amp;gt;Group name to add&amp;lt;/param&amp;gt;&lt;br /&gt;
        private void AddUserToAGroup(string userLoginName, string userGroupName)&lt;br /&gt;
        {&lt;br /&gt;
            &lt;strong&gt;//Executes this method with Full Control rights even if the user does not otherwise have Full Control&lt;/strong&gt;&lt;br /&gt;
            SPSecurity.RunWithElevatedPrivileges(delegate&lt;br /&gt;
            {&lt;br /&gt;
               &lt;strong&gt; //Don't use context to create the spSite object since it won't create the object with elevated privileges but with the privileges of the user who execute the this code, which may casues an exception&lt;br /&gt;
&lt;/strong&gt;                using (SPSite spSite = new SPSite(Page.Request.Url.ToString()))&lt;br /&gt;
                {&lt;br /&gt;
                    using (SPWeb spWeb = spSite.OpenWeb())&lt;br /&gt;
                    {&lt;br /&gt;
                        try&lt;br /&gt;
                        {&lt;br /&gt;
                          &lt;strong&gt;  //Allow updating of some sharepoint lists, (here spUsers, spGroups etc...)&lt;br /&gt;
&lt;/strong&gt;                            spWeb.AllowUnsafeUpdates = true;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                            SPUser spUser = spWeb.EnsureUser(userLoginName);&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                            if (spUser != null)&lt;br /&gt;
                            {&lt;br /&gt;
                                SPGroup spGroup = spWeb.Groups[userGroupName];&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                                if (spGroup != null)&lt;br /&gt;
                                    spGroup.AddUser(spUser);&lt;br /&gt;
                            }&lt;br /&gt;
                        }&lt;br /&gt;
                        catch (Exception ex)&lt;br /&gt;
                        {&lt;br /&gt;
                            //Error handling logic should go here&lt;br /&gt;
                        }&lt;br /&gt;
                        finally&lt;br /&gt;
                        {&lt;br /&gt;
                            spWeb.AllowUnsafeUpdates = false;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;            });&lt;br /&gt;
        }&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Here in this method you have to set "&lt;font face="Arial"&gt;spWeb.AllowUnsafeUpdates = true" to allow updating some sharepoint lists. &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127171"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127171" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/madhawa/aggbug/127171.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Madhawa Karunaratne</dc:creator>
            <guid>http://geekswithblogs.net/madhawa/archive/2008/11/18/127171.aspx</guid>
            <pubDate>Tue, 18 Nov 2008 12:47:11 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/madhawa/comments/127171.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/madhawa/archive/2008/11/18/127171.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/madhawa/comments/commentRss/127171.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/madhawa/services/trackbacks/127171.aspx</trackback:ping>
        </item>
    </channel>
</rss>