Yes, PmWiki can potentially use anything for data storage, be it plain text, JSON, XML and/or gzipped files or any database (SQLite, MySQL, LDAP, etc.), or even thin air.

You only need to write a new class that extends the core PageStore class and redefine the functions exists(), read(), write(), delete() and ls() to return the page names and attributes in the format expected by PmWiki (associative arrays).

Your PHP installation will probably require a set of MongoDB compatible functions among:

  http://php.net/manual/en/set.mongodb.php
  http://php.net/manual/en/book.mongo.php
  http://php.net/manual/en/class.mongoclient.php

You should also enable UTF-8 in PmWiki before you start: the PHP functions to encode and decode JSON data are very unreliable if the data is not valid UTF-8 (you get blank/empty values):

  http://www.pmwiki.org/wiki/PmWiki/UTF-8


The following add-ons create and use a custom PageStore class, see if they can inspire you:

  http://www.pmwiki.org/wiki/Cookbook/CompressedPageStore (gz)
  http://www.pmwiki.org/wiki/Cookbook/PageTopStore (2 copies)
  http://www.pmwiki.org/wiki/Cookbook/Phonebook (LDAP)
  http://www.pmwiki.org/wiki/Cookbook/SessionPageStore (thin air)
  http://www.pmwiki.org/wiki/Cookbook/SQLite (sqlite)
  http://www.pmwiki.org/wiki/Cookbook/XMLPageStore (xml)

The SQLite recipe page also shows how one would install in config.php such a PageStore class with or without keeping any existing core PmWiki or custom PageStore classes.

Petko

--
PmWeekly Blog  :  http://www.pmwiki.org/News
If you upgrade :  http://www.pmwiki.org/Upgrades


On 2017-09-22 21:29, Mckenzie Mae Weller wrote:
I'm working on a project and we'd like to set up our site in a wiki format (such as through PmWiki), but need to populate the wiki pages using data from a Mongo DB database, or something similar, that will host a number of
JSON files.

Is this something that could be doable, and if so, are their any examples /
tutorial-esque documentation out there to help me get started?

_______________________________________________
pmwiki-users mailing list
[email protected]
http://www.pmichaud.com/mailman/listinfo/pmwiki-users

Reply via email to