Drupal
Interest in the organic groups module continues to swell. This module lets users form interest groups on their website. Those groups can then post messages and collaborate on their shared interest. Zack posted a fine screencast about og and its helper modules.
Recently, I've seen some pretty deployments at Goodstorm and ProjectOpus. Universities like Calgary seem to love it too.
Here are the projects I'm planning for Organic Groups. If you are interested in funding any of them, please contact me.
- Unit testing. I have contracted with Thomas Ilsche to write unit test for og. He wrote a bunch of tests last summer as part of the Google Summer of Code project. I'm sure some people don't know that Drupal has a pretty nice unit testing framework based on Simpletest. There are some good ideas floating around about how unit testing fits into the drupal project.
- Views module integration. Two of the key pages provided by og are the groups directory page and the group home page. Each site wants to present these pages a bit differently. Both the Goodstorm and the ProjectOpus links above illustrate this need. Og currently provides themeable functions for customizing these pages, but a coder is required to customize. I'm planning to rip this code out of og and instead rely on Views module to provide them instead. Views is a terrific tool for non coders because they can easily customize how these "list of nodes" pages get displayed.
- ACL module integration. Earl just wrote a nice access control list module which other modules can use to provide private nodes. The module is brand new, but has lots of potential. The best end user benefit to switching over to this module is that sites can safely run multiple node access modules.
- Group vocabulary. webchick will be working on implementing private taxonomies for each group.
- weitzman's blog
- Read more
- 1536 reads
Yahoo has shared their Design Pattern Library with the world. Thats quite a gift; I bet there are thousands of hours of user interaction expertise summarized here. Thanks!

- weitzman's blog
- 1253 reads
One of my contributions to the Drupal project is the bootstrap. This is the part of the code which executes at the very beginning of each request. Since this code executes even for cached pages, we optimize it as much as possible.
Anyway, I just learned that this term derives from
a German legend about Baron Münchhausen, who was able to lift himself out of a swamp by pulling himself up by his own hair. In later versions he was using his own boot straps to pull himself out of the sea which gave rise to the term bootstrapping.
In Drupal 4.7, we access the url_alias very often compared to 4.6, This was a wise decision for performance reasons, but it is annoying to see the devel.moduel query log clutterred with these queries. The solution is simple: empty your URL alias table and Drupal becomes smart enough to access it only once. This query will do it:
DELETE FROM url_alias
- weitzman's blog
- 1074 reads
Update: on shared web hosting accounts, the cache is almost always disabled and customer has no permission to enable it since it is a global variable. Bummer. I guess this is why people go for Virtual Private Server hosting accounts.
Here is a lovely semi-technical article describing MySQL's unique and bestest feature - the query cache. This speeds up SELECT statements in a big way. Mandatory for high volume Drupal sites.
- weitzman's blog
- 1018 reads
Matt and I had an IRC brainstorm about re-introducing subproducts into ecommerce module. A subproduct is a red, large t-shirt. T-shirt is the "base product".
The intent is to use vocabularies just like before. Inthis case, we ill have Color and Size vocabularies. These would be affiliated with the 'product' node type.
Here is the table structure that we came up with for ec_product.
|
ec_product
|
|||
| pid | parent | tids | status |
| productID. primary key. | a nid | a delimited string of termIDs | a boolean indicating if the product is active or not. |
- weitzman's blog
- 1067 reads
- « first
- ‹ previous
- 1
- 2
- 3
- 4



