X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/2eef342383022a221f4f3fdf4212e8af3aa17294..c43f5308ff5b27fd9174f880f50fa2eb5ff7d150:/doc/todo/fileupload.mdwn

diff --git a/doc/todo/fileupload.mdwn b/doc/todo/fileupload.mdwn
index db5932de8..8c9b18b19 100644
--- a/doc/todo/fileupload.mdwn
+++ b/doc/todo/fileupload.mdwn
@@ -1,3 +1,5 @@
+(I've written a [[proposal|todo/fileupload/soc-proposal]] for this feature --Ben).
+
 Support for uploading files is useful for many circumstances:
 
 * Uploading images.
@@ -20,6 +22,7 @@ the work is in securing it. Several classes of controls seem appropriate:
   browsers are probably too smart for their own good and may ignore the
   extension / mime info and process as the actual detected file type. It
   may be necessary to use `file` to determine a file's true type.
+* Optional ability to test a file using a virus scanner like clamav.
 * Limits to who can upload what type of files.
 * Limits to what files can be uploaded where.
 
@@ -32,4 +35,29 @@ the rules might look something like this:
 	( user(joey) and maxsize(1mb) and (type(webimage) or *.mp3) ) or
 	( user(joey) and maxsize(200mb) and (*.mov or *.avi) and videos/*)
 
-[[tag soc]]
+With a small extension, this could even be used to limit the max sizes of
+normal wiki pages, which could be useful if someone was abusing an open wiki
+as a wikifs. Maybe.
+
+	( type(page) and maxsize(32k) )
+
+And if that's done, it can also be used to lock users from editing a pages
+or the whole wiki:
+
+	!(( user(spammer) and * ) or
+	 ( user(42.12.*) and * ) or
+	 ( user(http://evilopenidserver/*) and * ) or
+	 ( user(annoying) and index) or
+	 ( immutable_page ))
+
+That would obsolete the current simple admin prefs for banned users and
+locked pages. Suddenly all the access controls live in one place.
+Wonderbar!
+
+(Note that pagespec_match will now return an object that stringifies to a
+message indicating why the pagespec matched, or failed to match, so if a
+pagespec lock like the above prevents an edit or upload from happening,
+ikiwiki could display a reasonable message to the user, indicating what
+they've done wrong.)
+
+[[!tag soc done]]