Developing OpenSim Addins/fr

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Directive pour les modules complémentaires)
(Directive pour les modules complémentaires)
Line 33: Line 33:
 
  [assembly: '''ImportAddinFile'''("AddinExample.html")]
 
  [assembly: '''ImportAddinFile'''("AddinExample.html")]
  
La premçre directive [assembly: '''Addin'''("Diva.AddinExample", OpenSim.VersionInfo.VersionNumber + ".1")] établit le nom public de votre addin: c'est ce que les utilisateurs verront.Portez une attention spéciale au numéro de version. Même si vous pouvez utiliser tout numéro de version que vous souhaitez, il est fortement conseillé d'attacher le numéro de version de votre addin à celui de la version OpenSim que vous avez utilisé pour compiler votre code.  La raison à cela est simple : .NET est très sensible à la compatibilité binaire, c'est pourquoi vous devez informer les utilisateurs à propos de la version d'OpenSim  compatible avec votre addin. La façon la plus directe de passer cette information est de l'indiquer dans le numéro de version de votre addin. Ainsi, nous utilisons les premiers chiffres pour indiquer le numéro de version d'OpenSim et le dernier chiffre pour désigner la version de l'addin. Si l'addin devait évoluer tout en utilisant la même version d'OpenSim, ce dernier chiffre passerait à 2, tandis que lespremiers chiffres resteraient les mêmes.
+
La première directive [assembly: '''Addin'''("Diva.AddinExample", OpenSim.VersionInfo.VersionNumber + ".1")] établit le nom public de votre addin: c'est ce que les utilisateurs verront.Portez une attention spéciale au numéro de version. Même si vous pouvez utiliser tout numéro de version que vous souhaitez, il est fortement conseillé d'attacher le numéro de version de votre addin à celui de la version OpenSim que vous avez utilisé pour compiler votre code.  La raison à cela est simple : .NET est très sensible à la compatibilité binaire, c'est pourquoi vous devez informer les utilisateurs à propos de la version d'OpenSim  compatible avec votre addin. La façon la plus directe de passer cette information est de l'indiquer dans le numéro de version de votre addin. Ainsi, nous utilisons les premiers chiffres pour indiquer le numéro de version d'OpenSim et le dernier chiffre pour désigner la version de l'addin. Si l'addin devait évoluer tout en utilisant la même version d'OpenSim, ce dernier chiffre passerait à 2, tandis que lespremiers chiffres resteraient les mêmes.
  
 
La deuxième directive [assembly: '''AddinDependency'''("OpenSim.Region.Framework", OpenSim.VersionInfo.VersionNumber)] établit la dépendance avec la dll OpenSim que  cet addin va compléter. Tous les modules de région complémentaires prolongent OpenSim.Region.Framework. Aussi, le numéro de version devrait être le numéro de version d'OpenSim utilisé car c'est la dll avec laquelle vous avez compiler votre code. Pour plus d'information sur le fonctionnement du versionig référez-vous à la page [[Installing_3rd_party_addins#Versioning]]
 
La deuxième directive [assembly: '''AddinDependency'''("OpenSim.Region.Framework", OpenSim.VersionInfo.VersionNumber)] établit la dépendance avec la dll OpenSim que  cet addin va compléter. Tous les modules de région complémentaires prolongent OpenSim.Region.Framework. Aussi, le numéro de version devrait être le numéro de version d'OpenSim utilisé car c'est la dll avec laquelle vous avez compiler votre code. Pour plus d'information sur le fonctionnement du versionig référez-vous à la page [[Installing_3rd_party_addins#Versioning]]

Revision as of 13:02, 11 February 2015

Cette page explique comment développer, créer des paquets et distribuer des modules de région complémentaires poour OpenSimulator. Elle est écrite pour les développeurs qui désirent apporter des fonctionnalités supplémentaires en plus de celles apportées dans la distribution de base d'OpenSim, et qui souhaitent partager ces modules sous forme binaire.Ces instructions concernent les les modules de regionqui s'exécutent sur des simulateurs. On suppose que vous êtes déjà familiarisé avec les bases du développement de modules de régions.

Si vous cherchez à utiliser et installer des modules complémentaires existants, veuillez vous référer à cette autre page.

Contents

Le package final

