User:Brad

=personal= =The Kids Open Dictionary=

high priority

 * The database needs altering for both uppercase and lowercase words as well as uft8 characters.

low priority

 * Is it difficult to have the same word in twice -- once capitalized and once not (e.g. dutch and Dutch have different meanings. Orient and orient is another one.) If not, this is not critical.

questions
Q. What did we decide about linking defns. to other words? For example, algae is plural of alga. Normally, I wouldn't put algae in since it's a plural, but since kids might look it up, I would like to put "See alga" and link alga to that defn. What do you think? --Karen 00:07, 25 May 2008 (UTC)

A. We have decided that words will link. Brackets denote links. There is NO checking that links go anywhere. Links must be activated at run time (Which is to say the brackets are in the data.). I plan to allow the people to pull the dictionary with or without the brackets. Brad 00:32, 12 June 2008 (UTC)

high priority

 * add public domain button to main page
 * add a field for every possible form of the word for searching -- do this as a new tab
 * add a counter - total words in the dictionary vs. # of words with anything in definition (turn this "on" and keep track once i have the word list edited)
 * add a delete word option to admin tab for individual words
 * no user pages in the dictionary? seems like that would be nice to help build community
 * Glossary builder
 * Way to save glossaries
 * Future (not really high priority): flashcards, iPod, images

low priority

 * image tool - initially just for me. Then we can add a button (or tab) to reg pages that has a form for them to fill out that sends me an email for image to consider including
 * give me an admin tool to see a list of all pages with anything on the discussion page

Completed

 * hook up whuffie Brad 21:21, 22 July 2008 (UTC)
 * For the time being, instant karma will tend to give words with no definitions. Brad 21:25, 21 July 2008 (UTC)
 * would be nice to have a way to date and user stamp discussion comments ~ Brad 20:48, 21 July 2008 (UTC)
 * when you delete a word and then rename a word to that word, the histories merge Brad 20:09, 21 July 2008 (UTC)
 * Handle simultaneous edits Brad 19:19, 18 July 2008 (UTC)
 * move the user database into its own space
 * The session name of the word, need to be unique. (I think this is the source of Karen's funny problem. Brad 23:51, 16 July 2008 (UTC)
 * renaming a word may not update the word in the XML.
 * RSS feeds for recently changed pages. Brad 01:06, 17 June 2008 (UTC)
 * move discussion link for web pages near the top. Brad 20:52, 16 June 2008 (UTC)
 * For word definitions, active discussions will be indicated with an asterisk in the tab. Brad 17:52, 16 June 2008 (UTC)
 * we now warn users if they have unsaved changes pending before navigating away from a page. Brad 19:15, 13 June 2008 (UTC)
 * when you change a definition to a verb, the page should update immediately Brad 23:09, 12 June 2008 (UTC)
 * add talk pages for web pages; have it be so that anyone can edit; then add a link to the bottom of the page. Brad 00:27, 12 June 2008 (UTC)
 * support for linked definitions Brad 20:28, 11 June 2008 (UTC)
 * Discussion also, currently, if you edit a discussion page, it is prepopulated with the word "added" Brad 28:00, 10 June 2008 (UTC)
 * Discussion (as soon as you go to that page, edit area should be active; change edit button to save) Brad 22:28, 9 June 2008 (UTC)
 * problem editing (admin) words with an apostrophe (see bunsen's burner) Brad 21:47, 9 June 2008 (UTC)
 * remove pronoun, conjunction, preposition, interjection per Karen 23:24, 26 May 2008 (UTC)
 * include web pages in recent changes 21:41, 26 May 2008 (UTC)
 * added a show users page 19:11, 26 May 2008 (UTC)
 * rename 21:37, 24 May 2008 (UTC)
 * word search form 21:38, 24 May 2008 (UTC)
 * recent changes page
 * Add new words
 * WHEN YOU GET TO A WORD FROM KARMA AND SAVE, IT TAKES YOU TO ANOTHER WORD PAGE

database
CREATE TABLE `b_en_dict` (	`word` char(64) not NULL, PRIMARY KEY(word) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE `b_en_talk` (	`recno` int(11) not NULL AUTO_INCREMENT, `word` char(64) not NULL, `state` ENUM('head', 'revision', 'deleted') default 'head', `mark` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `ip` INT(4), `user` char(32), `talkpage` text,		   PRIMARY KEY(recno), KEY(word), KEY(state) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE `b_en_def` (	`recno` int(11) not NULL AUTO_INCREMENT, `word` char(64) not NULL, `state` ENUM('head', 'revision', 'deleted') default 'head', `frozen` ENUM('y', 'n') default 'n', `mark` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `ip` INT(4), `user` char(32), `def` text, `comment` text, PRIMARY KEY(recno), KEY(word), KEY(state) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE auth (	 `id` CHAR(32) not NULL, `username` VARCHAR(64) not NULL, `password` VARCHAR(32) not NULL, `email` VARCHAR(255) not NULL, `level` ENUM('user', 'super', 'admin') default 'user', `state` ENUM('pending', 'active', 'blocked') default 'pending', `possibleabuses` int(11) default 0, `knownabuses` int(11) default 0, PRIMARY KEY (username), KEY (id), KEY (email) );

CREATE TABLE `userpage` (	`recno` int(11) not NULL AUTO_INCREMENT, `user` char(32), `state` ENUM('head', 'revision', 'deleted') default 'head', `mark` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `talk` text,		   PRIMARY KEY(recno), KEY(user), KEY(state) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `webpages` (	`recno` int(11) not NULL AUTO_INCREMENT, `pagename` VARCHAR(64) not NULL, `state` ENUM('head', 'revision', 'deleted') default 'head', `mark` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `user` char(32), `text` text,		   PRIMARY KEY(recno), KEY(pagename), KEY(state) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE `webpages_talk` (	`recno` int(11) not NULL AUTO_INCREMENT, `pagename` char(64) not NULL, `state` ENUM('head', 'revision', 'deleted') default 'head', `mark` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `ip` INT(4), `user` char(32), `talkpage` text,		   PRIMARY KEY(recno), KEY(pagename), KEY(state) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE `ipaddr` (	`ip` INT(4), `state` ENUM('allowed', 'probation', 'blackedlisted', 'banned') default 'allowed', `mark` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `blacklistends` TIMESTAMP default 0, `possibleabuses` int(11) default 0, `knownabuses` int(11) default 0, PRIMARY KEY(ip), KEY(state) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE `bwlist` (	`word` VARCHAR(64) not NULL, `mark` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `user` char(32), PRIMARY KEY(word) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;