If you search Google Groups, you'll find lots of people struggling to get Islandora to work on a Windows server. Even though Islandora should technically be Windows-compatible, it's been developed in a Linux environment and tested exclusively on Linux servers ("Building Digital Collections Using Islandora." (June 22, 2012). ALA Annual Conference. Anaheim, CA). Now, this isn't so unusual when it comes to Drupal module development, as Drupal creates a nice abstraction layer to ensure that all custom code is OS agnostic.
That said: Islandora interacts with a lot of third-party software; so much so that the idiosyncrasies of the operating system start to become important again. Here are just a few examples of Windows-incompatibilities that have crept into the Islandora codebase:
- Command-line syntax that is Linux-specific;
- Code that gets tripped up by the backslashes used in Windows paths;
- References to Unix shell scripts, even though the Windows environment uses batch files instead, etc.
After a lot of struggle and trial-and-error, my organization now has an Islandora 7 installation successfully running on a Windows server. Some of the modules needed to be patched in order to address the problems mentioned earlier. The site (still under development) has remained stable long enough that it seems safe to share these patches with the Islandora community.
Important information about these patches:
- They have only been tested with Islandora 7.x-1.2.
- Once applied, the patched modules should work in both Linux and Windows environments.
- I'm sure there are better, cleaner and more efficient ways to solve some of the problems being addressed here. Revised patches and improvements are welcome.
- At the very least, these patches will hopefully draw attention to the problem areas and spark better, more creative solutions from members of the community.
- My hope is that the Islandora development team will review these patches and consider incorporating them into the next version of Islandora.
The Islandora patches are posted below.