SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Eigenschaften lassen sich in neuen Bibliotheken nach Migration nicht mehr bearbeiten

Unbeantwortet Dieser Beitrag hat 7 Antworten

Ohne Rang
8 Beiträge
suro22 erstellt 20 Juli 2009 16:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Im Zuge unserer EDV-Umstellung (unter anderem auch Domänenwechsel) wurde unser WSS 3.0 auch migriert:

Altes System: WSS 3.0 auf Windows 2003 und SQL 2000
neues System: WSS 3.0 auf Windows 2008 64-bit und SQL 2008

Migration wurde mit stsadm -export und -import durchgeführt. Benutzerlogins wurden nicht übernommen.

Nun haben wir leider folgendes Phänomen:

In einer neu erstellen Dokumentenbibliothek darf man Dokumente hochladen und sogar auch löschen. Allerdings ist kein User (nicht mal der Websitesammlungs-Administrator) dazu berechtigt, die Dokumenteneigenschaften zu verändern.
Dies passiert allerdings nur in neu erstellten Bibliotheken. In Bibliotheken, die es schon am alten System gegeben hat, funktioniert alles einwandfrei.

Hat jemand eine Idee, woran das liegen könnte?

Alle Antworten

Ohne Rang
601 Beiträge
Daniel Drinhausen Als Antwort am 20 Juli 2009 20:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

 

Hi,

ja, wir hatten genau das selbe Problem, mit diversen anderen Problemen. Werde über all diese Themen die nächsten Tage auch noch mal bloggen, da dir das jetzt nicht hilft, hier die Lösung:

Ich copy und paste mal aus meinem Bericht, für den Blog wird das noch umformuliert:

b. Dokumenteneigenschaften einer Datei innerhalb einer neuen Dokumentenbibliothek

Der nächste Fehler trat auf sobald eine neue Dokumentenbibliothek erstellt worden ist, dort ein Dokument hochgeladen wurde und im Anschluss versucht wurde die Dokumenteneigenschaften zu bearbeiten. Selbst der Farmadministrator durfte augenscheinlich diese Änderung nicht durchführen.

Mehrere Internetergebnisse wiesen auf eine Installation von Hotfixes aus dem Monat Februar diesen Jahres, da das SP2 aber im Mai erschienen ist und kumulativ ist sollten sich diese Hotfixes eigentlich schon auf unserem Server befinden. Resultat war ein geöffneter Microsoft Case, das Resultat nach einer Woche sind zwei verschiedene Skripte die zum einen bereits „defekte“ Bibliotheken wieder reparieren und zum anderen das Problem bei Neuerstellung unterbinden, hier die Skripte:

-       Der erste Abschnitt sorgt dafür das neu erstellte Listen kein Problem mehr darstellen.

-       Der zweite Abschnitt sorgt dafür das bereits erstellte Listen kein Problem mehr darstellen.

 


While the above fix prevents the issue. If you find a list that is broken the
follow code needs to be edited and ran at the site collection level to prevent any
new lists on the site having the problem:

void FixWebField()
{
string RenderXMLPattenAttribute = "RenderXMLUsingPattern";
string weburl = "<<http://localhost/>>";

SPSite site = new SPSite(weburl);
SPWeb web = site.OpenWeb();
SPField f = web.Fields.GetFieldByInternalName("PermMask");
string s = f.SchemaXml;
Console.WriteLine("schemaXml before: " + s);
XmlDocument xd = new XmlDocument();
xd.LoadXml(s);
XmlElement xe = xd.DocumentElement;
if (xe.Attributes[RenderXMLPattenAttribute] == null)
{
XmlAttribute attr = xd.CreateAttribute(RenderXMLPattenAttribute);
attr.Value = "TRUE";
xe.Attributes.Append(attr);
}
string strXml = xe.OuterXml;
Console.WriteLine("schemaXml after: " + strXml);
f.SchemaXml = strXml;
}

 


Then edit the following code and target you broken list(s) it should correct the
targeted list to no longer have the access denied error message.

void FixField()
{
string RenderXMLPattenAttribute = "RenderXMLUsingPattern";
string weburl = "<<http://localhost/>>";
string listName = "test2";

SPSite site = new SPSite(weburl);
SPWeb web = site.OpenWeb();
SPList list = web.Lists[listName];
SPField f = list.Fields.GetFieldByInternalName("PermMask");
string s = f.SchemaXml;
Console.WriteLine("schemaXml before: " + s);
XmlDocument xd = new XmlDocument();
xd.LoadXml(s);
XmlElement xe = xd.DocumentElement;
if (xe.Attributes[RenderXMLPattenAttribute] == null)
{
XmlAttribute attr = xd.CreateAttribute(RenderXMLPattenAttribute);
attr.Value = "TRUE";
xe.Attributes.Append(attr);
}
string strXml = xe.OuterXml;
Console.WriteLine("schemaXml after: " + strXml);
f.SchemaXml = strXml;
}

Summa Sumarum:

Service Pack 2 installieren, falls das schon installiert worden ist die oben angegebenen Scripte verwenden um das Problem a) für zukünftige Bibliotheken zu beheben und b) für bereits "defekte" Bibliotheken anzuwenden.

Viele Grüße

Daniel Drinhausen

Mein Blog: Sharepointers.de

Ohne Rang
8 Beiträge
suro22 Als Antwort am 21 Juli 2009 08:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo!

Danke für die rasche und vor allem hilfreiche Antwort! Ich habe vorher viel gegoogelt und auch mit einigen Experten gesprochen, denen war das Problem aber allen nicht bekannt.

Das Service Pack 2 ist bei uns schon installiert - das hilft also nichts.

Wie und wo spiele ich den diese 2 Scripts am besten ein?

Ohne Rang
601 Beiträge
Daniel Drinhausen Als Antwort am 21 Juli 2009 09:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

entweder die falschen Experten oder aber, was wahrscheinlicher ist, es liegt daran das dieses Problem nicht so oft auftritt sondern nur in wenigen Fällen.

Diese Scripte am besten mit Visual Studio mal bauen und dann direkt auf dem Server ausführen, hast du irgendendjemanden da der entwickelt? Der weiß damit was anzufangen! :-)

Viele Grüße

Daniel Drinhausen

Mein Blog: Sharepointers.de

Ohne Rang
8 Beiträge
suro22 Als Antwort am 22 Juli 2009 11:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe leider niemanden, der sich mit WSS Programmierung auskennt. Meine Visual Studio Kenntnisse beschränken sich auf normale ASP.NET Websiteprogrammierung.

Kannst du mir bitte eine kurze Anleitung geben, wie ich dieses Script einspielen kann?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 22 Juli 2009 11:34
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Erstelle ein neues Projekt vom Typ C# Konsolenanwendung und kopiere den Code in die Klasse Program. Rufe die gewünschten Funktionen in void Main() auf. Nicht vergessen die URL anzupassen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
126 Beiträge
funzel Als Antwort am 15 Aug. 2009 12:34
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo ,

 

wir haben den Fehler auch nach restore auf test system und export/import (2007 cumm patch October), wenn man googel scheinen viele das Problem m zu haben. Sich selber ein V. Studio package als Lösung zu bauen als Lösung ist ganz schön schlecht als Support Lösung.

Das Sp2 das Problem nicht fixt kam auch schon aus vielen Bereichen zurück.

 

Gruß

 

Ohne Rang
126 Beiträge
funzel Als Antwort am 15 Aug. 2009 12:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

http://support.microsoft.com/kb/971351/