9
votes

Insertion d'articles directement dans la base de données MediaWiki

J'ai besoin d'un moyen d'insérer de nouveaux articles directement dans ma base de données MediaWiki sans endommager l'installation de Wiki.

Je suppose que si je savais que les tables / attributs MediaWiki insère lors de la création d'un nouvel article, je pourrais les remplir en moi.

Quelqu'un peut-il connaître une meilleure façon ou avoir des suggestions?


0 commentaires

6 Réponses :


1
votes

Pourquoi avez-vous besoin de faire cela?

  • Si vous essayez de migrer les données d'une précédente installation de wiki, il existe déjà des outils d'importation et d'exportation.
  • Si vous souhaitez automatiser l'ajout d'un grand ensemble de pages pré-formatées automatiquement, le API MediaWiki fournit une itinéraire plus sûre que la mucking avec la base de données directement.

3 commentaires

J'écris un script PHP pour répertorier divers flux RSS à partir duquel l'utilisateur peut sélectionner des articles à ajouter au wiki. Je ne suis pas trop sûr de savoir comment utiliser l'API pour cela comme je ne l'ai jamais utilisé auparavant. Est-il possible de créer plusieurs pages à la fois (en fonction du nombre d'articles que l'utilisateur a sélectionné) à l'aide de l'API?


Je ne sais pas si vous pouvez créer de nombreuses pages dans un seul appel sans utiliser action = importer , mais vous pouvez simplement appeler action = modifier plusieurs fois, une fois pour chaque nouveau page que vous souhaitez créer.


Je peux probablement utiliser Curl pour envoyer plusieurs appels à l'API. J'ai des difficultés à comprendre comment utiliser / créer un jeton d'édition ou spécifier quel utilisateur de faire la publication avec. Sinon je suis sur la bonne voie. Merci pour l'aide.



2
votes

Certainement, vous ne voulez pas écrire directement dans la base de données. Vous voudrez peut-être créer une extension qui prend des éléments sélectionnés de RSS en entrée et crée un article Wiki par article, en utilisant Article :: feedit () .


0 commentaires

4
votes

De nombreux bots et API disponibles pour MediaWiki, un endroit simple pour commencer est le Créateur de page MEDIOWIKI BULK .

Il s'agit d'un script PHP simple, en s'appuyant sur la bibliothèque de classes Snoopy, qui peut créer plusieurs pages à partir d'un format de texte simple.

Avant de commencer, assurez-vous de lire Création d'un bot d'abord. Il contient des détails critiques sur la manière de configurer un accès BOT à votre wiki.


1 commentaires

Très serviable, obtenu cela et courir avec mon script RSS dans environ 30 minutes. Merci!



1
votes

Pages d'exportation avec spécial: Exporter

Importer des pages à l'aide de spécial: importer . Notez que vous devez avoir l'importation Le droit utilisateur pour pouvoir importer.


0 commentaires

2
votes

Vous devriez le faire avec un bot. Les robots peuvent être exécutés autonomes, mais si vous vous intégrez avec un autre code, vous voudrez peut-être choisir en fonction de la langue. Pour PHP, il y a le Créateur de page MEDIOWIKI BULK . Pour Python, Pymediawiki est livré avec pageFromfile .

Il y a aussi une extension de Yaron Koren appelé Données externes qui résout une tâche associée. Il vous permet d'intégrer des données à partir de sources externes dans vos pages Wiki. Vous pouvez tirer des éléments spécifiques de CSV, XML ou JSON - extrait des URL, des fichiers locaux ou une base de données.


0 commentaires

5
votes

Je suis l'auteur du créateur de la page en vrac, ravi de voir qu'il est toujours utilisé !!!

Mon dernier outil d'importation MediaWiki crée des pages à partir d'un fichier de données CSV et d'une page de page. Il génère des fichiers Import MediaWiki XML comme suggéré par Adrian.

Vérifiez-le

Importation MediaWiki CSV


1 commentaires

J'ai lu de nombreuses pages sur l'ajout d'un nouvel article, que diriez-vous des catégories, le média Wiki crée-t-il un arbre de catégorie séparément? Je pense que la première étape de la migration d'une base de données totalement différente au Media Wiki est la création de catégories, n'est-ce pas?