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

  1. Obtenez ONLYOFFICE Community Server sur https://github.com/ONLYOFFICE/CommunityServer
  2. Le projet Sample est disponible dans le dossier Products ici :

    https://github.com/ONLYOFFICE/CommunityServer/tree/master/web/studio/ASC.Web.Studio/Products

  3. ASC.Api.Sample est disponible dans le dossier ASC.Api ici :

    https://github.com/ONLYOFFICE/CommunityServer/tree/master/module/ASC.Api

  4. 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.
  5. ASC.Api.Sample.SampleApi est ajouté au fichier web\studio\ASC.Web.Studio\web.autofac.config comme suit :
    <component
              type="ASC.Api.Sample.SampleApi, ASC.Api.Sample"
              service="ASC.Api.Interfaces.IApiEntryPoint, ASC.Api"
              name="sample"/>
  6. Le fichier Build.bat peut être exécuté ici :

    https://github.com/ONLYOFFICE/CommunityServer/blob/master/build/Build.bat

Comment créer votre propre module pour ONLYOFFICE

  1. 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".
  2. 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
  3. Implémentez l'interface IProduct dans le fichier ProductEntryPoint.cs.
    Important Le ProductID doit être un GUID unique (dans Visual Studio 2012, il peut être généré via Tools -> GUID -> New GUID)
  4. Ajoutez les lignes suivantes au fichier AssemblyInfo.cs :
    [assembly: Product(typeof(ASC.Web.Sample.Configuration.ProductEntryPoint))]
  5. Héritez le Master depuis web\studio\ASC.Web.Studio\Masters\BaseTemplate.master
  6. 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.

  7. 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.

  8. 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.

Articles avec le tag :
Parcourir tous les tags