Giới thiệu Drupal site: Movies With Butter

Giới thiệu Drupal site: Movies With Butter

Movies With Butter
 

Why Drupal was chosen: 

I was inspired to create Movies with Butter after reading about another site's migration from Pligg to Drupal with the Drigg module two years ago. If you wanted to build a Digg-like aggregator back then, your best options were Pligg and Drigg.

I evaluated both and concluded that Drigg was the better option because of Drupal's core features: taxonomy, blogs, forums, aggregator, and all of the community contributed modules.

While the beta version of Drupal 7 was out at the time, I chose to use Drupal 6 because of its maturity and, ultimately, the Drigg module was only available for Drupal 6.

Completed Drupal site or project URL: 

http://www.movieswithbutter.com

There were numerous entertainment sites focused on movies, but there was no movie-centric aggregator when I started this project two years ago. Digg killed its movie section with its infamous redesign, and Reddit's movie section was dominated by top ten lists and link baiting articles.

I was inspired to fill this space with Movies with Butter after reading an article on how Haohaoreport.com migrated from Pligg to Drupal using the Drigg module.

While voting is a big part of the site, its main purpose is to let users keep up with the latest news and gossip for movies in various stages of development, particularly the big Hollywood blockbusters. The voting part is to allow the site's community to float up news stories that are important to them.

Describe the project (goals, requirements and outcome): 

Since I want a more controlled environment than that of Digg, users can vote but are not allowed to submit stories until they reach a certain reputation level. I believe this controlled environment can keep the site focused on its mission better than a free-for-all where everyone can submit stories. This will also help prevent spamming.

To get the stories on the site, I’m using the core Aggregator module because it’s the only one that works with Drigg, which uses it to create new nodes for each feed item.

In keeping with the site's mission to track movies, I want the ability to group the news stories into developmental phases (development, pre-production, production, post-production, distribution) as well as by genre and topic. I find the core Taxonomy module to be a good solution for this.

As a movie site, I feel that it also needs to have features commonly seen on other film sites - like photo galleries, trailers, blogs, box office charts, and Rotten Tomatoes scores.

A photo gallery section was created using the Gallery Assist module along with Views. Individual galleries are created using a new “Gallery” content type provided by Gallery Assist. The galleries index page was created using Views.

With trailers, I decided that instead of just embedding the video, we would also provide a review of the trailer. A new trailer review content type was created for this using two video modules: Embedded Media Field and Embedded Video Field. The main fields for this content type are rating (up/down), review, and embedded video.

Drupal provides a blogging feature, so I didn’t have to do much with it other than add an image field with the Image module.

For box office and Rotten Tomatoes scores, I just grab the feeds from Rentrak and Rotten Tomatoes and use Views to create blocks for them.

I also wanted to provide a message board for users to talk about movies among themselves outside the scope of the news stories.

Finally, a movies directory was created so users can browse the films being tracked by developmental phase and alphabetical listing. Attachment Views came in handy for this.

In summary, I needed an aggregator, user voting system, user reputation system, user comments, ability to tag articles, message board, and image handling and video embedding capabilities.

Challenges

Drigg for Drupal 6 appears to be abandoned and is no longer supported, and it looks like there will never be a stable release of the module. This means the site will not be able to migrate to Drupal 7 or other future releases without a redesign from the ground up. If there are any bugs in the module, I'm on my own unless other Drigg users can provide the answers.

Design

Most Drigg sites follow Digg's layout almost exactly, with the most voted stories on the left and the most popular and upcoming blocks on the right sidebar. I wanted Movies with Butter to be different.

I went with the yellow color to evoke the feeling of popcorn and butter and to match the name and theme of the site.

For the content, I chose to use three columns. I placed all the data in the left sidebar such as box office numbers and Tomatometer. Promoted stories are in the center. I use the right sidebar as a news rack, where users can quickly browse some of the content on other movie sites.

I also added a large slideshow towards the top center to highlight the biggest news of the day. None of the Drigg sites that I'm aware of had this.

Outcome

The site took about a year to develop by me, working on it part-time. That’s why throughout this article, you only see I’s. Bngo came on board when development was completed to take care of editorial and moderate news articles. Sinclair came on board around the same time to help with custom module development and feature refinement.

The core features of the site (drigg voting system with taxonomy) was completed in just a couple of weeks; it was the little details (structure & design) that took up the bulk of the time. The site was launched when the core features were completed. The idea here is to launch as soon as possible - in this case, a couple weeks - just to get the site out there and then refine it later. This way, I won’t be trapped in development hell for a year.

Performance

The site doesn't have a lot of traffic yet (June 2012), so I don't really know how it will perform under heavy load, but I had to fine tune a lot of things for the site to perform well even with minimal traffic.

