Leadel - A Drupal & Flash intensive site
LEADEL.NET is a video portal and social network, funded by the European Jewish Congress, which revolves around the elements that make social, technological, political and financial leaders tick and thereby encouraging Leadel's viewers to explore what makes them do what they do.The site focuses on Jewish identity and tries to explore the differences which make us as identity bearing human beings unique.
The path LEADEL have taken in inspiring the perseverance of that identity, is to create a website which will appeal to young people and will adhere to their standards of quality, user experience and ease of use.
This was a great chance to take the services module further then we (at linnovate) have ever done before.
We ended up writing 16 custom services and using drupal to organize the site's information and flash as a front end, this combination seems to be the best of both worlds.
The Talk Carousel
The talk carousel is the main visual component in the home page and is used to promote the videos inside.

The way it works is that it is based on a custom service which in turn is based on a view. This view of the published “talks” returns an active list of “cards” with quotes from the different leaders, a picture and the category (based on simple taxonomy) where each taxonomy term has it's own color.
When the users click the "play" icon it leads to the chosen “talk page” where the interview is then played within our video player.
The cool thing about this element, is that it displays all results when it's service does not receive an argument, but when you filter the result using the tagcloud on the top right, the termid(s) picked are communicated to the carosuel by javascript and the flash get's a signal which replays it with the new argument this time.
The service is then submitted with the tid argument, which in turn runs the view with that argument.
This is how we get the filtering of the the results without a page refresh.
The Think-Tank
The think tank is used to create an associative display of the different categories used to segment the “talks” in the site.
It's built by a custom service that gets the taxonomy_tree of the categories vocabulary and adds additional meta data about these categories (like their colors and descriptions).
The think tank has three functions depending on the location the surfer is in the site.
We have code checking the url we're located at and passing a flashvar to the flash with the desired mode.
In the home page the tag cloud is used to filter the Talk carousel by sending the chosen category's as arguments to the Talk carousel's view and thus filtering the result to display talks from the chosen categories.
In various internal pages you can run a search on a category and receive a standard "talks" result.
In the member edit page the think-tank is used to set the members identity through setting his color-line on things which he feels build his identity.
The Color line
A nice feature requested by the leadel staff was to somehow communicate the diversity of the identity of the site's members. We decided using a color-line which is combined by what the member decides (in the member edit page) but later needs to evolve on it's own to communicate the diverse identities of the site's members.

The color-line is saved in a hidden field in the members cck and is displayed using css which shows the percentage of the identity the specific category picked occupies.
To enable the color-line's evolution, we then created a service embedded in to the player which added a small percentage of the color from the category to the talk that is being viewed, in to the color-line.
That way after a while the member's true interests start to be communicated through his color-line.
The color-line is not just displayed in the users member's page but in various listing of members across the site.
Messages and the Inbox
One of the main challenges in leadel was to make communication between the sites members as easy, intuitive and fast as possible.
The privatemsg module is a great implementation for inter-site communication but it's interface was not what the client wanted.

They wanted a much more “facebooky” user experience with a lot of floating divs opening and closing and a lot of ajax based eye candy.
We completely rewrote the interface which mainly operates from “the inbox”.

We wrote a custom module called popup_form which let's us embed a form in one of these “popups” it also enforces a model window behavior and communicates all of the messages without refreshing the page, thus reaching the fast and twittery/sms like user experience required.
To implement some of the jquery based inbox functionality we needed to connect the jquery to exisitng and custom built services.

Luckily when looking for the solution I learnt about dmitrig01's json_server module which provides a services engine that let's us use the same services using jquery based post requests.
We created many subtle effects using jquery shows and hides, and we implemented delete and spam buttons as well, all of these are backed up by services that delete, mark as read and get the number of new messages so they can be passed on to the requesting jquery code.
Player
The player is a custom coded flv player which plays the movies which are hosted on the limelight content delivery network.

Basically the player is the core method to communicate Leadel's goals, because of that a requirement was to embed as many of the communal and viral marketing elements into the flash.
This means that we have substituted many of the contributed modules default interfaces to new service powered flash front ends.
These example consist of the following...
- Fivestar rating (based on the fivestar and voting api modules)
- Related videos (node references to other talks)
- Favorites using the favorite node module.

