Importation ancien module News
Gérard
Gérard

Importation ancien module News

Gérard 45
21/10 16:21
#1
Gérard 45
21/10 16:21
Bonjour à Tous,

Je viens d'installer xmNews v1.7 sur un Xoops 2.5.11.
Existe-t-il un moyen d'importer dans xmNews les données d'un module News v1.6 ?

Gérard
Re : Importation ancien module News
Alain T
Alain T

Re : Importation ancien module News

Alain T 690
21/10 17:46
#2
Alain T 690
21/10 17:46
Salut !
Sans dire de bêtises, la table est identique. Je suppose que ta base en 1.6 vient de ton site d'origine et que ce n'est pas une migration mais une réinstallation.
Gestion admin maintenance et exporte les tables de xmnews.
Re : Importation ancien module News
Alain T
Alain T

Re : Importation ancien module News

Alain T 690
21/10 19:02
#3
Alain T 690
21/10 19:02
En détail,
sur ton site d'origine :
- Admin / Maintenance / Sélectionnez les tables ou les modules
- Choisir la colonne de droite (la deuxième) et sélectionner "xmnews" (ou le nom que tu as donné au module xmnews, par exemple "Actualités")
- Soumettre
- Ensuite tu récupères les tables dans le fichier sql
- Edite le fichier sql pour remplacer :
abcd_xmnews (où abcd sont les 4 premiers caractères sur ton site ancien)
par
efgh_xmnews (où efgh sont les 4 premiers caractères sur ton site nouveau)

Ensuite utilise phpMyadmin pour importer le fichier sql
Et voilà !
Re : Importation ancien module News
Gérard
Gérard

Re : Importation ancien module News

Gérard 45
21/10 22:35
#4
Gérard 45
21/10 22:35
Bonsoiir,
En fait, j'effectue des tests (je ne touche pas les sites en prod). J'ai fait une installation 2.5.11 pour vérifier la compatibilité de mon hébergement, tout s'est bien passé, j'ai testé xmNews, tout est bon.

