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

Dienstag, 30. November 2010

Überpüfen, ob ein Feature aktiviert ist?

Ab und zu kommt es vor, dass man überprüfen muss, ob ein Feature aktiviert ist. Mit diesem Codesnippet ist dies möglich:

using (SPSite site = new SPSite("http//servername")
{
           using( SPWeb web = site.OpenWeb())
          {

                 SPFeatureCollection featureCollection = web.Features;
                 Guid guid = new Guid("1e251818-492e-4ba2-88a3-07c7d5180428");

                 if (featureCollection[guid] == null)
                {
                      //Feature ist nicht aktiviert.
                }
           }
}
                     

Samstag, 20. November 2010

Übersicht Sharepoint 2010 Templates

Eine gute Übersicht über die Sitetemplates (neue und nicht mehr vorhandene) im Sharepoint 2010 findet man unter dem Blog.

http://www.toddbaginski.com/blog/archive/2009/11/20/which-sharepoint-2010-site-template-is-right-for-me.aspx

Hier findet man weitere Details über die Sitetemplates wie z.B. die Kürzel  für die TeamSite usw.

Freitag, 19. November 2010

Error: The provided location does not correspond to a form templated that can be browser-enabled.

Beim Publishen eines Reusable Workflows aus dem SharePoint Designer 2010 bekam ich folgende Fehlermeldung:

 Problem bei dieser Art von Fehlermeldung war, das die Dateiendung Xsn vom Virenscanner am Server herausgefilter wurde. Durch das Entfernen dieser Endung aus der Filterung des Servervirenscanners kann Problem behoben werden.
Weiter Infos findet man unter http://support.microsoft.com/kb/928169/

Start meines Blogs.

Nun ist es endlich soweit. Mein Blog ist online. ;-)