Tag Archives: Drupal

Case Sensitivity on Git for Macs

Today I ran into an issue with git and case sensitivity on Macs. Although Macs preserve case, their filesystems is case insensitive. So something like:

themes/ODOC/odoc.info

is equivalent to:

themes/odoc/odoc.info

However, they are completely different when deployed to a linux server. Therefore it completely ignored any attempt to change the case and Drupal was actually using “themes/ODOC” instead of the correct “themes/odoc”. If you ever run into this issue, I found this blog entry to be extremely valuable:

http://tapestryjava.blogspot.com/2010/07/git-on-mac-os-x-dont-ignore-case.html

Enabling Xdebug for Acquia Dev Desktop

There are three essential tools I use in order to develop Drupal sites: Acquia Dev Desktop, NetBeans IDE, and Xdebug. Xdebug is a great tool to step through your code in order to troubleshoot a bug, however, it comes disabled by default on Acquia Dev Desktop. The following are instructions to enable Xdebug on Acquia Dev Desktop (ADD).

Note: although both ADD and Netbeans are cross-platform applications, these instructions are for Mac OS X. Windows and Linux instructions might differ slightly.

1) Start ADD and click the Settings… button

Acquia Dev Desktop

2) In Settings, click the Config tab

Acquia Dev Desktop Config screen

3) Click the Edit link to the right of PHP

4) After your text editor starts, look for the following line:

;zend_extension="/Applications/acquia-drupal/php5_3/ext/xdebug.so"

and replace with:

zend_extension="/Applications/acquia-drupal/php5_3/ext/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000

5) Save the file and close the text editor

6) Click the OK button and restart the Acquia Drupal Stack

Once you have Xdebug enabled, you should now be able to step through your code on NetBeans. Here are the steps to verify Xdebug is working with NetBeans:

1) After you start NetBeans edit your project’s properties: File -> Project Properties

2) Under Run Configuration change the Project URL from the default URL to Acquia Dev Desktop’s URL (e.g. http://localhost:8082/)

NetBeans - Project Properties

3) Click the OK button

4) Start the project debugger, on the menu click Debug -> Debug Project

5) Look in the NetBeans status bar for netbeans-xdebug running

NetBeans Debugging Status Bar

6) Once xdebug is running, you can now step through your code by clicking the Step Through buttons

Netbeans debugger

You should now be stepping through your code. Feel free to step into functions and following the logica flow of your application. More information on PHP debugging with NetBeans can be found here:

http://netbeans.org/kb/docs/php/debugging.html

Happy Debugging!!!

 

Drupal DSpace Module Launched

Today I launched my new Drupal DSpace project. There are two modules included in this project, the DSpace module and the DSpace Biblio module.

DSpace Module:
The purpose of the DSpace module is to parse a DSpace REST XML feed using the Feeds module and map the feed items into nodes.

DSpace Biblio Module:
The DSpace Biblio module maps DSpace metadata fields with Biblio fields.

More information can be found here:
http://drupal.org/project/dspace

 

Git Logo

Accidentally Adding a Git Submodule

Git LogoRecently I’ve been working on a Drupal project at work and a fellow co-worker wanted to piggy-back resources on a similar project. He sent me over the code for a custom module I was going to use on the project.

Only after committing and pushing the folder from my local git repo to the origin server did I notice the remnants of my co-workers .git folder. This cause git to treat the subfolder as a git submodule and ignore the contents of the subfolder as I push my project to the origin server.

Here is what you need to do in order to remove the submodule and add as a subfolder:

git rm --cached subfolder
git add subfolder
git commit -m "Enter message here"
git push

Now the origin should be able to see the contents of the subfolder.