I've made a good progress this week. The things I've done are:
As mentioned in my previous blog post, I decided to use PG API as the basis of the fundraising module. It is light-weight and yet it provides good enough payment handling features.
As of now, the fundraising module:
The tricky bit is a donation menu feature. I want to make this feature portable so I want the number of dependent modules and configs to be as little as possible. It's taking me a while to decide what I will finally do, but I will probably use CCK, ImageField, ImageCache and Features for it. Using Nodequeue and Views would probably make the system too complex so I'll probably leave them out (and Nodequeue only works with Features if you install Features extra module, which is still in early beta).
This has been one of the biggest issues in this project - we couldn't run Drupal on IIS!! But finally I managed to get it up and running, but it was such a painful process. Getting our box recycled didn't help either (to be fair, it wasn't Microsoft guys that made this disastrous mistake. It was the people at the hosting company which Microsoft is using).
Microsoft's Web Platform Installer (WPI) is a cool tool that lets you install all kind of stuff related to web dev - not only PHP, SQL server and CMSes including Drupal, but also development tools like Visual Web Developer Express Silverlight toolkit and lots of other stuff. It's like, say, packaging up Acquia's DAMP stack with Eclipse and other useful web dev tools. I'm sure it's appreciated by many prospective web developers. Too bad it doesn't come with MySQL, but of course they have to promote their own database product i.e. SQL Server.
Installing PHP and Drupal using WPI was easy. Just follow the usual application installation process and boom, it's there. URL rewrite works fine too.
So I had no issues with WPI. But what I had issues with was IE. I never got along very well with IE6 (before that I wasn't a web developer so it wasn't an issue) and I was hoping to develop a positive relationship with IE, but that hasn't happened yet. One of the reasons why installation of Drupal was failing was because IE8 on Windows Server 2008 has cookies disabled. Because of this, Drupal's installation process stopped halfway.
I then found out that enabling the option is bloody hard. After looking around for a couple of minutes, I just gave up and installed Firefox.
The problem is that list of IE8's security options is so long, yet it is not at all organised or provides no search functionalities. I could probably have found where the option was if I googled (or binged, I should say), but why would I need to search on the internet to configure this in the first place? Eclipse's config panel has config options organised with a search feature. If you can't find the option in the tree, you can search by a string (although it doesn't work sometimes with plugins). This may not be the best practice or perfect solution, but at least you find what you need much quicker.
Since I have the whole Drupal codebase in SVN along with contrib and custom modules, I want to check out the code from repo and use that to run Drupal on the server. However, when I install it manually, rewrite doesn't work and also I get an 500 error when I try to access the admin section of the site. I searched within d.o and found out config.web needs to be updated in order to enable rewrite, but it doesn't give me enough details e.g. where the file is and how exactly I should change the file (replace the entire file? or insert some of the lines?).
I didn't want to spend too much time on this since I was running short of time. So I've just given up and decided to use the Drupal installation I've set up using WPI. If I ever find out what the issue was, I'd update the documentation on d.o.
At the beginning of this project, I didn't know about Sliverlight much at all. It's basically like Flash, but it has a number of cool features. Deep zoom is definitely a fun feature, but I personally find it cool that it auto-detects the connection speed and changes the quality of the streaming video so you don't have to choose the quality before you start watching or wait for a long time for it to buffer. Unfortunately we won't be doing any streaming video so it is not relevant to this project :p
One of the things I will be doing is to use Silverlight to build the donation menu (e.g. 'For £15, you can buy five measles vaccination, for £30…'). This will be an optional feature so donation menu will appear even if clients have no Silverlight plugins installed. (I should note that William, from Microsoft who organises this project, preferred it to be unobtrusive and asked us to make the Silverlight menu optional so visitors are not required to install a Silverlight plugin. They are cool for understanding this).
We thought about making the Silverlight integration as generic as possible, but after learning how it works and what we need to achieve for this specific project, the donation menu will be more like a proof-of-concept, rather than a set of APIs. I think the right way forward is to make Views spit out XAML, but it's out of scope of this project.
I installed Visual Developer 2008 Express and Silverlight Toolkit and poked around some sample source code. I run Windows 7 on VMWare Fusion, but Visual Developer 2008 Express was actually quite fast and I wished Eclipse was as responsive as this on Mac.
Post new comment