Procedimiento para agregar plantillas de documento, tipo de archivo y edición de una aplicación en una definición de sitio

En esta tarea de programación se proporcionan los pasos que deben seguirse para personalizar Windows SharePoint Services para que los documentos se puedan crear o editar desde una aplicación de terceros. La tarea conlleva crear un archivo de plantilla de documento para complementar el archivo Onet.xml de la definición de sitio, modificar el archivo DocIcon.xml y crear un archivo DLL que proporcione la misma funcionalidad que se ha descrito para el Control OpenDocuments.

El hecho de agregar la capacidad para crear o editar documentos dentro de una aplicación implica las subtareas siguientes:

  • Crear un archivo de plantilla de documento, que agrega un elemento DocumentTemplate al archivo Onet.xml de la definición de sitio

  • Agregar un elemento Mapping a DocIcon.xml para un icono de tipo de archivo y para la identificación del control que se usará para abrir el archivo

  • Crear un archivo DLL que proporcione las funciones necesarias para crear o editar documentos en la aplicación

Adición de una plantilla de documento

Para agregar un documento de aplicación como una plantilla que se puede utilizar en las bibliotecas de documentos, puede especificar el elemento DocumentTemplate de una característica de tipo de contenido (consulte Implementación de tipo de contenido mediante características), o especificar el elemento DocumentTemplate dentro del archivo Onet.xml de una definición de sitio personalizado (consulte Procedimiento para crear una definición y una configuración personalizadas de un sitio).

En el ejemplo siguiente se muestra cómo utilizar el elemento DocumentTemplate en un archivo Onet.xml.

<DocumentTemplates>
   <DocumentTemplate DisplayName="Blank Document" Type="105" 
      Default="FALSE" Description="A blank document.">
      <DocumentTemplateFiles>
         <DocumentTemplateFile 
            Name="doctemp/Template_Folder/psdtmp1.psd" 
            TargetName="Forms/template.psd" Default="True"/>
      </DocumentTemplateFiles>
   </DocumentTemplate>
</DocumentTemplates>

El atributo DisplayName del elemento DocumentTemplate especifica el texto que se muestra en la lista desplegable para seleccionar un tipo de plantilla de documento al crear una nueva biblioteca de documentos. El atributo Type identifica de forma única el tipo de documento y puede ser cualquier número entero que aún no se use en otra plantilla de documento. El atributo Default especifica si la plantilla está seleccionada de forma predeterminada en la lista desplegable. El atributo Name de DocumentTemplateFile especifica la ruta de acceso física al archivo de plantilla en el equipo servidor, mientras que el atributo TargetName especifica la dirección de la plantilla relativa a la biblioteca de documentos.

Restablezca Microsoft Internet Information Services (IIS) para que los cambios surtan efecto.

Adición de una definición de asignación para un tipo de archivo

Para asignar una extensión de archivo a un tipo de documento e identificar el control que se usará al abrir un documento que tenga la extensión de archivo, agregue un elemento Mapping a DocIcon.xml. DOCICON.XML se encuentra en el directorio \\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML.

Al agregar la línea siguiente en ByExtension, en DocIcon.xml, se asigna la extensión .psd a un archivo de imagen denominado icpsd.gif, que proporciona el icono que se muestra en las bibliotecas de documentos para los archivos de este tipo:

<Mapping Key="psd" Value="icpsd.gif"/>

Para habilitar la edición dentro de una aplicación, Mapping también debe incluir los atributos EditText y OpenControl, de la manera siguiente:

<Mapping Key="psd" Value="icpsd.gif" EditText="Application" OpenControl="ProgID"/>

El atributo EditText especifica el nombre de la aplicación que se muestra en el menú desplegable cuando un usuario hace clic en la flecha Edit de un documento. El atributo OpenControl especifica el ProgID del control que se va a utilizar para abrir archivos del tipo especificado.

El archivo de imagen especificado por el atributo Value debe estar en el directorio \\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\IMAGES. Si el archivo de imagen especificado no está en este directorio, aparecerá junto al documento un icono que indica que falta la imagen.

Para impedir que se pida a los usuarios las credenciales para ver el icono cuando está habilitado el acceso anónimo, debe establecer permisos heredables en el archivo de imagen.

Para establecer permisos heredables en el archivo de imagen

  1. Haga clic con el botón secundario en el archivo de imagen de la carpeta IMAGES al que se hace referencia y, a continuación, haga clic en Propiedades.

  2. En la ficha Seguridad del cuadro de diálogo Propiedades, haga clic en Avanzadas.

  3. En la ficha Permisos del cuadro de diálogo Configuración de seguridad avanzada, compruebe que está activada la casilla Permitir que los permisos heredables del primario se propaguen a este objeto y a todos los objetos secundarios. Incluirlos junto con las entradas indicadas aquí de forma explícita.

Nota El tamaño predeterminado de los iconos de Windows SharePoint Services es de 16 x 16 píxeles.

Para que los cambios surtan efecto, reinicie IIS.

Adición de una aplicación de edición

Cree un archivo DLL que proporcione el control que se debe cargar para un documento del tipo especificado cuyo ProgID identifique al control, por ejemplo, SharePoint.OpenDocuments. El control que cree debe proporcionar los mismos métodos para crear, abrir y ver documentos que los descritos para el Control OpenDocuments.

Para realizar las personalizaciones que se describen en este tema, debe ser administrador en el servidor cliente en el que se ejecuta Windows SharePoint Services.

Advertencia

Al instalar actualizaciones o Service Packs para Windows SharePoint Services o al actualizar una instalación a la siguiente versión del producto, se pueden sobrescribir los cambios que se realicen en los archivos instalados originalmente.