Aggiunta di moduli personalizzati
Introduzione
Se vuoi creare i tuoi moduli per ONLYOFFICE e aggiungerli a ONLYOFFICE Workspace, ora puoi farlo facilmente. Un progetto di esempio è disponibile qui: https://github.com/ONLYOFFICE/CommunityServer/tree/master/web/studio/ASC.Web.Studio/Products/Sample
Puoi modificare questo esempio o creare un nuovo modulo personalizzato basandoti su di esso. Assicurati che tutti i componenti necessari siano disponibili nelle cartelle specificate e che determinate righe di codice siano aggiunte ai file indicati come descritto di seguito.
Come funziona
- Scarica ONLYOFFICE Community Server da https://github.com/ONLYOFFICE/CommunityServer
- Il progetto
Sampleè disponibile nella cartellaProductsqui:https://github.com/ONLYOFFICE/CommunityServer/tree/master/web/studio/ASC.Web.Studio/Products
- Il progetto
ASC.Api.Sampleè disponibile nella cartellaASC.Apiqui:https://github.com/ONLYOFFICE/CommunityServer/tree/master/module/ASC.Api
- Le seguenti righe di codice sono aggiunte al file 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"/>e
<ProjectToBuild Include="$(ASCDir)module\ASC.Api\ASC.Api.Sample\ASC.Api.Sample.csproj"/>Puoi anche vedere altri progetti esistenti per capire dove queste righe devono essere aggiunte.
Nota bene! L'ordine con cui inserisci le righe è molto importante. - Il
ASC.Api.Sample.SampleApiè aggiunto al fileweb\studio\ASC.Web.Studio\web.autofac.configin questo modo:<component type="ASC.Api.Sample.SampleApi, ASC.Api.Sample" service="ASC.Api.Interfaces.IApiEntryPoint, ASC.Api" name="sample"/> - Il file
Build.batpuò essere eseguito qui:https://github.com/ONLYOFFICE/CommunityServer/blob/master/build/Build.bat
Come creare il tuo modulo per ONLYOFFICE
- Crea un progetto ASP.NET Web Application (ASC.Web.Sample) e posizionalo nella cartella
...web\studio\ASC.Web.Studio\Products\Sample.IMPORTANTE!!! Il nome del file dll di output deve essere "ASC.Web.*.dll". - Collega i riferimenti richiesti da
...\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 l'interfaccia
IProductnel fileProductEntryPoint.cs.IMPORTANTE!!! Il ProductID deve essere un Guid univoco (in VS2012 si genera tramiteTOOLS->GUID->New GUID) - Aggiungi le seguenti righe al file
AssemblyInfo.cs:[assembly: Product(typeof(ASC.Web.Sample.Configuration.ProductEntryPoint))] - Eredita il Master da
web\studio\ASC.Web.Studio\Masters\BaseTemplate.master - Imposta il percorso di output nelle proprietà del progetto in questo modo:
<OutputPath>..\..\bin\</OutputPath>in modo che le build vengano create nella cartella
web\studio\ASC.Web.Studio\bin. - Il progetto può essere compilato manualmente o usando il builder. Per quest'ultimo aggiungi le seguenti righe al file
build\msbuild\build.proj:<ProjectToBuild Include="$(ASCDir)web\studio\ASC.Web.Studio\Products\Sample\ASC.Web.Sample.csproj"/>e esegui il file
build\Build.bat. - Dopo la compilazione, avvia il sito web all'indirizzo
localhost:port, vai alla pagina Impostazioni "Modules & Tools" (http://localhost:port/management.aspx?type=2) e abilita il nuovo modulo Sample. Sarà disponibile nel menu a discesa nell'intestazione del portale oppure tramite il link diretto: http://localhost:port/products/sample/default.aspx
Ora puoi creare l'API per il tuo modulo seguendo queste istruzioni.