Note:

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

Save category description in Moodle XML import/export

From MoodleDocs

What is not saved?

Some things are not saved at this format of import/expor:

1. description of the exported category,

2. description of parent category,

Current XML structure

<question type="category">

   <category>
       <text>{<Context>}/{<Category>}[/<Subcategory>]...</text>
   </category>

</question>

Context:

  1. $course$ - сategory refers to the course,
  2. $system$ - Category refers to the system.

Category and Subcategory - name of category and subcategory written via '/' as path.

Proposed XML structure

Simple situation

We have category without parent.

<question type="category"> <category> <text>{<Context>}/{<Category>}</text> </category> <description> <text>{<Description>}</text> <format>{<Format>}</format> </description> </question>

In structure <question/> appended structure <description/> with description for last category in path.

Complex situation

We have category with parent.

<question type="category"> <category> <text>{<Context>}/{<Category>}</text> </category> <description> <text>{<Description>}</text> </description> </question>

<question type="category"> <category> <text>{<Context>}/{<Category>}{/<Subcategory>}</text> </category> <description> <text>{<Description>}</text> </description> </question> ................................................................................... ................................................................................... <question type="category"> <category> <text>{<Context>}/{<Category>}...{/<Subcategory>}</text> </category> <description> <text>{<Description>}</text> </description> </question>

Block <description/> contains description for last category in path.

For category export we need export all categories with description which are parent for exported category.

Old export compatibility problem

If you use the suggested structure you will be able to save the category description and to import categories from XML files which were exported with old format.