DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:struct:csvimport

This is an old revision of the document!


Struct Plugin

Struct Plugin: CSV Import

The Schema Editor has a Import/Export tab offering support for importing raw data into a schema (either page or lookup) using a CSV file. Some general rules:

  • The first row has to contain headers matching the field names of the lookup schema you're importing into
  • Columns with headers not matching any field name are ignored
  • Only commas are supported as separator
  • Column contents should be enclosed with double quotes
  • Double quotes can be escaped with a backslash (\) or using standard doubling of the double quotes ("")
  • For multi fields, the column content will be split at commas (no support for any escaping)
  • Content has to be in UTF-8 encoding

Additionally in page schemas import:

  • The column labeled 'pid' must exist. It's used to bind the scheme data to a proper page.
  • If there are rows with identical pids only the first one is imported and the others are omitted with the proper error message.
  • If the page with given 'pid' doesn't exists the entire row is omitted (with the proper error message) but the import continues.
    • If, however, the respective checkbox is checked, then the page is created instead. This page-creation uses the existing namespace template if it exists or creates only a page with the pagename as first heading.
    • In the template, you can use basic bureaucracy-style placeholders for the imported struct values in the form of @@schemaname.labelname@@ or ##schemaname.labelname##. Notice that the labels are case sensitive here (in contrast to using them in templates with bureaucracy).

In the lookup schema the imported data is added to whatever data is already stored.

In the page schema every imported row creates a new revision of the page.

You can use the CSV Export on the same tab to get an example CSV file.

plugin/struct/csvimport.1555581087.txt.gz · Last modified: 2019-04-18 11:51 by benks

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki