Key Notes Drupal NYC Meetup

Events happening in the community are now at Drupal community events on www.drupal.org.
davidburns's picture

Thank you to everyone that attended this event.

I wanted to point out some things we discussed as well as provide some links to them.

Sony BMG Musicbox was the presentation given early in the evening.
The site makes extensive use of:
- views -> http://drupal.org/project/Views
- panels -> http://drupal.org/project/panels
- node queue -> http://drupal.org/project/nodequeue

Views - provides an administrative interface to create SQL statements that pull ( parts of ) a node or various ( parts of ) nodes together to build a page.

Panels - provides a way to build a page that incorporates nodes, views, and/or blocks. Similar to how a theme has regions, but now we can specify different regions for the content area of a page. Panels 2 allows these nodes, views, and/or blocks to have relationships by passing arguments into them. James from Trellon has an extensive background with Panels and provided some great insight ( and some code as well ) to this module.

Node queue - Allows the administrators or editors to create a series of nodes that has special interest. With Node queues we can limit the size of a queue. Using Views along with taxonomy can display a specific nodeque and control how many items from the node queue are displayed.


There was some discussion of Memcache / Database optimization. Currently this is something that is not part of Drupal core. Basic database caching is handled by Drupal, Memcache is modulized for MySQL and fairly new. Yes it is very useful but the average Drupal site is not likely to implement at this stage.

System architecture was also discussed. This again is not something that is Drupal specific. If you are running a site that is getting large amounts of traffic a third party should come in and provide you with the configuration that best fits your needs. Specifically; load balancing, master/slave database configuration, file servers, development environments, and memcaching.


We also saw that many local businesses are still looking for Developers. I appologize for not remembering who those businesses are. I would post your links here so others could contact you. Feel free to leave some comments with links or create a new post.

See you all next Month!

Comments

More Notes from the Sept. Meetup

Grammarian's picture

There was some interest in having notes from the meetup posted here. I have taken notes at each meetup I've attended, which is since last May, plus July's Drupal Camp (Saturday only). I can type those up if anyone feels it would be useful.

My notes will focus on what I am interested in, naturally, and although I can generally follow the technical stuff to some extent, I doubt I'll have enough detail for the really technical people. If anyone has corrections, clarifications, or additions, please post your comments!

Drupal Meetup, September 28, 2007, at the SonyBMG offices at 555 Madison Ave.

There was no round of introductions for the whole room, so I don't have a list of who attended. The Sony staff group presented the Sony MusicBox site, which is at http://musicbox.sonybmg.com. This is a live site. This was previously just a site that played music videos. They have added more community/user-friendly features such as ratings, buddy list, news feeds, fan photos, embed codes for putting their videos on your site, and a more YouTube-style layout. There is limited ability for users to do video mashups, that will be enhanced in the future.

This site makes extensive use of the Panels 2 module whose lead developer is Earl Miles. Panels gives the admins a lot of control over the layout through the admin user interface without having to get into theming etc. Panels 2 uses Ajax to enable drag-and-drop rearrangement of the content layout in the panels. This is currently in alpha dev version, but the Panels module provides a lot of the same functionality with a less spiffy admin interface. The panels project page is here. Panels takes Views arguments.

A custom module redirects the navigation to the panel and then to taxonomy to create readable urls that contain, for example, the genre and artist name.

Another module that is used on MusicBox is Node Queue, which lets the admin manually shuffle nodes similarly to how book pages can be organized. The admin can create a list of nodes and rearrange the order. Node Queue can be combined with other mods such as taxonomy, views, and node expire to do interesting things and even partially automate the node ordering. The Node Queue project page is here.

The content on the site is more or less posted directly without moderation or workflow in Drupal. Mainly it comes from the record labels. There is no "editorial" content such as articles, other than news feeds and user-posted content (such as brief reviews) has some of the usual filters but is not moderated. (Is this right?)

Sony is implementing individual artist sites as a multisite Drupal install. The plan is eventually to have all artist site content come from MusicBox except the artists' blogs and something else, my note just says "etc." There were some attendees interested in learning more about setting up a multisite Drupal install, but I don't have names.

Mike from Sony discussed the site's back end architecture. The host is NY Internet. There are 8 web servers, 2 db servers, a load balancer and a file server. The architecture is that the page requests go through the load balancer to be distributed across the web servers, which all talk to the file server and the db servers. One db server is dev and one is production. There was discussion of the database abstraction layer and some custom stuff having to do with mem caching, which has to do with performance optimization for very heavy traffic sites and is not likely relevant for most Drupal sites.

Mike is also taking the lead on organizing the next NYC Drupal Camp, which will be at Brooklyn Polytechnic in January or February, and he is looking for people to help with organizing, presenting, soliciting donations and sponsorships, etc. Anyone who can help should get in touch with him.

The guy from iFoodtv is interested in database abstraction layer and how to insert and present info from a second external database into Drupal content pages. There was some discussion about this.

Several people are looking to build relationships with developers.

Matteo and Brian from Go Green Consulting, which helps companies become "greener," is building a site that will provide tips for "greening" anything and is looking for recommendations.

This was the first half of the meeting. At this point, the group broke up into two subgroups, one for programmers/developers, and one for those of us who are more point-and-click oriented. The developers mentioned possibly having a day of coding to do a module or bug fix together.

The non-programmer subgroup discussed version control using services such as unfuddle.com and CVSdude plus Track (project management). There was some discussion of whether there is a way to take a "snapshot" of all your admin settings so they could be recreated easily. There was a suggestion that maybe this could be a module that could be developed.

Lullabot has a good how-to video for setting up a local host for Drupal development using WAMP (Windows) or MAMP (Mac).

There was a discussion of using location information, whether it is possible to have a forum post automatically inherit the forum location info. I'm not sure I exactly got what the goal was for doing this. Something like this might be possible using Location module, or Google maps module, or some combination of those with Taxonomy. Jacob Redding presented some interesting Google Maps implementations at the May NYC meetup.

The main discussion for the non-dev group was the Views module. I didn't take a lot of notes because I am already somewhat familiar with views. Basically what Views does is allow you to select specific parts of your content to be displayed in specific ways, such as a list or table, and put them in pages or blocks. Views can have arguments and filters. A filter lets you select only certain kinds of things for a view, such as only nodes of a certain type that are published (you will almost always want to filter your view for "node status=published). An argument also lets you select in a different way, which I don't grasp well enough to explain. The default is unrestricted access if you don't select specific roles to access your view. If you have column sorting on fields in a view, you can't also have view sorting (which is applied down at the bottom of the view set up admin page).

A subset of the meetup attendees relocated to nearby Cassidy's Pub for more informal discussion and socializing.

I hope this summary is reasonably accurate and useful to someone! If there is interest in similar notes from previous NYC Drupal Group meetups, just let me know.

Jean Gazis

Awesome

neclimdul's picture

Had an awesome time guys. Hope I can make it back up sometime for another one soon and will be watching the feed as part of the group now. :)