BuyBlue.org re-launches using upcoming Drupal 4.7 codebase

rbrooks00 - September 20, 2005 - 01:34

BuyBlue.org is proud to announce the launch of their new web site using Drupal’s upcoming 4.7 codebase. Thanks to the many community-driven features Drupal ships with, we were able to save time and money and concentrate on the custom modules developed by matt westgate. We have also designed an elastic 3 column theme that is compatible with all major browsers and operating systems and highlights the possibilities of the Phptemplate engine courtesy John.

The new BuyBlue site was a complex challenge primarily because of the need to create a company profile containing large subsets of data and intricate relationships with other node types, and still perform well under high traffic conditions. Our site has gone through periods where we got 50K to 60K hits a day in the past. Drupal's cache API was a godsend for this, allowing us to cache anonymous as well as authenticated user views. Profiles also have different levels of user access. Some users can edit all profile content while others only a couple of fields.

You can view a few company profiles here, here and here.

We wired JpGraph into profiles for dynamic graph generation of political donations. In the future we have many more graphing enhancements planned. We also tied it all together with an email templating system to send form letters to these companies which let us harness the new flood control features in core. Much of the customization however happened at the theme level. We manipulated the presentation of taxonomy terms, appended company forums to the company profile view, and added tabs and sub-tabs to the menu navigation. Only two core hacks were made (hack 1, hack 2 involved using contact module for a sitewide contact form and privatemsg module for community messages).

Yet another interesting challenge was to import the 2.4 million election records from the Federal Election Commission containing most of the political donation data needed for the site. Matt created an FEC module for us that imports future election cycles and generates pages which analyze donation and history trends. The performance of searches against this data are surprisingly fast on our server. Currently this functionality is only available to researchers but we plan to release it to the public in the future.

And thanks to Drupal's node workflow system, we were able to ditch our previous company workflow which involved using two different systems: one for research and one for publishing. Now after a profile has been reviewed it's simply a matter of checking the 'published' box. What previously took days now takes less than an hour.

We also use the following contributed modules:

  • Actions
  • Banner
  • Directory (revised and reborn for this release)
  • Emailpage
  • Excerpt
  • Legal
  • Print
  • Privatemsg
  • Taxonomy_menu
  • Troll
  • Urlfilter
  • Workflow

We very much believe in the Drupal community and the product and we’d like to contribute some of our modules back. Matt intends to contribute and maintain the following modules:

Directory - for creating directory views as shown here and here

Stockapi - an API for grabbing and caching stock quotes from finance.yahoo.com using cron.

We plan on contributing additional modules in the future as we have a chance to make them more generic and develop new ones. If anyone has questions we'd be happy to answer them here.

that's an awesome website

intel352 - September 20, 2005 - 03:26

that's an awesome website, nice job

I agree

sgwealti - September 20, 2005 - 04:39

Looks good. Let us know how 4.7 works out for you guys.

Very good project...

beginner - September 20, 2005 - 08:53

Congratulations!
That's some awesome positive action!

.

--
http://www.reuniting.info/
Healing with Sexual Relationships.

very nice site,

mvoehringer - January 7, 2006 - 18:34

very nice site, Congratulations!

Absolutely Amazed

sami_k - September 20, 2005 - 10:44

All I can say is: Behold the power of Drupal! Just shows the future of democracy is Drupal. :) Democracy 1, Big Business 0

--
Please read the handbook, search the forums, then ask...
http://drupal.etopian.net (Modules and Drupal Services)

Demonstrated what Drupal can do

anubhav - September 20, 2005 - 15:52

Nice Job!

"We manipulated the presentation of taxonomy terms, appended company forums to the company profile view, and added tabs and sub-tabs to the menu navigation."

Could you please provide more detail on this .
As I am doing similar to what you already designed like in the following URL
http://www.buyblue.org/node/1898/view/ratings/tid/139.

Thank you in advance

A little more detail...

rbrooks00 - September 20, 2005 - 18:11