Vous trouverez un exemple de module complémentaire ici : https://github.com/diva/diva-distribution/tree/master/addon-modules/02AddinExample. C'est un exemple très simple qui ajoute une fonctionnalité au simulateur en pésentant un formulaire web à l'utilisateur pour lui demander son prénom et son nom. Les données recueillies sont stockées un fichier CSV composées de valeurs séparées par des virgules. Le formulaire Web sera disponible ici : http://yoursim/diva/addinexample. Le package final du module complémentaire contient :

  • la dll du module de région (Diva.AddinExample.dll)
  • une dll externe (CsvHelper.dll)
  • un fichier .ini (AddinExample.ini)
  • un fichier html (AddinExample.html)

Ces fichiers sont tous nécessaires pour que les utilisateurs d'OpenSim puissent faire fonctionner ce module complémentaire depuis leur installation ?

Directive pour les modules complémentaires

Comme d'habitude,les modules de régions doivent être annotés comme un module de région OpenSim Region:

    [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "AddinsExampleModule")]
    public class AddinExampleModule : ISharedRegionModule
    {
      ...
    }

Deplus, l'assembly qui contient le module de région devrait comprendre les directives suivantes :

// Ces lignes sont requises 
[assembly: Addin("Diva.AddinExample", OpenSim.VersionInfo.VersionNumber + ".1")]
[assembly: AddinDependency("OpenSim.Region.Framework", OpenSim.VersionInfo.VersionNumber)]
[assembly: AddinDescription("Example of how to create OpenSim Addins")]
[assembly: AddinAuthor("Diva Canto")]

// Les lignes suivantes ne sont pas requises, et si elles existent, elles seront spécifique à vos modules complémentaires (Addin)
[assembly: ImportAddinAssembly("CsvHelper.dll")]
[assembly: ImportAddinFile("AddinExample.ini")]
[assembly: ImportAddinFile("AddinExample.html")]

La première directive [assembly: Addin("Diva.AddinExample", OpenSim.VersionInfo.VersionNumber + ".1")] établit le nom public de votre addin: c'est ce que les utilisateurs verront.Portez une attention spéciale au numéro de version. Même si vous pouvez utiliser tout numéro de version que vous souhaitez, il est fortement conseillé d'attacher le numéro de version de votre addin à celui de la version OpenSim que vous avez utilisé pour compiler votre code. La raison à cela est simple : .NET est très sensible à la compatibilité binaire, c'est pourquoi vous devez informer les utilisateurs à propos de la version d'OpenSim compatible avec votre addin. La façon la plus directe de passer cette information est de l'indiquer dans le numéro de version de votre addin. Ainsi, nous utilisons les premiers chiffres pour indiquer le numéro de version d'OpenSim et le dernier chiffre pour désigner la version de l'addin. Si l'addin devait évoluer tout en utilisant la même version d'OpenSim, ce dernier chiffre passerait à 2, tandis que lespremiers chiffres resteraient les mêmes.

La deuxième directive [assembly: AddinDependency("OpenSim.Region.Framework", OpenSim.VersionInfo.VersionNumber)] établit la dépendance avec la dll OpenSim que cet addin va compléter. Tous les modules de région complémentaires prolongent OpenSim.Region.Framework. Aussi, le numéro de version devrait être le numéro de version d'OpenSim utilisé car c'est la dll avec laquelle vous avez compiler votre code. Pour plus d'information sur le fonctionnement du versionig référez-vous à la page Installing_3rd_party_addins#Versioning

Les troisième et quatrièmes directives donnent une description et les informations de paternité de votre addin.

Les dernières directives incluent des fichiers additionnels dans le package. Ces fichiers sont nécessaires pour que le module complémentaire fonctionne dans les environnements de vos utilisateurs. Pour vos addins, soit ces lignes n'existeront pas soit elles incluront différents fichiers/bibliothèques. Dans ce cas, nous avons ajouté le fichier ini de l'exemple, le formulaire html et la bibliothèque externe, CsvHelper.dll, qui sont nécessaires pour que l'addin exemple fonctionne. La directive [assembly: ImportAddinAssembly("CsvHelper.dll")] a deux objectifs: (1) elle inclut cette dll dans le package et (2) elle informe les utilisateurs que quand votre addin est chargé en mémoire, cette dll devrait l'être aussi.

Configuration

Distribuer des modules complémentaires

Personal tools
General
About This Wiki