Share button which is actually a mix of buddylist and privatemsg, basically we read the user's buddy list and create a list of images of his friends for him to choose, then he can either choose and existing user and send him the talk shared as a privatemsg or share it by mail.
Facebook integration is done using a trick taken from the service links module – using facebook's sharer.php and passing it into the flash.
Naturally all of these took numerous services to implement and we finished off with 16 custom services written to address different aspects of the site's behavior.
Modules Used
Contributed modules
- CCK, talk, news, member, debate content types definitions for the site.
- Views, 26 custom views, Earl, I humbly bow my head in gratitude
- Services, Powering the flash and ajax goodness in the site.
- amfphp, Flash Magic
- json_server, Jquery based Ajax magic
- fivestar, Using it to store the fivestar ratings done through flash, using it with views to display talk ratings
- nodeprofile, A complex member profile needs a node, thanks fago
- privatemsg, Powering internal messaging in the site and provides the base functionality in the "inbox"
- activity, Aggregating members activity.
- mollom, Pretty Captcha, Pretty Graphs, Pretty interesting
- nodequeue, When you want to totally control your listings.
- service links, Share content with others.
- masquerade, When you want to see the world as your users do.
- webform, We needed a richer featured contact form.
- flag_content, For the "flag as inappropriate" feature for members.
- forward, Forward to friends.
- buddylist, Friends management.
- logintoboggan, Log in both with username and mail.
Custom modules
- debate, A custom built debate module which let's you create debates and let the users add their comments and agree or disagree upon submission.
- popup_form, See the Inbox and Messages section, pretty divs that float over the content and are given a form_id and a return message to render.
They are even draggable! jquery interface is fun.
Infrastructure
The main site is hosted on an amazon ec2 instance which was tuned to run drupal (apc opcode caching, Mysql tuning), The videos are hosted in the limelight CDN.
Development practices
Bigger teams require management procedures and tools, to expose certain aspects of the project to the client, we have grown to use and love the open source redmine product management application.
The thing I love about redmine is that it's really easy to set up, and supports multiple svn repositories.It has a lot of social add ons (like shared document management, wikis, forums, promoted news) and it's one of the only times we're not "eating our own dog food" - it's ruby based.
I adopted Larry Garfield's practice described in his post about using a joint db server for multiple sandboxes in the development phase.
This simplified the whole "db sync" problem at least in the initial phase and made the chronic db issues transparent.
Credits
The site was architectured and developed by Linnovate with the help of several great partners...
- Hinbit Development: Our ongoing partners in big drupal projects - Drupal development, Account management, QA and css wizardy
- Inbal East: Site Design and information architecture
- Fatlady: Flash development.

