Modo de añadir módulos personalizados al ONLYOFFICE Groups
Introducción
Si Usted desea crear sus propios módulos para ONLYOFFICE y añadirlos al ONLYOFFICE Groups, ahora puede fácilmente hacerlo. Proyecto de ejemplo está disponible aquí: https://github.com/ONLYOFFICE/CommunityServer/tree/master/web/studio/ASC.Web.Studio/Products/Sample
Puede modificar este ejemplo o crear un nuevo módulo personalizado en su base. Asegúrese de que todos los componentes necesarios están disponibles en las carpetas especificadas y ciertas líneas de código se añaden a los archivos especificados como se describe a continuación.
Cómo funciona
- Obtenga ONLYOFFICE Groups de https://github.com/ONLYOFFICE/CommunityServer
- El Proyecto de
Ejemplo
está disponible en la carpetaProductos
aquí:https://github.com/ONLYOFFICE/CommunityServer/tree/master/web/studio/ASC.Web.Studio/Products
- El
ASC.Api.Sample
está disponible en la carpetaASC.Api
aquí: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 puede ver otros proyectos existentes para aprender donde estas líneas deben ser añadidas.
¡Tenga en cuenta, por favor! El orden en que se teclean las líneas es muy importante. - El
ASC.Api.Sample.SampleApi
se añade al archivoweb\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"/>
- El archivo
Build.bat
puede ser ejecutado aquí:https://github.com/ONLYOFFICE/CommunityServer/blob/master/build/Build.bat
Cómo crear su propio módulo para ONLYOFFICE
- Cree un proyecto de aplicación web de ASP.NET (ASC.Web.Sample) y póngalo en la carpeta
...web\studio\ASC.Web.Studio\Products\Sample
.¡IMPORTANTE! El nombre del archivo de salida dll debe ser "ASC.Web.*.dll". - Conecte las referencias necesarias de
...\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
- Implemente la interfaz del
IProduct
en el archivoProductEntryPoint.cs
.¡IMPORTANTE! El ProductID debe ser único Guid (en VS2012 se genera comoTOOLS
->GUID
->New GUID
) - Añada las siguientes líneas al archivo
AssemblyInfo.cs
:[assembly: Product(typeof(ASC.Web.Sample.Configuration.ProductEntryPoint))]
- Herede el Master de
web\studio\ASC.Web.Studio\Masters\BaseTemplate.master
- Establezca la ruta de salida en las propiedades del proyecto de esta manera:
<OutputPath>..\..\bin\</OutputPath>
para crear las estructuras en la carpeta
web\studio\ASC.Web.Studio\bin
. - El proyecto se puede construir manualmente o usando el constructor. Para el último añada 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 ejecute el archivo
build\Build.bat
. - Después de la estructura, ejecute el sitio web en la dirección
localhost:port
, vaya a la página de Ajustes de "Módulos y Herramientas" (http://localhost:port/management.aspx?type=2) y active el nuevo módulo Ejemplo. Después éste estará disponible en el menú desplegable del encabezado del portal o usando el enlace directo: http://localhost:port/products/sample/default.aspx
Ahora Usted puede crear API para su propio módulo siguiendo ">estas instrucciones.