I employed three caching modules to help me speed up the site: Boost, Views 2 Cache and Block Cache.

Boost renders the most accessed pages as static HTML and serves them to anonymous users, significantly speeding up the site's response time.

Views 2 Cache and Block Cache are used for authenticated users. They both store the results of previous queries in a cache table so that they can be recalled later without having to run the queries again, which also speeds up the site.

Drigg's Related Articles module doesn't scale when there are thousands of nodes, so I had to disable it. I also had to disable the ACL and Forum Access modules because they slowed the site down as well.

The other major performance bottleneck was the core Aggregator module, which comes with blocks listing the latest articles from each feed. The problem is the DB queries produced by those blocks are not appropriately indexed. Once they’re indexed according to how the articles are sorted, performance improved dramatically.

I also had to write a couple of custom modules to customize the Nice Menus, Aggregator, and Drigg modules. The full list of modules I'm using is at the end of this article.

The Future

How the site will evolve will largely depend on how the site is used, but in the near future, I want to implement a message board so that users can have a place to carry on their own discussions. Whether that will be Drupal's core Forum module or a stand-alone solution remains to be seen.

If the site is able to attract a lot of users, I want to open up the site so that trusted users, based on their reputation, may be able to submit news stories and have other privileges.

To further speed up the site, I want to use the Boost module on the front page news stories as well.

Modules/Themes/Distributions

Key modules/theme/distribution used: 

Drigg

Nice Menus

Views

Views Slideshow

Views Slideshow: Dynamic Display Block

Taxonomy menu

Custom Menu

Menu Breadcrumb

Image

Gallery Assist

Video Embed Field

Media Embedded

Why these modules/theme/distribution were chosen: 

When I first started the project, I made a promise to myself that I would keep the number of modules to a minimum - at most, five. I ended up installing and using about fifty, so don't be silly and make that kind of requirement at the start of your projects. You use as many as it takes to get your project done as long as it doesn't affect performance.

The main modules being used for this project are Drigg, Nice Menus, Views Slideshow: Dynamic Display Block, and a couple of breadcrumb modules. Drigg is the Digg-like system that powers the site. I use Nice Menus for the dynamic menus on the header. Views Slideshow: Dynamic Display Block was used to create the slideshow block which features the top stories of the day/week. Custom Breadcrumbs was used to add node titles to the end of breadcrumbs and other customizations, although I ended up doing most of the modifications in template.php.

Here's a list of other modules used to build this site (some of them are required for Drigg, and others are for caching, spam control, and administrative purposes): Blockcache Alter, Boost, Captcha, Content Construction Kit, Content Management Filter, Contact Forms, CSS Injector, Chaos Tools, Custom Publishing Options, Devel, Drigg External Voting Button, Elysia Cron, Extra Voting Forms, FileField, ImageAPI, ImageCache, JQuery Update, Node Form Columns, Panels, Path Access, ReCaptcha, SPAM, String Overrides, Taxonomy Manager, Term Fields, Token, User Delete, User Karma, Vertical Tabs, Vocabulary Permissions, and Voting API.

Team members: 

mwbsenh

bngo

Project team: 

Mwbsenh had the initial concept for the site. He set up the initial site, which includes putting together the LAMP environment, designing and coding.

Bngo cleaned up the initial writing by Mwbsenh and is in charge of the editorial on the site. He also moderates the stories that appears on the homepage.

Sinclair Duong came in the later stage of the site development to help integrate social elements (facebook/twitter/pinterest buttons) and create custom blocks (box office, opening movies).

Movies With Butter: Trailer Hopping

Movies With Butter: Photo Galleries

Movies With Butter: Movie Directory

Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Tìm kiếm bất động sản

 

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Backlink cho website, bao nhiêu backlink đủ cho một website

Backlink cho website, bao nhiêu backlink đủ cho một website

Cũng vì những lý do này, các blogger, webmaster cố gắng duy trì nâng cấp PR của mình.

Cách sử dụng các thẻ h1 h2 h3

Cách sử dụng Headline tags trong một page hiệu quả

Cách sử dụng các thẻ h1 h2 h3 … là rất quan trọng để bố cục và phân chia nội dùng phù hợp.  SEO123 sẽ hướng dẫn các bạn cách sử các thẻ Heading sao cho phù hợp.

Drupal modules weights - để quản lý and execution order

Drupal modules weights - để quản lý and execution order

One of the good features that Drupal offers to the developer is the module execution order. Out of the box, Drupal has a mechanism to allow it to execute module's hooks in predefined order based on modules weight (order).

Công ty diệt chuột T&C

 

Diet con trung