- Inicio
- Workspace
- Desarrollo
- Añadiendo módulos personalizados
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
- Obtén ONLYOFFICE Community Server desde https://github.com/ONLYOFFICE/CommunityServer
- El proyecto
Sampleestá disponible en la carpetaProductsaquí:https://github.com/ONLYOFFICE/CommunityServer/tree/master/web/studio/ASC.Web.Studio/Products
- El
ASC.Api.Sampleestá disponible en la carpetaASC.Apiaquí:https://github.com/ONLYOFFICE/CommunityServer/tree/master/module/ASC.Api
- 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. - El
ASC.Api.Sample.SampleApise añade al archivoweb\studio\ASC.Web.Studio\web.autofac.configde esta manera:<component type="ASC.Api.Sample.SampleApi, ASC.Api.Sample" service="ASC.Api.Interfaces.IApiEntryPoint, ASC.Api" name="sample"/> - El archivo
Build.batse puede ejecutar aquí:https://github.com/ONLYOFFICE/CommunityServer/blob/master/build/Build.bat
Cómo crear tu propio módulo para ONLYOFFICE
- 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". - 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 - Implementa la interfaz
IProducten el archivoProductEntryPoint.cs.¡IMPORTANTE!!! El ProductID debe ser un Guid único (en VS2012 se genera comoTOOLS->GUID->New GUID) - Añade las siguientes líneas al archivo
AssemblyInfo.cs:[assembly: Product(typeof(ASC.Web.Sample.Configuration.ProductEntryPoint))] - Hereda el Master de
web\studio\ASC.Web.Studio\Masters\BaseTemplate.master - 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. - 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. - 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.