A présent jai fait un test de migration, j'ai recopié les fichiers d'un site et aussi ses données sur une base Mysql de test. J'ai adapté la connexion sql dans secure.php et aussi adapté main.php avec les paramètres de l'hébergement du test. (et corrigé l'url dans la base)

J'ai lancé la migration jusqu'au bout. Mais l'Administration ne fonctionne pas correctement, je n'accède pas à la gestion des modules, ni aux préférences y compris le Système. Je peux juste gérer les utilisateurs, les images, les commentaires et les émoticones. J'ai désactivé tous les modules (sauf System) depuis la base sql. Ce sont les tpl de l'ancienne version dans l'admin et il y a ce genre d'erreurs :

Notification: Undefined index: title dans le fichier /home/............/xoops_data/caches/smarty_compile/296df010_system_cp_default_default^1debace2029d9e8fb65d87a530314c15b23b2534_0.db.systemindex.tpl.php ligne 54

Concernant les données de l'ancien module News, elles sont stockées dans des tables avec des noms basiques (et historiques) de Xoops :
_stories
_stories_files
_stories_votedata
_topics


Merci de ton aide ...
Re : Importation ancien module News
Alain T
Alain T

Re : Importation ancien module News

Alain T 690
22/10 01:47
#5
Alain T 690
22/10 01:47
Haaaa,
tu parles d'importer les datas de news, un vieux modules vers xnnews.
hummm
ok, je pense que c'est possible mais ça va être plus long.
Rapidement, le principe :

Module news => Module xmnews
_stories => xmnews_news
_stories_files =>
_stories_votedata =>
_topics => xmnews_category

puis pour chaque table :
https://github.com/XoopsModules25x/news/blob/master/sql/mysql.sql
tu vas regarder le champs qui correspond sur xmnews :
https://github.com/GregMage/xmnews/blob/master/sql/mysql.sql

et il faudra que le typage des champs soit compatibles (text, tinyint, smallint...)

Exemple :
news_topics - topic_id => xmnews_category - category_id
news_topics - topic_pid => xmnews_category - category_weight

etc...
Peut-être sur xoops.org quelqu'un a fait un convertisseur news vers xmnews, à chercher dans le forum.
Re : Importation ancien module News
Gérard
Gérard

Re : Importation ancien module News

Gérard 45
22/10 11:57
#6
Gérard 45
22/10 11:57
Bonjour,

J'ai examiné les structures des tables News & xmNews ... elles sont différentes !
Il faut que j'analyse davantage pour vérifier si je peux coder une "moulinette" ...

Sinon, j'ai 2 options :

1/ Trouver une version moderne compatible 2.5.11 de l'ancien module News, bien que cela serait dommage car j'apprécie d'utiliser xmNews que j'exploite un autre site.

2/ La solution horriblement besogneuse : intégrer manuellement les 45 articles de News dans xmNews, càd copier/coller, un par un chaque article
Re : Importation ancien module News
Alain T
Alain T

Re : Importation ancien module News

Alain T 690
22/10 14:23
#7
Alain T 690
22/10 14:23
Oui j'ai bien compris ta problèmatique.
Ta solution 1 :
Installer un site neuf et repartir avec un module qui n'évoluera plus jamais, c'est un mauvais choix.
Donc solution 1 : NON

Solution 2 : Propre mais fastidieux effectivement

Je te propose une solution à mi chemin entre ce que je proposais avant et ta solution 2.
Module news => Module xmnews
_stories => xmnews_news

Il s'agit de récupérer uniquement les champs
Table news_stories de news
storyid
topicid
uid
title
bodytext

et table xmnews_news de xmnews, respectivement :
news_id
news_cid
news_userid
news_title
news_news

Et tu peux mettre une valeur par défaut pour les autres chams dans xmnews_news
Si tu veux conserver aussi les champs date de création, publication..., il faudra effectuer le même type de travail.

Pour la table catégorie,
si tu as 3 catégories, c'est plus rapide de récréer manuellement tes catégories en remettant bien le cid attendu.
de News à xmNews
Gérard
Gérard

de News à xmNews

Gérard 45
Hier 12:40
#8
Gérard 45
Hier 12:40
Bonjour à tous,

Je vous présente une possibilité de transférer les données du module News vers xmNews.
Vos anciennes 2 tables PREFIXE_stories et PREFIXE_topics sont exportés : seulement les données (surtout pas de Structure de table) en mode Insert !

De mon coté les Catégories, je les ai créees manuellement en respectant les indexes d'origine.
Sinon vous pouvez depuis PhpMyAdmin exécuter ce script SQL :
-- Migration Script from PREFIXE_topics to PREFIXE_xmnews_category

INSERT INTO 
`PREFIXE_xmnews_category` (
    `
category_id`,
    `
category_name`,
    `
category_description`
)
SELECT
    
`topic_id`,           -- category_id
    
`topic_title`,        -- category_name
    
`topic_description`   -- category_description
FROM
    
`PREFIXE_topics`;


Concernant les articles, il y a une différence majeure de présentation des articles puisque l'ancien module News utilisait le concept du "Scoop" alors que xmNews l'a remplacé par un concept de "Résumé". De ce fait, j'ai utilisé Scoop pour remplir Résumé. J'ai concaténé le Scoop en début de news pour obtenir l'article complet. PhpMyAdmin, le script SQL :
-- Migration Script from PREFIXE_stories to PREFIXE_xmnews_news

INSERT INTO 
`PREFIXE_xmnews_news` (
    `
news_id`,
    `
news_cid`,
    `
news_title`,
    `
news_description`,
    `
news_news`,
    `
news_mkeyword`,
    `
news_logo`,
    `
news_userid`,
    `
news_date`,
    `
news_mdate`,
    `
news_rating`,
    `
news_votes`,
    `
news_counter`,
    `
news_douser`,
    `
news_dodate`,
    `
news_domdate`,
    `
news_dohits`,
    `
news_dorating`,
    `
news_docomment`,
    `
news_status`
)
SELECT
    
`storyid`,                               -- news_id
    
`topicid`,                               -- news_cid
    
`title`,                                 -- news_title
    
`hometext`,                              -- news_description
    CONCAT
(`hometext`, '

'
, `bodytext`),  -- news_news (Concatenation of news_description and news_news)
    `
keywords`,                              -- news_mkeyword
    
'' AS `news_logo`,                       -- news_logo (Valeur par défaut)
    `
uid`,                                   -- news_userid
    
`created`,                               -- news_date
    
`published`,                             -- news_mdate
    
`rating`,                                -- news_rating
    
`votes`,                                 -- news_votes
    
`counter`,                               -- news_counter
    1 
AS `news_douser`,                      -- news_douser (Valeur par défaut)
    
AS `news_dodate`,                      -- news_dodate (Valeur par défaut)
    
AS `news_domdate`,                     -- news_domdate (Valeur par défaut)
    
AS `news_dohits`,                      -- news_dohits (Valeur par défaut)
    
AS `news_dorating`,                    -- news_dorating (Valeur par défaut)
    
AS `news_docomment`,                   -- news_docomment (Valeur par défaut)
    
AS `news_status`                       -- news_status (Valeur par défaut)
FROM
    
`PREFIXE_stories`;
Re : Importation ancien module News
Alain T
Alain T

Re : Importation ancien module News

Alain T 690
Hier 16:24
#9
Alain T 690
Hier 16:24
Cool, super !
C'est ce que j'expliquai dans mon message précédent (22-10-2024 14:23:13) mais sans le faire techniquement.
Merci pour ce travail.
Cela devrait en intéresser plus d'un.

Et si on demandait à l'auteur du module de proposer une option de migration de news vers xmnews dans le module xmnews ?
lol, je sens que je vais me faire enguirlander pour cette proposition