How to disable the OpenERP App store

Each time you click on the Settings menu in OpenERP, you actually fall on the OpenERP App Store. The first menu item now corresponds to the App store, while the third one corresponds to the locally available modules. That is, those that came by default with your OpenERP installation, or those you specifed in your buildout configuration.

The problem with this behaviour is that each time you want to access the settings, you loose time waiting for this page to load, which blocks everything with the javascript rotating wheel. If you're working in a slow network environment, it can be a real pain.

Moving the Apps menu item

The easiest way to avoid this behaviour is to move the Apps menu down in the stack. Do to so, just follow these steps :

  1. First enable the Technical Features for your admin account in the Settings → Users → Users → Administrator → Access Right
  2. Then go to Settings → Technical → User Interface → Menu Items → search "Installed" in the search bar → Edit
  3. Replace the sequence number of the menu with 5 (or anything lower than 10)
  4. Save and reload

Do do this from a module, you can add the following XML snippet :

<menuitem
          id="base.menu_module_tree"  
          parent="base.menu_management"     
          name="Installed Modules"    
          sequence="5"   
          action="base.open_module_tree" />

Completely disabling access to the Apps

While this feature allows you to easily access all community modules, which is a fantastic opportunity to discover additional fonctionnalities offered by the community, it also allows you to possibly install broken modules, incompatible modules, modules that cannot be uninstalled or modules that might break your database. However the OpenERP Apps won't display uninstallable modules or modules with missing or broken dependencies. That's probably just a matter of time until additional checks are eventually done by the OpenERP QA team with the Runbot. We also offer a public Buildbot that can be used if you're using Buildout to test their branches, just by doing a pull request on this repository.

But for us the major reason is that we don't want to install modules that are not locally tracked by a versionning system, for traceability and repeatability.

Whathever your reason, you may want to just disable this feature, and here is how to do so:

  1. First enable the Technical Features for your admin account in the Settings → Users → Users → Administrator → Access Right
  2. Then go to Settings → Technical → Parameters → System Parameters
  3. Create a new record with :
    Key = apps.server
    Value = http://localhost
  4. Save and reload

If you want to do this automatically from a script, you can just insert a line in the ir_config_parameter table :

psql openerp -c "INSERT INTO ir_config_parameter (key, value) VALUES ('apps.server', 'http://localhost');"