title: OpenERP custom module not showing after modules list update
body: <pre><code> Put module in addons-path                      [x]
   Technical Features                             [x] 
   Restart openerp-server                         [x] 
   Click the update module list button            [x] 
   Clear the "installed" filter in the search box [x]
  </code></pre>
  
  <p>My custom module is still invisible in the modules list.</p>
  
  <p>However, it is found by code :</p>
  
  <pre><code>import openerp
  
  pool       = openerp.modules.registry.RegistryManager.get("test")
  cr         = pool.db.cursor()
  uid        = openerp.SUPERUSER_ID
  module     = pool.get("ir.module.module")
  module_id  = module.search(cr,uid,[("name","=","helloworld")])[0]
  helloworld = module.browse(cr,uid,module_id)
  
  
  In [4]: helloworld.name
  Out[4]: u'helloworld'
  
  In [7]: helloworld.state
  Out[7]: u'uninstalled'
  </code></pre>
  
  <p><strong>Edit</strong></p>
  
  <p>module structure</p>
  
  <pre><code>chaouche@karabeela ~/CODE/OPENERP/addons/helloworld $ ls
  total 20K
  -rw-r--r-- 1 chaouche chaouche  222 Mar  7 19:27 client.py
  -rw-r--r-- 1 chaouche chaouche   14 Feb 18 16:37 __init__.py
  -rw-r--r-- 1 chaouche chaouche  444 Mar  7 20:02 __openerp__.py
  -rw-r--r-- 1 chaouche chaouche 4.8K Mar  7 21:14 view.xml
  chaouche@karabeela ~/CODE/OPENERP/addons/helloworld $
  </code></pre>
  
  <p><code>__openerp__.py</code></p>
  
  <pre><code>chaouche@karabeela ~/CODE/OPENERP/addons/helloworld $ cat __openerp__.py
  {
          "name"        : "Hello World !",
          "author"      : "yassine chaouche",
          "version"     : '0.1',
          "email"       : "yacinechaouche@yahoo.com",
          "website"     : "http://ychaouche.wikispot.org",
          "category"    : "example",
      "description" : "a simple hello world example showing how to create a module",
      "summary"     : "Hello world !",
          "depends"     : ["base"],
          "data"        : ["view.xml"],
          "demo"        : [],
          "installable" : True,
  }
  chaouche@karabeela ~/CODE/OPENERP/addons/helloworld $
  </code></pre>
  
  <p><code>client.py</code></p>
  
  <pre><code>chaouche@karabeela ~/CODE/OPENERP/addons/helloworld $ cat client.py
  from openerp.osv import osv, fields
  
  class client(osv.osv):
      _inherit = "res.partner"
      _columns  = {
          "document" : fields.binary("document")
          }
  
  c = client()
  #yassine
  print "my module : client is : ",c
  chaouche@karabeela ~/CODE/OPENERP/addons/helloworld $
  </code></pre>
  
  <p><code>__init__.py</code></p>
  
  <pre><code>chaouche@karabeela ~/CODE/OPENERP/addons/helloworld $ cat __init__.py
  import client
  chaouche@karabeela ~/CODE/OPENERP/addons/helloworld $
  </code></pre>
  
  <p><code>view.xml</code></p>
  
  <pre><code>chaouche@karabeela ~/CODE/OPENERP/addons/helloworld $ cat view.xml 
  &lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;!-- we ensure that encoding is set correctly--&gt;
  &lt;!-- all of our view must be enclosed in openerp tags --&gt;
  &lt;openerp&gt;
    &lt;!-- here we are defining data --&gt;
    &lt;!-- other possible tags are : --&gt;
    &lt;!-- idk                       --&gt;
    &lt;!-- idk                       --&gt;
    &lt;!-- idk                       --&gt;
    &lt;!-- no specs whatsoever       --&gt;
    &lt;data&gt;
     &lt;!-- there are only two possible tags that you can put here                  --&gt;
     &lt;!-- &lt;record&gt; tags and &lt;menuitem&gt; tags                                       --&gt;
     &lt;!-- menuitems create menu items in the general menu on the left             --&gt;
     &lt;!-- an action must be associated with them                                  --&gt;
     &lt;!-- actions are created with a &lt;record&gt; tag with a specific model attribute --&gt;
     &lt;!-- &lt;record model="ir.actions.act_window"&gt; creates an action                --&gt;
     &lt;!-- records are a way of describing a row in the openerp database.          --&gt;
     &lt;!-- the model attribute represents the table that you want to insert to.    --&gt;
     &lt;!-- Records are kind of a SQL insert statement in an XML form               --&gt;
     &lt;!-- that's why there are &lt;field&gt; tags inside &lt;record&gt; tags, they represent  --&gt;
     &lt;!-- columns values.                                                         --&gt;
  
     &lt;!-- There are only two types of records : view records and action records  --&gt;
     &lt;!-- action records are created with the "ir.actions.act_window"            --&gt;
     &lt;!-- model (which maps to a table).                                         --&gt;
     &lt;!-- ir_act_window is a table in the openerp database, you can fire up      --&gt;
     &lt;!-- pgadmin to check it out. Possible fields for an action record are      --&gt;
     &lt;!-- columns of the ir_act_window table.                                    --&gt;
  
     &lt;!-- The same goes for the view records. A view record is created with the  --&gt;
     &lt;!-- "ir.ui.view" model which maps to the  ir_ui_view table in the openerp  --&gt;
     &lt;!-- database and fields inside a view record are also values for columns   --&gt;
     &lt;!--  in that table.                                                        --&gt;
  
  
     &lt;!-- You can take a look at the xml files in the addons directory for some  --&gt;
     &lt;!-- real life examples.                                                    --&gt;
  
     &lt;record id="client_form" model="ir.ui.view"&gt;
       &lt;!-- Now say we want to change our partner form view to add in a special    --&gt;
       &lt;!-- ui element to upload files. We need to tell OpenERP that we are going  --&gt;
       &lt;!-- to inherit from the current partner form by adding an inherit_id field --&gt;    
       &lt;!-- that will be set to the our partner form ID. But how do we get that    --&gt;
       &lt;!-- ID ?                                                                   --&gt;
  
       &lt;!-- We must enable developer mode (click on your username, click about     --&gt;
       &lt;!-- openerp, click enable debug mode). After that we go to the sales       --&gt;
       &lt;!-- module and click on a partner (any partner). We should have the form   --&gt;
       &lt;!-- view open. In the middle top we should see a new ui element, a         --&gt;
       &lt;!-- selection box with Debug View #129 inside. Click on that list then     --&gt;
       &lt;!-- select manage views. A popup div opens with all the views that are     --&gt;
       &lt;!-- associated with what we are currently seeing. This gives us view id    --&gt;
       &lt;!-- whichi is res.partner.form. We'll use that as the inherit_id attribute --&gt;
  
       &lt;field name="name"&gt;client.form&lt;/field&gt;
       &lt;field name="model"&gt;res.partner&lt;/field&gt;
       &lt;field name="inherit_id" ref="res.partner.form" /&gt;
  
       &lt;!-- Up until now we haven't written a single line of UI element, we're     --&gt;
       &lt;!-- filling some mandatory fields (columns) that OpenERP uses to manage    --&gt;
       &lt;!-- its views. The real UI code must go inside a special 'arch' field.     --&gt;
       &lt;field name="arch" type="XML"&gt;
         &lt;!-- this will store our view structure                                   --&gt;
         &lt;!-- so we need to tell openerp that we would like to add a new page in   --&gt;
         &lt;!-- the notebook that's on the bottom. We simply add the notebook tag    --&gt;
         &lt;!-- and specify that we want to add something to it (not replace it) by  --&gt;
         &lt;!-- setting the position attribute to "inside", meaning all fields       --&gt;
         &lt;!-- following must be place inside the notebook. Other possible values   --&gt;
         &lt;!-- for this attribute are "after", "before" and "replace". "inside"     --&gt;
         &lt;!-- being the default.                                                   --&gt;
         &lt;notebook position="inside"&gt;
           &lt;!-- this page will be added to the other pages of the notebook         --&gt;
           &lt;page string="Document"&gt;
             &lt;field name="res.partner.document"/&gt;
           &lt;/page&gt;
         &lt;/notebook&gt;
       &lt;/field&gt;
     &lt;/record&gt;
    &lt;/data&gt;
  &lt;/openerp&gt;
  chaouche@karabeela ~/CODE/OPENERP/addons/helloworld $
  </code></pre>