- Accueil
- Workspace
- Développement
- Ajouter des modules personnalisés
Ajouter des modules personnalisés
Introduction
Si vous souhaitez créer vos propres modules pour ONLYOFFICE et les ajouter à ONLYOFFICE Workspace, vous pouvez désormais le faire facilement. Un exemple de projet est disponible ici : https://github.com/ONLYOFFICE/CommunityServer/tree/master/web/studio/ASC.Web.Studio/Products/Sample
Vous pouvez modifier cet exemple ou créer un nouveau module personnalisé sur cette base. Assurez-vous que tous les composants requis sont présents dans les dossiers spécifiés et que les lignes de code correspondantes ont été ajoutées aux fichiers indiqués, comme décrit ci-dessous.
Comment cela fonctionne
- Obtenez ONLYOFFICE Community Server sur https://github.com/ONLYOFFICE/CommunityServer
- Le projet
Sampleest disponible dans le dossierProductsici :https://github.com/ONLYOFFICE/CommunityServer/tree/master/web/studio/ASC.Web.Studio/Products
ASC.Api.Sampleest disponible dans le dossierASC.Apiici :https://github.com/ONLYOFFICE/CommunityServer/tree/master/module/ASC.Api
- Les lignes de code suivantes sont ajoutées au fichier 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"/>et
<ProjectToBuild Include="$(ASCDir)module\ASC.Api\ASC.Api.Sample\ASC.Api.Sample.csproj"/>Vous pouvez également consulter d'autres projets existants pour savoir où ces lignes doivent être ajoutées.
Attention ! L'ordre dans lequel les lignes sont saisies est essentiel. ASC.Api.Sample.SampleApiest ajouté au fichierweb\studio\ASC.Web.Studio\web.autofac.configcomme suit :<component type="ASC.Api.Sample.SampleApi, ASC.Api.Sample" service="ASC.Api.Interfaces.IApiEntryPoint, ASC.Api" name="sample"/>- Le fichier
Build.batpeut être exécuté ici :https://github.com/ONLYOFFICE/CommunityServer/blob/master/build/Build.bat
Comment créer votre propre module pour ONLYOFFICE
- Créez un projet ASP.NET Web Application (ASC.Web.Sample) et placez-le dans le dossier
...web\studio\ASC.Web.Studio\Products\Sample.Important Le nom du fichier dll de sortie doit être "ASC.Web.*.dll". - Connectez les références requises depuis
...\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 - Implémentez l'interface
IProductdans le fichierProductEntryPoint.cs.Important Le ProductID doit être un GUID unique (dans Visual Studio 2012, il peut être généré viaTools->GUID->New GUID) - Ajoutez les lignes suivantes au fichier
AssemblyInfo.cs:[assembly: Product(typeof(ASC.Web.Sample.Configuration.ProductEntryPoint))] - Héritez le Master depuis
web\studio\ASC.Web.Studio\Masters\BaseTemplate.master - Définissez le chemin de sortie dans les propriétés du projet comme suit :
<OutputPath>..\..\bin\</OutputPath>afin que les builds soient générés dans le dossier
web\studio\ASC.Web.Studio\bin. - Le projet peut être généré manuellement ou à l'aide du générateur. Pour ce dernier, ajoutez les lignes suivantes au fichier
build\msbuild\build.proj:<ProjectToBuild Include="$(ASCDir)web\studio\ASC.Web.Studio\Products\Sample\ASC.Web.Sample.csproj"/>et exécutez le fichier
build\Build.bat. - Après la génération, lancez le site web à l'adresse
localhost:port, accédez à la page de paramètres Modules & Tools (Modules et outils) (http://localhost:port/management.aspx?type=2) et activez le nouveau module Sample. Il sera ensuite disponible dans le menu déroulant de l'en-tête du portail ou via le lien direct : http://localhost:port/products/sample/default.aspx
Vous pouvez maintenant créer une API pour votre propre module en suivant ces instructions.