]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/todo/allow_site-wide_meta_definitions.mdwn
expand my response
[ikiwiki.git] / doc / todo / allow_site-wide_meta_definitions.mdwn
index 704cb2c64b726dff7c31c2ee4ef3191335595204..82670250e54df00b79d8419fe1cbdf3dc5ae6311 100644 (file)
@@ -217,12 +217,22 @@ definitions essentially.
 
 >>> For this to work with websetup and --dumpsetup, it needs to define the
 >>> `meta_*` settings in the getsetup function.
+>>>> 
+>>>> I think this will be problematic with the current implementation of this
+>>>> patch. The datatype here is an array of hash references, with each hash
+>>>> having a variable (and arbitrary) number of key/value pairs.  I can't
+>>>> think of an intuitive way of implementing a way of editing such a
+>>>> datatype in the web interface, let alone registering the option in
+>>>> getsetup.
+>>>> 
+>>>> Perhaps a limited set of defined meta values could be exposed via
+>>>> websetup (the obvious ones: author, copyright, license, etc.) -- [[Jon]]
 >>>
 >>> I also have some concerns about both these patches, since both throw
 >>> a lot of redundant data at meta, which then stores it in a very redundant
 >>> way. Specifically, meta populates a per-page `%metaheaders` hash
 >>> as well as storing per-page metadata in `%pagestate`. So, if you have
->>> a wiki with a thousand pages, and you add a 1k site-wide license text,
+>>> a wiki with 10 thousand pages, and you add a 1k site-wide license text,
 >>> that will bloat the memory usage of ikiwiki by in excess of 2
 >>> megabytes. It will also cause ikiwiki to write a similar amount more data
 >>> to its state file which has to be loaded back in each
@@ -232,3 +242,5 @@ definitions essentially.
 >>> meta special-case the site-wide settings, not store them in these
 >>> per-page data structures, and just make them be used if no per-page
 >>> metadata of the given type is present. --[[Joey]]
+>>>> 
+>>>> that should be easy enough to do. I will work on a patch. -- [[Jon]]