--- /dev/null
+Support for uploading files is useful for many circumstances:
+
+* Uploading images.
+* Uploading local.css files (admin only).
+* Uploading mp3s for podcasts.
+* Etc.
+
+ikiwiki should have an easy to use interface for this, but the real meat of
+the work is in securing it. Several classes of controls seem appropriate:
+
+* Limits to size of files that can be uploaded. Prevent someone spamming
+ the wiki with CD isos..
+* Limits to the type of files that can be uploaded. To prevent uploads of
+ virii, css, raw html etc, and avoid file types that are not safe.
+ Should default to excluding all files types, or at least all
+ except a very limited set, and should be able to open it up to more
+ types.
+
+ Would checking for file extensions (.gif, .jpg) etc be enough? Some
+ 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.
+* Limits to who can upload what type of files.
+* Limits to what files can be uploaded where.
+
+It seems that for max flexability, rules should be configurable by the admin
+to combine these limits in different ways. If we again extend the pagespec
+for this, as was done for [[conditional_text_based_on_ikiwiki_features]],
+the rules might look something like this:
+
+ ( maxsize(30kb) and type(webimage) ) or
+ ( user(joey) and maxsize(1mb) and (type(webimage) or *.mp3) ) or
+ ( user(joey) and maxsize(200mb) and (*.mov or *.avi) and videos/*)
+
+[[tag soc]]
+++ /dev/null
-* Eventually, might want page deletion.
-* Eventually, might want file upload.
-* Page move? Link corrections?
-
->(I left this comment in discussion, but it might be better here on the main page) This is a function I would really like. I am dealing with a situation, in creating a link for my family history, for instance to "Peter Richard MacLea (1888-c.1946)" and fleshing out an article with pictures and so on. Then, I later find out that Peter died in 1948. So, I want to move that page to "Peter Richard MacLea (1888-1948)". There doesn't seem to be an easy way to do this. The main problem being that I can easily create a second page with that data, but what happens to the old one? Does it remain? I would like to see at least a rename or page move function.... *[Kyle](http://kitenet.net/~kyle/family/wiki/)=*
-
-[[tag soc]]
+++ /dev/null
-This is a function I would really like. I am dealing with a situation, in creating a link for my family history, for instance to "Peter Richard MacLea (1888-c.1946)" and fleshing out an article with pictures and so on.
-Then, I later find out that Peter died in 1948. So, I want to move that page to "Peter Richard MacLea (1888-1948)". There doesn't seem to be an easy way to do this. The main problem being that I can easily create a second page with that data, but what happens to the old one? Does it remain?
-
-I would like to see at least a rename or page move function....
-
-*[Kyle](http://kitenet.net/~kyle/family/wiki/)=*
\ No newline at end of file