Tuesday, March 31, 2009

RSS Feeds

Well, I hit a temporary wall with Subject Guides. Mainly, I couldn't figure out how to use Arguments (nid variables) in a block view. However, I've recently conceived of another way to handle the Subject Guides by creating a View that grabs multiple Content Types and displays them by a shared taxonomy term. I think that might work. We meet with Growing Venture Solutions on Thursday, so I'll run it by them for input.

I've also started adding the Classes to the new website. These consist of RSS Feeds from Evanced, which is our Calendar software. It's not perfect, because ideal RSS Feed URLs are sometimes too long for the URL field in the Drupal Aggregator module, but I think it will work mostly well. All I have left to do in Classes is add a "view calendar" link on each feed, with a calendar image you can click on to go directly to Evanced.

Like I said, we meet with Growing Venture Solutions on Thursday and we have some questions they will hopefully be able to help us with. Also, the Usability Hot Team is meeting on Thursday morning to plan our first patron usability test this Monday afternoon.

After all that, I plan to flesh out my Subject Guides idea and crank out the Programs/Events feeds. I'm pedaling as fast as I can!

Saturday, March 21, 2009

Subject Guides

Of course I got a cold after D.C.! So frustrating because I have so much to do. I've come to terms with the fact that I'll be putting in some serious overtime to get this project done in the timeframe that is necessary.

I started the Subject Guides section of "Research" this past week. I plan to take our proprietary databases, recommended websites, related classes and events, and whatever else fits and combine and organize them on one page for easy access, organized by subject. There's a lot of set up involved in this feature, but the outcome will be well worth it.

I've gotten most of our proprietary databases entered, which is step 1 of the process. I'd like to have migrated them, but we've made some major changes that prevent that solution, so hand-entering it is. Hopefully I'll be able to migrate almost everything else.

I plan to come in for a few hours this weekend to finish the job so I can start creating Views by subject.

Monday, March 9, 2009

DrupalCon Recap

Today is my first day back from work after DrupalCon D.C. I had a great time there and learn a lot. Here is a recap:

  1. Day 1 Keynote - Dries Buytaert presented the idea of the internet as one machine, with computers, pdas, cells as views into the machine. Ideally if this were the case, your information would be centralized and you wouldn't have to enter your information on every site. Basically this is the vision for Web 3.0.

  2. Apache Solr - Faceted search system that can search multi-sites and lets you filter by type and weight the results by various criteria, such as content type, date, author, etc. Also, would likely be a hosted solution. Not sure how it works with Views. Google CSE is also a possibility. Will need to investigate library sites that have a multi-search function for the Catalog and see how they do it.

  3. Scaling Drupal - Use YSlow! to determine the speed of your website. Also advice on enabling slow query logs and utilizing load testing and caching techniques.

  4. Front-end and Back-end Optimization - Lots of tips on how to optimize your website. Will definitely need to use these notes as a reference.

  5. Drupal Security - Lots of tips on how to secure your website and server. Will also definitely need to use these notes as a reference. Interesting perspective on the use Full HTML filter,
    parameter, and embeds, all of which we are planning to use on the redesign. Luckily, two of the speakers are our consultants, so I'll be asking them about this.

  6. Taxonomy - There are some really great contrib modules out there that utilize taxonomy, including Synonym module, Vocabulary Index module (lets you browse vocabularies in admin), and Relevant Content module (returns a "more like this" type block for nodes). The actual "more like this" module may be more robust, though.

  7. Drupal Multi-media - ImageField and ImageCache modules are likely the best solution for us. Also some information that will come in handy on the ppld.tv website.

  8. Closing Keynote - Work on something that matters to you more than money. Make the outcome greater than the input. Develop for the long run.



Other really great experiences:

  • Twitter at Drupal

  • IRC at Drupal

  • New Groups: Media, Open Media, Taxonomy, Documentation

  • BoFs: Library, Usability, including a discussion about usability in content entry

  • SoPAC and the need for documentation

  • Documentation Sprint



Things I need to do:

Wednesday, March 4, 2009

DrupalCon 2009 - Day 1

Today was day 1 of DrupalCon D.C. I learn a lot and met a lot of interesting people. One of the people I met, Marjorie, asked me to post my notes from the Advanced Theming Session. Well, I did her one better and posted all my notes in Google Docs. BUT, since Google docs won't let me share my files with everyone (that I know of), I'll just have the post the notes she asked for here:

Advanced Theming Techniques
DrupalCon Day 1 – Session 5
March 4, 2009


.info files

Perfect place to
Add stylesheets
Add regions
Provide default settings
Include javascripts

Function overrides
Useful for work where more logic is required (mitigated by preprocess)
Better performance (function 5 times more efficient (docs)).

Theming at module level

Needed for theming new functionality.

Overriding
Everything in a theme can be overridden.

Two types of things you can override:
1.Template Files
1.Find the original template in
2.Copy it to your theme
3.Consider using a variant

Preprocess functions are better than template files

Separate logic (PHP) from appearance (HTML)
Less code, less bugs

Overriding theme functions

find the original theme function
Copy and paste into template.php
Rename from theme_HOOK() to name_HOOK

There is no preprocess for theme hooks, but you can modify the function arguments, then call the original theme function.

Warning: a module may have already overridden the original theme_HOOK() functionality.

Find out from the theme registry or theme_exists command.

Subtheming

Makes theming easier

Why a Subtheme?

Exaggerate the defaults
Get closer to the final goal before writing any code
Inherit, inherit, inherit, then override

In Drupal 6, subthemes go in sites/default/themes NOT sites/default/themes/zen/

Use Zen for Subtheming

Is there a good reason not to?
Framework is already set up

Theme Registry

Most theme work never notices the registry except to clear it. Remember to clear your cache!
The rest keeps us up at night

Theming Forms
Forms are a special case
If no custom theming is provided it just uses default theme
If you are theming a specific form, you need to define it in the theme registry

Two ways to do it:

Modify individual form elements
Work around the entire form

http://trellon.com/content/blog/theming-user-register-form-d6 for instructions and example of theming forms.


Marjorie is working on a book about Views for Drupal 5 with PACKT publishing, called Drupal 5 Views Recipes.

Google Docs annoys me...

Monday, March 2, 2009

Content Ho!

Finally I got some content in the new website! I made the PPLD Computers section and the Policies section Book content types, so I can keep the About the Library sub-menu on them but still have a way to navigate through the pages. We'll see how that works out. I need to move the Book navigation menu to the top of the page and I need to assign the book block to somewhere on the pages (its not showing up right now, but it's probably my issue).

Also, tomorrow I leave for DrupalCon in D.C. I'll post some entries at the conference.

Ciao!