Carnet Wiki

Joomla / Joomla2Spip

Version 6 — Octobre 2012 YannX

Joomla est l’un des CMS les plus utilisé en France, mais il peut présenter de nombreuses failles de sécurité et nous préférerons y accéder sous SPIP.

Sur la zone, vous trouverez un plugin de lecture et conversion ; toutefois, vous aurez peut-etre quelques questions....

Noter d’abord que Joomla utilise la meme notion de $prefix que spip, mais il n’a qu’il n’y a pas de valeur de préfixe par défaut, mais un radical est généré aléatoirement : vous devrez donc commencer par modifier les noms des tables physiques, car SPIP ne sait pas (encore ?) appliquer un $prefix à a des tables non-SPIP.
Dans la suite de cet article, vous devrez prévoir de rajouter ce préfixe, en avant du nom de table précédé par un _ : dans la version d’origine du plugin, il s’agissait du préfixe jos_ remplacé dans les derniers tests par krx8p_ ....

N.B. Dans tous les squelettes du plugin ci-dessous, l’ensemble des boucles est désormais protégé par un ? à suivre le nom physique de la table, pour éviter une erreur de table inexistante, avec néanmoins un message d’anomalies...

Quelques équivalences

Comme tout CMS, les auteurs, articles et rubriques sont enregistrées dans des tables de la base Joomla, à savoir :
-  _users : id, #NAME , #USERNAME , # EMAIL , # PARAMS
-  
_ content  : id , asset_id, #TITLE , #INTROTEXT , #FULLTEXT , # CREATED , # CREATED_BY (= id_auteur )
#IMAGES # URLS # ATTRIBS # METAKEYS # METADESC # XREFERENCE ( a reference to enable linkages to external datasets )

-  
_ content - _assets  : id , parent_id , #NAME # TITLE , # RULES ( droits / en JSON )
_ assets - _categories  : id , asset_id , parent_id , #TITLE , # DESCRIPTION _ categories

Documentation du plugin

-  Permet de lire et afficher une bdd joomla avec SPIP
-  Gère la conversion Joomla -> SPIP via un squelette

Plugin joomla2spip
Montrant les choix du menu : ?spip.php ?page=joomla2spip

UTILISATION

  1. installer un SPIP sur la même base de donnée que le joomla
  2. installer le plugin
  3. avant de l’utiliser , vous devrez corriger les prefixes du jeu de tables Joomla
  4. et se rendre sur la page ./spip.php?page=joomla2spip
    <emb11197|center >
    Le menu proposé offre un sommaire des articles , et -# après la liste des catégories à droite ,
    la lecture de l’articles migration . effacer le plugin

REMARQUES
Joomla propose des champs inexistants dans la table article de spip, ils sont disponibles via des plugins SPIP on les ignore ici
-  ordre
-  date de dépublication
-  id_parent (pour faire des articles liés)

Joomla propose des features non gérées par SPIP ; ignoré.
-  menus => necessite un plugin...

les liens de _content
index.php?option=com_content&task=view&id=43&Itemid=81
sont transformés dans spip_articles en
spip.php?page=article&id_article=43

Les id_article doivent être forcés pour correspondre à id.

TODO
Chopper les urls des rubriques, des articles des documents.
jos_jv_page_url (url propres ?)
jos_jv_a_page ?
jos_redirection ?

Chopper les utilisateurs :

  • les auteurs : jos_users
  • les contacts : jos_contact_details
  • les abonnés : jos_acajoom_subscribers

Types d’utilisateurs : jos_usertypes
-  *# administrator
-  *# editor
-  *# user
-  *# author
-  *# publisher
-  *# manager

Pour lancer la conversion régler php.ini :

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;


max_execution_time = 18000     ; Maximum execution time of each script, in seconds
max_input_time = 18000	; Maximum amount of time each script may spend parsing request data
memory_limit = 64M      ; Maximum amount of memory a script may consume (8MB)

-  > erational : la pagination permet de limiter la consommation

Mise au point : utiliser le plugin skeleditor facilite l’intervention dans les squelettes