Difference between revisions of "YTMND:TODO"
(formatting) |
Crusher8576 (Talk | contribs) (→HAIR BRAINED SCHEMES) |
||
(One intermediate revision by one user not shown) | |||
Line 12: | Line 12: | ||
@- Possible feature or something I am bugged about constantly.<br> | @- Possible feature or something I am bugged about constantly.<br> | ||
+- New Feature I want to add.<br> | +- New Feature I want to add.<br> | ||
− | !- Current state or general information. | + | !- Current state or general information.<br> |
==USER DELETION== | ==USER DELETION== | ||
− | *- The SQL trigger that removes votes is causing site scores to be recalculated improperly | + | *- The SQL trigger that removes votes is causing site scores to be recalculated improperly<br> |
− | !-- I think the best solution is to remove the trigger from the user table and move it to the user votes table. | + | !-- I think the best solution is to remove the trigger from the user table and move it to the user votes table.<br> |
− | !-- So that each time a vote is deleted it does a new tally of the site score. | + | !-- So that each time a vote is deleted it does a new tally of the site score.<br> |
− | !-- (this would require changes to the current spots that allow deletion of votes) | + | !-- (this would require changes to the current spots that allow deletion of votes)<br> |
− | *- Users who are deleted that have made comments which have nested children end up creating orphaned nested comments | + | *- Users who are deleted that have made comments which have nested children end up creating orphaned nested comments<br> |
− | *-- Decide if you should just delete all the orphaned comments with a trigger (or possibly cascading?) | + | *-- Decide if you should just delete all the orphaned comments with a trigger (or possibly cascading?)<br> |
− | *-- Or just change it so they have no parent and become a normal comment. | + | *-- Or just change it so they have no parent and become a normal comment.<br> |
− | !-- This has been changed to delete the entire nest. | + | !-- This has been changed to delete the entire nest.<br> |
Line 31: | Line 31: | ||
==FILE SYSTEM/ASSET MANAGEMENT== | ==FILE SYSTEM/ASSET MANAGEMENT== | ||
− | +- "56k" option to prevent users from opening huge sites. | + | +- "56k" option to prevent users from opening huge sites.<br> |
− | @- Add site size information to site profile and possibly sites table | + | @- Add site size information to site profile and possibly sites table<br> |
− | +- The ability to attach an asset to a site, such as a full version of an image or song. | + | +- The ability to attach an asset to a site, such as a full version of an image or song.<br> |
− | !-- This will be a pain due to the obvious copyright issues of people posting full songs they didn't make. | + | !-- This will be a pain due to the obvious copyright issues of people posting full songs they didn't make.<br> |
− | @- Decide on further asset accountability functions | + | @- Decide on further asset accountability functions<br> |
− | @-- The same functions that would allow use records of who uploaded child pornography to the site | + | @-- The same functions that would allow use records of who uploaded child pornography to the site<br> |
− | @-- would allow the MPAA or RIAA to use them if it ever came to that. Is it worth it? | + | @-- would allow the MPAA or RIAA to use them if it ever came to that. Is it worth it?<br> |
− | @- The ability to certify/claim you are the original creator of an asset. | + | @- The ability to certify/claim you are the original creator of an asset.<br> |
− | @-- Possibly add a creative commons license option. | + | @-- Possibly add a creative commons license option.<br> |
− | !-- We currently track who uploaded each asset when. | + | !-- We currently track who uploaded each asset when.<br> |
− | @- Possibly the ability to allow users to view all of their assets or other people's assets. | + | @- Possibly the ability to allow users to view all of their assets or other people's assets.<br> |
− | @-- IE: I want to see all of ROY4L's sound clips. | + | @-- IE: I want to see all of ROY4L's sound clips.<br> |
− | +- Add asset server information into the db schema. | + | +- Add asset server information into the db schema.<br> |
− | +- Finish working on the the "types" setup, add avatars, add flash versions of wavs | + | +- Finish working on the the "types" setup, add avatars, add flash versions of wavs<br> |
− | +-- Maybe do a parent-child type deal, for making thumbnails and flash versions. | + | +-- Maybe do a parent-child type deal, for making thumbnails and flash versions.<br> |
− | +- Asset conversion and cleanup | + | +- Asset conversion and cleanup<br> |
− | *-- There are tons of malformed or incorrect file types in the DB | + | *-- There are tons of malformed or incorrect file types in the DB<br> |
− | *-- A few sites have managed to use a sound for their image and an image for their sound, etc. | + | *-- A few sites have managed to use a sound for their image and an image for their sound, etc.<br> |
− | @-- Create a script to clean up assets that no longer exist or are used (partially complete) | + | @-- Create a script to clean up assets that no longer exist or are used (partially complete)<br> |
− | !-- Work on gapless playback. | + | !-- Work on gapless playback.<br> |
− | +- Possibly add a preview to the assets page. | + | +- Possibly add a preview to the assets page.<br> |
− | @-- Redesign asset page to show all the new information about each asset. | + | @-- Redesign asset page to show all the new information about each asset.<br> |
Line 66: | Line 66: | ||
==USER PROFILES== | ==USER PROFILES== | ||
− | @- Real user profiles, same sort of information vBulletin has, with some other good info to create fun | + | @- Real user profiles, same sort of information vBulletin has, with some other good info to create fun<br> |
− | @-- statistical information from. | + | @-- statistical information from.<br> |
− | @- Avatars (would need to figure out where on the site they are shown). | + | @- Avatars (would need to figure out where on the site they are shown).<br> |
− | @-- Possibly open up avatars for everyone but allow paid members to have slightly larger avatars. | + | @-- Possibly open up avatars for everyone but allow paid members to have slightly larger avatars.<br> |
− | @- Discuss the addition of user comments and user ratings (like a myspace (ugh) wall) | + | @- Discuss the addition of user comments and user ratings (like a myspace (ugh) wall)<br> |
− | +- Tie in with lists to allow grouping and organization of user sites. | + | +- Tie in with lists to allow grouping and organization of user sites.<br> |
Line 80: | Line 80: | ||
==PRIVATE MESSAGING== | ==PRIVATE MESSAGING== | ||
− | +- Get rid of the POST shit on every page clicking back and forth. | + | +- Get rid of the POST shit on every page clicking back and forth.<br> |
− | *- There is some sort of duplicate messages bug. (Back button related or multi post related) | + | *- There is some sort of duplicate messages bug. (Back button related or multi post related)<br> |
− | @-- Probably disable submit button onsubmit | + | @-- Probably disable submit button onsubmit<br> |
− | *- Blocked users still cause your messages icon to light up. | + | *- Blocked users still cause your messages icon to light up.<br> |
− | +- Option to email user when they get a new PM. | + | +- Option to email user when they get a new PM.<br> |
− | +-- Sub-option to not be spammy and only send 1 email until next login. | + | +-- Sub-option to not be spammy and only send 1 email until next login.<br> |
− | @- Filters to let you only view new, replied etc. Maybe a simple text subject search filter. | + | @- Filters to let you only view new, replied etc. Maybe a simple text subject search filter.<br> |
− | +- Auto expiration and trashing of messages. | + | +- Auto expiration and trashing of messages.<br> |
− | @- Better integration with the site, possibly move it all to a class. | + | @- Better integration with the site, possibly move it all to a class. <br> |
− | @-- To allow easy sending of PMs from inside code. | + | @-- To allow easy sending of PMs from inside code.<br> |
Line 101: | Line 101: | ||
==DONATIONS== | ==DONATIONS== | ||
− | +-- Implement the donations by user code I wrote into /browse/ | + | +-- Implement the donations by user code I wrote into /browse/<br> |
− | @- "Downations" - the ability to counter sponsor a site. | + | @- "Downations" - the ability to counter sponsor a site.<br> |
− | @-- Would allow users to get sites off the front page. | + | @-- Would allow users to get sites off the front page.<br> |
Line 110: | Line 110: | ||
==SESSIONS== | ==SESSIONS== | ||
− | +- Standardize sessions, use a wrapper session class. | + | +- Standardize sessions, use a wrapper session class.<br> |
− | +-- Needs to be written to allow for load balancing for the future. | + | +-- Needs to be written to allow for load balancing for the future.<br> |
− | @-- Decide which session engine to use, or if you should just create your own. | + | @-- Decide which session engine to use, or if you should just create your own.<br> |
− | @-- Memcache may be an option but I almost want to use something disk based or at | + | @-- Memcache may be an option but I almost want to use something disk based or at<br> |
− | @-- least a bit more secure. | + | @-- least a bit more secure.<br> |
− | *- Figure out YTMNSFW age check issues. | + | *- Figure out YTMNSFW age check issues.<br> |
− | *-- Possible cookie bug on new NSFW code I wrote. | + | *-- Possible cookie bug on new NSFW code I wrote.<br> |
Line 123: | Line 123: | ||
==KEYWORDS== | ==KEYWORDS== | ||
− | @- Put more keyword info in when users search. | + | @- Put more keyword info in when users search.<br> |
− | +- Add more to keywords interface. | + | +- Add more to keywords interface.<br> |
− | +- Limit # of keywords on site creation. | + | +- Limit # of keywords on site creation.<br> |
− | +- Allow users to report keyword abusers. | + | +- Allow users to report keyword abusers.<br> |
− | +- Keyword live updates, latest popular keywords content box. | + | +- Keyword live updates, latest popular keywords content box.<br> |
− | +- Add popular keywords to front page (already written somewhere on the db server). | + | +- Add popular keywords to front page (already written somewhere on the db server).<br> |
Line 139: | Line 139: | ||
==USER LOGINS== | ==USER LOGINS== | ||
− | @- Maybe do a loose login system like amazon | + | @- Maybe do a loose login system like amazon<br> |
− | @-- Always logged in, requires a password to do important things like add/delete/edit sites/options? | + | @-- Always logged in, requires a password to do important things like add/delete/edit sites/options?<br> |
− | +- Write a new login class, old one is legacy code that needs to be cleaned up or rewritten. | + | +- Write a new login class, old one is legacy code that needs to be cleaned up or rewritten.<br> |
Line 148: | Line 148: | ||
==USER SIGNUP== | ==USER SIGNUP== | ||
− | +- Rewrite completely. | + | +- Rewrite completely.<br> |
− | +- Get more meta data (like age, contact options, sex, etc) | + | +- Get more meta data (like age, contact options, sex, etc)<br> |
− | +- Make people agree to the TOS | + | +- Make people agree to the TOS<br> |
− | *- Completely redo the captcha without sessions/cookies, it's causing too many problems. | + | *- Completely redo the captcha without sessions/cookies, it's causing too many problems.<br> |
− | *-- Also add a timeout to the captcha. | + | *-- Also add a timeout to the captcha.<br> |
− | +- Better IP tracking, like the forums but with a warning system and a decay. | + | +- Better IP tracking, like the forums but with a warning system and a decay.<br> |
− | @- Something to track signups-per-ip over a certain period and limit too many new accounts coming | + | @- Something to track signups-per-ip over a certain period and limit too many new accounts coming<br> |
− | @-- from a single proxy or ip. | + | @-- from a single proxy or ip.<br> |
− | +- "Hardcore mode" option. | + | +- "Hardcore mode" option.<br> |
− | +-- When you sign up, you must make at least one site, if it gets a rating under 2.5 | + | +-- When you sign up, you must make at least one site, if it gets a rating under 2.5 <br> |
− | +-- for a period of 24 hours, your account gets deleted. | + | +-- for a period of 24 hours, your account gets deleted.<br> |
Line 168: | Line 168: | ||
==SITE VIEWS== | ==SITE VIEWS== | ||
− | @- Insert a row on each site view with: (IP, site_id, referring url). | + | @- Insert a row on each site view with: (IP, site_id, referring url).<br> |
− | @-- CRON job uniqify's views and stores a small amount of referring url data. | + | @-- CRON job uniqify's views and stores a small amount of referring url data.<br> |
− | @-- Figure out a way of doing this without storing massive amounts of data. | + | @-- Figure out a way of doing this without storing massive amounts of data.<br> |
− | @-- Maybe show referrers on site profiles. | + | @-- Maybe show referrers on site profiles.<br> |
− | !-- It's possible that storing information on referral URLS for 1 week would be sufficient. | + | !-- It's possible that storing information on referral URLS for 1 week would be sufficient.<br> |
Line 179: | Line 179: | ||
==YTMND STORE== | ==YTMND STORE== | ||
− | !- Schema started | + | !- Schema started<br> |
− | +- Real shopping cart. multiple tables and most likely a separate db. | + | +- Real shopping cart. multiple tables and most likely a separate db.<br> |
− | +- Site sponsorship done through store. | + | +- Site sponsorship done through store.<br> |
Line 187: | Line 187: | ||
==FORUMS== | ==FORUMS== | ||
− | !- VBulletin is shit, from the looks of it they have no plan to ever support LDAP or anything like it. | + | !- VBulletin is shit, from the looks of it they have no plan to ever support LDAP or anything like it.<br> |
− | !- So, I give up investing any real amount of time into it. | + | !- So, I give up investing any real amount of time into it.<br> |
==EMAIL== | ==EMAIL== | ||
− | +- Inject a unique message ID and then a qmail script to parse the information into a db. | + | +- Inject a unique message ID and then a qmail script to parse the information into a db.<br> |
− | +-- This way when all the idiots sign up and they require human white-list interaction it can tell them | + | +-- This way when all the idiots sign up and they require human white-list interaction it can tell them<br> |
− | +-- to fuck themselves when they send 1000 emails to support. | + | +-- to fuck themselves when they send 1000 emails to support.<br> |
− | +- Create a tracking mechanism for when a user has received an email to keep YTMND from spamming them. | + | +- Create a tracking mechanism for when a user has received an email to keep YTMND from spamming them.<br> |
− | +-- To avoid sending multiple alerts/pm notifications between logins. | + | +-- To avoid sending multiple alerts/pm notifications between logins.<br> |
Line 204: | Line 204: | ||
==SUPPORT ISSUES== | ==SUPPORT ISSUES== | ||
− | @- Maybe build something into the new mod panel that gets all the support@ email. | + | @- Maybe build something into the new mod panel that gets all the support@ email.<br> |
Line 210: | Line 210: | ||
==CLEAN UP ERRORS AND WARNINGS== | ==CLEAN UP ERRORS AND WARNINGS== | ||
− | +- Create a generic error handling class (this should be easy now that we are on PHP5) | + | +- Create a generic error handling class (this should be easy now that we are on PHP5)<br> |
− | *- All pages that just consist of die messages or warnings should go through an error class of some sort | + | *- All pages that just consist of die messages or warnings should go through an error class of some sort<br> |
− | !- new mustBeLoggedIn() feature <3 | + | !- new mustBeLoggedIn() feature <3<br> |
==RSS FEEDS== | ==RSS FEEDS== | ||
− | !- RSS is something that would be extraordinarily easy to add, and would be a great feature. | + | !- RSS is something that would be extraordinarily easy to add, and would be a great feature.<br> |
− | !- The reason it hasn't been done yet is that 95% of the ad revenue that supports YTMND's | + | !- The reason it hasn't been done yet is that 95% of the ad revenue that supports YTMND's<br> |
− | !- hosting is from people going to www.ytmnd.com, ie: people use rss feeds instead and | + | !- hosting is from people going to www.ytmnd.com, ie: people use rss feeds instead and<br> |
− | !- YTMND can't pay for hosting. | + | !- YTMND can't pay for hosting.<br> |
− | !- Until I can figure out a way around this, it would be suicide to RSS up everything. | + | !- Until I can figure out a way around this, it would be suicide to RSS up everything.<br> |
− | @- RSS feeds for each content boxes. | + | @- RSS feeds for each content boxes.<br> |
− | @- RSS feeds for each alert (paid?) | + | @- RSS feeds for each alert (paid?)<br> |
− | +- In the mean time, make an RSS feed for the news at least. | + | +- In the mean time, make an RSS feed for the news at least.<br> |
Line 233: | Line 233: | ||
==NEWS== | ==NEWS== | ||
− | +- Make an Admin CMS for news. | + | +- Make an Admin CMS for news.<br> |
Line 239: | Line 239: | ||
==HELP SECTION/FAQ== | ==HELP SECTION/FAQ== | ||
− | +- A help section with common problems and solutions. | + | +- A help section with common problems and solutions.<br> |
− | +-- This should be in the wiki, and since no one has created it will probably never happen until | + | +-- This should be in the wiki, and since no one has created it will probably never happen until <br> |
− | +-- YTMND can pay someone to do it since I am completely unwilling. | + | +-- YTMND can pay someone to do it since I am completely unwilling.<br> |
Line 247: | Line 247: | ||
==HASH TABLES== | ==HASH TABLES== | ||
− | +- Rename hash tables so they are easily identifiable as so. | + | +- Rename hash tables so they are easily identifiable as so.<br> |
==CONTENT BOXES/ALGORITHMS THAT NEED WRITING== | ==CONTENT BOXES/ALGORITHMS THAT NEED WRITING== | ||
− | +- Sites that are older than 1 week but have less than 10 votes. | + | +- Sites that are older than 1 week but have less than 10 votes.<br> |
Line 258: | Line 258: | ||
==LISTS== | ==LISTS== | ||
− | !- The lists backend is complete with basic functionality. | + | !- The lists backend is complete with basic functionality.<br> |
− | !- It currently supports the user favorites but is much more | + | !- It currently supports the user favorites but is much more<br> |
− | !- powerful. It also supports custom made user lists: | + | !- powerful. It also supports custom made user lists:<br> |
− | !- IE: Get to know NEDM or Worst of What is Love? or Inkdrinker Approved etc. | + | !- IE: Get to know NEDM or Worst of What is Love? or Inkdrinker Approved etc.<br> |
− | !- As well as lists managed by multiple people (group lists, such as moderator favorites) | + | !- As well as lists managed by multiple people (group lists, such as moderator favorites)<br> |
− | *- Remove all of the user watch list stuff from lists, functionality should be moved to alerts. | + | *- Remove all of the user watch list stuff from lists, functionality should be moved to alerts.<br> |
− | +- Ability to add more than one note per item per user. | + | +- Ability to add more than one note per item per user.<br> |
− | +- Write interface for custom made lists. | + | +- Write interface for custom made lists.<br> |
− | +- Write interface for list permissions/group permissions. | + | +- Write interface for list permissions/group permissions.<br> |
− | +- Write interface+functions for ordering. | + | +- Write interface+functions for ordering.<br> |
− | +- Add subgroup-grouping, like folders/files. | + | +- Add subgroup-grouping, like folders/files.<br> |
− | @- Maybe a global fads list and let people take over maintaining a fad list. (ugh) | + | @- Maybe a global fads list and let people take over maintaining a fad list. (ugh)<br> |
− | +-- The back end is sort of there, but the functions aren't in the class. | + | +-- The back end is sort of there, but the functions aren't in the class.<br> |
Line 278: | Line 278: | ||
==SITES== | ==SITES== | ||
− | +- Build a protection mechanism to keep sites from being accidentally deleted | + | +- Build a protection mechanism to keep sites from being accidentally deleted<br> |
− | +-- (especially useful for hall of fame). (this could be done with cascading restrictions) | + | +-- (especially useful for hall of fame). (this could be done with cascading restrictions)<br> |
− | !-- Implemented with cascading restrictions recently. It might be worth further discussion | + | !-- Implemented with cascading restrictions recently. It might be worth further discussion<br> |
− | !-- to allow users to protect sites, or even to auto-protect front page or high traffic sites | + | !-- to allow users to protect sites, or even to auto-protect front page or high traffic sites<br> |
− | !-- from editing. | + | !-- from editing.<br> |
− | +- Expand amount of text allowed for origins and description, not sure if this needs to be done in | + | +- Expand amount of text allowed for origins and description, not sure if this needs to be done in<br> |
− | +-- the db or code or both. | + | +-- the db or code or both.<br> |
− | @- Add a "PRIVATE" option. Won't show up in searches, keywords, front page, random etc. | + | @- Add a "PRIVATE" option. Won't show up in searches, keywords, front page, random etc.<br> |
@- New text styles. | @- New text styles. | ||
− | @-- Back in the days before YTMND, when I made YTMND spoofs, I used different text cascade | + | @-- Back in the days before YTMND, when I made YTMND spoofs, I used different text cascade<br> |
− | @-- algorithms. For instance, text that starts at the bottom and cascades up, or originating | + | @-- algorithms. For instance, text that starts at the bottom and cascades up, or originating<br> |
− | @-- from the center. | + | @-- from the center.<br> |
− | @--- One issue with this is the complexity of writing the image text algorithms was bad enough | + | @--- One issue with this is the complexity of writing the image text algorithms was bad enough<br> |
− | @--- Adding more complexity won't be very fun in terms of recreating text tweening, boundry box | + | @--- Adding more complexity won't be very fun in terms of recreating text tweening, boundry box<br> |
− | @--- math and emulating text alignment with GD or the like. | + | @--- math and emulating text alignment with GD or the like.<br> |
==SITE TEMPLATE== | ==SITE TEMPLATE== | ||
− | +- Complete rewrite of sound code. Needs to be a lot smarter and take into account user preferences. | + | +- Complete rewrite of sound code. Needs to be a lot smarter and take into account user preferences.<br> |
− | +-- For instance, allowing the use of media player on firefox, which would solve a lot of sound woes. | + | +-- For instance, allowing the use of media player on firefox, which would solve a lot of sound woes.<br> |
− | +-- Make a sound discovery javascript routine. | + | +-- Make a sound discovery javascript routine. <br> |
− | !-- Would be a non issue if sound was moved over to flash. | + | !-- Would be a non issue if sound was moved over to flash.<br> |
==STANDARDIZE SITE LINK DISPLAY== | ==STANDARDIZE SITE LINK DISPLAY== | ||
− | @- Possibly make icons for the site link function that show sites that are ws/nsfw and sites that are in the HOF. | + | @- Possibly make icons for the site link function that show sites that are ws/nsfw and sites that are in the HOF.<br> |
− | @-- Or currently on up and coming, etc. | + | @-- Or currently on up and coming, etc. <br> |
− | !- Going further with the historical data, it would be possible to do a Newgtounds type system (i think it's NG) | + | !- Going further with the historical data, it would be possible to do a Newgtounds type system (i think it's NG)<br> |
− | !-- Or some mixture of Alexa/Google Zeitgeist feature that would allow you to see the full history of a site | + | !-- Or some mixture of Alexa/Google Zeitgeist feature that would allow you to see the full history of a site<br> |
− | !-- With graphs showing views, when a site was on the top viewed, what place it was, score, etc. | + | !-- With graphs showing views, when a site was on the top viewed, what place it was, score, etc. <br> |
Line 319: | Line 319: | ||
==YTNNSFW== | ==YTNNSFW== | ||
− | +- Enable NSFW warning option | + | +- Enable NSFW warning option<br> |
− | +-- Enable spammier "unknown" warning option. | + | +-- Enable spammier "unknown" warning option.<br> |
− | +-- Only force users leveled 0 and 2 (with the option set) to go to YTMNSFW.com. | + | +-- Only force users leveled 0 and 2 (with the option set) to go to YTMNSFW.com.<br> |
− | @--- Otherwise let logged in users (over the age of 18?) see NSFW conten on YTMND.com | + | @--- Otherwise let logged in users (over the age of 18?) see NSFW conten on YTMND.com<br> |
− | +--- Default to warning on. | + | +--- Default to warning on.<br> |
==FRIENDS SYSTEM (super ugh)== | ==FRIENDS SYSTEM (super ugh)== | ||
− | +- Ability to add someone as a friend (confirmation required). | + | +- Ability to add someone as a friend (confirmation required).<br> |
− | +- Friends list, with online/last login status, PM button on each. | + | +- Friends list, with online/last login status, PM button on each.<br> |
− | @-- Maybe an explanded option that shows you each friend's most recent site. | + | @-- Maybe an explanded option that shows you each friend's most recent site.<br> |
− | @- Stalk mode: show what they're up to if there are entries in the spy_log. | + | @- Stalk mode: show what they're up to if there are entries in the spy_log.<br> |
− | +- Ability to add "Idols" and "Sworn Enemies" without confirmation. | + | +- Ability to add "Idols" and "Sworn Enemies" without confirmation.<br> |
Line 341: | Line 341: | ||
==USER COLLABORATION== | ==USER COLLABORATION== | ||
− | +- An area of the site where you can upload a sound or image and make requests for someone | + | +- An area of the site where you can upload a sound or image and make requests for someone<br> |
− | +-- to come up with the other half of the equation. | + | +-- to come up with the other half of the equation.<br> |
− | +-- Some sort of commenting mechanism. | + | +-- Some sort of commenting mechanism.<br> |
− | @- Think of some clever way to deal with user collaborations on profile pages. | + | @- Think of some clever way to deal with user collaborations on profile pages.<br> |
Line 353: | Line 353: | ||
!- User groups | !- User groups | ||
− | @- Any user can create up to five groups and be a member of up to 25. | + | @- Any user can create up to five groups and be a member of up to 25.<br> |
− | @- Member post board of some sort. | + | @- Member post board of some sort.<br> |
− | @-- Extremely simple forum thing. | + | @-- Extremely simple forum thing.<br> |
− | @- Group favorites/site lists/recommendations dealy. | + | @- Group favorites/site lists/recommendations dealy.<br> |
− | @- Group news page. | + | @- Group news page.<br> |
− | @- Public and Private group types. | + | @- Public and Private group types.<br> |
− | @- Group authored sites? (oh my!) | + | @- Group authored sites? (oh my!)<br> |
− | @-- Or some mechanism for an asset to be passed around to the entire group. | + | @-- Or some mechanism for an asset to be passed around to the entire group.<br> |
Line 367: | Line 367: | ||
==ALERTS== | ==ALERTS== | ||
− | +- Allow users to set an alerts on site titles, keywords, origins | + | +- Allow users to set an alerts on site titles, keywords, origins<br> |
− | +-- Specific assets ids and user ids. | + | +-- Specific assets ids and user ids.<br> |
− | !-- Needs a checking mechanism which does a search to check for returned results. | + | !-- Needs a checking mechanism which does a search to check for returned results.<br> |
− | !-- Otherwise idiots will add alerts on stuff like "a" and receive 1000 alerts an hour. | + | !-- Otherwise idiots will add alerts on stuff like "a" and receive 1000 alerts an hour.<br> |
− | +- Option to Automagicly alert you when your friends/groups have made new sites. | + | +- Option to Automagicly alert you when your friends/groups have made new sites.<br> |
− | +-- Or just a list. | + | +-- Or just a list.<br> |
− | @- Alerts page, PM option maybe? | + | @- Alerts page, PM option maybe?<br> |
Line 382: | Line 382: | ||
==FLASH PRELOADER== | ==FLASH PRELOADER== | ||
− | +- Make option for resynch every X loops. | + | +- Make option for resynch every X loops.<br> |
− | +- Build in advertising options. | + | +- Build in advertising options.<br> |
− | +-- Allow people to buy advertising built into the preloader. | + | +-- Allow people to buy advertising built into the preloader.<br> |
− | !- Hammering out the bugs will allow us to make it an option to play all MP3s through flash. | + | !- Hammering out the bugs will allow us to make it an option to play all MP3s through flash.<br> |
− | !- The more I think about this, the more I want to convert the entire site over to PHPTurbine | + | !- The more I think about this, the more I want to convert the entire site over to PHPTurbine<br> |
− | !-- and do it all through flash. Too bad it's 32 bit only. | + | !-- and do it all through flash. Too bad it's 32 bit only.<br> |
==VOTING / VOTEBARS== | ==VOTING / VOTEBARS== | ||
− | +- Get the votebar image script into CVS. | + | +- Get the votebar image script into CVS.<br> |
− | +- Update the site voting mechanism/javascript to use the new voting authentication system. | + | +- Update the site voting mechanism/javascript to use the new voting authentication system.<br> |
− | +- Finish the bot-catching mechanism. | + | +- Finish the bot-catching mechanism.<br> |
− | +-- Uses pre-set voting algorithms based on IP/time/vote/referrer and automatically shows the | + | +-- Uses pre-set voting algorithms based on IP/time/vote/referrer and automatically shows the<br> |
− | +-- user a captcha. If the user fails the captcha in X seconds, user gets added to a potential | + | +-- user a captcha. If the user fails the captcha in X seconds, user gets added to a potential<br> |
− | +-- bot list for moderator review. | + | +-- bot list for moderator review.<br> |
− | +- Change the votebar code so that rather than having to query for every user vote, it batches it at | + | +- Change the votebar code so that rather than having to query for every user vote, it batches it at<br> |
− | +-- the end of the page load transparently. Maybe with AJAX (ugh). | + | +-- the end of the page load transparently. Maybe with AJAX (ugh). <br> |
− | !-- Right now, when a logged in user views the front page, they slave db is queried for every votebar | + | !-- Right now, when a logged in user views the front page, they slave db is queried for every votebar<br> |
− | !-- image displayed to check for previous votes. Would be better to keep a session variable array of | + | !-- image displayed to check for previous votes. Would be better to keep a session variable array of<br> |
− | !-- all of the currently viewed votebars and then insert a javascript array at the foot of the page to | + | !-- all of the currently viewed votebars and then insert a javascript array at the foot of the page to<br> |
− | !-- query for the user votes. | + | !-- query for the user votes.<br> |
Line 418: | Line 418: | ||
==ACCESS CONTROL== | ==ACCESS CONTROL== | ||
− | +- Require IP checking option for moderators and above. | + | +- Require IP checking option for moderators and above.<br> |
− | +- Add user level "jr admin" | + | +- Add user level "jr admin"<br> |
− | +-- Figure out what access these users should get. | + | +-- Figure out what access these users should get.<br> |
==MODERATION QUEUES== | ==MODERATION QUEUES== | ||
− | +- Deletion requests should act like kills used to. | + | +- Deletion requests should act like kills used to.<br> |
− | !- Tables currently in existence: | + | !- Tables currently in existence:<br> |
− | !-- site_moderation_queue | + | !-- site_moderation_queue<br> |
− | !--- Holds site_id, moderation_level (allows assignment to an access group (ie. super mods)) | + | !--- Holds site_id, moderation_level (allows assignment to an access group (ie. super mods))<br> |
− | !-- site_moderation_queue_assignments | + | !-- site_moderation_queue_assignments<br> |
− | !--- Allows a single site to be assigned to a single user by another user | + | !--- Allows a single site to be assigned to a single user by another user<br> |
− | +- Tables that need to be created: | + | +- Tables that need to be created:<br> |
− | +-- site_moderation_queue_status | + | +-- site_moderation_queue_status<br> |
− | +--- Needs to contain: site last changed date (would be a copy), number of votes from each user level | + | +--- Needs to contain: site last changed date (would be a copy), number of votes from each user level<br> |
− | +--- for both "since last changed" and "previous to last changed". As well as a flag to tell if the | + | +--- for both "since last changed" and "previous to last changed". As well as a flag to tell if the <br> |
− | +--- site a) needs to be moderated, and if so how many of each type of vote it needs. | + | +--- site a) needs to be moderated, and if so how many of each type of vote it needs. <br> |
− | +--- This seems like a pretty ugly design. | + | +--- This seems like a pretty ugly design.<br> |
− | +- "Moderation mode" | + | +- "Moderation mode"<br> |
− | +-- The old mod system automatically redirected to the next site in the moderation queue, basically to | + | +-- The old mod system automatically redirected to the next site in the moderation queue, basically to<br> |
− | +-- infinity, allowing you to skip a single site. | + | +-- infinity, allowing you to skip a single site.<br> |
− | +-- I want to add a small box to the already gigantic remote mod panel that has the following options: | + | +-- I want to add a small box to the already gigantic remote mod panel that has the following options:<br> |
− | +-- [ ] Moderation Mode | + | +-- [ ] Moderation Mode <br> |
− | !-- This would keep the moderation panel open and automatically redirect to the next site after a moderation | + | !-- This would keep the moderation panel open and automatically redirect to the next site after a moderation<br> |
− | !-- action was performed. | + | !-- action was performed.<br> |
− | +-- ( ) Moderate out of my personal queue | + | +-- ( ) Moderate out of my personal queue<br> |
− | +-- ( ) Moderate out of my group's queue | + | +-- ( ) Moderate out of my group's queue<br> |
− | +-- ( ) Moderate out the global queue | + | +-- ( ) Moderate out the global queue<br> |
− | !-- This would need some sort of skip setup that actually works in comparison to the way it used to work (or not work) | + | !-- This would need some sort of skip setup that actually works in comparison to the way it used to work (or not work)<br> |
+- Moderation Queuing Prioritization System | +- Moderation Queuing Prioritization System | ||
− | +-- A system run on cron and every time a moderation action is taken. | + | +-- A system run on cron and every time a moderation action is taken.<br> |
− | +-- Takes into account: site reports, site views, sites currently on the front page, creation date, required mod votes, etc. | + | +-- Takes into account: site reports, site views, sites currently on the front page, creation date, required mod votes, etc.<br> |
− | +-- Updated extremely often: ie, the top queue items will be different every minute. | + | +-- Updated extremely often: ie, the top queue items will be different every minute. <br> |
− | +-- Needs to be built into the content gatherer for the front page and in the mod remote panel. | + | +-- Needs to be built into the content gatherer for the front page and in the mod remote panel.<br> |
Line 465: | Line 465: | ||
==MODERATION MONITORING== | ==MODERATION MONITORING== | ||
− | +- Ability to assign a "mentor" to moderators or super moderators. | + | +- Ability to assign a "mentor" to moderators or super moderators. <br> |
− | +-- Would allow the mentor to monitor and view all of the people they are in charge of. | + | +-- Would allow the mentor to monitor and view all of the people they are in charge of.<br> |
− | +-- As sort of a step above peer watchdogs. User profile would show all of the user's moderation actions. | + | +-- As sort of a step above peer watchdogs. User profile would show all of the user's moderation actions.<br> |
− | @- Maybe some nifty graphs of moderator activity. | + | @- Maybe some nifty graphs of moderator activity.<br> |
− | @-- Tons of information to pull from. | + | @-- Tons of information to pull from.<br> |
− | +- Some sort of algorithm that figures out when mods are going against the majority vote a lot. | + | +- Some sort of algorithm that figures out when mods are going against the majority vote a lot.<br> |
==LOGGING== | ==LOGGING== | ||
− | +- Site moderation log. | + | +- Site moderation log.<br> |
− | !- Created, needs filters and searching. | + | !- Created, needs filters and searching.<br> |
− | +- User moderation log. | + | +- User moderation log.<br> |
− | +-- Needs filters and searching. | + | +-- Needs filters and searching.<br> |
− | +- Moderator access logs. | + | +- Moderator access logs.<br> |
− | +-- Needs filters and searching. | + | +-- Needs filters and searching.<br> |
==USER/SITE DELETION QUEUE== | ==USER/SITE DELETION QUEUE== | ||
− | +- Site deletion queue system needs to be written, tables designed etc. | + | +- Site deletion queue system needs to be written, tables designed etc.<br> |
− | +-- Needs to be implemented into the site with a (48 hour?) time for regular user-deleted sites. | + | +-- Needs to be implemented into the site with a (48 hour?) time for regular user-deleted sites.<br> |
− | +-- Needs abstract class for use around the site | + | +-- Needs abstract class for use around the site<br> |
− | !- User deletion queue: | + | !- User deletion queue:<br> |
− | +- Needs abstract access class for use in code. | + | +- Needs abstract access class for use in code.<br> |
− | +- Needs administrator options: | + | +- Needs administrator options:<br> |
− | +-- Force immediate deletion of a site or user. | + | +-- Force immediate deletion of a site or user.<br> |
− | +-- Remove from queue (with logging and denying reasons) | + | +-- Remove from queue (with logging and denying reasons)<br> |
− | +-- Ability to ban (ulevel 2) and put an account on hold (for stuff like child pornography, repeat abusive users) | + | +-- Ability to ban (ulevel 2) and put an account on hold (for stuff like child pornography, repeat abusive users)<br> |
− | +--- Needs options on front end in login, common, site profiles, user profiles etc. | + | +--- Needs options on front end in login, common, site profiles, user profiles etc.<br> |
==PUNISHMENTS/WARNINGS== | ==PUNISHMENTS/WARNINGS== | ||
− | +- Entire system needs to be written short of DB tables. | + | +- Entire system needs to be written short of DB tables.<br> |
− | +- Implementation built into the front end of the site. | + | +- Implementation built into the front end of the site.<br> |
− | @- Comment deletion options. | + | @- Comment deletion options. <br> |
==REPORTED USERS== | ==REPORTED USERS== | ||
− | @- Not even sure if I should add this feature because I know how spammy it will be, people cry every time they get | + | @- Not even sure if I should add this feature because I know how spammy it will be, people cry every time they get<br> |
− | @-- a fucking one vote. | + | @-- a fucking one vote.<br> |
Line 520: | Line 520: | ||
==IP BAN SYSTEM== | ==IP BAN SYSTEM== | ||
− | +- Needs to be written. | + | +- Needs to be written. <br> |
Line 526: | Line 526: | ||
==SEARCH== | ==SEARCH== | ||
− | +- Needs to be written | + | +- Needs to be written<br> |
==ASSET MODERATION SYSTEM== | ==ASSET MODERATION SYSTEM== | ||
− | +- Allow super mods to mark an asset NSFW or WS which will retroactively and proactively "auto moderate" | + | +- Allow super mods to mark an asset NSFW or WS which will retroactively and proactively "auto moderate"<br> |
− | +-- Possibly require either an admin approval or a system that requires retroactive NSFW markings on the | + | +-- Possibly require either an admin approval or a system that requires retroactive NSFW markings on the<br> |
− | +-- image from the site_moderation_log to figure out if it's a reasonable request. | + | +-- image from the site_moderation_log to figure out if it's a reasonable request.<br> |
− | @- Maybe even attach a field to the asset table that gives it an NSFW rating. | + | @- Maybe even attach a field to the asset table that gives it an NSFW rating.<br> |
− | @- Possibly a flag to mark an asset illegal, for animal torture, kiddy porn or serious copyright issues. | + | @- Possibly a flag to mark an asset illegal, for animal torture, kiddy porn or serious copyright issues.<br> |
− | @-- Would fire off notifications to mods somehow if a user is uploading illegal content. | + | @-- Would fire off notifications to mods somehow if a user is uploading illegal content.<br> |
==TICKET TRACKING== | ==TICKET TRACKING== | ||
− | @- Some sort of ticket tracking system that would allow grouping of users, deletion requests, sites, | + | @- Some sort of ticket tracking system that would allow grouping of users, deletion requests, sites,<br> |
− | @-- log entries, assets, basically every aspect of the site into a history of actions, comments from | + | @-- log entries, assets, basically every aspect of the site into a history of actions, comments from <br> |
− | @-- mods etc. | + | @-- mods etc. <br> |
− | !-- Basically a huge amount of work that may never see the light of day. | + | !-- Basically a huge amount of work that may never see the light of day.<br> |
Line 555: | Line 555: | ||
==REVIEWS SECTION== | ==REVIEWS SECTION== | ||
− | !- Ever since YTMND got big, I've literally been getting daily invites to movie screenings, | + | !- Ever since YTMND got big, I've literally been getting daily invites to movie screenings,<br> |
− | !-- Release parties in NYC and Hollywood and a number of people asking me to do product reviews. | + | !-- Release parties in NYC and Hollywood and a number of people asking me to do product reviews.<br> |
− | !-- Since it's obvious I'm never going to get rich off YTMND, I might as well milk it and start | + | !-- Since it's obvious I'm never going to get rich off YTMND, I might as well milk it and start<br> |
− | !-- taking people up on these offers. | + | !-- taking people up on these offers.<br> |
− | !-- At the same time I know I don't have the willpower to keep up and maintain any sort of consistent | + | !-- At the same time I know I don't have the willpower to keep up and maintain any sort of consistent<br> |
− | !-- review rate. So maybe come up with some sort of simple review system for movies/music/hardware/software | + | !-- review rate. So maybe come up with some sort of simple review system for movies/music/hardware/software<br> |
− | !-- and let users take advantage for some of this stuff. | + | !-- and let users take advantage for some of this stuff. <br> |
==SPY / REAL-TIME USER TRACKING== | ==SPY / REAL-TIME USER TRACKING== | ||
− | @- Possibly add a really really spammy searches option (at least 5-8 searches a second) | + | @- Possibly add a really really spammy searches option (at least 5-8 searches a second)<br> |
− | @-- Maybe make a separate "search spy" | + | @-- Maybe make a separate "search spy"<br> |
− | @- Possibly add a URL to user-tracking to allow people to see what users are looking at | + | @- Possibly add a URL to user-tracking to allow people to see what users are looking at<br> |
− | @-- or doing. (Would require some sort of hard coded logic to tell if people are making | + | @-- or doing. (Would require some sort of hard coded logic to tell if people are making<br> |
− | @-- a site, etc) | + | @-- a site, etc)<br> |
Line 578: | Line 578: | ||
==WEIGHTED VOTING AND SITE DELETION SYSTEM== | ==WEIGHTED VOTING AND SITE DELETION SYSTEM== | ||
− | !- Discussion moved here: http://wiki.ytmnd.com/Weighted_Voting | + | !- Discussion moved here: http://wiki.ytmnd.com/Weighted_Voting<br> |
==MODERATION POINT SYSTEM== | ==MODERATION POINT SYSTEM== | ||
− | @- Moderators can give users warning points for various actions that break the TOS. | + | @- Moderators can give users warning points for various actions that break the TOS.<br> |
− | @-- Warning points have a decay and users will be PM'd/emailed when they get warned. | + | @-- Warning points have a decay and users will be PM'd/emailed when they get warned.<br> |
− | @-- When a user reaches a certain number of warning points they will have various | + | @-- When a user reaches a certain number of warning points they will have various<br> |
− | @-- actions taken against them: | + | @-- actions taken against them:<br> |
− | @-- | + | @--<br> |
− | @-- Inability to vote/private message/site comment/news comment. | + | @-- Inability to vote/private message/site comment/news comment. <br> |
− | @-- Temporary or Permanent Banning from the site. | + | @-- Temporary or Permanent Banning from the site.<br> |
− | @-- | + | @--<br> |
− | @-- Points will be given out for actions such as: | + | @-- Points will be given out for actions such as:<br> |
− | @-- Comment spam/inappropriate comments (ie: racial slurs, etc) | + | @-- Comment spam/inappropriate comments (ie: racial slurs, etc)<br> |
− | @-- Innapropriate content | + | @-- Innapropriate content<br> |
− | @-- | + | @-- <br> |
− | @-- Obviously this will have to be worked on more by the moderation team. | + | @-- Obviously this will have to be worked on more by the moderation team.<br> |
− | @-- | + | @--<br> |
− | @-- This would consist of both front end enhancements and admin.ytmnd.com tools. | + | @-- This would consist of both front end enhancements and admin.ytmnd.com tools.<br> |
− | !- This will give me the ability to hand some of the real moderation (which consumes | + | !- This will give me the ability to hand some of the real moderation (which consumes<br> |
− | !- so much of my time) over to other people. | + | !- so much of my time) over to other people. <br> |
− | !- There will obviously need to better checks in place for abuse of power than the current | + | !- There will obviously need to better checks in place for abuse of power than the current<br> |
− | !- mod setup. | + | !- mod setup.<br> |
+ | |||
+ | |||
+ | ==RICH PEOPLE FUNDING== | ||
+ | |||
+ | !- If we can get rich people and movie stars to like YTMND as much as most of the users,<BR> | ||
+ | !-- then they will be able to donate lots of money and will tell the world how great YTMND is (in theory).<BR> |
Latest revision as of 11:53, December 27, 2007
Contents
- 1 YTMND TODO List
- 1.1 Legend
- 1.2 USER DELETION
- 1.3 FILE SYSTEM/ASSET MANAGEMENT
- 1.4 USER PROFILES
- 1.5 PRIVATE MESSAGING
- 1.6 DONATIONS
- 1.7 SESSIONS
- 1.8 KEYWORDS
- 1.9 USER LOGINS
- 1.10 USER SIGNUP
- 1.11 SITE VIEWS
- 1.12 YTMND STORE
- 1.13 FORUMS
- 1.14 EMAIL
- 1.15 SUPPORT ISSUES
- 1.16 CLEAN UP ERRORS AND WARNINGS
- 1.17 RSS FEEDS
- 1.18 NEWS
- 1.19 HELP SECTION/FAQ
- 1.20 HASH TABLES
- 1.21 CONTENT BOXES/ALGORITHMS THAT NEED WRITING
- 1.22 LISTS
- 1.23 SITES
- 1.24 SITE TEMPLATE
- 1.25 STANDARDIZE SITE LINK DISPLAY
- 1.26 YTNNSFW
- 1.27 FRIENDS SYSTEM (super ugh)
- 1.28 USER COLLABORATION
- 1.29 GROUPS (double super duper ugh)
- 1.30 ALERTS
- 1.31 FLASH PRELOADER
- 1.32 VOTING / VOTEBARS
- 2 ADMIN SYSTEM/NEW MODERATION SYSTEM
- 3 HAIR BRAINED SCHEMES
YTMND TODO List
Version 1.17 [2007-12-24 22:09:16 CST]
$Id: TODO,v 1.17 2007-12-25 04:09:16 max Exp $
TODO (in no particular order)
Legend
- - Bug.
@- Possible feature or something I am bugged about constantly.
+- New Feature I want to add.
!- Current state or general information.
USER DELETION
- - The SQL trigger that removes votes is causing site scores to be recalculated improperly
!-- I think the best solution is to remove the trigger from the user table and move it to the user votes table.
!-- So that each time a vote is deleted it does a new tally of the site score.
!-- (this would require changes to the current spots that allow deletion of votes)
- - Users who are deleted that have made comments which have nested children end up creating orphaned nested comments
- -- Decide if you should just delete all the orphaned comments with a trigger (or possibly cascading?)
- -- Or just change it so they have no parent and become a normal comment.
!-- This has been changed to delete the entire nest.
FILE SYSTEM/ASSET MANAGEMENT
+- "56k" option to prevent users from opening huge sites.
@- Add site size information to site profile and possibly sites table
+- The ability to attach an asset to a site, such as a full version of an image or song.
!-- This will be a pain due to the obvious copyright issues of people posting full songs they didn't make.
@- Decide on further asset accountability functions
@-- The same functions that would allow use records of who uploaded child pornography to the site
@-- would allow the MPAA or RIAA to use them if it ever came to that. Is it worth it?
@- The ability to certify/claim you are the original creator of an asset.
@-- Possibly add a creative commons license option.
!-- We currently track who uploaded each asset when.
@- Possibly the ability to allow users to view all of their assets or other people's assets.
@-- IE: I want to see all of ROY4L's sound clips.
+- Add asset server information into the db schema.
+- Finish working on the the "types" setup, add avatars, add flash versions of wavs
+-- Maybe do a parent-child type deal, for making thumbnails and flash versions.
+- Asset conversion and cleanup
- -- There are tons of malformed or incorrect file types in the DB
- -- A few sites have managed to use a sound for their image and an image for their sound, etc.
@-- Create a script to clean up assets that no longer exist or are used (partially complete)
!-- Work on gapless playback.
+- Possibly add a preview to the assets page.
@-- Redesign asset page to show all the new information about each asset.
USER PROFILES
@- Real user profiles, same sort of information vBulletin has, with some other good info to create fun
@-- statistical information from.
@- Avatars (would need to figure out where on the site they are shown).
@-- Possibly open up avatars for everyone but allow paid members to have slightly larger avatars.
@- Discuss the addition of user comments and user ratings (like a myspace (ugh) wall)
+- Tie in with lists to allow grouping and organization of user sites.
PRIVATE MESSAGING
+- Get rid of the POST shit on every page clicking back and forth.
- - There is some sort of duplicate messages bug. (Back button related or multi post related)
@-- Probably disable submit button onsubmit
- - Blocked users still cause your messages icon to light up.
+- Option to email user when they get a new PM.
+-- Sub-option to not be spammy and only send 1 email until next login.
@- Filters to let you only view new, replied etc. Maybe a simple text subject search filter.
+- Auto expiration and trashing of messages.
@- Better integration with the site, possibly move it all to a class.
@-- To allow easy sending of PMs from inside code.
DONATIONS
+-- Implement the donations by user code I wrote into /browse/
@- "Downations" - the ability to counter sponsor a site.
@-- Would allow users to get sites off the front page.
SESSIONS
+- Standardize sessions, use a wrapper session class.
+-- Needs to be written to allow for load balancing for the future.
@-- Decide which session engine to use, or if you should just create your own.
@-- Memcache may be an option but I almost want to use something disk based or at
@-- least a bit more secure.
- - Figure out YTMNSFW age check issues.
- -- Possible cookie bug on new NSFW code I wrote.
KEYWORDS
@- Put more keyword info in when users search.
+- Add more to keywords interface.
+- Limit # of keywords on site creation.
+- Allow users to report keyword abusers.
+- Keyword live updates, latest popular keywords content box.
+- Add popular keywords to front page (already written somewhere on the db server).
USER LOGINS
@- Maybe do a loose login system like amazon
@-- Always logged in, requires a password to do important things like add/delete/edit sites/options?
+- Write a new login class, old one is legacy code that needs to be cleaned up or rewritten.
USER SIGNUP
+- Rewrite completely.
+- Get more meta data (like age, contact options, sex, etc)
+- Make people agree to the TOS
- - Completely redo the captcha without sessions/cookies, it's causing too many problems.
- -- Also add a timeout to the captcha.
+- Better IP tracking, like the forums but with a warning system and a decay.
@- Something to track signups-per-ip over a certain period and limit too many new accounts coming
@-- from a single proxy or ip.
+- "Hardcore mode" option.
+-- When you sign up, you must make at least one site, if it gets a rating under 2.5
+-- for a period of 24 hours, your account gets deleted.
SITE VIEWS
@- Insert a row on each site view with: (IP, site_id, referring url).
@-- CRON job uniqify's views and stores a small amount of referring url data.
@-- Figure out a way of doing this without storing massive amounts of data.
@-- Maybe show referrers on site profiles.
!-- It's possible that storing information on referral URLS for 1 week would be sufficient.
YTMND STORE
!- Schema started
+- Real shopping cart. multiple tables and most likely a separate db.
+- Site sponsorship done through store.
FORUMS
!- VBulletin is shit, from the looks of it they have no plan to ever support LDAP or anything like it.
!- So, I give up investing any real amount of time into it.
+- Inject a unique message ID and then a qmail script to parse the information into a db.
+-- This way when all the idiots sign up and they require human white-list interaction it can tell them
+-- to fuck themselves when they send 1000 emails to support.
+- Create a tracking mechanism for when a user has received an email to keep YTMND from spamming them.
+-- To avoid sending multiple alerts/pm notifications between logins.
SUPPORT ISSUES
@- Maybe build something into the new mod panel that gets all the support@ email.
CLEAN UP ERRORS AND WARNINGS
+- Create a generic error handling class (this should be easy now that we are on PHP5)
- - All pages that just consist of die messages or warnings should go through an error class of some sort
!- new mustBeLoggedIn() feature <3
RSS FEEDS
!- RSS is something that would be extraordinarily easy to add, and would be a great feature.
!- The reason it hasn't been done yet is that 95% of the ad revenue that supports YTMND's
!- hosting is from people going to www.ytmnd.com, ie: people use rss feeds instead and
!- YTMND can't pay for hosting.
!- Until I can figure out a way around this, it would be suicide to RSS up everything.
@- RSS feeds for each content boxes.
@- RSS feeds for each alert (paid?)
+- In the mean time, make an RSS feed for the news at least.
NEWS
+- Make an Admin CMS for news.
HELP SECTION/FAQ
+- A help section with common problems and solutions.
+-- This should be in the wiki, and since no one has created it will probably never happen until
+-- YTMND can pay someone to do it since I am completely unwilling.
HASH TABLES
+- Rename hash tables so they are easily identifiable as so.
CONTENT BOXES/ALGORITHMS THAT NEED WRITING
+- Sites that are older than 1 week but have less than 10 votes.
LISTS
!- The lists backend is complete with basic functionality.
!- It currently supports the user favorites but is much more
!- powerful. It also supports custom made user lists:
!- IE: Get to know NEDM or Worst of What is Love? or Inkdrinker Approved etc.
!- As well as lists managed by multiple people (group lists, such as moderator favorites)
- - Remove all of the user watch list stuff from lists, functionality should be moved to alerts.
+- Ability to add more than one note per item per user.
+- Write interface for custom made lists.
+- Write interface for list permissions/group permissions.
+- Write interface+functions for ordering.
+- Add subgroup-grouping, like folders/files.
@- Maybe a global fads list and let people take over maintaining a fad list. (ugh)
+-- The back end is sort of there, but the functions aren't in the class.
SITES
+- Build a protection mechanism to keep sites from being accidentally deleted
+-- (especially useful for hall of fame). (this could be done with cascading restrictions)
!-- Implemented with cascading restrictions recently. It might be worth further discussion
!-- to allow users to protect sites, or even to auto-protect front page or high traffic sites
!-- from editing.
+- Expand amount of text allowed for origins and description, not sure if this needs to be done in
+-- the db or code or both.
@- Add a "PRIVATE" option. Won't show up in searches, keywords, front page, random etc.
@- New text styles.
@-- Back in the days before YTMND, when I made YTMND spoofs, I used different text cascade
@-- algorithms. For instance, text that starts at the bottom and cascades up, or originating
@-- from the center.
@--- One issue with this is the complexity of writing the image text algorithms was bad enough
@--- Adding more complexity won't be very fun in terms of recreating text tweening, boundry box
@--- math and emulating text alignment with GD or the like.
SITE TEMPLATE
+- Complete rewrite of sound code. Needs to be a lot smarter and take into account user preferences.
+-- For instance, allowing the use of media player on firefox, which would solve a lot of sound woes.
+-- Make a sound discovery javascript routine.
!-- Would be a non issue if sound was moved over to flash.
STANDARDIZE SITE LINK DISPLAY
@- Possibly make icons for the site link function that show sites that are ws/nsfw and sites that are in the HOF.
@-- Or currently on up and coming, etc.
!- Going further with the historical data, it would be possible to do a Newgtounds type system (i think it's NG)
!-- Or some mixture of Alexa/Google Zeitgeist feature that would allow you to see the full history of a site
!-- With graphs showing views, when a site was on the top viewed, what place it was, score, etc.
YTNNSFW
+- Enable NSFW warning option
+-- Enable spammier "unknown" warning option.
+-- Only force users leveled 0 and 2 (with the option set) to go to YTMNSFW.com.
@--- Otherwise let logged in users (over the age of 18?) see NSFW conten on YTMND.com
+--- Default to warning on.
FRIENDS SYSTEM (super ugh)
+- Ability to add someone as a friend (confirmation required).
+- Friends list, with online/last login status, PM button on each.
@-- Maybe an explanded option that shows you each friend's most recent site.
@- Stalk mode: show what they're up to if there are entries in the spy_log.
+- Ability to add "Idols" and "Sworn Enemies" without confirmation.
USER COLLABORATION
+- An area of the site where you can upload a sound or image and make requests for someone
+-- to come up with the other half of the equation.
+-- Some sort of commenting mechanism.
@- Think of some clever way to deal with user collaborations on profile pages.
GROUPS (double super duper ugh)
!- User groups
@- Any user can create up to five groups and be a member of up to 25.
@- Member post board of some sort.
@-- Extremely simple forum thing.
@- Group favorites/site lists/recommendations dealy.
@- Group news page.
@- Public and Private group types.
@- Group authored sites? (oh my!)
@-- Or some mechanism for an asset to be passed around to the entire group.
ALERTS
+- Allow users to set an alerts on site titles, keywords, origins
+-- Specific assets ids and user ids.
!-- Needs a checking mechanism which does a search to check for returned results.
!-- Otherwise idiots will add alerts on stuff like "a" and receive 1000 alerts an hour.
+- Option to Automagicly alert you when your friends/groups have made new sites.
+-- Or just a list.
@- Alerts page, PM option maybe?
FLASH PRELOADER
+- Make option for resynch every X loops.
+- Build in advertising options.
+-- Allow people to buy advertising built into the preloader.
!- Hammering out the bugs will allow us to make it an option to play all MP3s through flash.
!- The more I think about this, the more I want to convert the entire site over to PHPTurbine
!-- and do it all through flash. Too bad it's 32 bit only.
VOTING / VOTEBARS
+- Get the votebar image script into CVS.
+- Update the site voting mechanism/javascript to use the new voting authentication system.
+- Finish the bot-catching mechanism.
+-- Uses pre-set voting algorithms based on IP/time/vote/referrer and automatically shows the
+-- user a captcha. If the user fails the captcha in X seconds, user gets added to a potential
+-- bot list for moderator review.
+- Change the votebar code so that rather than having to query for every user vote, it batches it at
+-- the end of the page load transparently. Maybe with AJAX (ugh).
!-- Right now, when a logged in user views the front page, they slave db is queried for every votebar
!-- image displayed to check for previous votes. Would be better to keep a session variable array of
!-- all of the currently viewed votebars and then insert a javascript array at the foot of the page to
!-- query for the user votes.
ADMIN SYSTEM/NEW MODERATION SYSTEM
ACCESS CONTROL
+- Require IP checking option for moderators and above.
+- Add user level "jr admin"
+-- Figure out what access these users should get.
MODERATION QUEUES
+- Deletion requests should act like kills used to.
!- Tables currently in existence:
!-- site_moderation_queue
!--- Holds site_id, moderation_level (allows assignment to an access group (ie. super mods))
!-- site_moderation_queue_assignments
!--- Allows a single site to be assigned to a single user by another user
+- Tables that need to be created:
+-- site_moderation_queue_status
+--- Needs to contain: site last changed date (would be a copy), number of votes from each user level
+--- for both "since last changed" and "previous to last changed". As well as a flag to tell if the
+--- site a) needs to be moderated, and if so how many of each type of vote it needs.
+--- This seems like a pretty ugly design.
+- "Moderation mode"
+-- The old mod system automatically redirected to the next site in the moderation queue, basically to
+-- infinity, allowing you to skip a single site.
+-- I want to add a small box to the already gigantic remote mod panel that has the following options:
+-- [ ] Moderation Mode
!-- This would keep the moderation panel open and automatically redirect to the next site after a moderation
!-- action was performed.
+-- ( ) Moderate out of my personal queue
+-- ( ) Moderate out of my group's queue
+-- ( ) Moderate out the global queue
!-- This would need some sort of skip setup that actually works in comparison to the way it used to work (or not work)
+- Moderation Queuing Prioritization System
+-- A system run on cron and every time a moderation action is taken.
+-- Takes into account: site reports, site views, sites currently on the front page, creation date, required mod votes, etc.
+-- Updated extremely often: ie, the top queue items will be different every minute.
+-- Needs to be built into the content gatherer for the front page and in the mod remote panel.
MODERATION MONITORING
+- Ability to assign a "mentor" to moderators or super moderators.
+-- Would allow the mentor to monitor and view all of the people they are in charge of.
+-- As sort of a step above peer watchdogs. User profile would show all of the user's moderation actions.
@- Maybe some nifty graphs of moderator activity.
@-- Tons of information to pull from.
+- Some sort of algorithm that figures out when mods are going against the majority vote a lot.
LOGGING
+- Site moderation log.
!- Created, needs filters and searching.
+- User moderation log.
+-- Needs filters and searching.
+- Moderator access logs.
+-- Needs filters and searching.
USER/SITE DELETION QUEUE
+- Site deletion queue system needs to be written, tables designed etc.
+-- Needs to be implemented into the site with a (48 hour?) time for regular user-deleted sites.
+-- Needs abstract class for use around the site
!- User deletion queue:
+- Needs abstract access class for use in code.
+- Needs administrator options:
+-- Force immediate deletion of a site or user.
+-- Remove from queue (with logging and denying reasons)
+-- Ability to ban (ulevel 2) and put an account on hold (for stuff like child pornography, repeat abusive users)
+--- Needs options on front end in login, common, site profiles, user profiles etc.
PUNISHMENTS/WARNINGS
+- Entire system needs to be written short of DB tables.
+- Implementation built into the front end of the site.
@- Comment deletion options.
REPORTED USERS
@- Not even sure if I should add this feature because I know how spammy it will be, people cry every time they get
@-- a fucking one vote.
IP BAN SYSTEM
+- Needs to be written.
SEARCH
+- Needs to be written
ASSET MODERATION SYSTEM
+- Allow super mods to mark an asset NSFW or WS which will retroactively and proactively "auto moderate"
+-- Possibly require either an admin approval or a system that requires retroactive NSFW markings on the
+-- image from the site_moderation_log to figure out if it's a reasonable request.
@- Maybe even attach a field to the asset table that gives it an NSFW rating.
@- Possibly a flag to mark an asset illegal, for animal torture, kiddy porn or serious copyright issues.
@-- Would fire off notifications to mods somehow if a user is uploading illegal content.
TICKET TRACKING
@- Some sort of ticket tracking system that would allow grouping of users, deletion requests, sites,
@-- log entries, assets, basically every aspect of the site into a history of actions, comments from
@-- mods etc.
!-- Basically a huge amount of work that may never see the light of day.
HAIR BRAINED SCHEMES
REVIEWS SECTION
!- Ever since YTMND got big, I've literally been getting daily invites to movie screenings,
!-- Release parties in NYC and Hollywood and a number of people asking me to do product reviews.
!-- Since it's obvious I'm never going to get rich off YTMND, I might as well milk it and start
!-- taking people up on these offers.
!-- At the same time I know I don't have the willpower to keep up and maintain any sort of consistent
!-- review rate. So maybe come up with some sort of simple review system for movies/music/hardware/software
!-- and let users take advantage for some of this stuff.
SPY / REAL-TIME USER TRACKING
@- Possibly add a really really spammy searches option (at least 5-8 searches a second)
@-- Maybe make a separate "search spy"
@- Possibly add a URL to user-tracking to allow people to see what users are looking at
@-- or doing. (Would require some sort of hard coded logic to tell if people are making
@-- a site, etc)
WEIGHTED VOTING AND SITE DELETION SYSTEM
!- Discussion moved here: http://wiki.ytmnd.com/Weighted_Voting
MODERATION POINT SYSTEM
@- Moderators can give users warning points for various actions that break the TOS.
@-- Warning points have a decay and users will be PM'd/emailed when they get warned.
@-- When a user reaches a certain number of warning points they will have various
@-- actions taken against them:
@--
@-- Inability to vote/private message/site comment/news comment.
@-- Temporary or Permanent Banning from the site.
@--
@-- Points will be given out for actions such as:
@-- Comment spam/inappropriate comments (ie: racial slurs, etc)
@-- Innapropriate content
@--
@-- Obviously this will have to be worked on more by the moderation team.
@--
@-- This would consist of both front end enhancements and admin.ytmnd.com tools.
!- This will give me the ability to hand some of the real moderation (which consumes
!- so much of my time) over to other people.
!- There will obviously need to better checks in place for abuse of power than the current
!- mod setup.
RICH PEOPLE FUNDING
!- If we can get rich people and movie stars to like YTMND as much as most of the users,
!-- then they will be able to donate lots of money and will tell the world how great YTMND is (in theory).