Pregunta

Tengo una biblioteca con archivos versionados.Tengo archivos versionados preparados para cargar (1 versión = 1 archivo).¿Cómo creo una nueva versión?¿Debo simplemente configurar la propiedad Contenido del archivo y actualizarla?Por favor comparte tus experiencias, gracias.

editar:Tengo algo como esto:

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

Entonces me faltan versiones.¿Es posible configurar la versión del archivo al cargar (¿campo del elemento?)?De lo contrario, completaré la versión que falta con las versiones anteriores/siguientes, por ejemplo, File2|v1 se completará con File2|v2.

¿Fue útil?

Solución

No sé cómo asignar el número de versión mediante programación, pero si está bien dejar que SharePoint asigne el número de versión...

Con la versión del servidor del método:

SPFileCollection.Add(urlOfFile, fileContent, overwrite);

Si pasa overwrite=true y la biblioteca de documentos tiene el control de versiones activado, creo que creará una nueva versión del documento.(Ese es el comportamiento a través del navegador). Supongo que la versión del método del Modelo de objetos del cliente se comportaría de la misma manera.

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

Entonces, siempre que cargue los archivos en el orden correcto de sus versiones, SharePoint debería crear cada versión por usted.

Otros consejos

Aquí hay un pequeño ejemplo de código que simulará el control de versiones de un archivo.

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;
}

Siempre que haya habilitado el control de versiones (que se encuentra en la configuración de lista/biblioteca y luego control de versiones), el SP habilitado se encargará del control de versiones por usted.

Licenciado bajo: CC-BY-SA con atribución
scroll top