"This section explains how to create a filter with some preliminary testing, so you don't flood the history page."
- read the docs \url{https://www.mediawiki.org/wiki/Extension:AbuseFilter/Rules_format}
- test with debugging tools \url{https://en.wikipedia.org/wiki/Special:AbuseFilter/tools} (visible only for users who are already in the edit filter managers user group)
- test with batch testing interface (dito)
- create logging only filter: \url{https://en.wikipedia.org/wiki/Special:AbuseFilter/new} (needs permissions)
- Post a message at WP:EFN (edit filter notice board), so other edit filter managers have a chance to improve it
- Finally, fully enable your filter, e.g. add warning, prevention, tagging, etc.
The best practice way for introducing a new filter is described under \url{https://en.wikipedia.org/wiki/Wikipedia:Edit_filter/Instructions}.
According to the page, following steps should be implemented:
\begin{itemize}
\item read the docs \url{https://www.mediawiki.org/wiki/Extension:AbuseFilter/Rules_format}
\item test with debugging tools \url{https://en.wikipedia.org/wiki/Special:AbuseFilter/tools} (visible only for users who are already in the edit filter managers user group)
\item test with batch testing interface (dito)
\item create logging only filter: \url{https://en.wikipedia.org/wiki/Special:AbuseFilter/new} (needs permissions)
\item Post a message at WP:EFN (edit filter notice board), so other edit filter managers have a chance to improve it
\item Finally, fully enable your filter, e.g. add warning, prevention, tagging, etc.
\end{itemize}
Performance/efficiency seem to be fairly important for the edit filter system;
on multiple occasions, there are notes on recommended order of operations, so that the filter evaluates as resource sparing as possible.
\begin{comment}
tips on controlling efficiency/order of operations
lazy evaluation: when 1st negative condition is met, filter terminates execution
"You should always order your filters so that the condition that will knock out the largest number of edits is first. Usually this is a user groups or a user editcount check; in general, the last condition should be the regex that is actually looking for the sort of vandalism you're targeting. "
"Except in urgent situations, new edit filters should generally be tested without any actions specified (simply enabled) until a good number of edits have been logged and checked before being implemented in "warn" or "disallow" modes. If the filter is receiving more than a very small percentage of false positives it should usually not be placed in 'disallow' mode."
\subsection{What happens when a filter gets triggered?}