We used two taxonomy vocabularies for that view, one for the rating category (e.g. labor & human rights) and one for positive/negative.

The rest of what you see is code we included in the .tpl files for the theme. Based on the Term ID and the mathematical percentage of positive vs. negative articles we grab a specific image to use.

For company forums, the code simply creates a forum for each company using the title field. We modified the forum template file to hide company forums from our main forum so it wouldn't get too busy.

The tabs are also handled by the theme by running certain code depending on the arguments passed which in turn renders different pages.

Stunning site. An incredible

venkat-rk - September 23, 2005 - 14:07

Stunning site. An incredible amount of thought has gone into those pages.

For the company profile with tabs, my only suggestion is that when you have clicked on almost all the tabs, it is difficult to figure out where you are since the active tab is not highlighted.

Any pointers for implementing the drop down for the ratings?

Oh, and what do you use for fax sending in the Take Action section?

Good suggestion

rbrooks00 - September 23, 2005 - 23:35

Good suggestion on the tabs and knowing your "location". We are planning some additional styling on the tabs to make them appear more traditional so you know where you are at any given point in time. We had a multitude of things at go-live that weren't done but we couldn't justify delaying any longer, mostly because we had a print advertising campaign launching the following week.

Re: ratings - the drop down is populated by querying the terms for a particular taxonomy vocabulary we have set up. This is all done in the theme template file.

Re: fax - we thought we were going to allow the ability to fax online but we were unsuccessful in locating a fax service that was free and reliable. We did find a few that charge per fax but we don't have the budget to use them at the moment. I'm still researching free alternatives so if anyone knows of potential solutions to that problem your input would be greatly appreciated.

Coul you please explain In Details

baburajpv - January 4, 2006 - 08:29

Hello,

We could create the tabbed page. But we could not get how to give a particular URL alias to a tabbed page. And also put the current page as active. ie the last clicked link has to be set active.

With regards,
Baburaj

What piece of code has to be added in the themes folder

baburajpv - January 4, 2006 - 09:48

Hello ,

Could you please help me giving the details regarding what piece of code has to bed added to get the currect tab active.

With regards,
Baburaj

Forums magick How-To

marcoBauli - June 9, 2006 - 12:26

Really good job, one of the best good-looking and higly customized Drupal sites out there.

I'd love to have the same 'company forums' on my site, but i am no developer :( Could you please explain bit further how to get there and hide them from main forum?

A snippet of code and where to put it would be a grace!

Thank you very much,
- Marco

Awsome

kbahey - September 20, 2005 - 16:45

Awsome web site.

Lots of added functionality that shows that Drupal is a Content Managment Application Framework (CMAF) before being a content management system (CMS).

Matt, regarding the stock API, I was thinking of doing this very thing for my stock module, like I did with the currency exchange module (i.e. an API callable by others).

Maybe I can now change my stock to use your API, and provide an option for the admin on whether they want to cache the quotes, or get them real time from Yahoo.

I will also need this API for my planned Stock Portfolio module.

Any plans on releasing this API?

--
Drupal development and customization: 2bits.com
Personal: Baheyeldin.com

Stock API will be contributed

rbrooks00 - September 20, 2005 - 16:57

We'll definitely be contributing the stock API for others to use and expand on. I'm not sure what timeline Matt has in mind for that though, perhaps he can comment on that here. I know he is pretty busy these days :)

rbrooks00 any update on

Gunny - October 20, 2005 - 17:36

rbrooks00 any update on stock api

I am the maintainer

kbahey - October 21, 2005 - 01:02

Hi

Matt Westgate asked if I can take that module over, since I wrote the stock module and can make use of it.

I plan to commit this in the near future, after I integrate the stock module with it. If, in a few weeks, you do not see it in contrib, send me an email to remind me.
--
Drupal development and customization: 2bits.com
Personal: Baheyeldin.com

Here is the stock api module

kbahey - October 23, 2005 - 18:49

Here is the stock api module.
--
Drupal development and customization: 2bits.com
Personal: Baheyeldin.com

Store module?

the_other_mac - September 21, 2005 - 17:12

You don't mention using the ecommerce module - so buybluestore.org is separate software? You don't share data or track visitors between them?

Planned for the future

rbrooks00 - September 21, 2005 - 17:35

The short answer is that we plan to use the eCommerce module in the future for the store. The reason why we didn't do that in this release is because the store is run by a third party vendor so we have to be sensitive to contractual issues and their resources. Implementing an eCommerce solution is also a fairly big project in and of itself, even with the excellent module :)

But, we do plan to use the eCommerce module in the future for the store and also for paid memberships to (as yet undeveloped) premium content. We also plan to use it for online donations (currently hosted by a third party).

Aside from the work involved in implementing that solution we'll have to decide if we want to take on the responsibility of dealing with credit card transactions, getting products shipped, etc.

The good thing is that we have a robust and proven module ready to go so we don't have to worry about developing something.

Mailing list management

gollyg - September 23, 2005 - 00:40

Nice looking site - got to love those gradients and outer glows! they have been used subtly.

I have a question directly relevant to a site I am creating at the moment. How do you handle the mailing list management without requiring sign-up as a registered user? Is that custom, or am I missing a really simple module/concept? All of the modules I have looked at work with authenticated user/user roles.

It's a great feature - nobody wants the hassle of registering for a simple subscription!
BTW nice supporting text on that feature to make it a really usable piece of design

Cheers

Mailing Lists...

rbrooks00 - September 23, 2005 - 02:48

The mailing list is definitely an area for improvement on my list. We are using a product called 1-2-all email marketing for our mailing list and there is no contributed module integrating this into Drupal at the moment. 1-2-all isn't a free product, but it is priced pretty reasonably.

We struggled quite a bit with the mailing list problem. The options which nicely integrated with drupal are phpList and ezmlm. We felt that ezmlm was a little bit too technical for the general user population. Our users range from internet experts to casual surfers that know how to check email and browse and that's it.

I've used phpList before and as an open source product it is great, but it had some deficiencies around your ability to send "professional" mailings and stability for high volume mailings. Just sending out 5k or 10k emails seemed to take forever, now I can send 30K in about 30 minutes. When we first started we were using phpList for our mailing list and later converted to 1-2-all. The biggest problem in my opinion is the fact that the Drupal integrated version is even more scaled down than the stand-alone and there is no way to allow anonymous users to subscribe, people have to register at the site (as you have noticed in your investigation). I'm not sure if this has since changed, I was evaluating it several months ago. For us, not allowing anonymous users to sign up would be a big problem because not everyone would want to create a user. We probably could have modified the contributed module but we wanted to make as much use of contributed modules as possible and concentrate on custom modules with our time and money.

So we evaluated several mailing products and decided on 1-2-all several months ago because of some of the outstanding features combined with a reasonable price. I've been very happy with it so far and it has handled high volume mailings gracefully.

As far as the integration with Drupal we just have it in a block right now, the product generates a subscription form for you based on what fields you want to track and posts the results to its database. You can configure what URLs you want to appear for your success, error, subscribe, unsubscribe pages, etc so we simply created pages in drupal for those and the app redirects you to them.

The one thing that I really need to do is give registered users the option of subscribing or unsubscribing when they register or edit their profile. This shouldn't be hard to do I just haven't had time yet. I don't know what interest there would be from the community in using this product (since it costs money to use) but I could look at contributing a module to do this integration.

Discussion group or Newsletter???

beginner - September 23, 2005 - 03:34

Are you both talking about a mailing list as in a discussion group, or about a newsletter?

In the latter case, http://drupal.org/project/simplenews might be what you were looking for, and people don't need to be registered to add their email to the newsletter mailing list.

B.

--
http://www.reuniting.info/
Healing with Sexual Relationships.

now that's why we post on forums!

gollyg - September 23, 2005 - 03:44

I have been scrolling throught the modules and searching the forums for a simple mail manager and somehow this one escaped me! It would appear to do what I need - I guess my only question would be can it handle multiple mailing lists for each user based on some checkboxes in the signup process (can't install it until I get home, so that may become obvious in time).
Thanks for the pointer!

Nice!

rbrooks00 - September 23, 2005 - 04:29

Now that must be new, I hadn't seen it before. I'm definitely going to have to check that out and see if we can ditch yet another piece of software :)

It looks pretty impressive based on the description. Thanks for pointing that out!

a

markwagner@drup... - September 23, 2005 - 13:02

a

Awesome!

deepesh - September 23, 2005 - 10:09

Awesome!, that is just superb , I would love that style on my site.

Deepesh Agarwal,
http://www.freeware-alternative.uni.cc/

How did you do this?

sethcohn - September 27, 2005 - 16:38

We use menu items

rbrooks00 - September 28, 2005 - 07:16

We use menu items as Matt stated in his post and some heavy lifting by the theme .tpl file for company nodes.

The menu section (in part) looks like this:

      foreach ($sections as $path => $title) {
        $items[] = array('path' => 'node/'. arg(1). '/view/'. $path, 'title' => $title,
          'access' => node_access('view', $node), 'type' => MENU_LOCAL_TASK,
          'weight' => $i);
        $i++;
      }

$sections is an array containing the names of the various tabs, the rest is stanard node stuff.

A company is a custom node type and utilizes the main node table but most of the data resides in custom tables. The .tpl file uses a case statement to determine what should be rendered for each $section of the menu (e.g. summary, information, etc). The theme then grabs the elements it needs and displays them.

That is the high level explanation of it.

TabbedPage Module

therave - November 6, 2005 - 15:07

Inspired by the tabbed approach on BuyBlue and the discussion in this thread, I have created a 'TabbedPage' node type that allows them to be arranged into tabbed groups without writing any code.

The Tabbed Page module is described and can be downloaded from my site. I have not added it to the Drupal modules page, and will not do so unless I get feedback that other people have found it useful.

If you do use it, be advised that it works for me on Drupal 4.6.3, but it is as you find it!

David Hamilton
http://www.jiffle.net/

I would like to try this out

venkat-rk - November 6, 2005 - 16:33

I would like to try this out but I am unable to download the link, whether I use right-click>>Save as or click directly.

Same problem with the other module(links_similar) too.

Fixed It

therave - November 8, 2005 - 09:23

Sorry, forgot that '.module' files were protected. I've replaced them with zip files.

David Hamilton
http://www.jiffle.net/

Thanks for fixing this.

venkat-rk - November 8, 2005 - 14:40

Thanks for fixing this.

Could you please explain something more about the custom tables

baburajpv - January 4, 2006 - 08:52

Hello,

It would be great if you could explain in detail. the structure of the custom tables and what is that custom tables used for and where do we access those custom tables etc.

Love ya Blue!

waddy - September 29, 2005 - 23:30

Do you think we can adopt that old Oilers song? :-)

Wonderful job on the site -- in all ways. I especially like the "view" items.

Directory Update

rbrooks00 - September 30, 2005 - 06:07

We made a pretty significant style update to our directory. You can view it here.

If anyone has any questions let us know.

Would love to have the

venkat-rk - October 13, 2005 - 06:59

Would love to have the improved directory module you had planned to release. Any thoughts when this will be possible?

Link to Directory Module...

rbrooks00 - October 13, 2005 - 23:31

Here is a link to the directory module in CVS: http://cvs.drupal.org/viewcvs/drupal/contributions/modules/directory/

This may not be exactly the same as the version on our site because a lot of that is done with the theme.

Does not seem to work

alvinwang - June 27, 2006 - 08:41

I downloaded the module and my admin module page dies. No output until I delete the directory module. What am I doing wrong?

Thanks

It probably hasn't been

rbrooks00 - June 27, 2006 - 15:10

It probably hasn't been converted to the post forms api version of 4.7 annd it is breaking the settings page of the site. I'm not sure, that is just a guess. We'll hopefully be doing a full upgrade soon.

============================================
BuyBlue.org

Upgrade is *finally* done

rbrooks00 - July 17, 2006 - 17:40

Upgrade is *finally* done and I sent this off to someone recently, works fine for 4.7.2 now.

============================================
BuyBlue.org

Improving the registration process

rbrooks00 - October 12, 2005 - 16:10

Since we launched we've received considerable user feedback and one of the largest areas has been around the registration/login process.

Last night we put some code into production to improve that process. We started with an uncontributed module by jjeff and improved on it.

Some of the notable features are:

  • You can login with your username or the email address you registered with
  • If you try to access a page you don't have access to then instead of an access denied message you are presented with a login page. If you have access to the page after logging in you are taken there.
  • You must choose your password when registering as a user. Having to be assigned a cryptic password by the system was a huge user complaint.
  • You have the option of forcing users to confirm their email address during registration.
  • Currently when you register you are sent an email with your password and a one-time login URL. We changed this so that all you are doing with this email is validating your email address. When you register you are put in a "validating" role and once you have verified your email address by clicking the URL you become an "authenticated user". Defining whether "validating" users can do less on the site than authenticated users is up to the site administrator. We chose to reduce their functionality a little bit until they confirm their email address.
  • New graphical treatment of the login block

This thing isn't quite contribution-ready yet but I plan to work with jjeff on that - so we'll see where that goes. We had to make some small changes to the profile module to get profile attributes to show up on the registration form and I'd like to find a cleaner solution to that - obviously that isn't acceptable for a contributed module.

Anyway, check it out and let us know what you think.

Admin Approval?

shouchen - October 13, 2005 - 18:26

Have you incorporated the feature where the site admin approves the registration before any e-mail is sent to the new user?

We currently don't require

rbrooks00 - October 13, 2005 - 23:08

We currently don't require admin approval so that part of it hasn't been tested/considered, but that would have to be taken into account were this module to be contributed. I'm not very familiar with how things work when you have admin approval on (I've never played with it) so I'm not sure what would happen. There is probably a decent amount of work that would need to be done to make it contribution worthy.

glad to see that you have

Gunny - October 21, 2005 - 04:56

glad to see that you have come up with a major improvement in the registration process. process of validating a user is very neat. thumbs up for the module. let us know once this module is committed to cvs.

Login Toboggan is committed

rbrooks00 - October 21, 2005 - 04:58

The name of the module is LoginToboggan and it has now been contributed it just doesn't show up in the modules directory yet. You can find it here: http://drupal.org/node/34309

Jeff and Chad (the original authors) incorporated my improvements and added a few additional things to make it contrib ready. I haven't yet put the new version on our site but I plan to in the near future.

Great. I suppose only the

venkat-rk - October 21, 2005 - 09:50

Great. I suppose only the CVS version is available right now.

Does this module also send out an email when the admin adds the user account? This is missing in drupal right now.

Yeah it is only on the CVS

rbrooks00 - October 21, 2005 - 16:34

Yeah it is only on the CVS at the moment. If Drupal doesn't normally do that then the answer would be no because we didn't add that to this module. It might be a good feature request though.

Thanks. And, you can be sure

venkat-rk - October 22, 2005 - 14:09

Thanks. And, you can be sure I will add that feature request:-)

Edit: I suppose the module

venkat-rk - October 22, 2005 - 14:11

Edit: I suppose the module will be listed in the Issues drop down only when a tar ball has been released:(

I guess so, Jeff said it was

rbrooks00 - October 22, 2005 - 19:35

I guess so, Jeff said it was still "in the queue" whatever that means :) I've never contributed a module before so the process is new to me.

Tag CVS to get a release

therave - October 31, 2005 - 13:13

I can't quite work out if this is the solution to the CVS issue you describe, but since there is no official release of your module project, I'll chip in:

In order to have an 'official release' - i.e. be listed on the main (4.6) drupal modules page, you need to tag your module in CVS with the appropriate tag ('DRUPAL-4-6' in this case). This will also cause a 4.6 release tarball to be created overnight as well as the 'cvs' one.

Details on CVS Tagging are available at http://drupal.org/node/1002. Hope this helps, and thanks for the documentation on the sub-tabs.

David Hamilton
http://www.jiffle.net/

How is made this?

drama - November 22, 2005 - 12:46

BuyBlue.org site is really good. I am wondering how it can be make such things like:

http://www.buyblue.org/node/1898/view/summary

What informations are saved in node?
From where is taken name of company (Starbucks Corporation),
From where is taken thouse data for graph ($23,800 to Dem...)

It is some special hack of node.module? Or it is somehow many modules glue togedher?

Please help.

Thank you
D. Rama

I think you are talking

venkat-rk - November 22, 2005 - 13:57

I think you are talking about the tabbed pages. Just hop over to jiffle.net. The author has put together a module based on Buyblue's work that will give you the same tabbed pages.

For the graphs, they use an opensource package. It is mentioned in the parent post of this thread.

I mean something else

drama - November 22, 2005 - 16:49

I mean that exactly on this link:
http://www.buyblue.org/node/1898/view/summary

That there is:
Name of Company (Starbucks Corporation)
Brief Biography
Political Contribution
Company Discussion

So, from where these all things are?
You have some special table for saving it? Or is it some special kind of node?
Or this node 1898 is just full of snippets which taking data from some database?

Thank you for answer
:-)

D. Rama

Using custom tables.

rbrooks00 - November 22, 2005 - 21:51

D. Rama -

Yep we are using tables outside of the Drupal standard tables, but these are all still in the same database. A "company" is a node, so are "articles" and "executives". We take advantage of all of the things built in for nodes but as far as data goes we only use the title (for the name) and the body (for the company bio). Everything else is set up in normalized tables.

The summary page represents a lot of heavy lifting by functions in our module to summarize things in a graphical manner and of course some work is done by the theme as well.

When creating a company the module walks you through 4 or so screens allowing you to enter data before saving it all in the various tables with the proper relationships.

Hope that answers the question.

============================================
BuyBlue.org

Now it is clear to me

drama - November 23, 2005 - 09:49

Thank you for answer. Now I understand. :-)

D. Rama

Hi Drama

baburajpv - January 4, 2006 - 10:30

hello,

Could you please, help me how to create tabbed pages and link the tabbed page with the URL alias.

And also I want to display the current tab as active.

With regards,
Baburaj

There is a module that

venkat-rk - January 4, 2006 - 11:36

There is a module that automates this process and it is well documented. Just visit jiffle.net and download the tabbed page module.

Thanks A lot

baburajpv - January 4, 2006 - 13:57

Thank you for your reply.

I have downloaded the module and installed. But I do not know how to change the URL alias "tabbedpage/nodeid" to a meaningful URL alias.

And also I did not get a solution on how to make the current tab as active.

With regards,
Baburaj

Which are the custom tables that has to be used

baburajpv - January 4, 2006 - 09:00

Hello,

Which are the custome tables that has to be used?
It would be great if you could explain this in details, as I am new to drupal.

regards,
Baburaj

which module

kae - April 3, 2006 - 19:11

rb, thanks for this wonderful explanation. in your post you say it's done by the module. which module? there's the tabbed page module but I thought that's made by someone else trying to imitate what you did. what's the name of your module? is it contributed? if it's not in cvs, is there a place we can get it? thank you.

It is done by a custom module

rbrooks00 - April 6, 2006 - 23:03

It is done by a custom module, a combination of our "company" module and the theme on the site. This isn't contributed or available anywhere but I can try and explain more of the details (as I understand them anyway - Matt Westgate and our graphic designer John Haas are the brains behind this).

One of the really cool things about PHP Template is that you can create a page to look any way you want it to, you can go for something completely out of the box with your data presentation. This post gets into the technical details a bit.

But basically just think about the template file being a large case statement. If variable X with value Y is passed in we want to render the page this way with this information. If that same variable is passed in with value Z we render things a different way with different info. I can try and post a few more snippets when I get home, can't access SFTP at work due to firewall issues.

============================================
BuyBlue.org

thx

kae - April 10, 2006 - 22:49

thank you!

Here's an example with code

rbrooks00 - April 15, 2006 - 04:33

Here's an example with code, this generates the "summary" page for each company.

        switch ($node->section) {
          case 'summary':
            if (arg(3) == '') {
              drupal_goto("node/$node->nid/view/summary");
            }
            if ($page) {
              // Because of security issues $node->teaser is destroyed in line 501 of node.module for full page views.
              // We must wrap all outputted content in check_markup(). See filter module for function implementation.
              $content = check_markup(db_result(db_query('SELECT teaser FROM {node_revisions} WHERE nid = %d AND vid = %d', $node->nid, $node->nid)), $node->format, FALSE);
              $content .= '<span class="readmore">'. l(t('Read the full bio.'), "node/$node->nid/view/information"). '</span>';

              // Company ratings for compiled articles.
              if (module_exist('article')) {
                if ($ratings = article_get_ratings($node->nid)) {
                  $r = '<table cellpadding="0" cellspacing="0" width="100%">';
                  foreach ($ratings as $c) {
                    $r .= '<tr><td width="85%"><a href="node/'. $node->nid .'/view/ratings/tid/'. $c->tid .'">'. check_plain($c->name) .'</a>:<br />('. format_plural($c->numposts, '1 article', '%count articles') .')</td><td width="15%" align="center"><a href="node/'. $node->nid .'/view/ratings/tid/'. $c->tid .'"><img src="images/'. $c->img .'" /></a></td></tr>';
                  }
                  $r .= '</table>';
                }
              }
              $c = t('None');
              if (is_array($contrib_breakdown)) {
                $c = '<div class="contribution-amounts">';

                $c .= t('$%amount to Democrats<br />', array('%amount' => number_format($contrib_breakdown['Democrats'])));
                $c .= t('$%amount to Republicans<br />', array('%amount' => number_format($contrib_breakdown['Republicans'])));
                $c .= t('$%amount to Others<br />', array('%amount' => number_format($contrib_breakdown['Others'])));

                $c .= '$'. number_format($total) .' in Total Contributions';
                $c .= '</div>';
              }
            }
$output .= <<<EOD
<div class="profile_content">
  <div class="profile_leftcol">
    <div class="profile_ratings_other">
      <h3><img src="images/profile_other.gif"></h3>
      $r
    <h2><a href="methodology">How do we rate companies?</a><br />
    <a href="node/$node->nid/view/ratings">Check out the ratings details.</a><br />
    <a href="node/add/article">Help us rate this company!</a></h2>
    </div>
    <div class="profile_bio">
      <h3><img src="images/profile_bio.gif"></h3>
      $content</div>
  </div>
  <div class="profile_rightcol">
    <div class="profile_ratings_political">
      <h3><img src="images/profile_political.gif"></h3>
      <p><img src="$cb_uri" /></p>
      $c</div>
    <div class="profile_action">
      <h3><img src="images/profile_takeaction.gif"></h3>
      <p>Write a letter or send a fax. Let this company <a href="node/$node->nid/view/action">know what you think</a>.</p>
      <h3><img src="images/profile_discuss.gif"></h3>
      <p><a href="node/$node->nid#profile_forum">Talk about this company's</a> practices in the comments below.</p>
    </div>
  </div>
  <div class="floatclear"></div>
  <div class="profile_forum">
    <a name="profile_forum"></a><h3><img src="images/profile_company_discuss.gif"></h3>
    $forum
  </div>
</div>
EOD;
            break;

The code for the otther sections is similar and invoked from otehr case statements. Hope that helps.

It maybe could be cleaner (and commented) but it works :)

============================================
BuyBlue.org

Caching authenticated users ?

nbd - January 8, 2006 - 21:34

The site looks great.

You mentioned you cache authenticated users. Is it part of Drupal 4.7 or a tweak to the core ?
If it's a tweak could you point me to some information about it?

Nbd
CoMagz - open magazines written by their readers.
CoMagz Web Magazine - if it's interesting, find it here, if it's not here, submit it

Its part of the core in 4.7

rbrooks00 - January 8, 2006 - 22:37

Its part of the core in 4.7 :)
============================================
BuyBlue.org

quick question.. how did u impliment the following on every node

radiofranky - January 10, 2006 - 01:04

which module did u use and how to impliment it? tks

BuyBlue.org, a consumer advocacy issues website, is a nonprofit corporation registered in the state of California, with federal 501(c)(3) status pending. The opinions and viewpoints expressed by the authors here are their own and do not necessarily reflect the opinions of BuyBlue.org.
© 2004-2006 BuyBlue.org, All Rights Reserved. Hosting provided by Drak.net.

Footer

rbrooks00 - January 10, 2006 - 02:03

That's the footer, a standard part of the core settings and invoked by your theme.

You get to it through admin -> settings -> general settings. Type whatever you want in the "footer message" box.

============================================
BuyBlue.org

instructions laid out

kae - April 3, 2006 - 19:17

the instructions on this page are summarized on
http://www.drupalecommerce.com/buyblue

That's pretty sweet! I'd be

rbrooks00 - April 6, 2006 - 23:06

That's pretty sweet! I'd be happy to try and answer what I can for people trying to emulate what the site is doing. We're also working on a bunch of really awesome stuff this year (a lot of which we are sponsoring and contributing back such as extensive development of OG and some other modules). We've also just about got everything converted to the new forms api so we can re-launch on the current codebase.

============================================
BuyBlue.org

instructions laid out

coupet - April 13, 2006 - 14:34

great instructions and how-to...

Matt created an FEC module for us that imports future election cycles and generates pages which analyze donation and history trends.

also, further information on FEC module would be helpful

----
Darly

FEC

rbrooks00 - April 15, 2006 - 04:40

The FEC module isn't publicly available right now but basically it allows you to do all of the stuff you can on their site here. You can download their data electronically for each election cycle here. The individual contributions file is just shy of 2.5 million records.

So for the module we recreated the file structure in the database, imported the records and then designed a search form to use on top of it similar (but better) than the one they offer on their site (and faster too).

The search returns records, is sortable and most notably allows us too cut and paste the record ids. We then past these into our company creation form so each company's contributions are directly tied to the FEC records.

In a future release we are planning on making the FEC search public instead of available only for our researchers.

============================================
BuyBlue.org

Workflow and Actions Module

Ravindra - April 27, 2006 - 04:51

Hello,

You have done a great job, the website is wonderful.

As you mentioned you are successfully using Actions and Workflow Module.

We are also trying to use these modules but are not successful so far.

We are using Fedora Linux 4 loaded with PHP 5.0.4 and Mysql 4.1.11 and Drupal 4.7 rc3

we have installed the modules and able to create workflows, but when I am assigning action to any workflow state, it adds all the actions to that state instead of adding the selected action frol listbox.

If you can help us to sortout this problem it would be a great help to us

Not sure that I can help out

rbrooks00 - April 28, 2006 - 00:32

Not sure that I can help out with that, I don't have a good understanding of the underlying code for those modules. I'd suggest filing a bug or a support request under those modules or creating a general forum topic on the subject as your quickest path to resolution.

============================================
BuyBlue.org

Thanks

Ravindra - April 28, 2006 - 10:48

Thanks for the reply, As you said both the modules are working for your site without any problem so Can you please tell us what configuration you are using (i.e. Linux Ver, PHP, MYSQL versions etc.)

Ravi

We are using PHP 5.0.5,

rbrooks00 - April 30, 2006 - 21:31

We are using PHP 5.0.5, MySQL 4.1.18-standard, and Fedora Core 4.

We have not however made any special configuration changes to make this work, it just does.
============================================
BuyBlue.org

thanks

Ravindra - May 1, 2006 - 11:13

thanks a lot
Ravi

 
 

Drupal is a registered trademark of Dries Buytaert.