If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.


From MoodleDocs

Warning: This page is no longer in use. The information contained on the page should NOT be seen as relevant or reliable.

Notes on the possible integration of WIKINDX with Moodle.

WIKINDXis a free BiblioGraphic and quotations/notes management and article authoring system designed either for single use (on a variety of operating sytems) or multi-user collaborative use across the internet.

Please also see the Moodle Discussion at

From GR: Most of the capabilities discussed in this documentation have now been incorporated in the WIKINDX Bibliography Filter:

Also see this discussion forum:

CMS Integration with WIKINDX

From MG: WIKINDX 3.7 (released 29th July 2007) provides CMS 'hooks' enabling any CMS using replacement tags or similar to include a range of WIKINDX output. This output includes lists of resources selected and ordered by various parameters.

Additionally, WIKINDX may be used to format a block of CMS text (containing the appropriate replacement tags) with either in-text or footnote-style citations and an appended bibliography.

Finally, because the CMS hooks make use of WIKINDX ID numbers, WIKINDX (providing the option has been turned on in the user's Preferences) provides an interface to formulate the CMS replacement tag for a single WIKINDX resource and to interrogate the WIKINDX database for collection, creator, publisher etc. IDs.

Once WIKINDX has been installed, the CMS scripter should read README_CMS.

Still desired (but not absolutely necessary), is an interface to WIKINDX from within Moodle and design considerations for this are discussed below.

Wikindx filter for Moodle

From MG: Dan's filter likely needs updating/altering in the light of WIKINDX 3.7.

Dan Stowell has created a "Wikindx filter" for Moodle which allows you to cross-link to a wikindx entry by typing (for example) wikindx:646. The filter is in contrib CVS, named "filter_wikindx" or can be downloaded at

From MG: Some design considerations for a moodle filter that enables a wikindx to be searched, a reference to be selected, page number(s) to be added and the in-text or footnote citation and full reference to be returned formatted to the user's requirements. README_CMS in the WIKINDX install should be read in conjunction with this. WIKINDX's config.php provides some initial CMS hook settings.

1/ The Moodle filter needs to provide 3 basic functions:

a) an icon in the HTML text editor that opens a pop-up,
b) the pop up should provide a simple search/select interface to wikindx resources,
c) once the selected wikindx resource has been inserted into the text, the moodle HTML editor text is saved and the filter sends the reference (and style and page number(s)) to wikindx for formatting and insertion into the moodle text.

2/ Because what is supplied to the pop-up (see below) requires a connection to wikindx, the filter should have a config file for the wikindx database connection details. wikindx 3.4 now allows admins to lock out read-only users so this config file may also have the option to add a wikindx username::password pair (I would not favour this though).

3/ The search interface could be similar to the wikindx Quick Search interface less the ordering options (to save on space). [WIKINDX code (filling the pop-up)]

4/ The results of a search should be displayed with multiple resources next to radio buttons, a select box to choose the formatting style and text boxes to enter page number(s). Each radio button has a value that is the unique resource ID in the wikindx. [WIKINDX code]

5/ Once the appropriate resource has been selected and other details added, clicking on a 'process' button will add the appropriate filter mark-up which may be something like:


where the first number is the wikindx resource ID and the second number(s) is the page. See README_CMS for instructions on how to add further parameters.

6/ On displaying the moodle text, that markup is extracted and sent to the wikindx server (something like 'http://localhost/wikindx3/cmsprint.php?action=getResource&id=242') which then formats the requested resource and provides a string in return which would consist of a serialized/base64_encoded PHP multi-dimensional array which, when unpacked, would have something like the following (if APA for example):

[13] => Back, M., & Des, D. (1996). Micro-narratives in sound design: Context and caricature in waveform manipulation. Retrieved March 12, 2004, from <a href="" target="_blank"> ... cles/micronaratives.htm</a>.
[54] => Carr, D. (2003). Play dead: Genre and affect in silent hill and planescape torment. Game Studies, 3(1). Retrieved September 16, 2003, from <a href="" target="_blank"></a>.
[2] => Chion, M. (1992). Wasted words. In R. Altman (Ed.), Sound Theory Sound Practice (pp. 104–110). New York: Routledge.
[103] => Chion, M. (1994). Audio-vision: Sound on screen (C. Gorbman, Trans.) New York: Columbia University Press.
[4] => Truppin, A. (1992). And then there was sound: The films of Andrei Tarkovsky. In R. Altman (Ed.), Sound Theory Sound Practice (pp. 235–248). New York: Routledge.

Note that, depending upon the bibliographic style chosen in the WIKINDX's config.php, the results may contain HTML tags (as in the above example). The key of each array member is the resource ID.

WIKINDX may also be used to format a block of CMS text having appropriate replacement tags with in-text or footnote-style citations and an optional bibliography. An example output from this might be:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis ligula lorem, consequat eget, tristique nec, auctor quis, purus. Vivamus (Mayer & Moreno, 1998) ut sem. Fusce aliquam nunc vitae purus. Aenean viverra malesuada libero. Fusce ac quam. Donec neque. Nunc venenatis enim nec quam. Cras faucibus, justo vel accumsan aliquam, tellus dui fringilla quam, in condimentum augue lorem non tellus. (Rittel & Webber, 1973) Pellentesque id arcu non sem placerat iaculis. Curabitur posuere (Kullberg, 1991), pede vitae lacinia accumsan, enim nibh elementum orci, ut volutpat eros sapien nec sapien. Suspendisse neque arcu, ultrices commodo, pellentesque sit amet, ultricies ut, ipsum. Mauris et eros eget erat dapibus mollis. Mauris laoreet posuere odio. Nam ipsum ligula, ullamcorper eu, fringilla at, lacinia ut, augue. Nullam nunc.

