Frage

Ich habe eine Bibliothek mit Versionsdateien. Ich habe versionierte Dateien zum Hochladen (1 Version = 1 Datei) vorbereitet. Wie erstelle ich eine neue Version? Setze ich gerade die Inhaltseigenschaft der Datei fest und aktualisiere sie? Bitte teilen Sie Ihre Experiments mit, danke

EDIT: Ich habe so etwas:

File1|v1
File1|v2
File1|v4
File2|v2
File2|v5

Ich habe also fehlende Versionen. Ist es möglich, die Dateiversion beim Hochladen (Elementfeld?) Festzustellen? Wenn nicht, werde ich die fehlende Version mit vorherigen/nächsten Versionen füllen, z. B. Datei2 | v1 wird mit Datei2 | v2 gefüllt.

War es hilfreich?

Lösung

Ich weiß nicht, wie ich die Versionsnummer programmatisch zuweisen soll, aber wenn es in Ordnung ist, SharePoint die Versionsnummer zuweisen zu lassen ...

Mit der Serverversion der Methode:

SPFileCollection.Add(urlOfFile, fileContent, overwrite);

Wenn Sie Overwrite = true übergeben und die Dokumentbibliothek die Versioning eingeschaltet hat, wird meiner Meinung nach eine neue Version des Dokuments erstellt. (Das ist das Verhalten durch den Browser.) Ich gehe davon aus, dass die Version des Client -Objektmodells der Methode genauso verhalten würde.

FileCreationInformation fci = new FileCreationInformation();
fci.Url = urlOfFile;
fci.Content = fileContent;
fci.Overwrite = true;
folder.files.Add(fci);

Solange Sie die Dateien in der richtigen Reihenfolge ihrer Versionen hochladen, sollte SharePoint jede Version für Sie erstellen.

Andere Tipps

Hier ist ein kleines Code -Beispiel, das die Versionierung einer Datei simuliert

public File changeDocumentVersion(string version,File file){
    string [] versions = version.Split(new char[]{'.'});
    int minor = Int32.Parse(versions[1]);
    int major = Int32.Parse(versions[0]);

    for (int i = 1; i < major; i++)
    {
        file.CheckOut();
        file.CheckIn("versioning", CheckinType.MajorCheckIn);
    }
    for (int i = 0; i < minor; i++)
    {
        file.CheckOut();
        file.CheckIn("versioning", CheckinType.MinorCheckIn);
        file.Context.Load(file);
        file.Context.ExecuteQuery();
    }
    return file;
}

Solange Sie die Versionierung (gefunden unter List/Bibliothekseinstellungen) aktiviert haben, kümmert sich die Aktivierung von SP um die Versionierung für Sie.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top