ERP en LOGICIEL LIBRE dédié aux PME-PMI

           Devenez partenaire Principal ou Majeur de Neogia

Tools

Contents

Outils utilisés pour développer Neogia

Comment installer une station de travail pour développeur :

Java

Eclipse

NetBeans

Ant


Argo Uml

Neogia Generator


Add-on Manager

L'Add-on Manager est un gestionnaire d'extensions pour Ofbiz développé par l'équipe Neogia. Il permet de rajouter des fonctionnalités propres à Neogia sur une installation Ofbiz de base.

Vous trouverez plus d'informations sur cet outil, ainsi que la liste des extensions disponibles sur la page suivante : OFBiz add-on/fr.


Subversion

Pour s'éviter un certain nombre de problèmes lors d'un commit, comme l'envoie de fichiers cachés, ou le mode binaire pour des fichiers textes, on peut configurer subversion. Le fichier ~/.subversion/config pourrait ressembler à celui-ci :

[miscellany]
global-ignores = *.o *.lo *.la *.iml *.ipr #*# .*.orig *.orig .*.rej *.rej .*~ *~ .#* *.bak *.class .DS_Store
enable-auto-props = yes
[auto-props]
*.java       = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.bsh        = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.groovy     = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.jsp        = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.tld        = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.ftl        = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.js         = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.sql        = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.c          = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.cpp        = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.h          = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.txt        = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.sgml       = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.properties = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.pop.patch  = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.cfp.patch  = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.xml        = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.classpath  = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.project    = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.sld        = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.gml        = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.xsl        = svn:mime-type=text/xsl;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.xsd        = svn:mime-type=text/xsd;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.html       = svn:mime-type=text/html;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.htm        = svn:mime-type=text/html;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.css        = svn:mime-type=text/css;svn:eol-style=native;svn:keywords="Date Rev Author URL Id"
*.dsp        = svn:eol-style=CRLF
*.bat        = svn:eol-style=CRLF
*.dsw        = svn:eol-style=CRLF
*.sh         = svn:eol-style=LF;svn:executable;svn:keywords="Date Rev Author URL Id"
*.png        = svn:mime-type=image/png
*.jpg        = svn:mime-type=image/jpeg
*.gif        = svn:mime-type=image/gif
*.tif        = svn:mime-type=image/tiff
*.zip        = svn:mime-type=application/zip
*.sxw        = svn:mime-type=application/zip
*.sxc        = svn:mime-type=application/zip
*.sxi        = svn:mime-type=application/zip
*.jar        = svn:mime-type=application/octet-stream
*.jks        = svn:mime-type=application/octet-stream
*.utf        = svn:mime-type=application/octet-stream
*.ttf        = svn:mime-type=application/octet-stream
*.shp        = svn:mime-type=application/octet-stream
*.shx        = svn:mime-type=application/octet-stream
*.dbf        = svn:mime-type=application/octet-stream
*.mif        = svn:mime-type=application/octet-stream
*.mid        = svn:mime-type=application/octet-stream
Makefile     = svn:mime-type=text/plain;svn:eol-style=native
README       = svn:mime-type=text/plain;svn:eol-style=native
NOTICE       = svn:mime-type=text/plain;svn:eol-style=native
LICENSE      = svn:mime-type=text/plain;svn:eol-style=native
ant          = svn:mime-type=text/plain;svn:eol-style=LF
ij.ofbiz     = svn:mime-type=text/plain;svn:eol-style=LF
rc.ofbiz     = svn:mime-type=text/plain;svn:eol-style=LF

Mise en forme des entitymodel.xml par feuille de style xsl

Pour vérifier qu'un diagramme UML est fidèle au fichier entitymodel.xml correspondant on peut le générer avec neogia-generator et comparer les deux fichiers. Le problème vient du fait que l'ordre dans les deux fichiers n'est pas forcément le même et que ce sont des fichiers xml donc difficilement lisibles. Afin de faciliter ce travail on peut modifier l'affichage des entitymodel.xml par une feuille de style XSL (mef.xsl par exemple). Voici ce que pourrait contenir une telle feuille :

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
  <html>
    <head>
    </head>
    
    <body>
      <center>
          <xsl:apply-templates select="entitymodel" />
      </center>
    </body>
  </html>
</xsl:template>
  
<xsl:template match="entitymodel"  >
  <h1><xsl:value-of select="title"/></h1>
  <h2><xsl:value-of select="description"/></h2>
  <h2><xsl:value-of select="copyright"/></h2>
  <h2><xsl:value-of select="author"/></h2>
  <h2><xsl:value-of select="version"/></h2>
  <table border="1px" style="text-align:center;">
    <caption><big>Entities</big></caption>
    <xsl:apply-templates select="entity"><xsl:sort select="@entity-name" order="ascending" /></xsl:apply-templates>
  </table>
</xsl:template>

<xsl:template match="entity">
  <h3 style="text-align:center;color:red"><xsl:value-of select ="@entity-name" /> [ <xsl:value-of select ="@package-name" /> ]</h3>
  <table border="1px" style="text-align:center;"><center>
  <caption><big>Fields</big></caption>
    <tr><td  style="text-align:center;color:blue">Nom</td><td  style="text-align:center;color:blue">Type</td></tr>
    <xsl:apply-templates select="field"><xsl:sort select="@name" order="ascending" /></xsl:apply-templates>
  </center></table>
  <br />
  <table border="1px" style="text-align:center;"><center>
  <caption><big>Relations</big></caption>
  <tr><td style="text-align:center;color:blue">Type</td><td  style="text-align:center;color:blue">fk-name</td>
    <td  style="text-align:center;color:blue">rel-field-name</td><td  style="text-align:center;color:blue">rel-entity-name</td></tr>
    <xsl:apply-templates select="relation" ><xsl:sort select="@type" order="ascending" /></xsl:apply-templates>
  </center></table>
  <br />
  <table border="1px" style="text-align:center;"><center>
  <caption><big>Primary keys</big></caption>
  <tr><td  style="text-align:center;color:blue">field</td></tr>
    <xsl:apply-templates select="prim-key" ><xsl:sort select="@field" order="ascending" /></xsl:apply-templates>
  </center></table>
  <br />
</xsl:template>

<xsl:template match="field">
  <tr><td><b><xsl:value-of select ="@name" /></b></td><td><xsl:value-of select ="@type" /></td></tr>
</xsl:template>

<xsl:template match="relation">
  <tr>
    <td><b><xsl:value-of select ="@type" /></b></td><td><xsl:value-of select ="@fk-name" /></td>
    <td><xsl:value-of select ="@rel-field-name"/></td>
    <td><xsl:value-of select="@rel-entity-name"/></td>
  </tr>
</xsl:template>

<xsl:template match="prim-key">
  <tr><td><b><xsl:value-of select ="@field" /></b></td></tr>
</xsl:template>
  
</xsl:stylesheet>


Il ne reste plus qu'à afficher la feuille xml avec ce style. Parmi les diverses solutions la plus simple est l'ajout de la ligne <?xml-stylesheet type="text/xsl" href="mef.xsl"?> juste après la ligne du type <?xml version="1.0" encoding="UTF-8"?>

Voici alors ce que l'on peut obtenir :