Document library

04/12/2007 - 16:04 por Jorge | Informe spam
Hola buenos dias
alguien me puede colaborar diciendome como puedo crear una libreria de
documentos programaticamente

Preguntas similare

Leer las respuestas

#1 Elecktrus
04/12/2007 - 21:46 | Informe spam
hola, Jorge:
Una forma es usando uno de los webservices que incluye sharepoint, en
concreto el metodo AddList del Web Service de listas.
Te incluyo un enlace a la documentacion y un ejemplo de codigo
Enlace: http://msdn2.microsoft.com/en-us/li...53671.aspx
Ejemplo:
public static System.Xml.XmlNode CreateDocumentLibrary(string
listName,string descrip)
{
// instanciamos el web service de lista

DocLibraryCallouts.SharePointLists.Lists listService = new
DocLibraryCallouts.SharePointLists.Lists();

// ponemos credenciales de un usuario con permiso (administrador)

listService.Credentials = new System.Net.NetworkCredential("USUARIO",
"PASSWORD", "DOMINIO");

// Creamos la document library usando el templateid 101 que es el de la
document library

System.Xml.XmlNode result = listService.AddList(listName,descrip,101);
return result;

}




"Jorge" wrote:

Hola buenos dias
alguien me puede colaborar diciendome como puedo crear una libreria de
documentos programaticamente
Respuesta Responder a este mensaje
#2 Jorge
05/12/2007 - 14:44 | Informe spam
Hola Elektrus
gracias por tu respuesta me fue muy util pero quisiera preguntar otra cosa,
como puedo borrar varias librerias de documentosllegue hasta aca:

SPSite mySite = new
SPSite("http://w2003dev-test:37613/sites/OnLine");
SPWeb myWeb = mySite.OpenWeb();

SPListCollection myItem = myWeb.Lists;
//foreach (SPList item in myItem)
//{
// if (item.BaseTemplate==SPListTemplateType.DocumentLibrary)
// {

// }

//}
for (int i = 0; i <= 1; i++)
{
myItem[i].Delete();
}

la parte que esta comentariada cuando utilizo el item.delete me genera error
por que el array cambia y el segundo ciclo se queda en la instruccion delete
y no borra nada, alguna ayudita


"Elecktrus" wrote:

hola, Jorge:
Una forma es usando uno de los webservices que incluye sharepoint, en
concreto el metodo AddList del Web Service de listas.
Te incluyo un enlace a la documentacion y un ejemplo de codigo
Enlace: http://msdn2.microsoft.com/en-us/li...53671.aspx
Ejemplo:
public static System.Xml.XmlNode CreateDocumentLibrary(string
listName,string descrip)
{
// instanciamos el web service de lista

DocLibraryCallouts.SharePointLists.Lists listService = new
DocLibraryCallouts.SharePointLists.Lists();

// ponemos credenciales de un usuario con permiso (administrador)

listService.Credentials = new System.Net.NetworkCredential("USUARIO",
"PASSWORD", "DOMINIO");

// Creamos la document library usando el templateid 101 que es el de la
document library

System.Xml.XmlNode result = listService.AddList(listName,descrip,101);
return result;

}




"Jorge" wrote:

> Hola buenos dias
> alguien me puede colaborar diciendome como puedo crear una libreria de
> documentos programaticamente
Respuesta Responder a este mensaje
#3 Elecktrus
05/12/2007 - 16:31 | Informe spam
Hola, Jorge:
Es logico que no funcione, ya que el array d ebibliotecas va variando cada
vez que borras una. Se que hay una solucion mas elegante, pero como estoy
casi 'de puente' te envio una solucion 'cutre':

SPListCollection myItem = myWeb.Lists;
GUID biblio[100];
int indice=0;
int itemcont=0;
foreach (SPList item in myItem)
{

if (item.BaseTemplate==SPListTemplateType.DocumentLibrary)
{
biblio[indice]=item.ID;
indice++;
}
itemcont++;
}
for (int i = 0; i <= indice; i++)
{
myItem.GetList(biblio[i],false).Delete();
}

