GSoC/GCI Archive
Google Code-in 2010 MoinMoin Wiki

implement itemtransclusions metadata

completed by: NikitaUtiu

mentors: Alexander Schremmer, ReimarBauer, Thomas Waldmann, Ronny Pfannschmidt



moin2 has 2 fundamental ways to use other items within rendering of an item:

  • to link to the other item - [[otheritem|this is a link to otheritem]]
  • to transclude (embed) the other item - {{otheritem|this transcludes otheritem}}

For functions like "wanted items", "orphaned items", "what links here", we use the ITEMLINKS metadata of the current item revision (it list to which other items we link to).

But e.g. "orphaned items" will currently also show items that ARE in use by translusion, because it only looks at item links and does not consider transclusions.

Your task is to implement a new metadata key/value pair ITEMTRANSCLUSIONS: list of transcluded item names (in a similar way as the already existing ITEMLINKS metadata).



Please note:

  • The value has to be created and stored automatically on saving of a new item revision.
  • Just look at ITEMLINKS code and do it in a similar way.
  • Discuss your solution with the moin devs.

Deliverables: patch or changeset



Your work will enable multiple easy follow up tasks that make multiple functions of the wiki more complete/correct.


Skill Requirements

See tags. You might have to read some complex python code to find out how to implement this best.


You can discuss this issue in the MoinMoin wiki: