As good as Drupal is, as many third-party enhancements there are, there usually comes a time when they just aren't quite enough. The answer to that is to create your own module that does exactly what you or your client needs. And since they are for a particular site the natural inclination is to name them after that site. Similarly when developing a theme for a site the natural inclination is to name the theme for the site. This, unfortunately, is a Very Bad Thing (TM).
Earlier this year, the University of Baltimore (UB) conducted usability testing on Drupal's admin interface with web developers already familiar with other CMS in the same space, but with no prior Drupal experience.
The code below can be used to hide blocks displayed on a Panel page. I think we tried doing this with PHP block visibility but couldn't quite get it to work. Luckily, panels provides the hook_panels_panel_content_alter() for each block/content type you have in a container. The code below is an example of using the hook to display certain blocks only if the logged in user is a buddy of the user whose profile is displayed.
I was a bit surprised that, at least in D6, the organic groups module doesn't supply a block to show a user's group memberships. We had to display such a block on a client site recently and defined the box ourself. First, define a new block via hook_block():
Using Drupal's Views module, You have created a View that aggregates the Teasers for some collection of nodes, that is the type of view is set to Teasers. You want to them the teasers, but there are two stumbling blocks. Currently (8/7/08), the theme wizard for views only generates the code to theme views of type List. Also, in Drupal 5, Teaser and Full Node views do not pass on to your theming function the values of the fields that you have defined in your view. The latter, I would consider a bug.
We've been using Drupal more and more here at Forum One. One of its nicer aspects is a web interface to some functionality we had for programmers in SyntaxCMS: the ability to set up a "view" of a content type, so that you only got, say, all blog posts tagged with "Environment." This is pretty powerful; it lets a savvy Internet user with no specific programming skills to set up lots of functionality by clicking a few widgets.