Este artículo está traducido por IA

Añadiendo módulos personalizados

Introducción

Si deseas crear tus propios módulos para ONLYOFFICE y añadirlos a ONLYOFFICE Workspace, ahora puedes hacerlo fácilmente. Un proyecto de ejemplo está disponible aquí: https://github.com/ONLYOFFICE/CommunityServer/tree/master/web/studio/ASC.Web.Studio/Products/Sample

Puedes modificar este ejemplo o crear un nuevo módulo personalizado a partir de él. Asegúrate de que todos los componentes necesarios estén disponibles en las carpetas especificadas y que ciertas líneas de código se añadan a los archivos especificados como se describe a continuación.

Cómo funciona

  1. Obtén ONLYOFFICE Community Server desde https://github.com/ONLYOFFICE/CommunityServer
  2. El proyecto Sample está disponible en la carpeta Products aquí:

    https://github.com/ONLYOFFICE/CommunityServer/tree/master/web/studio/ASC.Web.Studio/Products

  3. El ASC.Api.Sample está disponible en la carpeta ASC.Api aquí:

    https://github.com/ONLYOFFICE/CommunityServer/tree/master/module/ASC.Api

  4. Las siguientes líneas de código se añaden al archivo https://github.com/ONLYOFFICE/CommunityServer/blob/master/build/msbuild/build.proj:
    <!-- Sample --> <ProjectToBuild Include="$(ASCDir)web\studio\ASC.Web.Studio\Products\Sample\ASC.Web.Sample.csproj"/>

    y

    <ProjectToBuild Include="$(ASCDir)module\ASC.Api\ASC.Api.Sample\ASC.Api.Sample.csproj"/>

    También puedes ver otros proyectos existentes para saber dónde deben añadirse estas líneas.

    ¡Por favor, ten en cuenta! El orden en que escribas las líneas es muy importante.
  5. El ASC.Api.Sample.SampleApi se añade al archivo web\studio\ASC.Web.Studio\web.autofac.config de esta manera:
    <component           type="ASC.Api.Sample.SampleApi, ASC.Api.Sample"           service="ASC.Api.Interfaces.IApiEntryPoint, ASC.Api"           name="sample"/>
  6. El archivo Build.bat se puede ejecutar aquí:

    https://github.com/ONLYOFFICE/CommunityServer/blob/master/build/Build.bat

Cómo crear tu propio módulo para ONLYOFFICE

  1. Crea un proyecto de Aplicación Web ASP.NET (ASC.Web.Sample) y colócalo en la carpeta ...web\studio\ASC.Web.Studio\Products\Sample.
    ¡IMPORTANTE!!! El nombre del archivo dll de salida debe ser "ASC.Web.*.dll".
  2. Conecta las referencias necesarias desde ...\web\studio\ASC.Web.Studio\bin\:
    ASC.Common.dll ASC.Core.Common.dll ASC.Data.Storage.dll ASC.Web.Core.dll ASC.Web.Studio.dll
  3. Implementa la interfaz IProduct en el archivo ProductEntryPoint.cs.
    ¡IMPORTANTE!!! El ProductID debe ser un Guid único (en VS2012 se genera como TOOLS -> GUID -> New GUID)
  4. Añade las siguientes líneas al archivo AssemblyInfo.cs:
    [assembly: Product(typeof(ASC.Web.Sample.Configuration.ProductEntryPoint))]
  5. Hereda el Master de web\studio\ASC.Web.Studio\Masters\BaseTemplate.master
  6. Establece la ruta de salida en las propiedades del proyecto de esta manera:
    <OutputPath>..\..\bin\</OutputPath>

    para que las compilaciones se creen en la carpeta web\studio\ASC.Web.Studio\bin.

  7. El proyecto puede ser compilado manualmente o usando el constructor. Para esto último, añade las siguientes líneas al archivo build\msbuild\build.proj:
    <ProjectToBuild Include="$(ASCDir)web\studio\ASC.Web.Studio\Products\Sample\ASC.Web.Sample.csproj"/>

    y ejecuta el archivo build\Build.bat.

  8. Después de la compilación, ejecuta el sitio web en la dirección localhost:port, ve a la página de Configuración de "Módulos & Herramientas" (http://localhost:port/management.aspx?type=2) y habilita el nuevo módulo Sample. Estará disponible en el menú desplegable del encabezado del portal posteriormente o usando el enlace directo: http://localhost:port/products/sample/default.aspx

Ahora puedes crear una API para tu propio módulo siguiendo estas instrucciones.

Artículos con etiqueta:
Ver todas las etiquetas