- Accueil
- Workspace
- Développement
- Ajouter des modules personnalisés à ONLYOFFICE Workspace
Ajouter des modules personnalisés à ONLYOFFICE Workspace
Introduction
Maintenant, vous pouvez facilement créer vos propres modules pour ONLYOFFICE et les ajouter à ONLYOFFICE Workspace. Un modèle de projet est disponible ici: https://github.com/ONLYOFFICE/CommunityServer/tree/master/web/studio/ASC.Web.Studio/Products/Sample
Vous pouvez modifier ce modèle ou utiliser le module modèle comme base d'un nouveau module personnalisé. Assurez l'accessibilité des composants nécessaires dans les dossiers que vous avez indiqué et vérifiez que toutes lignes de code sont ajoutées aux fichiers appropriés comme il est décrit ci-après.
Comment cela fonctionne
- Obtenez ONLYOFFICE Community Server disponible sur https://github.com/ONLYOFFICE/CommunityServer
- Le projet
Modèle
est disponible dans le dossierProduits
:https://github.com/ONLYOFFICE/CommunityServer/tree/master/web/studio/ASC.Web.Studio/Products
ASC.Api.Sample
est disponible dans le dossierASC.Api
:https://github.com/ONLYOFFICE/CommunityServer/tree/master/module/ASC.Api
- Il faut ajouter les lignes de code suivantes 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 des projets existants pour découvrir où on doit insérer ces lignes.
Attention! Saisissez les lignes selon l'ordre établi. - On doit ajouter
ASC.Api.Sample.SampleApi
au fichierweb\studio\ASC.Web.Studio\web.autofac.config
comme suit:<componenttype="ASC.Api.Sample.SampleApi, ASC.Api.Sample"service="ASC.Api.Interfaces.IApiEntryPoint, ASC.Api"name="sample"/>
- On peut exécuter
Build.bat
ici:https://github.com/ONLYOFFICE/CommunityServer/blob/master/build/Build.bat
Comment créer votre propre module 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 de sortie dll doit être "ASC.Api.*.dll"; - Ajoutez des références requises à partir 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
- Réalisez l'interface
IProduct
dans le fichierProductEntryPoint.cs
.IMPORTANT ProductID doit être un identifiant unique Guid (dans VS2012 il est généré en tant queTOOLS
->GUID
->New GUID
) - Ajoutez les lignes suivantes au fichier
AssemblyInfo.cs
:[assembly: Product(typeof(ASC.Web.Sample.Configuration.ProductEntryPoint))]
- Héritez le Maître de
web\studio\ASC.Web.Studio\Masters\BaseTemplate.master
- Définissez le chemin de sortie pour le projet comme suit:
<OutputPath>..\..\bin\</OutputPath>
pour que les builds soient générés dans le dossier
web\studio\ASC.Web.Studio\bin
. - On peut générer le projet manuellement ou à l'aide de 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
. - Ensuite, lancez le site web sur
localhost:port
, passez à la page Modules & Tools Settings (Paramètres de modules et outils) (http://localhost:port/management.aspx?type=2) et activez le nouveau module Sample (Modèle). Le module sera disponible dans le menu contextuel dans l'en-tête du portail ou par le lien direct: http://localhost:port/products/sample/default.aspx
Vous pouvez créer une API pour votre module selon ces instructions.