YTMND:TODO
From YTMND
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. [ EMAIL ] +- 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 MODERATUON 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.