Wird auf einem SPWeb-Objekt die Methode BreakRoleInheritance aufgerufen wird der Wert der Property AllowUnsafeUpdates auf false gesetzt.
web.AllowUnsafeUpdates = true;
web.BreakRoleInheritance(false);
web.AllowUnsafeUpdates = true;
Weitere Infos zu AllowUnsafeUpdates unter:
http://hristopavlov.wordpress.com/2008/05/16/what-you-need-to-know-about-allowunsafeupdates/
Montag, 28. November 2011
Freitag, 25. November 2011
Custom WebPart zu einer WebPartpage hinzufügen
Um ein Custom WebPart zu einer Page hinzuzufügen benötigt man eine Instanz der spezifischen WebPart-Klasse. Steht einem In dem Moment keine Referenz zu entsprechenden Assembly zur Verfügung kann man sich mit Hilfe eines ObjectHandle eine Instanz erzeugen.
Dazu benötigt man den Klassennamen und den kompletten Assembly-Namen
Die Werte für typeName und Assembly können auch über eine Query auf die WebPartGallery ermittelt werden
Dazu benötigt man den Klassennamen und den kompletten Assembly-Namen
String typeName = "Klassenname";
String assemblyName = "Assembly Name");
ObjectHandle webPartHandle = Activator.CreateInstance(assemblyName, typeName);
WebPart webPart = (WebPart)webPartHandle.Unwrap();
webParts[0].GetFormattedValue("WebPartTypeName")
Die Werte für typeName und Assembly können auch über eine Query auf die WebPartGallery ermittelt werden
SPQuery query = new SPQuery();
query.Query = string.Format("{0}", webpartname);
SPList webPartGallery = this.site.RootWeb.GetCatalog(SPListTemplateType.WebPartCatalog);
SPListItemCollection webParts = webPartGallery.GetItems(query);
String typeName =webParts[0].GetFormattedValue("WebPartTypeName");
String assemblyName = webParts[0].GetFormattedValue("WebPartAssembly");
Montag, 21. November 2011
WebPart Audience
Der string für WebPart.AuthorizationFilter setzt sich wie folgt zusammen:
string[] globalAudienceIDs = new string[] {"e4687e64-c9d8-4860-bbc3-ec036bf9915d"};
string[] dlDistinguishedNames = new string[] {"cn=group1,cn=users,dc=spdev,dc=com", "cn=group2,cn=users,dc=spdev,dc=com"};
string[] sharePointGroupNames = new string[] {"Demo Members", "Demo Owners"};
string result = string.Format("{0};;{1};;{2}",
string.Join(",", globalAudienceIDs),
string.Join("\n", dlDistinguishedNames),
string.Join(",", sharePointGroupNames));
d.h. soll eine Sharepoint Gruppe hinzugefügt werden sieht der string wie folgt aus :
";;;;Gruppenname" bzw.
";;;;Gruppenname1, Gruppenname2"
von
Lapointe Blog -Eintrag
Dienstag, 8. November 2011
Montag, 7. November 2011
Thmxtheme.ApplyTo und SPContext
Sharepoint 2010 Themes können über das ObjectModel nur innerhalb der SiteCollection aktiviert werden, auf die sich der aktuelle SPContext bezieht.
Die sicherste Methode ist das Theme über einen Web-EventReciever der auf WebProvisioned reagiert zu setzen. Alle anderen Versuche haben immer wieder zu Problemen geführt.
Siehe auch
http://sadomovalex.blogspot.com/2010/08/fix-security-validation-for-this-page.html
Die sicherste Methode ist das Theme über einen Web-EventReciever der auf WebProvisioned reagiert zu setzen. Alle anderen Versuche haben immer wieder zu Problemen geführt.
Siehe auch
http://sadomovalex.blogspot.com/2010/08/fix-security-validation-for-this-page.html
Implement IDisposable Correctly
http://msdn.microsoft.com/en-us/library/ms244737(v=vs.80).aspx
public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } // NOTE: Leave out the finalizer altogether if this class doesn't // own unmanaged resources itself, but leave the other methods // exactly as they are. ~Resource() { // Finalizer calls Dispose(false) Dispose(false); } // The bulk of the clean-up code is implemented in Dispose(bool) protected virtual void Dispose(bool disposing) { if (disposing) { // free managed resources if (managedResource != null) { managedResource.Dispose(); managedResource = null; } } }
MeetingWorkspace in Calendar verstecken
Setzt man das Feld WorkspaceLink eines Kalenders auf hidden kann auch für diesen Kalender kein Meetingworkspace angelegt werden.
var list = web.Lists["Events"];
var field = list.Fields[SPBuiltInFieldId.WorkspaceLink];
field.Hidden = true;
field.Update();
Gefunden auf
http://www.sharepointblues.com/2010/04/26/how-to-remove-workspace-link-from-a-calendar/
var list = web.Lists["Events"];
var field = list.Fields[SPBuiltInFieldId.WorkspaceLink];
field.Hidden = true;
field.Update();
Gefunden auf
http://www.sharepointblues.com/2010/04/26/how-to-remove-workspace-link-from-a-calendar/
Adding a Taxonomy Field
TermStore termStore = session.DefaultKeywordsTermStore;
Group group = termStore.GetSiteCollectionGroup(this.site);
TermSet termset = group.TermSets[0];
TaxonomyField field = (TaxonomyField)list.Fields.CreateNewField("TaxonomyFieldType", name);
field.Required = required;
field.Description = description;
field.SspId = termStore.Id;
field.TermSetId = termSet.Id;
field.AllowMultipleValues = allowsMultiple;
field.EnforceUniqueValues = enforceUniqueValues;
field.IsPathRendered = renderpath;
// field must be indexed to enfoce unique values!
field.Indexed = enforceUniqueValues;
Term anchor = termSet.GetTermByPath(anchorPath);
field.AnchorId = anchor.Id;
field.NoCrawl = noCrawl;
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.taxonomy.taxonomysession.aspx
http://www.communardo.de/home/techblog/2011/10/18/sharepoint-2010-der-termstore-und-der-priviligierte-nutzer/
Was wird durch die folgende Methode veranlasst?
Möglicher Fix für Probleme nach Content Deployment
// Resync the taxonomy hidden list to make sure it is update-to-date
TaxonomySession.SyncHiddenList(site);
DisplaceOnUpgrade
Optional Boolean. If a field definition already exists for the field, TRUE to force updates to field properties with the values that are specified in this field definition.
http://www.sharepointconfig.com/2011/03/the-complete-guide-to-provisioning-sharepoint-2010-managed-metadata-fields/
Group group = termStore.GetSiteCollectionGroup(this.site);
TermSet termset = group.TermSets[0];
TaxonomyField field = (TaxonomyField)list.Fields.CreateNewField("TaxonomyFieldType", name);
field.Required = required;
field.Description = description;
field.SspId = termStore.Id;
field.TermSetId = termSet.Id;
field.AllowMultipleValues = allowsMultiple;
field.EnforceUniqueValues = enforceUniqueValues;
field.IsPathRendered = renderpath;
// field must be indexed to enfoce unique values!
field.Indexed = enforceUniqueValues;
Term anchor = termSet.GetTermByPath(anchorPath);
field.AnchorId = anchor.Id;
field.NoCrawl = noCrawl;
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.taxonomy.taxonomysession.aspx
http://www.communardo.de/home/techblog/2011/10/18/sharepoint-2010-der-termstore-und-der-priviligierte-nutzer/
Was wird durch die folgende Methode veranlasst?
Möglicher Fix für Probleme nach Content Deployment
// Resync the taxonomy hidden list to make sure it is update-to-date
TaxonomySession.SyncHiddenList(site);
DisplaceOnUpgrade
Optional Boolean. If a field definition already exists for the field, TRUE to force updates to field properties with the values that are specified in this field definition.
http://www.sharepointconfig.com/2011/03/the-complete-guide-to-provisioning-sharepoint-2010-managed-metadata-fields/
Labels:
2010,
ListView,
Managed Meta Data; Taxonomy,
Sharepoint
the default termstore for site cannot be identified
Wird beim Versuch den SiteCollecttion Termstore zu aktivieren die Fehlermeldung
"the default termstore for site cannot be identified" angezeigt, muss in der Central Administration für die Managed Meta Data Service Application die entsprechende Property gesetzt warden.
Wird unter den folgenden URLs genauer beschrieben
http://www.sharepointfabian.com/blog/Lists/Posts/Post.aspx?ID=186
http://www.bfcnetworks.com/the-default-termstore-for-this-site-cannot-be-identified/
"the default termstore for site cannot be identified" angezeigt, muss in der Central Administration für die Managed Meta Data Service Application die entsprechende Property gesetzt warden.
Wird unter den folgenden URLs genauer beschrieben
http://www.sharepointfabian.com/blog/Lists/Posts/Post.aspx?ID=186
http://www.bfcnetworks.com/the-default-termstore-for-this-site-cannot-be-identified/
Abonnieren
Posts (Atom)