]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/bad_content_support.mdwn
update for rename of recentchanges.mdwn to json.tl.ph.mdwn
[git.ikiwiki.info.git] / doc / todo / bad_content_support.mdwn
index 30d19e22c20e96a87241a9afb0eab00fed93900d..e514d27951ed6c3d14fd2602c00232ef22e4b620 100644 (file)
@@ -8,4 +8,11 @@ I am not sure we should follow the MoinMoin mechanism, where the list is a wiki
 
 Failing that, it could also simply be a list in the `ikiwiki.setup`. But my experience with managing a block list of IP addresses there has not been fun: you need to context switch (to another branch, or to the ikiwiki.setup file) and rebuild the wiki at each change, which is rather disruptive... 
 
 
 Failing that, it could also simply be a list in the `ikiwiki.setup`. But my experience with managing a block list of IP addresses there has not been fun: you need to context switch (to another branch, or to the ikiwiki.setup file) and rebuild the wiki at each change, which is rather disruptive... 
 
+The "pie-in-the-sky" plugin here would of course to just plug the checkcontent hook straight into spamassassin or something similar. Then you possibly get bayesian filtering, all sorts of rules, Razor, etc.
+
 -- [[anarcat]]
 -- [[anarcat]]
+
+
+> I looked into this briefly, and it seems like what I want (specifically: discard incoming comments if they have bad content) is fundamentally impossible with the current way the `checkcontent` hook is setup. When *pages* are inspected for content, yes, it's possible to just discard the submission, but not when *comments* are submitted, because the `IkiWiki::check_content` wrapper is called with `nonfatal => 1` which makes it skip any possible interception (returning a function or error message) that would abort submissions. This is because the comments module hardcodes the fact that a `checkcontent` failure is "soft" and means "this comment should be moderated"...
+>
+> So either a new hook needs to be written, or this one needs to be fixed, and either case it cannot be done simply with a plugin. I documented this odd behavior in [[plugins/write]]. --[[anarcat]]