Montag, 20. Dezember 2010

Neuer SPDispose Checker

Seit 13.12.2010 gibt es einen neuen SPDispose Checker.
Dieser kann unter dem Link http://code.msdn.microsoft.com/SPDisposeCheck downgeloaded werden.

Der neue SPDispose Checker enthält zusätzliche Prüfroutinen und ist jetzt auch als Add-In für Visual Studio 2008 /2010 verfügbar.

Montag, 13. Dezember 2010

Kostenlose E-books

Aktuell werden einige kostenlose E-books von Microsoft herausgegeben.
Also schnell zugreifen, allzu lange sind diese nicht verfügbar.

Programming Windows Phone 7:
http://www.charlespetzold.com/phone/

Zeitmanagement mit Microsoft Office Outlook
http://zeit.microsoft-press.de/

Office 2010 und SharePoint
http://advent.microsoft-press.de/

Viel Spaß damit.

Dienstag, 7. Dezember 2010

Selektieren des "All Users" oder "SharePoint-Groups" Bereichs bei Field Type="User"

Über folgende Einstellung in CAML kann man die entsprechenden Einträge "Alle Benutzer" oder "SharePoint-Gruppe" markieren.



















<Field Type="User"
       List="UserInfo"
       Name="Teilnehmer"
       UserSelectionScope="0"/>

UserSelectionScope="0" selektiert den Wert auf "Alle Benutzer".

UserSelectionScope=1, 2 usw. legt die Selektion für die Einträge im Bereich "Sharepoint-Gruppe" fest.

Montag, 6. Dezember 2010

Erstellung einer SharePoint WebSite programmatisch.

Dieses Codesnippet erzeugt einen Website unter einer Sitecollection. Dieser Code wird in einem Feature ausgeführt.


try
{
   using (SPSite currentSiteCollection = properties.Feature.Parent as SPSite)
   {
       if(currentSiteCollection != null)
       {
          if(! Web.WebExists(currentSiteCollection,"Administration"))
          {
              string sitecollectionUrl = "admin";
              SPWebTemplate webTemplate = currentSiteCollection.GetWebTemplates(1033)["STS#1"]; //STS#1 = Blank Site
              bool isCreatedSuccesfully = Web.CreateNewSPWeb(currentSiteCollection, sitecollectionUrl, "Administration", "Administration area", 1033, webTemplate, false, false);
          }
       }
    }
}
catch (Exception ex)
{
    //Log Error and than
    SPUtility.TransferToErrorPage("Error create admin site for the application");
}

Sonntag, 5. Dezember 2010

Hinzufügen und Entfernen von Berechtigungen in Permissionsets.

Um spezielle Berechtigungen im SharePoint abzubilden können Permissionsets erstellt werden. Wie man für diese Permissionsets Berechtigungen entfernt oder hibzufügt, zeigen folgende Codesnippets.

In diesem Beispiel wird DeleteListItem und CreateAlert vom Permissionset entfernt:

         private void RemovePermissions(SPWeb web, string rolename)
        {
            try
            {
                SPRoleDefinition roleDefinition = web.RoleDefinitions[rolename];
                roleDefinition.BasePermissions &= ~(SPBasePermissions.DeleteListItems | SPBasePermissions.CreateAlerts);               
                roleDefinition.Update();
            }
            catch (Exception ex)
            {
                Logger.WriteLog(ex);
                throw;
            }
         }


Hinzufügen von DeleteListItems, CreateAlerts und AddListItems Berechtigungen:

         private void AddPermissions(SPWeb web, string rolename)
        {
            try
            {
                SPRoleDefinition roleDefinition = web.RoleDefinitions[rolename];
                roleDefinition.BasePermissions |= SPBasePermissions.DeleteListItems | SPBasePermissions.CreateAlerts | SPBasePermissions.AddListItems;
                roleDefinition.Update();

            }
            catch (Exception ex)
            {
                Logger.WriteLog(ex);
                throw;
             }
          }

Best Pratices in der Sharepoint Entwicklung

Unter diesen Links findet man hilfreiche Informationen für die SharePoint Entwicklung. Wann und wie sollte ich Dispose einsetzen und wie entwickelt man eigentlich effektiv unter SharePoint.

http://msdn.microsoft.com/en-us/library/bb687949.aspx

http://msdn.microsoft.com/en-us/library/aa973248.aspx

http://msdn.microsoft.com/en-us/library/dd203468.aspx