Basicamente, lo que hacemos es recorrer la lista, almacenar el GUID de las
listas que son bibliotecas, y luego las borramos (accediendo a la lista por
el GUID recuperado).

Esta hecha de cabeza, asi que cuidado con la sintaxis, y a ver si funciona...

"Jorge" wrote:

Hola Elektrus
gracias por tu respuesta me fue muy util pero quisiera preguntar otra cosa,
como puedo borrar varias librerias de documentosllegue hasta aca:

SPSite mySite = new
SPSite("http://w2003dev-test:37613/sites/OnLine");
SPWeb myWeb = mySite.OpenWeb();

SPListCollection myItem = myWeb.Lists;
//foreach (SPList item in myItem)
//{
// if (item.BaseTemplate==SPListTemplateType.DocumentLibrary)
// {

// }

//}
for (int i = 0; i <= 1; i++)
{
myItem[i].Delete();
}

la parte que esta comentariada cuando utilizo el item.delete me genera error
por que el array cambia y el segundo ciclo se queda en la instruccion delete
y no borra nada, alguna ayudita


"Elecktrus" wrote:

> hola, Jorge:
> Una forma es usando uno de los webservices que incluye sharepoint, en
> concreto el metodo AddList del Web Service de listas.
> Te incluyo un enlace a la documentacion y un ejemplo de codigo
> Enlace: http://msdn2.microsoft.com/en-us/li...53671.aspx
> Ejemplo:
> public static System.Xml.XmlNode CreateDocumentLibrary(string
> listName,string descrip)
> {
> // instanciamos el web service de lista
>
> DocLibraryCallouts.SharePointLists.Lists listService = new
> DocLibraryCallouts.SharePointLists.Lists();
>
> // ponemos credenciales de un usuario con permiso (administrador)
>
> listService.Credentials = new System.Net.NetworkCredential("USUARIO",
> "PASSWORD", "DOMINIO");
>
> // Creamos la document library usando el templateid 101 que es el de la
> document library
>
> System.Xml.XmlNode result = listService.AddList(listName,descrip,101);
> return result;
>
> }
>
>
>
>
> "Jorge" wrote:
>
> > Hola buenos dias
> > alguien me puede colaborar diciendome como puedo crear una libreria de
> > documentos programaticamente
Respuesta Responder a este mensaje
#4 Jorge
05/12/2007 - 17:05 | Informe spam
Hola de nuevo

ejecute la rutina y me elimino unas cuantas librerias pero ahora aparece el
error de "this list cannot be deleted" y empiezo el ciclo no desde cero y no
deja.
"Elecktrus" que pena yo se que ya casi estas de puente pero la ultima del
dia: como puedo crear un suario programaticamente logro añadir un usuario a
la lista pero no me aparece la cuenta

gracias de nuevo


"Elecktrus" wrote:

Hola, Jorge:
Es logico que no funcione, ya que el array d ebibliotecas va variando cada
vez que borras una. Se que hay una solucion mas elegante, pero como estoy
casi 'de puente' te envio una solucion 'cutre':

SPListCollection myItem = myWeb.Lists;
GUID biblio[100];
int indice=0;
int itemcont=0;
foreach (SPList item in myItem)
{

if (item.BaseTemplate==SPListTemplateType.DocumentLibrary)
{
biblio[indice]=item.ID;
indice++;
}
itemcont++;
}
for (int i = 0; i <= indice; i++)
{
myItem.GetList(biblio[i],false).Delete();
}

Basicamente, lo que hacemos es recorrer la lista, almacenar el GUID de las
listas que son bibliotecas, y luego las borramos (accediendo a la lista por
el GUID recuperado).

Esta hecha de cabeza, asi que cuidado con la sintaxis, y a ver si funciona...

"Jorge" wrote:

> Hola Elektrus
> gracias por tu respuesta me fue muy util pero quisiera preguntar otra cosa,
> como puedo borrar varias librerias de documentosllegue hasta aca:
>
> SPSite mySite = new
> SPSite("http://w2003dev-test:37613/sites/OnLine");
> SPWeb myWeb = mySite.OpenWeb();
>
> SPListCollection myItem = myWeb.Lists;
> //foreach (SPList item in myItem)
> //{
> // if (item.BaseTemplate==SPListTemplateType.DocumentLibrary)
> // {
>
> // }
>
> //}
> for (int i = 0; i <= 1; i++)
> {
> myItem[i].Delete();
> }
>
> la parte que esta comentariada cuando utilizo el item.delete me genera error
> por que el array cambia y el segundo ciclo se queda en la instruccion delete
> y no borra nada, alguna ayudita
>
>
> "Elecktrus" wrote:
>
> > hola, Jorge:
> > Una forma es usando uno de los webservices que incluye sharepoint, en
> > concreto el metodo AddList del Web Service de listas.
> > Te incluyo un enlace a la documentacion y un ejemplo de codigo
> > Enlace: http://msdn2.microsoft.com/en-us/li...53671.aspx
> > Ejemplo:
> > public static System.Xml.XmlNode CreateDocumentLibrary(string
> > listName,string descrip)
> > {
> > // instanciamos el web service de lista
> >
> > DocLibraryCallouts.SharePointLists.Lists listService = new
> > DocLibraryCallouts.SharePointLists.Lists();
> >
> > // ponemos credenciales de un usuario con permiso (administrador)
> >
> > listService.Credentials = new System.Net.NetworkCredential("USUARIO",
> > "PASSWORD", "DOMINIO");
> >
> > // Creamos la document library usando el templateid 101 que es el de la
> > document library
> >
> > System.Xml.XmlNode result = listService.AddList(listName,descrip,101);
> > return result;
> >
> > }
> >
> >
> >
> >
> > "Jorge" wrote:
> >
> > > Hola buenos dias
> > > alguien me puede colaborar diciendome como puedo crear una libreria de
> > > documentos programaticamente
Respuesta Responder a este mensaje
#5 Elecktrus
10/12/2007 - 17:43 | Informe spam
Hola, Jorge:
Ya estoy de vuelta.
1) Para crear usuarios por codigo:

private SPUser CreateUser(string strLoginName, string strEMail,
string strName, string strNotes, string strSiteURL)
{
SPUser spReturn = null;
SPSite spSite = null;
SPWeb spWeb = null;

try
{
//abrimos el SharePoint sitio
spSite = new SPSite(strSiteURL);
spWeb = spSite.OpenWeb();

//Assignamos rol y usuario al sitio
SPRoleAssignment spRoleAssignment = new
SPRoleAssignment(strLoginName, strEMail, strName, strNotes);
//le hacemos que pueda leer y escribir (contibutor)
SPRoleDefinition spSPRoleDefinition =
spWeb.RoleDefinitions["Contribute"];

spRoleAssignment.RoleDefinitionBindings.Add(spSPRoleDefinition);
spWeb.RoleAssignments.Add(spRoleAssignment);

//hacemos commit de los cambios
spWeb.Update();
spReturn = spWeb.AllUsers[strLoginName];
}
catch(Exception)
{
}
finally
{
spWeb.Close();
spSite.Close();
}

return spReturn;
}

y un ejemplo de llamada:
CreateUser ("Dominio\usuario", "", "Nombresuario", "",
"http://servidor/sitio");
OJO: Te en cuenta que le estoy creando con permiso de escritura
(contributor) y que trabajo con un sharepoint en ingles. En español a lo
mejor se llama de otra forma.

2) Para la biblioteca, me parece que estas borrando TODAS las bibliotecas
existentes, y eso puede incluir algunas bibliotecas internas de Sahrepoint,
que no se pueden borrar.
Deberias debugarlo y ver el nombre de cada biblioteca, para estar seguro de
que la quieres borrar. Por otra lado, NO es muy normal andar borrando
bibliotecas, supongo que tendras alguna buena razon, pero lo normal es borrar
docuementos

