Mise à jour sites multilingues (4langues) avec module MleCms -
jce76350 - 05/08/2012
INFORMATION
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.11.0
#~ Url du site : http://tracfoil.com/
#~ Hébergeur : 1&1
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Les 3 sites étant fonctionnels en version CMS 1.10.3 et PHP 5.2.17, la méthode de mise à jour se fera d'abord en local puis sera exporter vers le serveur de production.
1- Récupération de la base données du site existant (Bdsite)
2- Mise en service du serveur en local en PHP 5.3.14 et import de la base Bdsite grâce à PhpMyAdmin
3- Création d'un dossier d’essai sur le du serveur local avec les fichiers du site existant en version CMS 1.10.3
- Modules standard sauf CMSMailer, MicroTiny, ModuleManager,News
- Modules supplémentaires : CGExtensions: 1.29.1, DownCnt: 2.2.0, MleCMS 1.10.6., SiteMapMadeSimple: 1.2.6, TinyMCE: 2.9.10
- Modification du config.php pour adaptation
4- Test du site en local version 1.10.3
5- Upgrade des fichiers du dossier d’essai vers CMS 1.11avec les modules mis à jour pour version 1.11
- Modules supplémentaires mis à jour MleCMS: 1.11.2 + ExtendedTools: 1.3.3 (nouveauté pour 1.11)
6- Upgrade du CMS par /install/upgrade.php
7-Test de la partie Administrateur : tout est OK sauf
- Module il faut installer ExtendedTools, avant toute chose car cela n'est pas automatique et NON signalé
- MleCMS / traducteur mais les chaînes de mots existent , mais ne sont plus traduites (donc au boulot)
8 le site web local test affichage :
a
Code :
Syntax Error in template "tpl_body:10" on line 30 "{menu template='accessible_simple_navigation.tpl' number_of_levels='1'}" unknown tag "menu"
->en administration : MenuManager désinstaller + réinstaller
b
Code :
Syntax Error in template "tpl_body:7" on line 34 "{search lang=$lang_locale submit='OK'}" unknown tag "search"
->en administration : Search désinstaller + réinstaller
Nota il faut modifier \MenuManager/templates/accessible_simple_navigation.tpl cause Smarty3
Code :
{if $node->image != ''} par {if isset($node->image) && $node->image != ''}
sinon
Erreur Voir MleCMS_(Module)
9 le site web local test affichage : tout semble OK
10 Il reste à modifier les gabarits
- le fil d'Ariane : remplacer
Code :
MleCMS action="langs"} {*translate text="ici"*} {breadcrumbs starttext=' ' root='Home' delimiter='»'} par
{cms_breadcrumbs root='Home' lang=$lang_locale}
Dans ce cas les pages qui ne sont pas visibles dans le menu n'ont pas de fil d'Ariane, il faut donc modifier /MenuManager/action.breadcrumbs.php :
Code :
if( $content->ShowInMenu() && $content->Active() && $showall == 0 )
devient if( $content->Active() && $showall == 0 )
11 Tests et validation du site en local
12 comme tout semble OK, il faut tester sur un serveur avecPHP5.2.17 comme sur le site de production (par précaution)
- l’icône imprimante n'est plus visible et dans le source de la page
<!-- Erreur : Nom de module non spécifié; -->
remède : remplacer dans les gabarits
{print par {cms_module module='CMSPrinting'
[EDIT 11/08 modifié en v 1.1.1]
13 préparation du transfert
a - Sauvegarder la base de données locale
b - Préparer le config.php (config_prod.php) à transférer en modifiant les données relatives au serveur de production
14 transfert vers le site de production
a - Sur le site en production le dossier existant est dénommé /cmsprod
b - Envoyer des fichiers en FTP dans un nouveau dossier du site /cms111
c - Copier le config_prod.php de local vers /cms111 et le renommer en config.php
d -Vérifier les fichiers .htaccess et autres …
e - Envoyer la base de données grâce à PhpMyAdmin sur l'hébergement
f - Renommer /cmsprod en cmsprod_old et /cms111 en /cmsprod
g - Tester le site web en administration et ensuite en site Web
h - Faire des retouches éventuelles et voilà c'est terminé, l'opération ne nécessite pas plus de quelques minutes de coupure du site Web.
Cette opération a été effectuée sur 3 sites les résultats ou erreurs intervenues sont sensiblement les mêmes , il est donc impératif de procéder avec méthode et surtout de bien passer par la phase test en local pour éviter une interruption longue du site web