Update Magento page structure by overloading the layout content

There are many ways to update Magento page structure content: all lead to the same thing, a custom page, but not in the same ways. Each method has its own advantages and drawbacks.

Within this topic we’ll overview overloading page structure by overloading native Magento layout files

How to overload Magento page structure using loading mechanism ?

All this process is based upon template loading mechanism which I explained before:

  • You define your design through back-office
  • You copy the Magento layout file to update in the layout folder of your custom design folder

For example, if you want to overload Magento customer account page content, you can do it by copying the original customer.xml into your custompackage layout folder

When Magento will be looking for the customer.xml file it will find yours before the default one: this is yours which will be used instead of the native one

Very easy and quick method to update Magento layout…

Advantages of updating Magento page content by overloading native layouts

You are totally independent of the native page structure

With this method, you are totally independent of the existing page structure: you can do what you want inside

Quick way to update page structure content

This is also the quickest way to update page structure: you’ve found which layout file contains the element you want to update, you just have to copy it and update it. No layout update definition, no new module to load to embed some update

Code more clear

Almost everybody knows now which files describe Magento page structure. Using this method makes the code reading easier: no many layout update to find which are involved in a page, this is our layout copy which is involved in your page. There are also less treatments to build your page because there are less files to parse to build your page

Drawback of updating Magento page content by overloading native layouts

Difficult to capitalize

Your new layout page structure depends on the design applied. Even if you can add files of some specific packages in a Magento connect package, it’ll only work if the Magento has configured the same design: force users to use a specific value of design is a difficult choice and will make all other modules installation harder

Difficult to maintain

Creating a fork makes it more difficult to take advantage of developments that may contain Magento updates, and generally the community.

Do you use this kind of method to overload Magento page structure?

Some best practices to manage templates with the magento template loading API

I presented you a few days ago an introduction on how are built the Magento pages. Now we we’ll see how the templates files are loaded since Magento 1.4 with the template loading API and how we can use this loading API to reduce our work with Magento.

Reminder: how are defined the templates path in a layout file?

Templates are defined in the layout files in a couple block / template with a relative path like this:


<block type="module_identifier/class_suffix" template="relative/path/to/template/file/in/the/template/design/subfolder.phtml"/>

For example, here’s the definition of the block / template that defines the search form field available in your catalog pages:

So, how does Magento find the full path for the relative path defined in this structure?

Magento template loading API available since Magento community edition 1.4 and above (Enterprise 1.7 and above)

Since Magento 1.4.x, when a page is requested, Magento analyzes all couples block / template that compose it. Afterthat, Magento will look for the full path of the template file in the following folders:

  • 1. app/design/%context%/%design%/%theme%/template
  • 2. app/design/%context%/%design%/default/template
  • 3. app/design/%context%/base/default/template

Magento takes the first file found and use it.

What happens if the file is not found? By default, if template file is not found in these folders:

  • No output is renderering
  • A trace in log will be written if log is enabled

This loading API explains why we can define easily some temporary themes for your site like for christmas, summer, sales…: after setting up a new theme, you must only update some elements in your template in a new theme template folder

This is this loading API which allow Magento to drive some merchandising design on your website

We will now see how we can work more efficiantly whis this loading template API

Some best practices when building a new Magento design and theme

Copy paste the default theme when building your package?

When looking for the template file in the folders mentionned before, Magento runs a file_exists. Even if copy paste is the devil, when you build your package, duplicate content will avoid many file_exists when rendering your page, so it could be interesting to duplicate the base/default theme

But one of the drawback of duplicate base/default content will appear during magento upgrade: you won’t benefit of the new templates design for templates you have not overloaded: after upgrading the magento source code: do you really want to check if all template have changed? Or keep your own one and do not use the new functionnalities?

Today, I haven’t seen any limit of the file_exists loading. There are many others points to check before this performance option to make magento faster…

New functionnality in Magento: in base/default !!!!

Another common workaround in Magento project is that we can hear that it’s strictly forbidden to write in the in base/default template folder. I never understood why: if you run in multiple stores model and have specific packages defined for each store, this is the only way you have to share templates between each store. In case we do not want to write in base/default, the only way that we have to share template is to copy paste it in each package/default theme… wonderfull ūüôā

Furthermore, if you want to share your module in Magento connect, this is the only way you have to avoid requiring a post configuration by copying the embedded template files in the current package folder (modules should be installed through only one click)

How organize your new templates file in your theme?

When we define a new couple block / template, we provide a relative path to define the related template to load. As a best practice, I cluster all my templates in a subfolder like %namespace%/%module%

This best practice has the following advantages:

  • When you develop your module, this is quicker to find it in the directory tree
  • If you share your module in Magento connect, this reduce the risk that other modules will have already existing templates in directory tree

Be lazy when you work with Magento templates!

I’ve made hosting for one of the biggest french bank and I liked this work: check everything is ok or be able to solve problem quickly and easily with the tools you made. Magento loading API is able to help you to provide you quick answer and easily manageable way to customize the appareance of a Magento website

Sometimes I hear that for performance issues, some people overload the Magento template loading API. It’s a shame to avoid using this model because your client won’t be able to drive the website marketing design: model is quite fine and allows you to do what you want easily without too much work. There are really many thing to do before updating this API for performance issues

No packages listed in Magento connect manager, what’s wrong?

If you go into your Magento connect administrative panel, perhaps there is no packages listed in. Why?

This post will explain why there is no package in, if this is really a problem and which solutions you have to update your Magento

How does the Magento connect administrative panel works?

First, take a look at how this administrative panel works

In first releases, Magento installer was based upon pear installer. In 1.5 kernel and above, it’s been replaced with a specific mage installer. In this post, we’ll first study pear case and afterwards mage installer case

Magento connect packages list for pear installers (Magento CE below 1.5 and below Magento Enterprise Edition 1.10)

In these Magento versions the pear installer is in the Magento root directory

This file is a shell script which provides many functionnalities to deploy packages; all availables functions from this shell scripts are runned by a PEAR php script called pear

Here’s the detail of available commands

Commands:
build      Build an Extension From C Source
bundle      Unpacks a Pecl Package
channel-add      Add a Channel
channel-alias      Specify an alias to a channel name
channel-delete      Remove a Channel From the List
channel-discover      Initialize a Channel from its server
channel-info      Retrieve Information on a Channel
channel-update      Update an Existing Channel
clear-cache      Clear Web Services Cache
config-create      Create a Default configuration file
config-get      Show One Setting
config-help      Show Information About Setting
config-set      Change Setting
config-show      Show All Settings
convert      Convert a package.xml 1.0 to package.xml 2.0 format
cvsdiff      Run a "cvs diff" for all files in a package
cvstag      Set CVS Release Tag
download      Download Package
download-all      Downloads each available package from the default channel
info      Display information about a package
install      Install Package
list      List Installed Packages In The Default Channel
list-all      List All Packages
list-categories      List All Categories
list-category      List All Packages of a Category
list-channels      List Available Channels
list-files      List Files In Installed Package
list-packages      List All Packages of a Channel
list-upgrades      List Available Upgrades
login      Connects and authenticates to remote server
logout      Logs out from the remote server
mage-package      Build Magento Package
makerpm      Builds an RPM spec file from a PEAR package
package      Build Package
package-dependencies      Show package dependencies
package-validate      Validate Package Consistency
pickle      Build PECL Package
remote-info      Information About Remote Packages
remote-install      Install Package
remote-list      List Remote Packages
remote-uninstall      Un-install Package
remote-upgrade      Upgrade Package
remote-upgrade-all      Upgrade All Packages
run-scripts      Run Post-Install Scripts bundled with a package
run-tests      Run Regression Tests
search      Search remote package database
shell-test      Shell Script Test
sign      Sign a package distribution file
uninstall      Un-install Package
update-channels      Update the Channel List
upgrade      Upgrade Package
upgrade-all      Upgrade All Packages
Usage: pear [options] command [command-options] Type "pear help options" to list all options.
Type "pear help shortcuts" to list all command shortcuts.
Type "pear help <command></command>" to get the help for the specified command.

By default, this PHP script is located in downloader/pearlib folder

This is this script which installs, upgrades, removes your modules coming from magento connect

How does  the PEAR installer script run to install a module coming from magento connect?

First, It could be interesting to make a quick reminder about pear channels.

Pear channels

What is a pear channel?

A pear channel is a repository where to look for packages. Magento use two pear channels, one for core and one for the community modules

In Magento connect administrative panel we have the details of which package is installed and from which channel it comes from :

What happens when you install a module from the Magento connect administrative panel?

When you provide a module key in Magento connect manager interface, it’ll provide the install command to the pear installer. Running this command will download a copy of the package, intall the package, but also keep a record of the installed packages in local to be able to know what is installed in

These traces are kept in the folder downloader/pearlib/php/.registry/%channelname%/%module_identifier%.reg

These registry files contain changelog, descriptives data for installed module

Here’s an example of generated registry file for Translation module fr_FR

