MWX/SpamFerret/tables/pattern: Difference between revisions

From Woozle Writes Code
< MWX‎ | SpamFerret‎ | tables
Jump to navigation Jump to search
(adapted from [patterns])
 
(3 more fields I think we'll need)
Line 1: Line 1:
==About==
==About==
* '''Fields''':
** '''isURL''' is turning out to be rather useless, partly because it wasn't clear from the beginning exactly what it was for
* '''History''':
* '''History''':
** '''2009-07-14''' Adding attempts.diff and patterns.isDiff to enable more advanced filtering (e.g. bots which delete most of a section and replace it with a nonsense word)
** '''2009-07-14''' Adding attempts.diff and patterns.isDiff to enable more advanced filtering (e.g. bots which delete most of a section and replace it with a nonsense word)
Line 5: Line 7:
** '''2009-10-06''' Adding Notes field (need to be able to make notes on a pattern's intent)
** '''2009-10-06''' Adding Notes field (need to be able to make notes on a pattern's intent)
** '''2011-02-03''' Adapting from {{spamferret|table|patterns}} -- basically the same, but without any activity or status fields, since this table now holds ''only'' active patterns
** '''2011-02-03''' Adapting from {{spamferret|table|patterns}} -- basically the same, but without any activity or status fields, since this table now holds ''only'' active patterns
** '''2011-02-09''' New fields: '''inText''', '''inTitle''', '''okTrust'''
*** "Trusted users" will generally mean registered users who have passed some threshold of credibility ("auto-confirmed")
*** We might later refine this to specify group membership required in order to let this edit through.
==SQL==
==SQL==
<mysql>CREATE TABLE `pattern` (
<mysql>CREATE TABLE `pattern` (
Line 10: Line 15:
   `Pattern`  VARCHAR(255)            COMMENT "pattern to match (regex or straight text match)",
   `Pattern`  VARCHAR(255)            COMMENT "pattern to match (regex or straight text match)",
   `ID_Archive` INT        NOT NULL    COMMENT "pattern_archive.ID of source for this pattern",
   `ID_Archive` INT        NOT NULL    COMMENT "pattern_archive.ID of source for this pattern",
  `inText`    TINYINT(1) DEFAULT TRUE  COMMENT "look for Pattern in the post's text",
  `inTitle`  TINYINT(1) DEFAULT FALSE COMMENT "look for Pattern in the post's title (new pages and moves)",
  `okTrust`  TINYINT(1) DEFAULT FALSE COMMENT "trusted users will only get a warning if this matches their post",
   `isURL`    TINYINT(1)              COMMENT "TRUE indicates that additional URL-related stats may be collected",
   `isURL`    TINYINT(1)              COMMENT "TRUE indicates that additional URL-related stats may be collected",
   `isRegex`  TINYINT(1)              COMMENT "TRUE = regex (use preg_match()); FALSE = normal string comparison (use stristr())",
   `isRegex`  TINYINT(1)              COMMENT "TRUE = regex (use preg_match()); FALSE = normal string comparison (use stristr())",

Revision as of 20:53, 9 February 2011

About

  • Fields:
    • isURL is turning out to be rather useless, partly because it wasn't clear from the beginning exactly what it was for
  • History:
    • 2009-07-14 Adding attempts.diff and patterns.isDiff to enable more advanced filtering (e.g. bots which delete most of a section and replace it with a nonsense word)
    • 2009-08-05 Adding ID_Archive field (part of new pattern maintenance system)
    • 2009-10-06 Adding Notes field (need to be able to make notes on a pattern's intent)
    • 2011-02-03 Adapting from Template:Spamferret -- basically the same, but without any activity or status fields, since this table now holds only active patterns
    • 2011-02-09 New fields: inText, inTitle, okTrust
      • "Trusted users" will generally mean registered users who have passed some threshold of credibility ("auto-confirmed")
      • We might later refine this to specify group membership required in order to let this edit through.

SQL

<mysql>CREATE TABLE `pattern` (

 `ID` INT NOT NULL AUTO_INCREMENT,
 `Pattern`   VARCHAR(255)             COMMENT "pattern to match (regex or straight text match)",
 `ID_Archive` INT         NOT NULL    COMMENT "pattern_archive.ID of source for this pattern",
 `inText`    TINYINT(1) DEFAULT TRUE  COMMENT "look for Pattern in the post's text",
 `inTitle`   TINYINT(1) DEFAULT FALSE COMMENT "look for Pattern in the post's title (new pages and moves)",
 `okTrust`   TINYINT(1) DEFAULT FALSE COMMENT "trusted users will only get a warning if this matches their post",
 `isURL`     TINYINT(1)               COMMENT "TRUE indicates that additional URL-related stats may be collected",
 `isRegex`   TINYINT(1)               COMMENT "TRUE = regex (use preg_match()); FALSE = normal string comparison (use stristr())",
 `isDiff`    TINYINT(1) DEFAULT FALSE COMMENT "TRUE = pattern should be compared to the diff, not the edit contents",
 `WhenTried` DATETIME   DEFAULT NULL  COMMENT "when a spammer last attempted to include this pattern",
 `Count`     INT        DEFAULT 0     COMMENT "number of attempts since pattern was activated",
 PRIMARY KEY(`ID`)

) ENGINE = MYISAM;</mysql>