Fragensteller
Problem mit dem Uploadformular einer Dokumentenbibliothek

Frage
-
Ich habe eine Dokumentenbibliothek, in dieser habe ich einige zusätzliche Spalten erstellt (diese Felder sind Erforderlich).
Wenn man nun in diese Bibliothek ein Dokument hinzufügt, wählt man normal zuerst das Dokument aus und im folgenden Fenster/Formular konnte man bisher die vorhandenen Spalten befüllen. Nun sind hier aber die zusätzlich erstellten nicht mehr sichtbar, sondern nur noch die Felder "Name" und "Titel".
Bei einer anderen Dokumentenbibliothek welche gleich aufgebaut ist, funktioniert das Ganze einwandfrei.
Ich habe schon die Bibliothekseinstellung gegengeprüft, konnte aber nichts finden...Hat jemand evtl. eine Idee was oder wo das Problem ist?
Danke & Gruss
Daniel
Alle Antworten
-
Hallo Daniel,
du kannst folgende Eigenschaft der Spalte über das OM mithilfe von PS überprüfen:
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfield.showinnewform
Der Code wurde so etwa aussehen:
$web = Get-SPWeb "<URL deiner Website>" $list = $web.Lists.TryGetList("<Name deiner Bibliothek>") if($list) { $field = $list.Fields.GetField("<Anzeigename der Spalte>") if($field) { $field.ShowInEditForm } else { Write-Host "Spalte nicht gefunden" } } else { Write-Host "Liste nicht gefunden" } $web.Dispose()
Wenn False oder nichts zurück kommen sollte, kannst folgende Zeilen im Skript integrieren um den Wert zu setzen
$field.ShowInEditForm = $true $field.Update()
VG,
Andrei- Bearbeitet Andrei Talmaciu Mittwoch, 20. Juni 2012 09:39
-
Hallo Andrei
Danke für den PS-Code.
Hab diesen für mein Anliegen umgeschrieben und das Ganze getestet, aber ich kriege bei beiden Spalten ein True zurück.Anbei noch ein Printscreen wie das Ganze bei mir ausschaut.
Wenn ich in der Bibliothek ein neues Dokument hochlade, bzw. bei einem bestehenden die Eigenschaften anpassen möchte fehlt bei mir beim Edit-Formular die beiden bestehenden Spalten "Rubrik" und "Thema". (Die müssten unter "Titel" liegen...) -
Hi,
habe gerade in meiner Testumgebung nachgeschaut. Ich hatte im meinem PS Code NewForm eingetragen, wobei es eigentlich das EditForm auch für neue Elemente ist.. Also du müsstest die $field.ShowInEditForm Eigenschaft abrufen
Ich aktualisiere den Skript.
Gruß,
Andrei -
Ich erhalte ebenfalls im EditForm auf beide gesuchten Spalten den Wert True zurück...
Hab die den Output von $list.Fields.GetField("<Anzeigename der Spalte>") der beiden Listen miteinander verglichen.
Bis auf einige Unterschiede im "SchemaXML" und "SchemaXMLWhithResourceTokens" sind die Werte identisch...
- Bearbeitet DanZu_CH Mittwoch, 20. Juni 2012 14:39
-
dann würde ich den SharePoint Designer bemühen und eine neue Standardansicht für den Bearbeitungsmodus erstellen:
-
Hier der Inhalt des SchemaXMLs:
<Field Description="bitte Thema auswählen (Pflichtfeld)" DisplayName="Thema" Format="Dropdown" Hidden="FALSE" ID="{d367a5dc-a44d-40d1-82fb-84cbb1558adc}" Name="Thema" Required="TRUE" ShowInDisplayForm="TRUE" ShowInEditForm="TRUE" ShowInNewForm="TRUE" SourceID="{AA7FAAF5-71C5-4224-8206-D45BA8C5395A}" Type="Choice" Version="9" StaticName="Thema" ColName="nvarchar11" RowOrdinal="0" ReadOnly="FALSE" EnforceUniqueValues="FALSE" Indexed="FALSE" FillInChoice="FALSE"> <Default>00 zu definieren</Default> <CHOICES><CHOICE>00 zu definieren</CHOICE><CHOICE>Auszeichnungen</CHOICE><CHOICE>Sonstiges</CHOICE></CHOICES></Field>
@Andrei Danke für den Hinweis, ich werde das einmal versuchen mit dem SharePoint Designer...
-
Hallo DanZu_CH,
kannst Du das Schema evtl. auf SkyDrive hochladen und hier verlinken?
Gruss,
Alex
Alex Pitulice, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
-
Eine Idee hätte ich noch unabhängig davon. Spalten werden immer dann angezeigt, wenn sie mit dem entsprechenden ContentType auch referenziert werden. Bei dem ContentType Document sind dies die Felder 'Name' und 'Titel'. Demzufolge ist dies vollkommen korrekt. Wenn du tatsächlich eine weitere Dokumentenbibliothek hast, die genau so aufgebaut ist, die aber die weiteren Felder anzeigt, dann ist eher mit dieser etwas nicht in Ordnung.
Unabhängig davon, wie etwaige andere Bibliotheken aussehen ist das Problem, weshalb die anderen Spalten nicht angezeigt werden, dass der ContentType Document diese Felder nicht referenziert. Du würdest einen anderen ContentType benötigen, der von Document erbt und diese Spalten noch hinzufügt.
Der Schema-XML-Datei kann man auch keine ContentTypes entnehmen. Ohnehin wirkt es etwas schräg auf mich, weil es kein <MetaData> Tag enthält, das eigentlich die zu verwendenden ContentTypes, Felder, Forms und Views enthalten sollte.Um dein Problem zu lösen, müsstest du auf der Bibliothek "nur" einen neuen ContentType à la "extendedDocument" registrieren müssen und als Standard-ContentType bestätigen müssen, damit die Bibliothek immer auf diesen zurückgreift (du könntest nach dem Hinzufügen des neuen, den CT "Document" auch problemlos von der Liste werfen, wenn der sonst nicht benötigt wird.). Dein ContentType könnte so aussehen:
<?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <!-- Parent ContentType: Document (0x0101) --> <ContentType ID="0x0101008ef726c0e9bf4390a86a46fe98bdfa0d" Name="extendedDocument" Group="Custom Content Types" Description="My Content Type" Inherits="TRUE" Version="0"> <FieldRefs> <FieldRef ID ="" Name =""/> <FieldRef ID ="" Name =""/> <!-- und so weiter. Bei den ID-Attributen sind die GUIDs deiner Custom Columns anzugeben, umschlossen von geschreiften Klammern: {}, der Name ist meines Wissens nach ebenfalls anzugeben weitere Optionen zur Konfiguration der Spalte, wie zB des Required-Attributes oder der Darstellung mittels Format wären zu überlegen--> </FieldRefs> </ContentType> </Elements>
Wenn du einen ContentType nach diesem Schema auf dem Server registrierst (ggf. kannst du ihn auch in den SiteSettings als Site Content Type zusammenklicken, wenn du die Spalten schon hast), kannst du ihn auch auf deine Dokumentenbibliothek schalten. Die View und die ContentTypes, die bestimmte in der Bibliothek verwaltete Spalten belegen oder nicht, sind erstmal getrennt voneinander zu beobachten. Die Registrierung der Spalten auf der Bibliothek hat in deinem Fall erstmal keinen Einfluss auf die Eingabemasken, da der ContentType Document, die nicht referenziert.
Beste Grüße!
Peter