<= [[plugin:struct|Struct Plugin]] ====== Struct Plugin: Assignments ====== ===== Page data ===== What structured data can be added as page data to a page depends on the schema assigned to that page. The assignment is done through patterns - if a page matches a configured pattern, the appropriate schema will be used. To manage assignment patterns, log in as a [[config:manager|Manager]] and access the "Admin" page. Select the "Struct Schema Assignments" from the "Additional Plugins" section. The **assignment manager** shows a list of currently active patterns and the schemas they assign. A form at the bottom allows to add a new pattern to assign a selected schema to all matching pages. Assignments can be done on a page or namespace basis or using a regular expression. For example, the following regular expression will assign the schema to all pages in ''mynamespace'' except for ''foo'' and ''bar'': ''/mynamespace:(?!foo)(?!bar)./'' ''**Question:** please add a link or explain how [[https://en.wikipedia.org/wiki/Regular_expression|regular expressions]] work. Maybe a [[https://www.rexegg.com/regex-quickstart.html|list]] of valid regex or [[https://regex101.com/|this tool]] (or [[https://regexr.com/|this one]]). Thanks'' A page can have multiple schemas assigned. But, a page can only have one set (row) of page data from each of those schemas (see [[plugin:struct:csvimport|page data csv import]] and [[plugin:struct:dbinternals#data|struct database internals]]). **Note:** Also see the section [[plugin:struct:schemaedit#schema_usage|Schema Usage]] for general informations on struct data.