TheTVDB.com has gotten a rework from the ground up. We've channeled our inner Moss and are now leveraging a much more stable platform that will make the site more reliable, more secure, and much easier to improve. Below we'll give a brief summary of some of our new features and functionality, which we'll expand upon in future blog posts.
When you get as much traffic as we do, it becomes very important to choose the right platform to build upon. After a deep dive into various technologies including MongoDB, Postgres, Node.js, and others, we decided to build the site on Laravel 5 and MariaDB. Our network administrators do a great job with our infrastructure, so we'll detail the full environment and stack in a future post.
Over the years, we've heard your complaints about how our episodes don't match up to what you'd expect. We know that some series, like Firefly, make far more sense sorted by Joss Whedon's preferred order rather than the order the episodes were aired. We know that our old air date, DVD, and absolute ordering system was restrictive and at times annoying.
To get around this issue, we've implemented something called flexible seasons. Our moderators are now able to enable any number of alternate orders for specific series (at their discretion). The episodes exist outside the season structure, which means each episode can be attached to various types of seasons without needing to recreate the episode (and cause management issues).
Not only does this allow us to handle things like Director's Preferred and Popular season types, but also gives us flexibility over series that use joined or split episodes depending on the format. For example, Looney Tunes episodes that were originally aired individually, but later joined into two-part episodes, can now be structured both ways.
It's a whole new world.
Ever try searching for "Lost" on the old site. It took a while to sort through all the translations to find the one you want. We now make it much easier, by grouping the translations of each series below the series' original name.
Speaking of a series' original name, we're now correctly tracking the origin language and country for each series. This allows us to display the proper title for each, instead of always defaulting to English. Over time our goal is to make the entire site fully multilingual, to make the interface usable in as many languages as possible.
More languages? Absolutely. Our old site could handle up to 8 different translations for each series and episode. We now handle an unlimited number of translations in every officially recognized language, and are able to add any more (in case some Trekkie needs Vulcan translations). Seasons can also be named, which means they can be translated as well. For aliases, we now specify the language of each alias, which will allow better search results on our frontend and API.
We've normalized people and split them off into a proper table of their own, where we can associate the same actor across many series and episodes. Actors can now be given an official head shot, biography, birth and death dates (great for those death hoaxes), and social media links. These are displayed throughout the site when viewing an actor, which means it's easier to track down more info about your favorite actors.
Directors, writers, and guest stars are handled the same way, which will allow us to show you all of the episodes a specific writer has worked on.
Ever wonder what the official website is for a series? Or its social media accounts? Or even its subreddit, most popular fan site, or IMDB page? We're now able to track all of that and display it on the series page. Our hope is that this helps people refer to the official source when adding content, and also so they have a way to interact more with the creators and fans of their favorite shows.
Commenting on various records is something we're considering a trial run. If it goes the way of Youtube comments, we might be removing them. But for now we're going to see how it works, and are excited that the comment system will be available in the API, allowing for cross-platform discussion about series, episodes, and actors.
Moderation System, Versioning, and Record Locking
Our mods will be happy to hear that we're rolling out two long-awaited functions: a proper moderation system and record versioning. Both are still in active development, so they're not perfect yet. But the goal is to reduce the workload of our moderators while improving our end users' experience. Automated moderation based on certain site actions, like a series being created with a title that perfectly matches an existing alias, will help improve the quality of our data and the quality of life for our mods.
Versioning is even more exciting, as it will allow us to roll back changes to site records and track why different versions were made. Once a record is properly established, our mods can lock the record, but do it in a much better way than in the past. Even if a record is locked, they can still allow translations or artwork to be added, only new seasons to be added, and much more.
We're kicking off with two new formats immediately: panels and icons. Panels are small 16x9 images that can be used in situations where full background fan art isn't appropriate. Icons are transparent PNG images that can be overlaid in various UI designs.
Our new site is flexible enough that if we see the demand for more image formats, it should be much easier to allow them.
Thanks to everyone participating in the beta testing of the new site. We hope you're as excited as we are to get this thing launched. Thanks to all of our site donors and sponsors, since without them the site wouldn't exist. And thanks to our tireless moderators and administrative team, who keep the site working day to day.