a:21:{s:7:"attribs";a:6:{s:15:"packagerversion";s:5:"1.7.1";s:7:"version";s:3:"2.0";s:5:"xmlns";s:35:"http://pear.php.net/dtd/package-2.0";s:11:"xmlns:tasks";s:33:"http://pear.php.net/dtd/tasks-1.0";s:9:"xmlns:xsi";s:41:"http://www.w3.org/2001/XMLSchema-instance";s:18:"xsi:schemaLocation";s:159:"http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd";}s:4:"name";s:27:"Locale_Mage_community_fr_FR";s:7:"channel";s:37:"connect.magentocommerce.com/community";s:7:"summary";s:57:"Magento Community Modules - French (France) Language Pack";s:11:"description";s:156:"Magento Community Modules - French (France) Language Pack</code><code>
Ce pack contient les fichiers de traductions française de Magento ainsi que les emails traduits.";s:4:"lead";a:4:{s:4:"name";s:3:"SeL";s:4:"user";s:10:"seb.lepers";s:5:"email";s:20:"seb.lepers@gmail.com";s:6:"active";s:3:"yes";}s:4:"date";s:10:"2010-08-24";s:4:"time";s:8:"13:18:09";s:7:"version";a:2:{s:7:"release";s:7:"1.4.1.1";s:3:"api";s:7:"1.4.1.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:47:"http://www.opensource.org/licenses/academic.php";}s:8:"_content";s:8:"AFL v3.0";}s:5:"notes";s:1512:"v1.4.1.1 :
- Correction du bug BO : produits téléchargeables.
- Correction du bug BO : Instance de widgets.v1.4.1.0 :
- Mise à jour pour Magento CE v1.4.1v1.4.0.0 :
- Mise à jour pour Magento CE v1.4v1.3.0.4 :
- Pas de modifications. Extension repackagée suite à des pbs sur Magento Connect

v1.3.0.1 Ã v1.3.0.3 :
- Ajout de libellés manquants

v1.3.0 :
- Mise à jour pour Magento v1.3.0
- Ajout de libellés manquants

v1.2.0.2 :
- Correction de l'erreur de manip de la v1.2.0.1.1. Retour à la v1.2.0.1.

v1.2.0.1.1 :
- Erreur de publication à l'aide des outils Varien

v1.2.0.1 :
- Ajout de libellés manquants (merci à Arnaud)

v1.2.0 :
- Ajout des nouveaux libell√ɬ©s de la v1.2.x de Magento (merci √É Beno√ɬģt et Kiwii)

v1.1.7 :
- Correction d'un libellé qui provoque une erreur javascript : "Saisissez une liste d\'adresses email valides, séparées par des virgules. Par exemple, jeandupond@domaine.com, martindupond@domaine.com"

v1.1.6 :
- Mise à jour pour la v1.1.7
- Correction du bug des produits bundle et des options personnalisables.
- Ajout de la traduction de plusieurs termes non traduits auparavant

v1.1.5 :
- Suppression d'un fichier inutile.

v1.1.4 :
- Mise à jour du libellé "Quantité définie par l\'utilisateur" dans Mage_Bundle.csv qui cause un bug javascript.

