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.




ECMAScript/JavaScript: Versionierung aktivieren

Geprüfte Antwort Dieser Beitrag hat 5 Antworten

Ohne Rang
43 Beiträge
Share15 erstellt 20 Mai 2015 15:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo!

Gibt es die Möglichkeit, über clientseitiges Scripting die Versionierung in einer Dokumentenbibliothek einzuschalten?

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Mai 2015 16:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja, das geht: https://msdn.microsoft.com/en-us/library/office/jj244795.aspx

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
43 Beiträge
Share15 Als Antwort am 21 Mai 2015 14:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

OK, danke schon mal. =)

Kurze Rückfrage: Das geht aber nur in einem App-Kontext, oder? Versuche grade, diese Anforderung mit "plain" JavaScript zu lösen. Mit Apps habe ich mich noch nicht beschäftigt.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 21 Mai 2015 14:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nein, das hat mit Apps rein gar nichts zu tun. Es funktioniert überall wo JavaScript ausgeführt werden kann - auch in einer App.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
43 Beiträge
Share15 Als Antwort am 21 Mai 2015 15:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vielen Dank, ich habe mir folgendes Script gebastelt und es funktioniert:

 

SP.SOD.executeFunc('sp.js','SP.ClientContext',versionierung);

versionierung()
{

var clientContext;
var listCreationInfo;
var web;
var list;

clientContext = SP.ClientContext.get_current();
web = clientContext.get_web();
list = web.get_lists().getByTitle("<<Liste>>");
list.set_enableVersioning(true);
list.update();

clientContext.load(list);

clientContext.executeQueryAsync(
 function () { alert("Success!") },
 function () { alert("Request failed") }
);

}

Ich war irritiert, weil ich bei meiner Internet-Recherche nur auf Seiten gestoßen bin, die eben das App-Modell behandeln. Außerdem erhielt ich beim Testen dieses Skripts (aus der Antwort) den Fehler

XML Returned in the browser:
<m:error>
 <m:code>-1, Microsoft.SharePoint.SPException</m:code>
 <m:message xml:lang="en-US">There is no app context to execute this request.</m:message>
</m:error>

weil mir diese Zeile nicht aufgefallen war:

hostWebContext = new SP.AppContextSite(context, hostweburl);

Nun hab ich's =)

Edit: Ich habe das Skript angepasst. Vorher waren die 2 Built-In-Skripte direkt eingebunden.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 21 Mai 2015 15:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Schön, daß Du eine Lösung gefunden (und gepostet) hast. Noch schöner wird sie, wenn Du sp.js und sp.runtime.js nicht mehr fest einbindest, sondern die eingebauten Mechanismen benutzt. Google mal nach executeOrDelayUntilScriptLoaded.

Viele Grüße
Andi
af @ evocom de
Blog