New Database Layout: * - indexed Users - UserID* (autoincrement) - UserName* (varchar, unique) - UserPassword (md5 or other hash) - UserHash (varchar, random generated string used to validate cookie login) - UserEmail (varchar, optional, used only for password retrieval at this point) - UserLevel (integer specifying overall access to site, used to do things like ban and give admin priv) - UserData (text, serialized array containing non-default user prefs) - UserCreated (datetime) - UserModified (datetime) - UserLastSeen* (datetime) Folders - FolderID* (autoincrement) - FolderParent* (integer, 0 default, relates to: FolderID) - FolderUser* (integer, relates to: Users.UserID) - FolderName* (varchar) - FolderInfo (text) - FolderOrder (integer, specifies order when using custom sort) - FolderPublish* (bool or tinyint) - FolderSymbolic (bool or tinyint) - FolderTarget (integer, relates to FolderID, ignored unless FolderSymbolic == true) - FolderData (text, contains serialized array used to store non-global folder settings) - FolderVisits* (integer, incrementing counter) - FolderCreated* (datetime) - FolderModified* (datetime) Items - ItemID* (autoincrement) - ItemFolder* (int, -> Folders.FolderID) - ItemUser* (int, -> Users.UserID) - ItemName* (varchar) - ItemURL (varchar or text, haven't decided) - ItemMeta* (int, -> MetaLinks.MetaID) - ItemInfo (text) - ItemOrder (integer, specifies position when using custom sort) - ItemCreated* (datetime) - ItemModified* (datetime) MetaLinks - MetaID* (autoincrement) - MetaURL* (varchar or text) - MetaName* (varchar, taken from actual target URL ) - MetaClicks* (integer, incrementing) - MetaItems* (integer, incrementing) - MetaCreated* (datetime) LiveLinks - LinkID* (autoincrement) - LinkFolder* (integer, -> Folders.FolderID) - LinkUser* (integer, -> Users.UserID) - LinkFeed* (integer, -> Feeds.FeedID) - LinkName* (varchar) - LinkInfo (text) - LinkOrder (integer, specifies position when using custom sort) - LinkAgeLimit (integer, max age in seconds) - LinkSizeLimit (integer, max size in number of feed stories shown) - LinkCreated* (datetime) - LinkModified* (datetime) Feeds - FeedID* (autoincrement) - FeedURL* (varchar or text) - FeedName* (varchar, taken from actual target feed's XML title) - FeedData (text) - FeedCreated* (datetime) - FeedUpdated* (datetime) TagMatches - MatchID* (autoincrement) - MatchTag* (integer, -> Tags.TagID) - MatchType* (varchar or enum, so far valid values: 'Folder', 'Meta', 'Feed') - MatchTarget* (integer, contains ID relating to type set by MatchType) - MatchUser* (user who matched the tag, -> Users.UserID) - MatchCreated* (datetime) Tags - TagID* (autoincrement) - TagName* (varchar... the tag itself) - TagUser (integer, -> Users.UserID, used for historical purposes) - TagCount* (integer, incrementing, times tag has been used) - TagCreated* (datetime) Comments - CommentID* (autoincrement) - CommentType* (varchar, valid: "User", "Folder", "Meta", "Feed") - CommentTarget* (integer, relates to primary key for specified type) - CommentUser* (integer, -> Users.UserID, user who authored comment) - CommentBody (text) - CommentCreated* (datetime) - CommentModified* (datetime)