guardar - plantillas de lista sharepoint
En SharePoint, ¿cuál es la forma más fácil de crear un archivo de lista personalizada ''schema.xml''? (9)
Con las herramientas de Windows SharePoint Services 3.0: extensiones de Visual Studio 2008, la versión 1.2 viene con una aplicación llamada "SharePoint Solution Generator 2008". Esta aplicación tiene algunas restricciones ( lo peor es que la OMI desaparece las columnas de búsqueda ), pero crea los archivos que necesita crear, es decir, una característica de una lista de SharePoint existente. Esto incluye schema.xml.
Al igual que muchos otros usuarios de SharePoint, tuve que crear una definición de lista personalizada. Después de muchos problemas, he logrado crear uno (creo, déjame ver todos los errores primero), pero ¿hay un esquema "básico" por ahí que puedo empezar, o un editor especialmente Schema.xml
para la generación de Schema.xml
?
Mi recomendación, y lo que lo acercará más a una versión final, es usar la interfaz web de SharePoint, configurar su lista como lo desee, incluidas vistas, columnas personalizadas, etc. Luego, guarde la lista como una plantilla.
El archivo .stp que obtienes es básicamente solo un archivo .cab con un nombre gracioso. Cambie el nombre a cab y extraiga el manifiesto, que incluirá un archivo schema.xml casi listo para usar.
Lo que necesita cambiar es la ruta de acceso o la ruta de acceso de los formularios de la lista. Encontrará estos en la parte inferior del archivo manifest.xml. Estos formularios, si usa las listas predeterminadas de SharePoint, se pueden establecer en SetupPath = "pages / form.aspx". Aquí hay un ejemplo del elemento de formularios de lista personalizados:
<Form Type="DisplayForm" Url="DispForm.aspx"
SetupPath="pages/form.aspx" WebPartZoneID="Main" />
<Form Type="EditForm" Url="EditForm.aspx"
SetupPath="pages/form.aspx" WebPartZoneID="Main" />
<Form Type="NewForm" Url="NewForm.aspx"
SetupPath="pages/form.aspx" WebPartZoneID="Main" />
También debe actualizar la ruta de vista para cada vista, que debe ser SetupPath = "pages / viewpage.aspx" si usa los formularios predeterminados en su sitio original.
Tenga en cuenta que también necesita modificar otros atributos, pero si se asegura de seguir el esquema wss.xsd y de que su lista personalizada schema.xml valida el esquema wss.xsd, debería estar bien.
.segundo
Para crear una definición de lista personalizada, siempre uso alguna definición de lista incorporada como plantilla.
Cree una característica nueva y luego copie schema.xml (tal vez algunos otros archivos también si están presentes) de la función existente y modifique el archivo schema.xml directamente con algún editor de texto. No he probado ningún editor personalizado para eso y siempre trabajo con copiar y pegar y cambiar los valores de los atributos.
Las definiciones de listas incorporadas se encuentran en 12 colmenas como características:
- Lista personalizada - Características / CustomList / CustList / schema.xml;
- Biblioteca de documentos - Características / DocumentLibrary / DocLib / schema.xml;
- Calendario - Feature / EventsList / Events / schema.xml;
- Usa la búsqueda para encontrar otros.
Añadiendo a la respuesta de EG, si solo desea cambiar los campos adjuntos a una lista existente (pero deja esencialmente iguales las vistas, etc.), tendrá que cambiar las cosas esencialmente en dos lugares: Lista / MetaData / Campos, y List / MetaData / Views / View / ViewFields.
La sección Campos es relativamente directa, suponiendo que sigas la documentación .
Para que aparezcan las columnas en una vista determinada, deberá editar la sección ViewFields para una vista determinada. Por ejemplo, si tiene columnas denominadas Título, Autor y Editor que desea mostrar en la vista, busque la sección ViewFields de esa vista y edítelo de la siguiente manera:
<ViewFields>
<FieldRef Name="Title" />
<FieldRef Name="Author" />
<FieldRef Name="Publisher" />
</ViewFields>
Esos campos (y solo esos campos) deberían mostrarse en esa vista.
Myself y Rich Finn han escrito una herramienta llamada SPSource que invierte las listas de los ingenieros en listas, tipos de contenido y columnas del sitio. Consulte en http://spsource.codeplex.com/ hay guías detalladas del usuario y webcasts para mostrarle cómo usarlo.
El gran problema con todos los archivos schema.xml que normalmente copiaría es que el 90% del código reside dentro de los diversos elementos de la vista. Hay una solución extremadamente simple para esto: use uno de los estilos de vista predeterminados.
Aquí hay un esquema minimalista sencillo y legible para empezar. Lee http://mo.notono.us/2009/02/moss-dreaded-schemaxml.html para más detalles. A menos que realmente necesite ajustar el html renderizado, no se moleste en jugar con la vista caml:
<?xml version="1.0" encoding="utf-8"?>
<List xmlns:ows="Microsoft SharePoint" Id="{AB426CDE-98F2-432A-B296-880C7931DEF3}"
Title="Setting" Url="Lists/Setting" BaseType="0"
FolderCreation="FALSE" DisableAttachments="TRUE" VersioningEnabled="FALSE"
Direction="$Resources:Direction;"
xmlns="http://schemas.microsoft.com/sharepoint/">
<MetaData>
<Fields>
<Field Type="Text" Name="Title" DisplayName="Name" Required="TRUE" />
<Field Type="Text" Name="Value" DisplayName="Value" Required="TRUE" />
</Fields>
<Views>
<View BaseViewID="0" Type="HTML" WebPartZoneID="Main" DisplayName="All Items" DefaultView="TRUE"
MobileView="True" MobileDefaultView="False" SetupPath="pages/viewpage.aspx"
ImageUrl="/_layouts/images/issues.png" Url="AllItems.aspx">
<ViewStyle ID="17"/>
<RowLimit Paged="TRUE">100</RowLimit>
<Toolbar Type="Standard" />
<ViewFields>
<FieldRef Name="Edit" />
<FieldRef Name="Title"/>
<FieldRef Name="Value"/>
</ViewFields>
<Query>
<OrderBy>
<FieldRef Name="Title"/>
</OrderBy>
</Query>
</View>
</Views>
<Forms>
<Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages/form.aspx" WebPartZoneID="Main" />
<Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages/form.aspx" WebPartZoneID="Main" />
<Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages/form.aspx" WebPartZoneID="Main" />
</Forms>
<DefaultDescription>Settings used in the application.</DefaultDescription>
</MetaData>
</List>
Cree la lista que desea desarrollar en su entorno de desarrollo local utilizando las opciones del navegador. Guarde el sitio como una plantilla. Descárguelo al sistema de archivos local.
Ahora crea un nuevo proyecto de Visual Studio con plantilla, importa desde un paquete de solución. Ubique el paquete de solución que está almacenado en el sistema de archivos. Ahora cuando vea la solución, encontrará la lista creada por usted. File schema.XML
se ubicará en la definición de lista. Copie el contenido, los campos y el contenido de contenido y péguelos en su archivo schema.xml
.
Puede usar el administrador de SharePoint para seleccionar la lista para la que desea el esquema y usarla como plantilla.
Cualquier generación de esquema se basaría en el contexto, ya que los GUID para cualquier campo personalizado serán específicos de esa colección de sitios de SharePoint, a menos que se instalen como parte de una característica previamente especificada (dependiendo de que ya se haya creado un esquema XML).
El administrador de SharePoint es una buena herramienta para esto, no porque sea específico para este problema, sino porque es una forma muy útil de obtener todo tipo de información (como el esquema) de una instancia de SharePoint.
Siempre uso extensiones de Gary Lapointes STSADM para extraer ese tipo de cosas. Es decir, lo creo primero usando la GUI y luego extraigo listas, tipos de contenido, columnas de sitios, etc. usando el método apropiado.
Consulte la lista de extensiones de Garys en los comandos STSADM / PowerShell .