v1.1.3 :
- Attention, les emails contenus dans cette publication ne sont pas compatibles avec la version 1.0 de Magento.
Les fichiers csv de traduction sont compatibles avec la v1.0.";s:8:"contents";a:1:{s:3:"dir";a:2:{s:7:"attribs";a:1:{s:4:"name";s:1:"/";}s:4:"file";a:95:{i:0;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"71d633d3ddbb70b4c544649fcc44341e";s:4:"name";s:52:"adminhtml/default/default/locale/fr_FR/translate.csv";s:4:"role";s:10:"magedesign";}}i:1;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"a984775727bdca41c5bbef44db2fae2a";s:4:"name";s:49:"frontend/default/blank/locale/fr_FR/translate.csv";s:4:"role";s:10:"magedesign";}}i:2;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"a984775727bdca41c5bbef44db2fae2a";s:4:"name";s:51:"frontend/default/default/locale/fr_FR/translate.csv";s:4:"role";s:10:"magedesign";}}i:3;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"a984775727bdca41c5bbef44db2fae2a";s:4:"name";s:50:"frontend/default/iphone/locale/fr_FR/translate.csv";s:4:"role";s:10:"magedesign";}}i:4;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"a984775727bdca41c5bbef44db2fae2a";s:4:"name";s:50:"frontend/default/modern/locale/fr_FR/translate.csv";s:4:"role";s:10:"magedesign";}}i:5;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"792ccb1d53f6d27a81a37be9063d66df";s:4:"name";s:46:"fr_FR/template/email/sales/creditmemo_new.html";s:4:"role";s:10:"magelocale";}}i:6;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"a009dd9012612dcee37ff548239db582";s:4:"name";s:52:"fr_FR/template/email/sales/creditmemo_new_guest.html";s:4:"role";s:10:"magelocale";}}i:7;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"2dd40d3298287fa89cf5dad6712cdbd4";s:4:"name";s:49:"fr_FR/template/email/sales/creditmemo_update.html";s:4:"role";s:10:"magelocale";}}i:8;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"3c02aab13fca7c62eb873aa86dfff145";s:4:"name";s:55:"fr_FR/template/email/sales/creditmemo_update_guest.html";s:4:"role";s:10:"magelocale";}}i:9;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"d7dc60810af4d0f181f82edc2ba13942";s:4:"name";s:43:"fr_FR/template/email/sales/invoice_new.html";s:4:"role";s:10:"magelocale";}}i:10;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"80a94334d74588e257e31ec4089062a9";s:4:"name";s:49:"fr_FR/template/email/sales/invoice_new_guest.html";s:4:"role";s:10:"magelocale";}}i:11;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"ebc47b689c6bd0725d3609f43f3dac09";s:4:"name";s:46:"fr_FR/template/email/sales/invoice_update.html";s:4:"role";s:10:"magelocale";}}i:12;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"5fb0662dce045b7eda2dfeada45c9aea";s:4:"name";s:52:"fr_FR/template/email/sales/invoice_update_guest.html";s:4:"role";s:10:"magelocale";}}i:13;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"8e8d6ebd430eb14574734261c376c6a1";s:4:"name";s:41:"fr_FR/template/email/sales/order_new.html";s:4:"role";s:10:"magelocale";}}i:14;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"7537a662ab07b8bc9948a8263815a006";s:4:"name";s:47:"fr_FR/template/email/sales/order_new_guest.html";s:4:"role";s:10:"magelocale";}}i:15;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"729b18a769fe25b2c17a30bd51c9bb64";s:4:"name";s:44:"fr_FR/template/email/sales/order_update.html";s:4:"role";s:10:"magelocale";}}i:16;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"7aaac07e52adcd00222dc911e12b8827";s:4:"name";s:50:"fr_FR/template/email/sales/order_update_guest.html";s:4:"role";s:10:"magelocale";}}i:17;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"3382d035e3eb0c5ec1e87a9ceea8b58e";s:4:"name";s:44:"fr_FR/template/email/sales/shipment_new.html";s:4:"role";s:10:"magelocale";}}i:18;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"c54b4d6859037d40047ce35aa492bd30";s:4:"name";s:50:"fr_FR/template/email/sales/shipment_new_guest.html";s:4:"role";s:10:"magelocale";}}i:19;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"6b3c50ccea978c779a28d6cf47a03cdd";s:4:"name";s:47:"fr_FR/template/email/sales/shipment_update.html";s:4:"role";s:10:"magelocale";}}i:20;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"0e2b813f34d32eab2e42f3da6e6f4a19";s:4:"name";s:53:"fr_FR/template/email/sales/shipment_update_guest.html";s:4:"role";s:10:"magelocale";}}i:21;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"66aab6382880363b7e690586dbc3d091";s:4:"name";s:37:"fr_FR/template/email/account_new.html";s:4:"role";s:10:"magelocale";}}i:22;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"67f5ff30cf27cf4c8048121f828635e3";s:4:"name";s:50:"fr_FR/template/email/account_new_confirmation.html";s:4:"role";s:10:"magelocale";}}i:23;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"440d40ebe9888624c74c2c40f9ec9d9b";s:4:"name";s:47:"fr_FR/template/email/account_new_confirmed.html";s:4:"role";s:10:"magelocale";}}i:24;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"b2e4fa1fbd64b1c3a3cf758cbc5ae748";s:4:"name";s:44:"fr_FR/template/email/admin_password_new.html";s:4:"role";s:10:"magelocale";}}i:25;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"9a5af8f947771c5825abfdb644cf7da9";s:4:"name";s:38:"fr_FR/template/email/contact_form.html";s:4:"role";s:10:"magelocale";}}i:26;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"b817ac36358b1152c8277c89553e9b7e";s:4:"name";s:49:"fr_FR/template/email/currency_update_warning.html";s:4:"role";s:10:"magelocale";}}i:27;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"fb309621970d1e38b3ed24d257c57d73";s:4:"name";s:43:"fr_FR/template/email/log_clean_warning.html";s:4:"role";s:10:"magelocale";}}i:28;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"d813d9b665c4b9cb0b38066967e0d498";s:4:"name";s:52:"fr_FR/template/email/moneybookers_activateemail.html";s:4:"role";s:10:"magelocale";}}i:29;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"1118bb0453dd56d8945ed6a72e079e5e";s:4:"name";s:51:"fr_FR/template/email/newsletter_subscr_confirm.html";s:4:"role";s:10:"magelocale";}}i:30;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"da140e1409bf1b7a0ed4403a6fed8cc3";s:4:"name";s:51:"fr_FR/template/email/newsletter_subscr_success.html";s:4:"role";s:10:"magelocale";}}i:31;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"e6f63f91c4753f6be980a0295cef0e5c";s:4:"name";s:50:"fr_FR/template/email/newsletter_unsub_success.html";s:4:"role";s:10:"magelocale";}}i:32;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"1f9c73cf005de7659b0a14606ab25989";s:4:"name";s:38:"fr_FR/template/email/password_new.html";s:4:"role";s:10:"magelocale";}}i:33;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"7a5b527e33f74e7eb800b329e54067d2";s:4:"name";s:40:"fr_FR/template/email/payment_failed.html";s:4:"role";s:10:"magelocale";}}i:34;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"398cd111d4225bf1ca1149c955f984b0";s:4:"name";s:50:"fr_FR/template/email/product_alert_cron_error.html";s:4:"role";s:10:"magelocale";}}i:35;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"dc747aff89368d8ae1c22e630dbc4688";s:4:"name";s:45:"fr_FR/template/email/product_price_alert.html";s:4:"role";s:10:"magelocale";}}i:36;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"be0de6147d5fe21b79f7df3180246f80";s:4:"name";s:39:"fr_FR/template/email/product_share.html";s:4:"role";s:10:"magelocale";}}i:37;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"53d7720b16c28b8b579cb53eec685516";s:4:"name";s:45:"fr_FR/template/email/product_stock_alert.html";s:4:"role";s:10:"magelocale";}}i:38;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"d34453bb8fb40d9226056e659901c55a";s:4:"name";s:50:"fr_FR/template/email/sitemap_generate_warning.html";s:4:"role";s:10:"magelocale";}}i:39;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"7a483d164d9340407a8af1730cd15247";s:4:"name";s:40:"fr_FR/template/email/wishlist_share.html";s:4:"role";s:10:"magelocale";}}i:40;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"36a1d8ada9e41f93b356124ff116b627";s:4:"name";s:24:"fr_FR/Mage_Adminhtml.csv";s:4:"role";s:10:"magelocale";}}i:41;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"77b702483b37b9eb7ca00c45e7bbe103";s:4:"name";s:32:"fr_FR/Mage_AdminNotification.csv";s:4:"role";s:10:"magelocale";}}i:42;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"f4603badcb22ba590e57b0f8f3c82996";s:4:"name";s:18:"fr_FR/Mage_Api.csv";s:4:"role";s:10:"magelocale";}}i:43;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"a4d4d2f1cb5034fe3426f8b5b6545ad4";s:4:"name";s:21:"fr_FR/Mage_Backup.csv";s:4:"role";s:10:"magelocale";}}i:44;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"59306efa4e25ab71f43df17cc242c16f";s:4:"name";s:21:"fr_FR/Mage_Bundle.csv";s:4:"role";s:10:"magelocale";}}i:45;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"ff6ed52c6b455b0f08e99d19aceae8a1";s:4:"name";s:22:"fr_FR/Mage_Catalog.csv";s:4:"role";s:10:"magelocale";}}i:46;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"f897cfb97e995bb0cf97484d2ea795df";s:4:"name";s:31:"fr_FR/Mage_CatalogInventory.csv";s:4:"role";s:10:"magelocale";}}i:47;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"52eb0a351ad219b3ad85854af6e2b4f2";s:4:"name";s:26:"fr_FR/Mage_CatalogRule.csv";s:4:"role";s:10:"magelocale";}}i:48;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"796e9b439592eba0eaed5d72d57b26a5";s:4:"name";s:28:"fr_FR/Mage_CatalogSearch.csv";s:4:"role";s:10:"magelocale";}}i:49;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"60c62ea73f02b27f149712de5e2cc371";s:4:"name";s:23:"fr_FR/Mage_Centinel.csv";s:4:"role";s:10:"magelocale";}}i:50;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"735cbcac3f8eefb820421d04cf8ad704";s:4:"name";s:23:"fr_FR/Mage_Checkout.csv";s:4:"role";s:10:"magelocale";}}i:51;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"d760742b71f9774d418e6bdd599a6599";s:4:"name";s:18:"fr_FR/Mage_Cms.csv";s:4:"role";s:10:"magelocale";}}i:52;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"e5f394fe8c96de83bb9d4c2537bde548";s:4:"name";s:23:"fr_FR/Mage_Compiler.csv";s:4:"role";s:10:"magelocale";}}i:53;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"fe4895a407f015be43d3300d9302978b";s:4:"name";s:23:"fr_FR/Mage_Contacts.csv";s:4:"role";s:10:"magelocale";}}i:54;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"65164a911bd38a3f86e03a3471f2d68d";s:4:"name";s:19:"fr_FR/Mage_Core.csv";s:4:"role";s:10:"magelocale";}}i:55;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"3a9f1ce181ad4cbc789106b6c290edbf";s:4:"name";s:19:"fr_FR/Mage_Cron.csv";s:4:"role";s:10:"magelocale";}}i:56;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"19f1d85bda27632fab31fc2b1097cd13";s:4:"name";s:23:"fr_FR/Mage_Customer.csv";s:4:"role";s:10:"magelocale";}}i:57;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"ae1d6dbbf6279998090ed3dd1c707696";s:4:"name";s:23:"fr_FR/Mage_Dataflow.csv";s:4:"role";s:10:"magelocale";}}i:58;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"27097055468249f4f1d2c3e4cfd10130";s:4:"name";s:24:"fr_FR/Mage_Directory.csv";s:4:"role";s:10:"magelocale";}}i:59;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"086db5ecd25d482e4a23236d4bf22d9c";s:4:"name";s:27:"fr_FR/Mage_Downloadable.csv";s:4:"role";s:10:"magelocale";}}i:60;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"d805015d6b3a155cc5ba24e3919976af";s:4:"name";s:18:"fr_FR/Mage_Eav.csv";s:4:"role";s:10:"magelocale";}}i:61;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"1ed8e393a4db6b1899978b640840b6cf";s:4:"name";s:26:"fr_FR/Mage_GiftMessage.csv";s:4:"role";s:10:"magelocale";}}i:62;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"edaef8b5d210beeab93bc752d7b26254";s:4:"name";s:30:"fr_FR/Mage_GoogleAnalytics.csv";s:4:"role";s:10:"magelocale";}}i:63;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"c802be6385758a4fb6f70b46c061ae0d";s:4:"name";s:25:"fr_FR/Mage_GoogleBase.csv";s:4:"role";s:10:"magelocale";}}i:64;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"b9470c3b8445a01cbbb335de9bbda6cf";s:4:"name";s:29:"fr_FR/Mage_GoogleCheckout.csv";s:4:"role";s:10:"magelocale";}}i:65;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"91cdedabe192b4573cdd2883766fdf0a";s:4:"name";s:30:"fr_FR/Mage_GoogleOptimizer.csv";s:4:"role";s:10:"magelocale";}}i:66;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"100eec3ba3a98a63ae77b150cb798345";s:4:"name";s:20:"fr_FR/Mage_Index.csv";s:4:"role";s:10:"magelocale";}}i:67;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"72fde788987e968851c14f3b28891caf";s:4:"name";s:22:"fr_FR/Mage_Install.csv";s:4:"role";s:10:"magelocale";}}i:68;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"8610c95597116b7d818f4483230f7a17";s:4:"name";s:18:"fr_FR/Mage_Log.csv";s:4:"role";s:10:"magelocale";}}i:69;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"f7d048dd697a615089d420e8a2c76b4f";s:4:"name";s:20:"fr_FR/Mage_Media.csv";s:4:"role";s:10:"magelocale";}}i:70;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"29c1a4759ae106df3c3f81744c995ad1";s:4:"name";s:25:"fr_FR/Mage_Newsletter.csv";s:4:"role";s:10:"magelocale";}}i:71;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"fb5fae25d8b694262cd7ac148cbfed56";s:4:"name";s:19:"fr_FR/Mage_Page.csv";s:4:"role";s:10:"magelocale";}}i:72;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"d0870552a3bb44ab3797d3f89db9fc7c";s:4:"name";s:22:"fr_FR/Mage_Paygate.csv";s:4:"role";s:10:"magelocale";}}i:73;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"2a5c518366644f189e9f085fe645d794";s:4:"name";s:22:"fr_FR/Mage_Payment.csv";s:4:"role";s:10:"magelocale";}}i:74;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"3b8b3f56296752f91097425e39ab1092";s:4:"name";s:21:"fr_FR/Mage_Paypal.csv";s:4:"role";s:10:"magelocale";}}i:75;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"0aee9869770127ea5d8b7a049041b8f3";s:4:"name";s:23:"fr_FR/Mage_PaypalUk.csv";s:4:"role";s:10:"magelocale";}}i:76;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"9d8a8c5e0da3259a91af36ceebfa82a8";s:4:"name";s:19:"fr_FR/Mage_Poll.csv";s:4:"role";s:10:"magelocale";}}i:77;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"175bbcc33a9c3b59d5911bb367694d3f";s:4:"name";s:27:"fr_FR/Mage_ProductAlert.csv";s:4:"role";s:10:"magelocale";}}i:78;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"ceed8548dde1b0205a373283e6c46d85";s:4:"name";s:21:"fr_FR/Mage_Rating.csv";s:4:"role";s:10:"magelocale";}}i:79;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"0c5e9f9dc39ef748894beaec9ea0ffa7";s:4:"name";s:22:"fr_FR/Mage_Reports.csv";s:4:"role";s:10:"magelocale";}}i:80;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"6d4074dc5d64a8eee8446bcc2c06cf22";s:4:"name";s:21:"fr_FR/Mage_Review.csv";s:4:"role";s:10:"magelocale";}}i:81;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"fe1bfa122ac746edd334aa5de08a7279";s:4:"name";s:18:"fr_FR/Mage_Rss.csv";s:4:"role";s:10:"magelocale";}}i:82;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"2a4a52e5ebed88f2f5add6ade208044b";s:4:"name";s:19:"fr_FR/Mage_Rule.csv";s:4:"role";s:10:"magelocale";}}i:83;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"2d8c32fb9872b77814ea4b0cd837b721";s:4:"name";s:20:"fr_FR/Mage_Sales.csv";s:4:"role";s:10:"magelocale";}}i:84;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"fc66733173a21596821c27ffd01c7878";s:4:"name";s:24:"fr_FR/Mage_SalesRule.csv";s:4:"role";s:10:"magelocale";}}i:85;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"ccc16c9c1ff3450a1f47dd8243e5f8c9";s:4:"name";s:25:"fr_FR/Mage_Sendfriend.csv";s:4:"role";s:10:"magelocale";}}i:86;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"8eae9b7888e05f7c0d60bd54e9a78c0c";s:4:"name";s:23:"fr_FR/Mage_Shipping.csv";s:4:"role";s:10:"magelocale";}}i:87;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"e45ae637f371b0b53ca40c68b99b2aea";s:4:"name";s:22:"fr_FR/Mage_Sitemap.csv";s:4:"role";s:10:"magelocale";}}i:88;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"71b385de7c06e476b29cfefddda42146";s:4:"name";s:18:"fr_FR/Mage_Tag.csv";s:4:"role";s:10:"magelocale";}}i:89;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"16707ad526f2838c05d05fd827f18c69";s:4:"name";s:18:"fr_FR/Mage_Tax.csv";s:4:"role";s:10:"magelocale";}}i:90;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"c57ce596baa5166f4fdf2c55e591919d";s:4:"name";s:18:"fr_FR/Mage_Usa.csv";s:4:"role";s:10:"magelocale";}}i:91;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"de391887b77e01b1e935aa927da0bbab";s:4:"name";s:19:"fr_FR/Mage_Weee.csv";s:4:"role";s:10:"magelocale";}}i:92;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"dcee841112b3c60585e70736d6100288";s:4:"name";s:21:"fr_FR/Mage_Widget.csv";s:4:"role";s:10:"magelocale";}}i:93;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"64605b672a312e930aaf84c44bf6e8aa";s:4:"name";s:23:"fr_FR/Mage_Wishlist.csv";s:4:"role";s:10:"magelocale";}}i:94;a:1:{s:7:"attribs";a:3:{s:6:"md5sum";s:32:"bf0b66670c52d8921d9c52f39580be35";s:4:"name";s:30:"fr_FR/Phoenix_Moneybookers.csv";s:4:"role";s:10:"magelocale";}}}}}s:12:"dependencies";a:1:{s:8:"required";a:2:{s:3:"php";a:2:{s:3:"min";s:5:"5.2.0";s:3:"max";s:5:"6.0.0";}s:13:"pearinstaller";a:1:{s:3:"min";s:5:"1.6.2";}}}s:10:"phprelease";s:0:"";s:8:"filelist";a:95:{s:52:"adminhtml/default/default/locale/fr_FR/translate.csv";a:4:{s:6:"md5sum";s:32:"71d633d3ddbb70b4c544649fcc44341e";s:4:"name";s:52:"adminhtml/default/default/locale/fr_FR/translate.csv";s:4:"role";s:10:"magedesign";s:12:"installed_as";s:65:"./app/design/adminhtml/default/default/locale/fr_FR/translate.csv";}s:49:"frontend/default/blank/locale/fr_FR/translate.csv";a:4:{s:6:"md5sum";s:32:"a984775727bdca41c5bbef44db2fae2a";s:4:"name";s:49:"frontend/default/blank/locale/fr_FR/translate.csv";s:4:"role";s:10:"magedesign";s:12:"installed_as";s:62:"./app/design/frontend/default/blank/locale/fr_FR/translate.csv";}s:51:"frontend/default/default/locale/fr_FR/translate.csv";a:4:{s:6:"md5sum";s:32:"a984775727bdca41c5bbef44db2fae2a";s:4:"name";s:51:"frontend/default/default/locale/fr_FR/translate.csv";s:4:"role";s:10:"magedesign";s:12:"installed_as";s:64:"./app/design/frontend/default/default/locale/fr_FR/translate.csv";}s:50:"frontend/default/iphone/locale/fr_FR/translate.csv";a:4:{s:6:"md5sum";s:32:"a984775727bdca41c5bbef44db2fae2a";s:4:"name";s:50:"frontend/default/iphone/locale/fr_FR/translate.csv";s:4:"role";s:10:"magedesign";s:12:"installed_as";s:63:"./app/design/frontend/default/iphone/locale/fr_FR/translate.csv";}s:50:"frontend/default/modern/locale/fr_FR/translate.csv";a:4:{s:6:"md5sum";s:32:"a984775727bdca41c5bbef44db2fae2a";s:4:"name";s:50:"frontend/default/modern/locale/fr_FR/translate.csv";s:4:"role";s:10:"magedesign";s:12:"installed_as";s:63:"./app/design/frontend/default/modern/locale/fr_FR/translate.csv";}s:46:"fr_FR/template/email/sales/creditmemo_new.html";a:4:{s:6:"md5sum";s:32:"792ccb1d53f6d27a81a37be9063d66df";s:4:"name";s:46:"fr_FR/template/email/sales/creditmemo_new.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:59:"./app/locale/fr_FR/template/email/sales/creditmemo_new.html";}s:52:"fr_FR/template/email/sales/creditmemo_new_guest.html";a:4:{s:6:"md5sum";s:32:"a009dd9012612dcee37ff548239db582";s:4:"name";s:52:"fr_FR/template/email/sales/creditmemo_new_guest.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:65:"./app/locale/fr_FR/template/email/sales/creditmemo_new_guest.html";}s:49:"fr_FR/template/email/sales/creditmemo_update.html";a:4:{s:6:"md5sum";s:32:"2dd40d3298287fa89cf5dad6712cdbd4";s:4:"name";s:49:"fr_FR/template/email/sales/creditmemo_update.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:62:"./app/locale/fr_FR/template/email/sales/creditmemo_update.html";}s:55:"fr_FR/template/email/sales/creditmemo_update_guest.html";a:4:{s:6:"md5sum";s:32:"3c02aab13fca7c62eb873aa86dfff145";s:4:"name";s:55:"fr_FR/template/email/sales/creditmemo_update_guest.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:68:"./app/locale/fr_FR/template/email/sales/creditmemo_update_guest.html";}s:43:"fr_FR/template/email/sales/invoice_new.html";a:4:{s:6:"md5sum";s:32:"d7dc60810af4d0f181f82edc2ba13942";s:4:"name";s:43:"fr_FR/template/email/sales/invoice_new.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:56:"./app/locale/fr_FR/template/email/sales/invoice_new.html";}s:49:"fr_FR/template/email/sales/invoice_new_guest.html";a:4:{s:6:"md5sum";s:32:"80a94334d74588e257e31ec4089062a9";s:4:"name";s:49:"fr_FR/template/email/sales/invoice_new_guest.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:62:"./app/locale/fr_FR/template/email/sales/invoice_new_guest.html";}s:46:"fr_FR/template/email/sales/invoice_update.html";a:4:{s:6:"md5sum";s:32:"ebc47b689c6bd0725d3609f43f3dac09";s:4:"name";s:46:"fr_FR/template/email/sales/invoice_update.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:59:"./app/locale/fr_FR/template/email/sales/invoice_update.html";}s:52:"fr_FR/template/email/sales/invoice_update_guest.html";a:4:{s:6:"md5sum";s:32:"5fb0662dce045b7eda2dfeada45c9aea";s:4:"name";s:52:"fr_FR/template/email/sales/invoice_update_guest.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:65:"./app/locale/fr_FR/template/email/sales/invoice_update_guest.html";}s:41:"fr_FR/template/email/sales/order_new.html";a:4:{s:6:"md5sum";s:32:"8e8d6ebd430eb14574734261c376c6a1";s:4:"name";s:41:"fr_FR/template/email/sales/order_new.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:54:"./app/locale/fr_FR/template/email/sales/order_new.html";}s:47:"fr_FR/template/email/sales/order_new_guest.html";a:4:{s:6:"md5sum";s:32:"7537a662ab07b8bc9948a8263815a006";s:4:"name";s:47:"fr_FR/template/email/sales/order_new_guest.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:60:"./app/locale/fr_FR/template/email/sales/order_new_guest.html";}s:44:"fr_FR/template/email/sales/order_update.html";a:4:{s:6:"md5sum";s:32:"729b18a769fe25b2c17a30bd51c9bb64";s:4:"name";s:44:"fr_FR/template/email/sales/order_update.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:57:"./app/locale/fr_FR/template/email/sales/order_update.html";}s:50:"fr_FR/template/email/sales/order_update_guest.html";a:4:{s:6:"md5sum";s:32:"7aaac07e52adcd00222dc911e12b8827";s:4:"name";s:50:"fr_FR/template/email/sales/order_update_guest.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:63:"./app/locale/fr_FR/template/email/sales/order_update_guest.html";}s:44:"fr_FR/template/email/sales/shipment_new.html";a:4:{s:6:"md5sum";s:32:"3382d035e3eb0c5ec1e87a9ceea8b58e";s:4:"name";s:44:"fr_FR/template/email/sales/shipment_new.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:57:"./app/locale/fr_FR/template/email/sales/shipment_new.html";}s:50:"fr_FR/template/email/sales/shipment_new_guest.html";a:4:{s:6:"md5sum";s:32:"c54b4d6859037d40047ce35aa492bd30";s:4:"name";s:50:"fr_FR/template/email/sales/shipment_new_guest.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:63:"./app/locale/fr_FR/template/email/sales/shipment_new_guest.html";}s:47:"fr_FR/template/email/sales/shipment_update.html";a:4:{s:6:"md5sum";s:32:"6b3c50ccea978c779a28d6cf47a03cdd";s:4:"name";s:47:"fr_FR/template/email/sales/shipment_update.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:60:"./app/locale/fr_FR/template/email/sales/shipment_update.html";}s:53:"fr_FR/template/email/sales/shipment_update_guest.html";a:4:{s:6:"md5sum";s:32:"0e2b813f34d32eab2e42f3da6e6f4a19";s:4:"name";s:53:"fr_FR/template/email/sales/shipment_update_guest.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:66:"./app/locale/fr_FR/template/email/sales/shipment_update_guest.html";}s:37:"fr_FR/template/email/account_new.html";a:4:{s:6:"md5sum";s:32:"66aab6382880363b7e690586dbc3d091";s:4:"name";s:37:"fr_FR/template/email/account_new.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:50:"./app/locale/fr_FR/template/email/account_new.html";}s:50:"fr_FR/template/email/account_new_confirmation.html";a:4:{s:6:"md5sum";s:32:"67f5ff30cf27cf4c8048121f828635e3";s:4:"name";s:50:"fr_FR/template/email/account_new_confirmation.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:63:"./app/locale/fr_FR/template/email/account_new_confirmation.html";}s:47:"fr_FR/template/email/account_new_confirmed.html";a:4:{s:6:"md5sum";s:32:"440d40ebe9888624c74c2c40f9ec9d9b";s:4:"name";s:47:"fr_FR/template/email/account_new_confirmed.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:60:"./app/locale/fr_FR/template/email/account_new_confirmed.html";}s:44:"fr_FR/template/email/admin_password_new.html";a:4:{s:6:"md5sum";s:32:"b2e4fa1fbd64b1c3a3cf758cbc5ae748";s:4:"name";s:44:"fr_FR/template/email/admin_password_new.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:57:"./app/locale/fr_FR/template/email/admin_password_new.html";}s:38:"fr_FR/template/email/contact_form.html";a:4:{s:6:"md5sum";s:32:"9a5af8f947771c5825abfdb644cf7da9";s:4:"name";s:38:"fr_FR/template/email/contact_form.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:51:"./app/locale/fr_FR/template/email/contact_form.html";}s:49:"fr_FR/template/email/currency_update_warning.html";a:4:{s:6:"md5sum";s:32:"b817ac36358b1152c8277c89553e9b7e";s:4:"name";s:49:"fr_FR/template/email/currency_update_warning.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:62:"./app/locale/fr_FR/template/email/currency_update_warning.html";}s:43:"fr_FR/template/email/log_clean_warning.html";a:4:{s:6:"md5sum";s:32:"fb309621970d1e38b3ed24d257c57d73";s:4:"name";s:43:"fr_FR/template/email/log_clean_warning.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:56:"./app/locale/fr_FR/template/email/log_clean_warning.html";}s:52:"fr_FR/template/email/moneybookers_activateemail.html";a:4:{s:6:"md5sum";s:32:"d813d9b665c4b9cb0b38066967e0d498";s:4:"name";s:52:"fr_FR/template/email/moneybookers_activateemail.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:65:"./app/locale/fr_FR/template/email/moneybookers_activateemail.html";}s:51:"fr_FR/template/email/newsletter_subscr_confirm.html";a:4:{s:6:"md5sum";s:32:"1118bb0453dd56d8945ed6a72e079e5e";s:4:"name";s:51:"fr_FR/template/email/newsletter_subscr_confirm.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:64:"./app/locale/fr_FR/template/email/newsletter_subscr_confirm.html";}s:51:"fr_FR/template/email/newsletter_subscr_success.html";a:4:{s:6:"md5sum";s:32:"da140e1409bf1b7a0ed4403a6fed8cc3";s:4:"name";s:51:"fr_FR/template/email/newsletter_subscr_success.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:64:"./app/locale/fr_FR/template/email/newsletter_subscr_success.html";}s:50:"fr_FR/template/email/newsletter_unsub_success.html";a:4:{s:6:"md5sum";s:32:"e6f63f91c4753f6be980a0295cef0e5c";s:4:"name";s:50:"fr_FR/template/email/newsletter_unsub_success.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:63:"./app/locale/fr_FR/template/email/newsletter_unsub_success.html";}s:38:"fr_FR/template/email/password_new.html";a:4:{s:6:"md5sum";s:32:"1f9c73cf005de7659b0a14606ab25989";s:4:"name";s:38:"fr_FR/template/email/password_new.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:51:"./app/locale/fr_FR/template/email/password_new.html";}s:40:"fr_FR/template/email/payment_failed.html";a:4:{s:6:"md5sum";s:32:"7a5b527e33f74e7eb800b329e54067d2";s:4:"name";s:40:"fr_FR/template/email/payment_failed.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:53:"./app/locale/fr_FR/template/email/payment_failed.html";}s:50:"fr_FR/template/email/product_alert_cron_error.html";a:4:{s:6:"md5sum";s:32:"398cd111d4225bf1ca1149c955f984b0";s:4:"name";s:50:"fr_FR/template/email/product_alert_cron_error.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:63:"./app/locale/fr_FR/template/email/product_alert_cron_error.html";}s:45:"fr_FR/template/email/product_price_alert.html";a:4:{s:6:"md5sum";s:32:"dc747aff89368d8ae1c22e630dbc4688";s:4:"name";s:45:"fr_FR/template/email/product_price_alert.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:58:"./app/locale/fr_FR/template/email/product_price_alert.html";}s:39:"fr_FR/template/email/product_share.html";a:4:{s:6:"md5sum";s:32:"be0de6147d5fe21b79f7df3180246f80";s:4:"name";s:39:"fr_FR/template/email/product_share.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:52:"./app/locale/fr_FR/template/email/product_share.html";}s:45:"fr_FR/template/email/product_stock_alert.html";a:4:{s:6:"md5sum";s:32:"53d7720b16c28b8b579cb53eec685516";s:4:"name";s:45:"fr_FR/template/email/product_stock_alert.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:58:"./app/locale/fr_FR/template/email/product_stock_alert.html";}s:50:"fr_FR/template/email/sitemap_generate_warning.html";a:4:{s:6:"md5sum";s:32:"d34453bb8fb40d9226056e659901c55a";s:4:"name";s:50:"fr_FR/template/email/sitemap_generate_warning.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:63:"./app/locale/fr_FR/template/email/sitemap_generate_warning.html";}s:40:"fr_FR/template/email/wishlist_share.html";a:4:{s:6:"md5sum";s:32:"7a483d164d9340407a8af1730cd15247";s:4:"name";s:40:"fr_FR/template/email/wishlist_share.html";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:53:"./app/locale/fr_FR/template/email/wishlist_share.html";}s:24:"fr_FR/Mage_Adminhtml.csv";a:4:{s:6:"md5sum";s:32:"36a1d8ada9e41f93b356124ff116b627";s:4:"name";s:24:"fr_FR/Mage_Adminhtml.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:37:"./app/locale/fr_FR/Mage_Adminhtml.csv";}s:32:"fr_FR/Mage_AdminNotification.csv";a:4:{s:6:"md5sum";s:32:"77b702483b37b9eb7ca00c45e7bbe103";s:4:"name";s:32:"fr_FR/Mage_AdminNotification.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:45:"./app/locale/fr_FR/Mage_AdminNotification.csv";}s:18:"fr_FR/Mage_Api.csv";a:4:{s:6:"md5sum";s:32:"f4603badcb22ba590e57b0f8f3c82996";s:4:"name";s:18:"fr_FR/Mage_Api.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:31:"./app/locale/fr_FR/Mage_Api.csv";}s:21:"fr_FR/Mage_Backup.csv";a:4:{s:6:"md5sum";s:32:"a4d4d2f1cb5034fe3426f8b5b6545ad4";s:4:"name";s:21:"fr_FR/Mage_Backup.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:34:"./app/locale/fr_FR/Mage_Backup.csv";}s:21:"fr_FR/Mage_Bundle.csv";a:4:{s:6:"md5sum";s:32:"59306efa4e25ab71f43df17cc242c16f";s:4:"name";s:21:"fr_FR/Mage_Bundle.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:34:"./app/locale/fr_FR/Mage_Bundle.csv";}s:22:"fr_FR/Mage_Catalog.csv";a:4:{s:6:"md5sum";s:32:"ff6ed52c6b455b0f08e99d19aceae8a1";s:4:"name";s:22:"fr_FR/Mage_Catalog.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:35:"./app/locale/fr_FR/Mage_Catalog.csv";}s:31:"fr_FR/Mage_CatalogInventory.csv";a:4:{s:6:"md5sum";s:32:"f897cfb97e995bb0cf97484d2ea795df";s:4:"name";s:31:"fr_FR/Mage_CatalogInventory.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:44:"./app/locale/fr_FR/Mage_CatalogInventory.csv";}s:26:"fr_FR/Mage_CatalogRule.csv";a:4:{s:6:"md5sum";s:32:"52eb0a351ad219b3ad85854af6e2b4f2";s:4:"name";s:26:"fr_FR/Mage_CatalogRule.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:39:"./app/locale/fr_FR/Mage_CatalogRule.csv";}s:28:"fr_FR/Mage_CatalogSearch.csv";a:4:{s:6:"md5sum";s:32:"796e9b439592eba0eaed5d72d57b26a5";s:4:"name";s:28:"fr_FR/Mage_CatalogSearch.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:41:"./app/locale/fr_FR/Mage_CatalogSearch.csv";}s:23:"fr_FR/Mage_Centinel.csv";a:4:{s:6:"md5sum";s:32:"60c62ea73f02b27f149712de5e2cc371";s:4:"name";s:23:"fr_FR/Mage_Centinel.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:36:"./app/locale/fr_FR/Mage_Centinel.csv";}s:23:"fr_FR/Mage_Checkout.csv";a:4:{s:6:"md5sum";s:32:"735cbcac3f8eefb820421d04cf8ad704";s:4:"name";s:23:"fr_FR/Mage_Checkout.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:36:"./app/locale/fr_FR/Mage_Checkout.csv";}s:18:"fr_FR/Mage_Cms.csv";a:4:{s:6:"md5sum";s:32:"d760742b71f9774d418e6bdd599a6599";s:4:"name";s:18:"fr_FR/Mage_Cms.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:31:"./app/locale/fr_FR/Mage_Cms.csv";}s:23:"fr_FR/Mage_Compiler.csv";a:4:{s:6:"md5sum";s:32:"e5f394fe8c96de83bb9d4c2537bde548";s:4:"name";s:23:"fr_FR/Mage_Compiler.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:36:"./app/locale/fr_FR/Mage_Compiler.csv";}s:23:"fr_FR/Mage_Contacts.csv";a:4:{s:6:"md5sum";s:32:"fe4895a407f015be43d3300d9302978b";s:4:"name";s:23:"fr_FR/Mage_Contacts.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:36:"./app/locale/fr_FR/Mage_Contacts.csv";}s:19:"fr_FR/Mage_Core.csv";a:4:{s:6:"md5sum";s:32:"65164a911bd38a3f86e03a3471f2d68d";s:4:"name";s:19:"fr_FR/Mage_Core.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:32:"./app/locale/fr_FR/Mage_Core.csv";}s:19:"fr_FR/Mage_Cron.csv";a:4:{s:6:"md5sum";s:32:"3a9f1ce181ad4cbc789106b6c290edbf";s:4:"name";s:19:"fr_FR/Mage_Cron.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:32:"./app/locale/fr_FR/Mage_Cron.csv";}s:23:"fr_FR/Mage_Customer.csv";a:4:{s:6:"md5sum";s:32:"19f1d85bda27632fab31fc2b1097cd13";s:4:"name";s:23:"fr_FR/Mage_Customer.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:36:"./app/locale/fr_FR/Mage_Customer.csv";}s:23:"fr_FR/Mage_Dataflow.csv";a:4:{s:6:"md5sum";s:32:"ae1d6dbbf6279998090ed3dd1c707696";s:4:"name";s:23:"fr_FR/Mage_Dataflow.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:36:"./app/locale/fr_FR/Mage_Dataflow.csv";}s:24:"fr_FR/Mage_Directory.csv";a:4:{s:6:"md5sum";s:32:"27097055468249f4f1d2c3e4cfd10130";s:4:"name";s:24:"fr_FR/Mage_Directory.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:37:"./app/locale/fr_FR/Mage_Directory.csv";}s:27:"fr_FR/Mage_Downloadable.csv";a:4:{s:6:"md5sum";s:32:"086db5ecd25d482e4a23236d4bf22d9c";s:4:"name";s:27:"fr_FR/Mage_Downloadable.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:40:"./app/locale/fr_FR/Mage_Downloadable.csv";}s:18:"fr_FR/Mage_Eav.csv";a:4:{s:6:"md5sum";s:32:"d805015d6b3a155cc5ba24e3919976af";s:4:"name";s:18:"fr_FR/Mage_Eav.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:31:"./app/locale/fr_FR/Mage_Eav.csv";}s:26:"fr_FR/Mage_GiftMessage.csv";a:4:{s:6:"md5sum";s:32:"1ed8e393a4db6b1899978b640840b6cf";s:4:"name";s:26:"fr_FR/Mage_GiftMessage.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:39:"./app/locale/fr_FR/Mage_GiftMessage.csv";}s:30:"fr_FR/Mage_GoogleAnalytics.csv";a:4:{s:6:"md5sum";s:32:"edaef8b5d210beeab93bc752d7b26254";s:4:"name";s:30:"fr_FR/Mage_GoogleAnalytics.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:43:"./app/locale/fr_FR/Mage_GoogleAnalytics.csv";}s:25:"fr_FR/Mage_GoogleBase.csv";a:4:{s:6:"md5sum";s:32:"c802be6385758a4fb6f70b46c061ae0d";s:4:"name";s:25:"fr_FR/Mage_GoogleBase.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:38:"./app/locale/fr_FR/Mage_GoogleBase.csv";}s:29:"fr_FR/Mage_GoogleCheckout.csv";a:4:{s:6:"md5sum";s:32:"b9470c3b8445a01cbbb335de9bbda6cf";s:4:"name";s:29:"fr_FR/Mage_GoogleCheckout.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:42:"./app/locale/fr_FR/Mage_GoogleCheckout.csv";}s:30:"fr_FR/Mage_GoogleOptimizer.csv";a:4:{s:6:"md5sum";s:32:"91cdedabe192b4573cdd2883766fdf0a";s:4:"name";s:30:"fr_FR/Mage_GoogleOptimizer.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:43:"./app/locale/fr_FR/Mage_GoogleOptimizer.csv";}s:20:"fr_FR/Mage_Index.csv";a:4:{s:6:"md5sum";s:32:"100eec3ba3a98a63ae77b150cb798345";s:4:"name";s:20:"fr_FR/Mage_Index.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:33:"./app/locale/fr_FR/Mage_Index.csv";}s:22:"fr_FR/Mage_Install.csv";a:4:{s:6:"md5sum";s:32:"72fde788987e968851c14f3b28891caf";s:4:"name";s:22:"fr_FR/Mage_Install.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:35:"./app/locale/fr_FR/Mage_Install.csv";}s:18:"fr_FR/Mage_Log.csv";a:4:{s:6:"md5sum";s:32:"8610c95597116b7d818f4483230f7a17";s:4:"name";s:18:"fr_FR/Mage_Log.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:31:"./app/locale/fr_FR/Mage_Log.csv";}s:20:"fr_FR/Mage_Media.csv";a:4:{s:6:"md5sum";s:32:"f7d048dd697a615089d420e8a2c76b4f";s:4:"name";s:20:"fr_FR/Mage_Media.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:33:"./app/locale/fr_FR/Mage_Media.csv";}s:25:"fr_FR/Mage_Newsletter.csv";a:4:{s:6:"md5sum";s:32:"29c1a4759ae106df3c3f81744c995ad1";s:4:"name";s:25:"fr_FR/Mage_Newsletter.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:38:"./app/locale/fr_FR/Mage_Newsletter.csv";}s:19:"fr_FR/Mage_Page.csv";a:4:{s:6:"md5sum";s:32:"fb5fae25d8b694262cd7ac148cbfed56";s:4:"name";s:19:"fr_FR/Mage_Page.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:32:"./app/locale/fr_FR/Mage_Page.csv";}s:22:"fr_FR/Mage_Paygate.csv";a:4:{s:6:"md5sum";s:32:"d0870552a3bb44ab3797d3f89db9fc7c";s:4:"name";s:22:"fr_FR/Mage_Paygate.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:35:"./app/locale/fr_FR/Mage_Paygate.csv";}s:22:"fr_FR/Mage_Payment.csv";a:4:{s:6:"md5sum";s:32:"2a5c518366644f189e9f085fe645d794";s:4:"name";s:22:"fr_FR/Mage_Payment.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:35:"./app/locale/fr_FR/Mage_Payment.csv";}s:21:"fr_FR/Mage_Paypal.csv";a:4:{s:6:"md5sum";s:32:"3b8b3f56296752f91097425e39ab1092";s:4:"name";s:21:"fr_FR/Mage_Paypal.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:34:"./app/locale/fr_FR/Mage_Paypal.csv";}s:23:"fr_FR/Mage_PaypalUk.csv";a:4:{s:6:"md5sum";s:32:"0aee9869770127ea5d8b7a049041b8f3";s:4:"name";s:23:"fr_FR/Mage_PaypalUk.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:36:"./app/locale/fr_FR/Mage_PaypalUk.csv";}s:19:"fr_FR/Mage_Poll.csv";a:4:{s:6:"md5sum";s:32:"9d8a8c5e0da3259a91af36ceebfa82a8";s:4:"name";s:19:"fr_FR/Mage_Poll.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:32:"./app/locale/fr_FR/Mage_Poll.csv";}s:27:"fr_FR/Mage_ProductAlert.csv";a:4:{s:6:"md5sum";s:32:"175bbcc33a9c3b59d5911bb367694d3f";s:4:"name";s:27:"fr_FR/Mage_ProductAlert.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:40:"./app/locale/fr_FR/Mage_ProductAlert.csv";}s:21:"fr_FR/Mage_Rating.csv";a:4:{s:6:"md5sum";s:32:"ceed8548dde1b0205a373283e6c46d85";s:4:"name";s:21:"fr_FR/Mage_Rating.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:34:"./app/locale/fr_FR/Mage_Rating.csv";}s:22:"fr_FR/Mage_Reports.csv";a:4:{s:6:"md5sum";s:32:"0c5e9f9dc39ef748894beaec9ea0ffa7";s:4:"name";s:22:"fr_FR/Mage_Reports.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:35:"./app/locale/fr_FR/Mage_Reports.csv";}s:21:"fr_FR/Mage_Review.csv";a:4:{s:6:"md5sum";s:32:"6d4074dc5d64a8eee8446bcc2c06cf22";s:4:"name";s:21:"fr_FR/Mage_Review.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:34:"./app/locale/fr_FR/Mage_Review.csv";}s:18:"fr_FR/Mage_Rss.csv";a:4:{s:6:"md5sum";s:32:"fe1bfa122ac746edd334aa5de08a7279";s:4:"name";s:18:"fr_FR/Mage_Rss.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:31:"./app/locale/fr_FR/Mage_Rss.csv";}s:19:"fr_FR/Mage_Rule.csv";a:4:{s:6:"md5sum";s:32:"2a4a52e5ebed88f2f5add6ade208044b";s:4:"name";s:19:"fr_FR/Mage_Rule.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:32:"./app/locale/fr_FR/Mage_Rule.csv";}s:20:"fr_FR/Mage_Sales.csv";a:4:{s:6:"md5sum";s:32:"2d8c32fb9872b77814ea4b0cd837b721";s:4:"name";s:20:"fr_FR/Mage_Sales.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:33:"./app/locale/fr_FR/Mage_Sales.csv";}s:24:"fr_FR/Mage_SalesRule.csv";a:4:{s:6:"md5sum";s:32:"fc66733173a21596821c27ffd01c7878";s:4:"name";s:24:"fr_FR/Mage_SalesRule.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:37:"./app/locale/fr_FR/Mage_SalesRule.csv";}s:25:"fr_FR/Mage_Sendfriend.csv";a:4:{s:6:"md5sum";s:32:"ccc16c9c1ff3450a1f47dd8243e5f8c9";s:4:"name";s:25:"fr_FR/Mage_Sendfriend.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:38:"./app/locale/fr_FR/Mage_Sendfriend.csv";}s:23:"fr_FR/Mage_Shipping.csv";a:4:{s:6:"md5sum";s:32:"8eae9b7888e05f7c0d60bd54e9a78c0c";s:4:"name";s:23:"fr_FR/Mage_Shipping.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:36:"./app/locale/fr_FR/Mage_Shipping.csv";}s:22:"fr_FR/Mage_Sitemap.csv";a:4:{s:6:"md5sum";s:32:"e45ae637f371b0b53ca40c68b99b2aea";s:4:"name";s:22:"fr_FR/Mage_Sitemap.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:35:"./app/locale/fr_FR/Mage_Sitemap.csv";}s:18:"fr_FR/Mage_Tag.csv";a:4:{s:6:"md5sum";s:32:"71b385de7c06e476b29cfefddda42146";s:4:"name";s:18:"fr_FR/Mage_Tag.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:31:"./app/locale/fr_FR/Mage_Tag.csv";}s:18:"fr_FR/Mage_Tax.csv";a:4:{s:6:"md5sum";s:32:"16707ad526f2838c05d05fd827f18c69";s:4:"name";s:18:"fr_FR/Mage_Tax.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:31:"./app/locale/fr_FR/Mage_Tax.csv";}s:18:"fr_FR/Mage_Usa.csv";a:4:{s:6:"md5sum";s:32:"c57ce596baa5166f4fdf2c55e591919d";s:4:"name";s:18:"fr_FR/Mage_Usa.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:31:"./app/locale/fr_FR/Mage_Usa.csv";}s:19:"fr_FR/Mage_Weee.csv";a:4:{s:6:"md5sum";s:32:"de391887b77e01b1e935aa927da0bbab";s:4:"name";s:19:"fr_FR/Mage_Weee.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:32:"./app/locale/fr_FR/Mage_Weee.csv";}s:21:"fr_FR/Mage_Widget.csv";a:4:{s:6:"md5sum";s:32:"dcee841112b3c60585e70736d6100288";s:4:"name";s:21:"fr_FR/Mage_Widget.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:34:"./app/locale/fr_FR/Mage_Widget.csv";}s:23:"fr_FR/Mage_Wishlist.csv";a:4:{s:6:"md5sum";s:32:"64605b672a312e930aaf84c44bf6e8aa";s:4:"name";s:23:"fr_FR/Mage_Wishlist.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:36:"./app/locale/fr_FR/Mage_Wishlist.csv";}s:30:"fr_FR/Phoenix_Moneybookers.csv";a:4:{s:6:"md5sum";s:32:"bf0b66670c52d8921d9c52f39580be35";s:4:"name";s:30:"fr_FR/Phoenix_Moneybookers.csv";s:4:"role";s:10:"magelocale";s:12:"installed_as";s:43:"./app/locale/fr_FR/Phoenix_Moneybookers.csv";}}s:12:"_lastversion";N;s:7:"dirtree";a:23:{s:51:"./app/design/adminhtml/default/default/locale/fr_FR";b:1;s:45:"./app/design/adminhtml/default/default/locale";b:1;s:38:"./app/design/adminhtml/default/default";b:1;s:30:"./app/design/adminhtml/default";b:1;s:22:"./app/design/adminhtml";b:1;s:48:"./app/design/frontend/default/blank/locale/fr_FR";b:1;s:42:"./app/design/frontend/default/blank/locale";b:1;s:35:"./app/design/frontend/default/blank";b:1;s:29:"./app/design/frontend/default";b:1;s:21:"./app/design/frontend";b:1;s:50:"./app/design/frontend/default/default/locale/fr_FR";b:1;s:44:"./app/design/frontend/default/default/locale";b:1;s:37:"./app/design/frontend/default/default";b:1;s:49:"./app/design/frontend/default/iphone/locale/fr_FR";b:1;s:43:"./app/design/frontend/default/iphone/locale";b:1;s:36:"./app/design/frontend/default/iphone";b:1;s:49:"./app/design/frontend/default/modern/locale/fr_FR";b:1;s:43:"./app/design/frontend/default/modern/locale";b:1;s:36:"./app/design/frontend/default/modern";b:1;s:39:"./app/locale/fr_FR/template/email/sales";b:1;s:33:"./app/locale/fr_FR/template/email";b:1;s:27:"./app/locale/fr_FR/template";b:1;s:18:"./app/locale/fr_FR";b:1;}s:3:"old";a:7:{s:7:"version";s:7:"1.4.1.1";s:12:"release_date";s:10:"2010-08-24";s:13:"release_state";s:6:"stable";s:15:"release_license";s:8:"AFL v3.0";s:13:"release_notes";s:1512:"v1.4.1.1 :
- Correction du bug BO : produits téléchargeables.
- Correction du bug BO : Instance de widgets.

v1.4.1.0 :
- Mise à jour pour Magento CE v1.4.1

v1.4.0.0 :
- Mise à jour pour Magento CE v1.4

v1.3.0.4 :
- Pas de modifications. Extension repackagée suite à des pbs sur Magento Connect

v1.3.0.1 Ã v1.3.0.3 :
- Ajout de libellés manquants

v1.3.0 :
- Mise à jour pour Magento v1.3.0
- Ajout de libellés manquants

v1.2.0.2 :
- Correction de l'erreur de manip de la v1.2.0.1.1. Retour à la v1.2.0.1.

v1.2.0.1.1 :
- Erreur de publication à l'aide des outils Varien

v1.2.0.1 :
- Ajout de libellés manquants (merci à Arnaud)

v1.2.0 :
- Ajout des nouveaux libell√ɬ©s de la v1.2.x de Magento (merci √É Beno√ɬģt et Kiwii)

v1.1.7 :
- Correction d'un libellé qui provoque une erreur javascript : "Saisissez une liste d\'adresses email valides, séparées par des virgules. Par exemple, jeandupond@domaine.com, martindupond@domaine.com"

v1.1.6 :
- Mise à jour pour la v1.1.7
- Correction du bug des produits bundle et des options personnalisables.
- Ajout de la traduction de plusieurs termes non traduits auparavant

v1.1.5 :
- Suppression d'un fichier inutile.

v1.1.4 :
- Mise à jour du libellé "Quantité définie par l\'utilisateur" dans Mage_Bundle.csv qui cause un bug javascript.

v1.1.3 :
- Attention, les emails contenus dans cette publication ne sont pas compatibles avec la version 1.0 de Magento.
Les fichiers csv de traduction sont compatibles avec la v1.0.";s:12:"release_deps";a:3:{i:0;a:4:{s:4:"type";s:3:"php";s:3:"rel";s:2:"le";s:7:"version";s:5:"6.0.0";s:8:"optional";s:2:"no";}i:1;a:4:{s:4:"type";s:3:"php";s:3:"rel";s:2:"ge";s:7:"version";s:5:"5.2.0";s:8:"optional";s:2:"no";}i:2;a:6:{s:4:"type";s:3:"pkg";s:7:"channel";s:12:"pear.php.net";s:4:"name";s:4:"PEAR";s:3:"rel";s:2:"ge";s:7:"version";s:5:"1.6.2";s:8:"optional";s:2:"no";}}s:11:"maintainers";a:1:{i:0;a:5:{s:4:"name";s:3:"SeL";s:5:"email";s:20:"seb.lepers@gmail.com";s:6:"active";s:3:"yes";s:6:"handle";s:10:"seb.lepers";s:4:"role";s:4:"lead";}}}s:10:"xsdversion";s:3:"2.0";s:13:"_lastmodified";i:1296329840;}

For this example file, the registry file is the following one: downloader/pearlib/php/.registry/.channel.connect.magentocommerce.com_community/locale_mage_community_fr_fr.reg

So the answer of your question is as followed :

If the Magento connect registry file does not exist, the module won't be listed in Magento connect administrative panel

Hum, ok, but I'm under 1.5, Is it the same process?

Magento connect packages list for mage installers (Magento CE above 1.5, Magento Enterprise Edition 1.9)

In these versions, pear installer has been replaced by a magento dedicated installer, mage

Mage installer script

This mage installer script is also located in the root folder of your Magento

Like in the pear install, this mage installer is in charge of the following setup tasks


Connect commands available:
===========================
channel-add      Add a Channel
channel-alias      Specify an alias to a channel name
channel-delete      Remove a Channel From the List
channel-info      Retrieve Information on a Channel
channel-login      Connects and authenticates to remote channel server
channel-logout      Logs out from the remote channel server
clear-cache      Clear Web Services Cache
config-get      Show One Setting
config-help      Show Information About Setting
config-set      Change Setting
config-show      Show All Settings
convert      Convert old magento PEAR package to new format
download      Download Package
info      Display information about a package
install      Install Package
install-file      Install Package Archive File
list-available      List Available Packages
list-channels      List Available Channels
list-files      List Files In Installed Package
list-installed      List Installed Packages In The Default Channel
list-upgrades      List Available Upgrades
package      Build Package
package-dependencies      Show package dependencies
package-prepare      Show installation information of package
sync      Synchronize Manually Installed Packages
sync-pear      Synchronize already Installed Packages by pear
uninstall      Un-install Package
upgrade      Upgrade Package
upgrade-all      Upgrade All Packages

When you manage installed packages from magento connect manager, this is one of these command which is run

Registry with mage installer

There is also in these versions a registry process, but less explicit than the pear's one: All is managed in only one configuration file, cache.cfg, located in downloader folder.

So for these Magento versions, If this file does not exist, your magento installed modules won't be listed

Which reasons can explain that registry files doesn't exist anymore in Magento downloader?

Reasons could be numerous:

  • You've deleted this / these file(s)
  • You've removed the downloader folder from your Magento sources
  • When you have delivered the application sources, you did not provide theses files
  • File is excluded from your versionning system
  • You work with a fresh Magento install coming from Magento website: this reason requires an explain. In availables downloadable versions, there is no registry informations. It's normal, for the community modules, but not for the Magento core's one.
  • You have no write access in the registry folder
  • etc...

Yes, but is it a problem not having these files?

What consequences have these missing registry files in Magento upgrade process and what solutions do we have?

We'll first examine the case of community modules, and then the core modules

Consequences for Magento community modules

It' a shame, but without these registry files, you cannot upgrade theses modules manually. You must rebuild these registry files. But building them manually is a very difficult task. The most relayable are the following ones:

  • Reinstall the module coming from Magento connect
  • Reinstall the module from the package archive

Reinstall a module coming from magento conenct

It's possible to reinstall an already installed magento from your Magento connect manager administrative panel: pear does not control that installed files already exists and so reinstall it will replace existing files and rebuild the registry file

The conditions to be able to do that are:

  • You have not updated the sources files of this package; otherwise, your updates will be overrides
  • Your installed version is the same as in magento connect: if not, I strongly encourage you to test the install on a non-production location
  • You have write access to downloader folder and its subfolders

This is not the cleanest way because it contains somes risks to change how your Magento works, but it's the quickiest way

Reinstall a module from its package backup

If you have not cleaned the downloader package, there is still the downloaded archive in downloader folder

Pear users

You can find the locale download folder by using the following command for pear users:

./pear config-get download_dir

By default, the download temp folder is downloader/pearlib/download

Your packages are located in? Fine, we just have to reinstall it. To do that, you must run the following command:

./pear install %path_to_module_archive.tgz%

for example, with de_DE translation, we have to run:

./pear install downloader/pearlib/download/Locale_Mage_community_de_DE-1.4.1.1.tgz
Mage users

In theses versions, downloader folder is by default downloader/.cache

In this version, it's not as simple as in the pear one: mage installer checks if the file already exists before installing it, but we have the advantage to be able to use the new archive format which contains exactly the same directory tree than in Magento

So we have to remove manually all files found in directory tree, and reinstall module. It can be done with the following command lines:

#!/bin/bash
#
# reinstall script for Magento mage installers versions
# just edit the variables ARCHIVE_NAME and DOWNLOADER_TMP_FOLDER if required
# @author Matthieu MARY
#
# edit the following configuration values
DOWNLOADER_TMP_FOLDER=./downloader/.cache/
ARCHIVE_NAME=Locale_Mage_community_fr_FR-1.5.0.2.tgz
# do not touch these variables !
FILE_TO_INSTALL=$DOWNLOADER_TMP_FOLDER"community/"$ARCHIVE_NAME;
CWD=`pwd`
TMP_LIST=/tmp/list.tmp;
#
# run
#
# we should have the download temp folder
if [ ! -d $DOWNLOADER_TMP_FOLDER ]; then
echo "Downloader folder $DOWNLOADER_TMP_FOLDER does not exists";
exit 1;
fi
cd $DOWNLOADER_TMP_FOLDER;
# we work for community
if [ ! -d community ]; then
echo "Invalid $DOWNLOADER_TMP_FOLDER: subfolder community doesn't exists";
exit 3;
fi
cd community
# check if module archive file exists
if [ ! -f $ARCHIVE_NAME ]; then
echo "Archive file $ARCHIVE_NAME does not exists, check the script configuration";
exit 2;
fi
# create a temp folder to extract the archive
if [ ! -d current_extract ]; then
mkdir current_extract
fi
cp $ARCHIVE_NAME current_extract
cd current_extract
# extract archive
tar xzf $ARCHIVE_NAME;
rm $ARCHIVE_NAME;
rm package.xml;
`find . -type f > $TMP_LIST`;
cd $CWD;
echo "Starting to remove from the archives files found";
for i in `cat $TMP_LIST`; do
if [ -f $i ]; then
rm $i;
fi
done;
echo "Launch mage installer for our $FILE_TO_INSTALL";
./mage install-file $FILE_TO_INSTALL;

If all is ok, you should have the following output

With this method, you are sure that you reinstall the same versions of your installed packages, so there is no risk to install a more recent version than yours. But these method also requires that you do not have modifid source code for this module

Consequences for Magento core modules

It seems that Varien do not update the repository, and so I do not advice to upgrade your Magento from this source: it's more secure to upgrade source from availables packages in magento website download section; in this case, you'll lost the possible file deletion Varien can do in sources, but for now, I haven't seen this case.