This is one of the most
This is one of the most beautiful sites I've ever seen.
I agree, great design and
I agree, great design and the flash integration is really slick!
Good luck with the site!
Tom
______________________________________________
http://drupalsn.com/user/thomjjames - My DrupalSN Profile
http://drupalsn.com/drupal-tutorials
I agree
Very,very cool site!
-----------------------------------------------------------------------------------------------------------------------
Meu último artigo: Batismo no Espírito Santo
Visite mais.blog
Great job, one of the best
Great job, one of the best drupal based web site
---
Spread Google Chrome
http://www.spreadgooglechrome.com
One of a kind
Definitely one of the stand out Drupal flash sites. Clever and very well executed.
I spotted a small bug that should be trivial to fix. One a few pages (e.g. contact, node8, node36 etc) the footer links become invisible as they break away from the blue bar and become white, the same colour as the background. Tested on IE7.
---
Dee
iScene.eu :: UK Drupal Consultancy
Thanks
Fixed this issue
Great website and great
Great website and great integration with the flash objects! The only issue I can see that the website creates is based on performance. The website takes up between 8% to 16% constant CPU load just for all the checks in the Flash Objects to see if there is any new arguments being passed thought the services. Not as bad as most flash independent sites like for example iminlikewithyou.com which runs at 45% constant CPU loads. Yes, these things can be tweaked for better performance if it becomes an issue, depending on your demographic.
Still a very well designed and integrated website! You guys know your stuff.
Wow...Amazing Flash Integration
Great Flash integration and you definitely succeeded in making it very "Facebookey" and all around fantastic.
Any chance we'll see the Debate module as a contrib module someday? Sounds like it could really see some use.
Great work
Thanks for the information and write up. It's really great to see the way the services module is being used and extended now. It really opens up the door to new, unique and innovative uses of Drupal and is another example of it's excellent use as a framework.
--
Gravitek Labs
really cool
well done, kudos to designers and builders
esp for these kinds of sites, i m interested to know what admin theme people are using by going to /admin
you might want to disable there the block for anonymous users how many people are online...
--
groets
bert boerland
Admin theme
Thanks for the kudos, and the "logged in users block tip".
We use Zen Classic as the admin theme.
The LEADEL staff is pretty technical so no work on the admin theming side was actually done.
Lior
Speaking of services
I don't think pages like this one should be exposed with a link and stuff:
http://www.leadel.net/admin/build/services
Speaking of services, I truely loves this module, it allows for so much flexibility when it comes to input/output.
a while back, we at Commotie (http://www.commotie.be) rolled out a website for a pharmacy which depends heavily on the services module and has pretty awesome flash integration
http://www.apotheekaartselaar.be
this site runs a minimum of modules (views, CCK, tinyMCE, IMCE, services and AMFPHP) but aventhough most of the work was done by my colleagues, it has been by far the funnest project I've worked on.
it's basically just one big flash movie which gets all its info from the real site, which is at http://www.apotheekaartselaar.be/admin/
we didn't get to spend much time on the backend theme coz our client wanted most of the work to go to the frontend viewed by the users.
it's been awesome working on this and ever since, I keep looking for excuses to use services and AMFPHP whenever I can
I'm hoping next time I can incorporate the backend within the front end using XMLRPC, but since we're a small company, I have to wait a while before we catch another big fish with a big enough budget to make this happen.
services == fun and thanks for the note
I can totally relate to what you're saying, working with services frees you to do what ever you want, be it in flash or jquery based.
It's really fun and creative work and that's why we're focusing on this direction (kids just want to have fun).
Thanks for the note about the exposed server, this is another thing that is cool about technological communities like the drupal community - I'm happy that these things get exposed here and thanks for bringing it to my attention.
Lior.
glad u apreciate
glad u apreciate constructive comments
usually ppl give me shit about it and call me a nitpicker :(
Great site, good luck !! Can
Great site, good luck !!
Can you provide more details on how you used Amazon-EC2 for your hosting? Did you get it from amazon directly and configured for hosting or there is another company which enables easy hosting with EC2/S3?
Also all your development SVN hosted at amazon?
- Victor
Better Way to Search Drupal.org | Drupal Jobs | Income Tax India
Thanks, our EC2 setup
We use EC2 directly, I built upon an exciting AMI image and optimized it for drupal usage (apc php acceleration, some mysql tuning, and apache tuning).
Our svn repository is on our development server and we have the svn repository exported on the sever.
The EC2 has worked smoothly till now and we're very happy with the price/performance ratio.
Lior
I was under the impression
I was under the impression that the SLAs around EC2 went along the lines of "if it dies tough". I looked at using EC2 about 6 weeks ago and was scared by Amazons lack of commitment to up time. Has this changed now or have I misunderstood something?
EC2 Zones, Persistent storage, High Availability
Hi, you might want to check out http://groups.drupal.org/amazon-web-services-s3-ec2
Amazon.com has been rolling out all kinds of great new services that improve the ability to have higher levels of availability.
Kieran
Will certainly evaluate it
Will certainly evaluate it as a development platform too.
Thanks
- Victor
Better Way to Search Drupal.org | Drupal Jobs | Income Tax India
Thanks for the response.
Thanks for the response. I've looked at a few cloud solutions so far and they all seem to be either unstable (I won't name the companies but there's a few) or too restricting in what you can do (mosso). We're going to go with EC2 and see how it pans out. We really need the ability to install our own software which is why mosso isn't flexible enough.
Do you have any tips on how Leadel was architected for EC2? I've done a lot of reading around using software loads balancers, master\slave MySql, memcache etc. I'd be interested to hear how Leadel has been deployed on EC2 to run optimally.
No specific architecture related to EC2
In leadel we did not architecture the site towards a specific hosting solution.
We hosted with EC2 because the price/performance factor was good and currently the traffic does not require scaling out to more complex setups..
I needed the same autonomy you require (which is root on a debian/ubuntu box :) , and I needed something that could grow if needed.
I have only warm words to say till now, EC2 handeled the exposure to drupal.org and the launch at large flawlessly.
Lior
Sorry for the slow
Sorry for the slow reply...only a few weeks from our own launch. I'm sure you know how it feels!
When you say EC2 handled the drupal.org traffic could you clarify for me? Did it handle it because you've gone for a couple of big instances, each hosting Apache and MySql or have you gone the rightscale\scalr route? We've decided rightscale is just too expensive, I'm sure they get the business but upfront costs of £2500 for nothing tangible (so far as the promotional blurb goes) is somewhat excluding. Scalr, at $50 a month is much more wallet friendly. If you've not come across them before they "claim" to auto scale EC2 deployments based on traffic levels, I'm yet to be convinced - I've not tried it - but the theory is sound.
Hopefully scalr will let me sleep without having nightmares during the launch as well!
Congratulations to your team
Congratulations to your team for bringing this wonderful Drupal/Flash site. I enjoyed reading this page so much that I want to try to create my own site like it (though I know it would require more time to study services and flash Drupal integration).
This is the most straightforward and comprehensive Drupal case study that I have seen in my entire life.
Kudos again to Leadel.net!
Leadel is the customer, Linnovate (and friends) are the team
Although the LEADEL staff are one of the best customers I have had the chance to work with (it's not that common to have people that deeply understand the internal dynamics of web development as customers).
The team behind the website is Linnovate (http://www.linnovate.net) and Hinbit (http://www.hinbit.com), we do tons of drupal work together and hope to do alot more flash services work in the future.
We are also the parents of the mighty drupalager.
I'm happy the writeup helped and I promise we will do more on other interesting sites we're working on.
Lior
+1 Redmine
Heck, +1000000 Redmine.
It just works. Sometimes its about making stuff instead of making tools, to make tools in order to make stuff. While many folks would love a Redmine like solution in Drupal, Redmine itself is *so* elegant that it is hard to justify the time or expense.
Many congrats on an awesome site by the way.
I LOOOOVE REDMINE!
Alongside the cool project we get to do we do alot of consulting work.
I overdeliver in PM to my consulting gig because the first thing I do is open the an svn repository and a redmine project and user and connect them.
I have recieved very positive feedback about this practice from my customers and if you have 10 projects you to there is no way to remember everything in your head.
Another cool trick I do with redmine is to "abuse" it's versions feature.
The versions was designed to let you specify software version or code drops and associate task to them (like 1.1.2-rc3 etc)
I simply use the versions in a different form I create project milestongs like Design, Functionality, Themeing, Commerce etc..
This let's me associate the issues to their respective version/milestone and then I can see it very nicely laid out in the Roadmap tab.
Another killer feature (when compared with trac) is that you can host unlimited svn repositories (1 per project) on one instance of redmine.
Although I feel ashamed I don't "eat my own dog food" thew system is designed very nicely - this has deffintly upgraded the way I do products and manage clients.
Lior
Nice FLASH and DRUPAL combination
I went to your company site Linnovate and was not surprised to see a company dedicated to Drupal and FLASH - this explains why leadel.net is such good looking Drupal/Flash site. Well done.
Thanks Guy
Thanks guy,
We what you observed is exactly the direction we have taken, Beyond our interest in the flash & Drupal combo we where inspired by mosh Weitzman's cyrve which provides niche services in the data migration of Drupal sites.
The way I see things forming out the drupal service providers ecosystem, as we grow we will splinter to have a few companies specializing in specific niches and exactly as I have Mosh in mind when I face complex imports (understanding that I will serve the client better if I let a true pro do the heavy lifting), I hope that other drupal shops will have us in mind when they want to offer their customers a rich media user experience which is intertwined in to their site - while not having the existing skill-set currently inhouse.
My dream is that people will assign an area on their website and tell their customer...
and we will create them a custom solution catered to their needs.
The cool thing about dreams is that if you persist and stay on track, they come true.
I want to have The Talk Carousel
The main visual component in the home page, how can I add this to my home page?
Cool! Very good site
Cool! Very good site
I like the site
I didn't know about leadel till now.I want to have a site like that. I want to know how much is the price to create something like that?
All the best,
George from:
Magic Tricks Revealed