"Jorge" wrote:

Hola de nuevo

ejecute la rutina y me elimino unas cuantas librerias pero ahora aparece el
error de "this list cannot be deleted" y empiezo el ciclo no desde cero y no
deja.
"Elecktrus" que pena yo se que ya casi estas de puente pero la ultima del
dia: como puedo crear un suario programaticamente logro añadir un usuario a
la lista pero no me aparece la cuenta

gracias de nuevo


"Elecktrus" wrote:

> Hola, Jorge:
> Es logico que no funcione, ya que el array d ebibliotecas va variando cada
> vez que borras una. Se que hay una solucion mas elegante, pero como estoy
> casi 'de puente' te envio una solucion 'cutre':
>
> SPListCollection myItem = myWeb.Lists;
> GUID biblio[100];
> int indice=0;
> int itemcont=0;
> foreach (SPList item in myItem)
> {
>
> if (item.BaseTemplate==SPListTemplateType.DocumentLibrary)
> {
> biblio[indice]=item.ID;
> indice++;
> }
> itemcont++;
> }
> for (int i = 0; i <= indice; i++)
> {
> myItem.GetList(biblio[i],false).Delete();
> }
>
> Basicamente, lo que hacemos es recorrer la lista, almacenar el GUID de las
> listas que son bibliotecas, y luego las borramos (accediendo a la lista por
> el GUID recuperado).
>
> Esta hecha de cabeza, asi que cuidado con la sintaxis, y a ver si funciona...
>
> "Jorge" wrote:
>
> > Hola Elektrus
> > gracias por tu respuesta me fue muy util pero quisiera preguntar otra cosa,
> > como puedo borrar varias librerias de documentosllegue hasta aca:
> >
> > SPSite mySite = new
> > SPSite("http://w2003dev-test:37613/sites/OnLine");
> > SPWeb myWeb = mySite.OpenWeb();
> >
> > SPListCollection myItem = myWeb.Lists;
> > //foreach (SPList item in myItem)
> > //{
> > // if (item.BaseTemplate==SPListTemplateType.DocumentLibrary)
> > // {
> >
> > // }
> >
> > //}
> > for (int i = 0; i <= 1; i++)
> > {
> > myItem[i].Delete();
> > }
> >
> > la parte que esta comentariada cuando utilizo el item.delete me genera error
> > por que el array cambia y el segundo ciclo se queda en la instruccion delete
> > y no borra nada, alguna ayudita
> >
> >
> > "Elecktrus" wrote:
> >
> > > hola, Jorge:
> > > Una forma es usando uno de los webservices que incluye sharepoint, en
> > > concreto el metodo AddList del Web Service de listas.
> > > Te incluyo un enlace a la documentacion y un ejemplo de codigo
> > > Enlace: http://msdn2.microsoft.com/en-us/li...53671.aspx
> > > Ejemplo:
> > > public static System.Xml.XmlNode CreateDocumentLibrary(string
> > > listName,string descrip)
> > > {
> > > // instanciamos el web service de lista
> > >
> > > DocLibraryCallouts.SharePointLists.Lists listService = new
> > > DocLibraryCallouts.SharePointLists.Lists();
> > >
> > > // ponemos credenciales de un usuario con permiso (administrador)
> > >
> > > listService.Credentials = new System.Net.NetworkCredential("USUARIO",
> > > "PASSWORD", "DOMINIO");
> > >
> > > // Creamos la document library usando el templateid 101 que es el de la
> > > document library
> > >
> > > System.Xml.XmlNode result = listService.AddList(listName,descrip,101);
> > > return result;
> > >
> > > }
> > >
> > >
> > >
> > >
> > > "Jorge" wrote:
> > >
> > > > Hola buenos dias
> > > > alguien me puede colaborar diciendome como puedo crear una libreria de
> > > > documentos programaticamente
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida