Tuesday, June 24, 2008

Day 5/6!

All-righty. I'm moving along a little slower now, but still making some progress.

I found out that the local systems don't use LDAP, but another authentication method through Samba. This means I may have to A) put together some custom code, or B) find a module and try to make it work. I'm definitely leaning towards option B).

I've got the base of the website pretty much set at this point. The groups and forums are pretty much set as they're going to be for the live version of the website, and I'm now looking into frills and optional things like web links for individual groups, or setting up an RSS feed from another database for recent events.

The last couple of days have just been minor tweaks, and playing with CCK (with little to no success. I'm going back to square one on that, and going elbow deep into documentation). I've found that the community is incredibly supportive, when it comes to drupal. There are numerous videocasts, forum posts, guides, and blogs like this one, ready to help you along the way to building your own drupal site. I'm now considering taking this drupal site and going on with it, making my very own website. But that's not what this blog is about.

I've hit a bit of a wall, as far as developing goes, however. I need to sort out a couple of key things before everything gets tested and I can move on to all those little things everyone asked for earlier. One is the authentication, and the other is the GD PHP module. Both are beyond my control, as I don't have shell access on the webserver the site is hosted on.

I think my next steps after those two issues are resolved, is getting some people to try the site, and continuing on from there. Once it's tested a little bit, I can get a feel for what works and doesn't work, and in that way, improve upon the areas really need it. I also have to look at theming. I'm not sure if I'm going to make my own theme (which I understand is pretty difficult) or pick an existing theme and modify it to go along with the current public website's look and feel. I may just end up sticking with the orginal Drupal theme, as it does look fairly "Web 2.0ish", and I think that using that website may push some of the staff who don't normally participate in that sort of thing to try them out. To kind of further that, I've decided to allow the staff their own blogs. Whether or not that idea flies for too long will be up to the administration staff.

That's all for now.

Tom.

Thursday, June 19, 2008

Day 3

I'll merge day 3 and day 4, seeing as I missed yesterday due to some time constraints.

Day 3 went pretty smoothly.

The LDAP issue is still alive and kickin'. I'm waiting on an outside IT professional to set that up.

Yesterday, it was Organic Groups day. I was setting up groups and forums for each of the departments, and I have to say that was pretty painless. I started off by installing and setting up the actual Organic Groups module, and creating the individual groups for each department. That, in itself was no problem at all. So from there, I had the framework I needed to sort out pages for each department. After creating the groups, I configured some roles to go along with them. I set up a role for each group, configuring permissions along the way. I then installed the OG forums module. Again, it was as simple as copying and pasting into the og_forums folder in /sites/all/modules.

From there it was a matter of configuring some forums for each group, which was really as simple as a couple of text boxes, and a button. After that, I installed and configured Multiple mandatory groups by role, this allowed me to set users put into roles to be automatically dropped into appropriate groups, removing the need for me to go through every user and place them into groups by hand. It also allows for users with more than one role to be into more than one group. From there it was some minor tweaks, just to smooth a few things out.

More to follow...

Wednesday, June 18, 2008

Day 2

Hello again!

The authentication issue I talked about briefly yesterday really kind reared it's ugly head today. I know basically nothing about LDAP or ActiveDirectory, so this kind of left me in the dark. I'll have to contact an IT professional to maybe help me sort all that out.

Then came the CSS. There were a couple of minor issues I had with the default page layout, that needed to be fixed for my own sanity's sake, such as white text/links on an extremely light blue background. However, digging through about 1000 lines of CSS trying to pick out certain elements was proving to be pretty stressfull. That's when I discovered the web developer toolbar for Firefox. It comes with a bunch of handy features, but what helped me the most was the CSS information tool. It turns your mouse into a crosshair, allowing you to click on the element you wish to view CSS for, making it that much easier to find and change whatever is bugging you. (That feature can be found in CSS -> View Style Sheet Information)

Once I had that sorted, and my sanity maintained (for now), it was time to set up some temporary forums (which, looking back, I might have to take down...). I started by creating the base forums for each department, and creating some child forums for general questions and comments, to prevent my inbox and other forums from flooding with "Why don't we have feature x?". That, in itself, was just a module install (see my forum access module below) and a simple matter of setting up proper permissions. I'll have to save appointing moderators for when the authentication is set up.

From there, my day was spent trying to get a good idea of how I'm going to sort out the permissions issue for each department. After looking at various kinds of permissions, I finally decided to head for Organic Groups. It has a forums addon that should just about cover my needs. I'll just need to find another addon that will allow me to appoint forum moderators (my forum access module might do the trick...). This will allow me to keep the departments separate, and really sort of give each department their own space. Now all that's left is trying to figure out how to allow cross-group blog postings.

Up next tomorrow: possibly setting up a test server, trying to set up Organic Groups, and getting authentication going.

Until next post,

Tom.

Tuesday, June 17, 2008

First Impressions/Setup day!

Hi everyone!

I set up this blog to detail my experiences with Drupal over the next two or so months. Hopefully I can use this blog as a resource for those who were as nervous or overwhelmed as I was about starting up a website through the Drupal "CMS". I hope this proves useful for someone out there.


I'm Tom, and I'm a summer student at local public library. I'm a college student, doing a computer programming course. My supervisor asked me not too long ago if I'd ever developed an intranet web page before, and I replied truthfully, "not really". I'd put together some extremely basic websites in C#/.NET, and even more extremely basic websites in HTML/Javascript. They then pointed me towards Drupal. I began reading up on Drupal around a week ago (June 10, 2008), doing research, reading up on documentation, and eyeballing some modules that I was interested in, and decided it was something I was going to try and tackle, and maybe learn something new.

We then had a bunch of meetings about website layout, and what they wanted from what their shiny new intranet. We decided to separate all the departments into different pages, each with a different blog (headed up by whoever leads the department), and a separate forum for group members to discuss issues and ideas within their department. Also, they wanted a centralized place to post up policies and guidelines. In short, they wanted to reduce email traffic, centralize all of the word documents and spreadsheets that make up a horrendous network drive, and allow the staff to search for what they need quickly and easily.

So this was all well and good. Then we got to specifics, and extra features, which I expressed as optional for the moment. They wanted RSS feeds generated from their book catalogue database placed on certain pages, flickr albums all over the place, and a lot of other little gizmos and gadgets. This is where I had to kind of put my foot down. I told them that I was working on a limited timeline, and I'd do my best to get those kinds of things into the website, but I wasn't making guarantees. I have until mid-august to finish this website as much as possible, and then I'm off doing my own thing, and heading back to school. I think, in retrospect, that was very important. Getting bogged down worrying about where you're going to fit extra content can be murderous on time constraints, and there's no way to please everyone completely.

Now, for the install.

I chose Drupal 5.7 because it was stable, and there were a multitude of modules readily available, as opposed to Drupal 6, which seemed to be a little bit less supported at this point, in terms of addons and modules.

The install went extremely smoothly. The database was easy to create, and the documentation for it was just right. The only snag I hit was the GD addon to PHP. I didn't take care of that personally, but I understand it was a quick add in, no hassle involved. I decided to try and set up a server on my ubuntu partition on my laptop, and it all went surprisingly easily. I had an Apache server, with PHP (and the GD addon), and drupal running (serving my local machine only...) in about an hour, downloads included. The GD addon was as simple as one line of sudo apt-get install php5-gd, and restarting the Apache server.

My next step will be trying to set up an authentication method for the server that pulls the login information from the local intranet authentication, and automatically puts it through to Drupal, so users don't have to log in twice.

Until my next post,

Tom.