Kullberg, R. (1991). Dynamic timelines: Visualizing historical information in three dimensions. Unpublished master's thesis, Massachusetts Insititute of Technology. Mayer, R. E., & Moreno, R. (1998). A split-attention effect in multimedia learning: Evidence for dual processing systems in working memory. Journal of Educational Psychology, 90(2), 312–320. Rittel, R. W. J., & Webber, M. M. (1973). Dilemmas in a general theory of planning. Policy Sciences, 2(4), 155–169.

See WIKINDX's README_CMS for further information and example PHP code.

--Mark Grimshaw 01:27, 30 July 2007 (CDT)

Outline thoughts on integration...

1. Do we need to allowing a user already logged into a Moodle site to be seamlessly logged in to a wikindx? Or maybe just use the same login details between the two (like the way that and MoodleDocs works). If necessary, something could be added to wikindx to enable this. In most cases though, with the right config settings, wikindx will allow any read only request without requiring login.

2. Another issue is how to integrate the paper writing function of Wikindx into Moodle. What about use of the HTML editor? Could it be integrated some way with the Netpublish module? Imagine students or professors being able to use it to write academic papers and then publish those on the Moodle site. Currently wikindx publishes papers solely to RTF. It should be simple to publish to HTML since that's what the raw document is anyway (a matter of adding HTML header/footer, formatting citations and appending bibliographies -- most of this code is already in wikindx but not (yet) made available to the word processor). Compared to other HTML editors, the only additional options wikindx offers in its version are buttons to import citations, metadata and insert footnotes. All the rest (barring stats, timestamps, save etc.) are font/text formatting.

Note from DS: No, at present the Wikindx filter simply displays the text "wikindx:646" (for example). It's a very simple start and I hope that people with more knowledge of Wikindx will be able to modify it to extract the properly-formatted reference direct from Wikindx. If wikindx had a system whereby a certain URL call would supply the reference text in whatever style was configured for wikindx, this would be a good way to display the citation nicely within Moodle. Does such a call exist? I don't think so. Something like would be required.
Note from JB: As the wikindx admin can set the default bibliographic style in the config, the filter will just present that style. The filter is simple but oh so useful! So when I type wikindx:1 into my moodle installation, it creates an automatic link to
Note from MG: In wikindx, inserting a citation into metadata or the word processor involves clicking on an icon which opens a popup. In this, there is a select box listing short entries of all available resources and some text fields for users to enter cited page numbers. Perhaps something similar could be used in the moodle wikindx filter to avoid the hassle of having to look up the wikindx resource id before entering it into moodle. This pop-up could also list the available citation/bibliographic styles on the wikindx allowing the user to select the style with which the citation should be formatted prior to insertion into moodle.

4. Mark, your remarks in 2 have gotten me thinking. Although not everyone likes the Moodle HTML area editor that much, it still is the standard way of creating text in Moodle and perhaps a way of integrating Wikindx would be to add buttons for Wikindx to it, just like the kind described above in Wikindx's native editor. I needed to integrate a hieroglyph editor into my site and Janne Mikkonen helped me to add it through a button in the html editor that pops up a window, in which the student type the hieroglyphs they need, and then click a button to have them inserted back into the editor-similar to the way the insert image popup works. I would imagine something similar could be done with Wikindx. The advantage of this is that it would make Wikindx accessible anywhere within Moodle, rather than just as a separate module. You might also want a standalone module option whereby students could collaborate on creating bibliographies together.

Note from MG: Adding the appropriate buttons would be my suggestion. In wikindx, citations are added by the popup automatically adding something like
where 146 is the resource ID in the database and 22-23 are the page nos. This can be added via a cite button or will be appended to an inserted quotation/paraphrase via the wikindx 'insert metadata' button. Footnotes (i.e. parenthetical thoughts as opposed to citation footnotes - WIKINDX does handle those footnotes/endnotes as well) are inserted via a button which encloses the inserted footnote in:
Exporting to RTF, the cite tags are substituted with the formatted citation marker (in-text or footnote/endnote), bibliographic information is extracted and appended to a bibliography and footnote tags are converted to RTF footnotes. Of course, all HTML code (font/text formatting, tables, lists, images etc.) are converted to their appropriate RTF code too.

5. Re the citation/bibliographic formatting, the PHP code for this has been extracted from wikindx and made available to other OSS apps at (I think Aigaion and Bibliograph use it or are about to) so it may be easy enough for Moodle to use this too. In fact doubly easy if moodle interfaces with a wikindx because the quickest way to set up the formatting engine is to provide data to it in exactly the same PHP associative array that wikindx natively expects.

6. What capabilities are there in Wikindx at this time for different capabilities in using bibliographies? Can bibliographies be shared by a predefined group/all users? Can some people be given the ability to add to a bibliography while others can only use the bibilography? Can bibliography entries be required to have approval by some person before they are displayed to all? These would be nice features to have.

MG: WIKINDX recognizes two types of bibliography; the master bibliography (MB) and user bibliographies (UB). The MB holds the resources while UBs merely have references to resources from the MB. Currently both the MB and UBs are readable by all users. A UB is owned by a user and only he/she can add/delete references to resources. All write enabled users can add to the MB. Because I'm aiming towards collaborative authoring in the word processor (SUWP), a long-standing feature to be implemented is to add user groups (i.e. research teams). Then, the owner of a UB can add other users with write access to the UB and only those users can browse the UB. Additionally, a user can make comments and musings private, shared with a group or public. Of course, a SUWP article can be shared among a group. This hasn't been implemented yet -- I need to find someone familiar with wiki technology to help implement the collaborative authoring first.