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, 20. Dezember 2010
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.
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.
<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");
}
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;
}
}
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
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.
}
}
}
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.
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/
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/
Abonnieren
Posts (Atom)