Developing for Drupal 7

View: New views
14 Messages — Rating Filter:   Alert me  

Developing for Drupal 7

by James Benstead :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I'm going to be able to not do much paid work over the next few months, so I thought I'd work pretty much full time on improving my Drupal skills. After chatting to one developer I've come to the conclusion that the best way I can spend my time is by learning Drupal core, and that the best way to learn Drupal core is to write and review patches for Drupal 7, pretty much full time.

I've put Drupal sites together before and written modules, but as I've not had much to do with Drupal's core code before I don't know where to start with working on it. At the moment I can find very simple issues and patches which I am able to work on, but I don't seem to be learning much while I'm working on them. On the other hand, many of the issues and patches are beyond my reach, simply because I don't know how Drupal hangs together.

So, can anyone provide me with a framework of how Drupal core works that will help me get started on more complex and rewarding patches, or should I just keep plugging away semi-randomly at the issue queues and learn more or less organically?

Re: Developing for Drupal 7

by Michael Favia-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

James Benstead wrote:
> So, can anyone provide me with a framework of how Drupal core works
> that will help me get started on more complex and rewarding patches,
> or should I just keep plugging away semi-randomly at the issue queues
> and learn more or less organically?
Very few people have a keen understanding in ALL aspects of drupal core
much like very few people have the same level of experience in the linux
kernel. I would suggest finding an area of drupal that interest you or
one that is receiving alot of attention and running it through a
debugger (ZendDebugger or the like) to step through its function and get
a general understanding of its internal operation. Take the knowledge
gained and attempt to pair it with an issue or two i that area of core
and repeat with other areas orf core. Over time you develop a passing
understanding of a good portion of it. at least thats my M.O. -mf

Re: Developing for Drupal 7

by Moshe Weitzman :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

FWIW, I learned by stepping through a debugger as well. PHP debuggers
are a pain to setup, but the benefits are enormous.

Also, Pro Drupal Development book is still the developer bible, IMO.
Also worth its weight in gold.

On Sun, Oct 11, 2009 at 9:38 PM, Michael Favia <michael@...> wrote:

> James Benstead wrote:
>>
>> So, can anyone provide me with a framework of how Drupal core works that
>> will help me get started on more complex and rewarding patches, or should I
>> just keep plugging away semi-randomly at the issue queues and learn more or
>> less organically?
>
> Very few people have a keen understanding in ALL aspects of drupal core much
> like very few people have the same level of experience in the linux kernel.
> I would suggest finding an area of drupal that interest you or one that is
> receiving alot of attention and running it through a debugger (ZendDebugger
> or the like) to step through its function and get a general understanding of
> its internal operation. Take the knowledge gained and attempt to pair it
> with an issue or two i that area of core and repeat with other areas orf
> core. Over time you develop a passing understanding of a good portion of it.
> at least thats my M.O. -mf
>

Re: Developing for Drupal 7

by Daniel F. Kudwien :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

If you think you are prepared to roll some patches, then *now* is the right
time to immediately start:


Critical API clean-ups for Drupal 7:

http://drupal.org/project/issues/search/drupal?status[]=Open&issue_tags=D7+A
PI+clean-up


The ~10 exceptions for Drupal 7:

http://drupal.org/project/issues/search/drupal?issue_tags=Exception%20code%2
0freeze


General list of nice to have Drupal core API clean-ups:

http://drupal.org/project/issues/search/drupal?status[]=Open&version[]=7.x&i
ssue_tags=API+clean-up


We have like 4 days to get all of those ready and make D7 really shine.


If you can roll patches, but don't know that much about Drupal core yet:

http://drupal.org/project/issues/search/drupal?issue_tags=Novice


Welcome to the club! :)


Thanks,
sun


Re: Developing for Drupal 7

by James Benstead :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks Daniel, Michael, Moshe. It seems like a combination of working through the issue queues and using a step-through debugger is probably the best way to proceed.

For the record I'm going to try http://robshouse.net/article/xdebug-komodo-and-acquia-drupal-stack-installer. I'm going to use it with XAMPP rather than the Acquia DAMP stack through (I can't actually get Acquia DAMP to install on my Mac - see http://acquia.com/node/911603 - any tips?). Does the Acquia stack have any particular advantages?

Thanks once more, I'm off to set up a debugger. Wish me luck!

2009/10/12 Daniel F. Kudwien <news@...>
If you think you are prepared to roll some patches, then *now* is the right
time to immediately start:


Critical API clean-ups for Drupal 7:

http://drupal.org/project/issues/search/drupal?status[]=Open&issue_tags=D7+A
PI+clean-up



The ~10 exceptions for Drupal 7:

http://drupal.org/project/issues/search/drupal?issue_tags=Exception%20code%2
0freeze



General list of nice to have Drupal core API clean-ups:

http://drupal.org/project/issues/search/drupal?status[]=Open&version[]=7.x&i
ssue_tags=API+clean-up



We have like 4 days to get all of those ready and make D7 really shine.


If you can roll patches, but don't know that much about Drupal core yet:

http://drupal.org/project/issues/search/drupal?issue_tags=Novice


Welcome to the club! :)


Thanks,
sun



Re: Developing for Drupal 7

by T L-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hey James,

Do you already have an instance of apache running?  OSX ships with apache, I think you can turn it on accidentally by enabling web sharing or something along those lines--sorry I don't have 10.6.  All apache installations run on port 80 by default, and you can get a slightly cryptic error similar to what you are seeing (not rocking damp here so I am only guessing).

As far as damp vs xampp, I'm sure damp is a great product and probably has some nice drupal integrations.  You can run drupal on any stack tho--I've had good success setting people up with MAMP.  So trying another stack may resolve things or at least help you figure out if your issues are application specific.

Debuggers can be a little tricky--there's a nice vim php debugger guide you can easily google for.  I wouldn't recommend the vim route if you aren't already familiar with vim tho.  Other than that, I believe eclipse has support for debugging integration. 

Best,
Tim  

Tim Loudon
t: 781.686.6096

On Oct 13, 2009, at 7:45 PM, James Benstead <james.benstead@...> wrote:

Thanks Daniel, Michael, Moshe. It seems like a combination of working through the issue queues and using a step-through debugger is probably the best way to proceed.

For the record I'm going to try http://robshouse.net/article/xdebug-komodo-and-acquia-drupal-stack-installer. I'm going to use it with XAMPP rather than the Acquia DAMP stack through (I can't actually get Acquia DAMP to install on my Mac - see http://acquia.com/node/911603 - any tips?). Does the Acquia stack have any particular advantages?

Thanks once more, I'm off to set up a debugger. Wish me luck!

2009/10/12 Daniel F. Kudwien <news@...>
If you think you are prepared to roll some patches, then *now* is the right
time to immediately start:


Critical API clean-ups for Drupal 7:

http://drupal.org/project/issues/search/drupal?status[]=Open&issue_tags=D7+A
PI+clean-up


The ~10 exceptions for Drupal 7:

http://drupal.org/project/issues/search/drupal?issue_tags=Exception%20code%2
0freeze


General list of nice to have Drupal core API clean-ups:

http://drupal.org/project/issues/search/drupal?status[]=Open&version[]=7.x&i
ssue_tags=API+clean-up


We have like 4 days to get all of those ready and make D7 really shine.


If you can roll patches, but don't know that much about Drupal core yet:

http://drupal.org/project/issues/search/drupal?issue_tags=Novice


Welcome to the club! :)


Thanks,
sun



Re: Developing for Drupal 7

by James Benstead :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Tim,

Having checked out the comments in http://acquia.com/blog/stacking-drupal it seems that Acquia DAMP still doesn't support Snow Leopard - but this is a little weird, as I have got ADAMP working on a clean user account on Snow Leopard.

In my own user account, I have done sudo killall httpd to make sure that there are no Apache instances running, so I don't think it's that either.

I'm now set up with MacGDBp and XDebug and Textmate, and it seems to be working fine - now to dive in to D7 core!

--J

2009/10/14 T L <tloud365@...>
Hey James,

Do you already have an instance of apache running?  OSX ships with apache, I think you can turn it on accidentally by enabling web sharing or something along those lines--sorry I don't have 10.6.  All apache installations run on port 80 by default, and you can get a slightly cryptic error similar to what you are seeing (not rocking damp here so I am only guessing).

As far as damp vs xampp, I'm sure damp is a great product and probably has some nice drupal integrations.  You can run drupal on any stack tho--I've had good success setting people up with MAMP.  So trying another stack may resolve things or at least help you figure out if your issues are application specific.

Debuggers can be a little tricky--there's a nice vim php debugger guide you can easily google for.  I wouldn't recommend the vim route if you aren't already familiar with vim tho.  Other than that, I believe eclipse has support for debugging integration. 

Best,
Tim  

Tim Loudon
t: 781.686.6096

On Oct 13, 2009, at 7:45 PM, James Benstead <james.benstead@...> wrote:

Thanks Daniel, Michael, Moshe. It seems like a combination of working through the issue queues and using a step-through debugger is probably the best way to proceed.

For the record I'm going to try http://robshouse.net/article/xdebug-komodo-and-acquia-drupal-stack-installer. I'm going to use it with XAMPP rather than the Acquia DAMP stack through (I can't actually get Acquia DAMP to install on my Mac - see http://acquia.com/node/911603 - any tips?). Does the Acquia stack have any particular advantages?

Thanks once more, I'm off to set up a debugger. Wish me luck!

2009/10/12 Daniel F. Kudwien <news@...news@...>
If you think you are prepared to roll some patches, then *now* is the right
time to immediately start:


Critical API clean-ups for Drupal 7:

http://drupal.org/project/issues/search/drupal?status[]=Open&issue_tags=D7+A
PI+clean-up


The ~10 exceptions for Drupal 7:

http://drupal.org/project/issues/search/drupal?issue_tags=Exception%20code%2
0freeze


General list of nice to have Drupal core API clean-ups:

http://drupal.org/project/issues/search/drupal?status[]=Open&version[]=7.x&i
ssue_tags=API+clean-up


We have like 4 days to get all of those ready and make D7 really shine.


If you can roll patches, but don't know that much about Drupal core yet:

http://drupal.org/project/issues/search/drupal?issue_tags=Novice


Welcome to the club! :)


Thanks,
sun




Re: Developing for Drupal 7

by Joshua Brauer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Tim & James,

To answer a couple of questions here. The DAMP installer does indeed work with Snow Leopard (since the September 17th release).

One feature, in addition to easy installation of xdebug as in Rob's post http://robshouse.net/article/xdebug-komodo-and-acquia-drupal-stack-installer, is the DAMP stack installer makes importing existing sites and setting up multiple sites running Drupal 5 - Drupal 7 very easy. For me this is a great boon in testing where I can do all the steps manually or can use the import feature to spin up YALDI (Yet Another Local Drupal Instance) with ease.

Thanks,
Josh

--
Follow me on Twitter: http://twitter.com/jbrauer

On Oct 14, 2009, at 11:12 AM, James Benstead wrote:

Hi Tim,

Having checked out the comments in http://acquia.com/blog/stacking-drupal it seems that Acquia DAMP still doesn't support Snow Leopard - but this is a little weird, as I have got ADAMP working on a clean user account on Snow Leopard.

In my own user account, I have done sudo killall httpd to make sure that there are no Apache instances running, so I don't think it's that either.

I'm now set up with MacGDBp and XDebug and Textmate, and it seems to be working fine - now to dive in to D7 core!

--J

2009/10/14 T L <tloud365@...>
Hey James,

Do you already have an instance of apache running?  OSX ships with apache, I think you can turn it on accidentally by enabling web sharing or something along those lines--sorry I don't have 10.6.  All apache installations run on port 80 by default, and you can get a slightly cryptic error similar to what you are seeing (not rocking damp here so I am only guessing).

As far as damp vs xampp, I'm sure damp is a great product and probably has some nice drupal integrations.  You can run drupal on any stack tho--I've had good success setting people up with MAMP.  So trying another stack may resolve things or at least help you figure out if your issues are application specific.

Debuggers can be a little tricky--there's a nice vim php debugger guide you can easily google for.  I wouldn't recommend the vim route if you aren't already familiar with vim tho.  Other than that, I believe eclipse has support for debugging integration. 

Best,
Tim  

Tim Loudon
t: 781.686.6096

On Oct 13, 2009, at 7:45 PM, James Benstead <james.benstead@...> wrote:

Thanks Daniel, Michael, Moshe. It seems like a combination of working through the issue queues and using a step-through debugger is probably the best way to proceed.

For the record I'm going to try http://robshouse.net/article/xdebug-komodo-and-acquia-drupal-stack-installer. I'm going to use it with XAMPP rather than the Acquia DAMP stack through (I can't actually get Acquia DAMP to install on my Mac - see http://acquia.com/node/911603 - any tips?). Does the Acquia stack have any particular advantages?

Thanks once more, I'm off to set up a debugger. Wish me luck!

2009/10/12 Daniel F. Kudwien <news@...news@...>
If you think you are prepared to roll some patches, then *now* is the right
time to immediately start:


Critical API clean-ups for Drupal 7:

http://drupal.org/project/issues/search/drupal?status[]=Open&issue_tags=D7+A
PI+clean-up


The ~10 exceptions for Drupal 7:

http://drupal.org/project/issues/search/drupal?issue_tags=Exception%20code%2
0freeze


General list of nice to have Drupal core API clean-ups:

http://drupal.org/project/issues/search/drupal?status[]=Open&version[]=7.x&i
ssue_tags=API+clean-up


We have like 4 days to get all of those ready and make D7 really shine.


If you can roll patches, but don't know that much about Drupal core yet:

http://drupal.org/project/issues/search/drupal?issue_tags=Novice


Welcome to the club! :)


Thanks,
sun






smime.p7s (2K) Download Attachment

Re: Developing for Drupal 7

by James Benstead :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Josh,

Thanks for this, and for your help on the forums in trying to get DAMP working for me - it certainly seems to offer really useful features, so I'll persevere with getting it to work on my Mac.

--Jim

2009/10/14 Joshua Brauer <joshua@...>
Hi Tim & James,

To answer a couple of questions here. The DAMP installer does indeed work with Snow Leopard (since the September 17th release).

One feature, in addition to easy installation of xdebug as in Rob's post http://robshouse.net/article/xdebug-komodo-and-acquia-drupal-stack-installer, is the DAMP stack installer makes importing existing sites and setting up multiple sites running Drupal 5 - Drupal 7 very easy. For me this is a great boon in testing where I can do all the steps manually or can use the import feature to spin up YALDI (Yet Another Local Drupal Instance) with ease.

Thanks,
Josh

--
Follow me on Twitter: http://twitter.com/jbrauer

On Oct 14, 2009, at 11:12 AM, James Benstead wrote:

Hi Tim,

Having checked out the comments in http://acquia.com/blog/stacking-drupal it seems that Acquia DAMP still doesn't support Snow Leopard - but this is a little weird, as I have got ADAMP working on a clean user account on Snow Leopard.

In my own user account, I have done sudo killall httpd to make sure that there are no Apache instances running, so I don't think it's that either.

I'm now set up with MacGDBp and XDebug and Textmate, and it seems to be working fine - now to dive in to D7 core!

--J

2009/10/14 T L <tloud365@...>
Hey James,

Do you already have an instance of apache running?  OSX ships with apache, I think you can turn it on accidentally by enabling web sharing or something along those lines--sorry I don't have 10.6.  All apache installations run on port 80 by default, and you can get a slightly cryptic error similar to what you are seeing (not rocking damp here so I am only guessing).

As far as damp vs xampp, I'm sure damp is a great product and probably has some nice drupal integrations.  You can run drupal on any stack tho--I've had good success setting people up with MAMP.  So trying another stack may resolve things or at least help you figure out if your issues are application specific.

Debuggers can be a little tricky--there's a nice vim php debugger guide you can easily google for.  I wouldn't recommend the vim route if you aren't already familiar with vim tho.  Other than that, I believe eclipse has support for debugging integration. 

Best,
Tim  

Tim Loudon
t: 781.686.6096

On Oct 13, 2009, at 7:45 PM, James Benstead <james.benstead@...> wrote:

Thanks Daniel, Michael, Moshe. It seems like a combination of working through the issue queues and using a step-through debugger is probably the best way to proceed.

For the record I'm going to try http://robshouse.net/article/xdebug-komodo-and-acquia-drupal-stack-installer. I'm going to use it with XAMPP rather than the Acquia DAMP stack through (I can't actually get Acquia DAMP to install on my Mac - see http://acquia.com/node/911603 - any tips?). Does the Acquia stack have any particular advantages?

Thanks once more, I'm off to set up a debugger. Wish me luck!

2009/10/12 Daniel F. Kudwien <news@...news@...>
If you think you are prepared to roll some patches, then *now* is the right
time to immediately start:


Critical API clean-ups for Drupal 7:

http://drupal.org/project/issues/search/drupal?status[]=Open&issue_tags=D7+A
PI+clean-up


The ~10 exceptions for Drupal 7:

http://drupal.org/project/issues/search/drupal?issue_tags=Exception%20code%2
0freeze


General list of nice to have Drupal core API clean-ups:

http://drupal.org/project/issues/search/drupal?status[]=Open&version[]=7.x&i
ssue_tags=API+clean-up


We have like 4 days to get all of those ready and make D7 really shine.


If you can roll patches, but don't know that much about Drupal core yet:

http://drupal.org/project/issues/search/drupal?issue_tags=Novice


Welcome to the club! :)


Thanks,
sun






Re: Developing for Drupal 7

by justin randell :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

hi,

On Thu, Oct 15, 2009 at 4:18 PM, James Benstead
<james.benstead@...> wrote:
> Hi Josh,
>
> Thanks for this, and for your help on the forums in trying to get DAMP
> working for me - it certainly seems to offer really useful features, so I'll
> persevere with getting it to work on my Mac.

a bit late in the game, but just to throw in another approach.

have you thought about using a linux virtual machine via virtualbox
(or similar)? you can then target the platform (and distro if you need
to) that your code is most likely to run on without regard for your
desktop environment. its also straight forward to share the files from
or to the VM, so you can edit them as if they were local on your
desktop.

if you're interested in any more specifics, i'd be happy to help out.

cheers
justin

Re: Developing for Drupal 7

by Michael Favia-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 10/16/2009 07:37 AM, justin randell wrote:

>
> a bit late in the game, but just to throw in another approach.
>
> have you thought about using a linux virtual machine via virtualbox
> (or similar)? you can then target the platform (and distro if you need
> to) that your code is most likely to run on without regard for your
> desktop environment. its also straight forward to share the files from
> or to the VM, so you can edit them as if they were local on your
> desktop.
>    
This is actually a great approach and one I have used in the past to
avoid the constant overhead and filesystem pollution of setting up and
running a full development environment on my laptops. Its a little
heavier when its in use but it sure packs away nicely :). -mf

Re: Developing for Drupal 7

by James Benstead :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Justin,

I have considered this - I saw it set up on someone's laptop at DrupalCon Paris and it seemed like a great idea, not least because it allowed for website testing in multiple virtualised platforms.

I guess what I'd like to do is set up Ubuntu Server in Virtualbox, set up Drupal on that server, and then access it both from the native Mac environment, Windows 7 running on Virtualbox and Windows XP running on Parallels. I'm cool with setting up the virtual machines and there are doubtless loads of good tutorials on how to set up D7 on Ubuntu Server. It would be great to get some help - or pointers to good tutorials - on how to interconnect the Virtualbox VM with both the native Mac OS X and the virtualised Windows installations, so that the Ubuntu Server VM looks like a server from those platforms - i.e., so I can access it via an IP address in a browser, and connect to it via SSH, FTP etc. Any help you can give on this would be great.

Thanks!

--Jim

2009/10/16 justin randell <justin.randell@...>
hi,

On Thu, Oct 15, 2009 at 4:18 PM, James Benstead
> Hi Josh,
>
> Thanks for this, and for your help on the forums in trying to get DAMP
> working for me - it certainly seems to offer really useful features, so I'll
> persevere with getting it to work on my Mac.

a bit late in the game, but just to throw in another approach.

have you thought about using a linux virtual machine via virtualbox
(or similar)? you can then target the platform (and distro if you need
to) that your code is most likely to run on without regard for your
desktop environment. its also straight forward to share the files from
or to the VM, so you can edit them as if they were local on your
desktop.

if you're interested in any more specifics, i'd be happy to help out.

cheers
justin


Re: Developing for Drupal 7

by Greg Knaddison - GVS :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sat, Oct 17, 2009 at 8:10 AM, James Benstead
<james.benstead@...> wrote:

> I guess what I'd like to do is set up Ubuntu Server in Virtualbox, set up
> Drupal on that server, and then access it both from the native Mac
> environment, Windows 7 running on Virtualbox and Windows XP running on
> Parallels. I'm cool with setting up the virtual machines and there are
> doubtless loads of good tutorials on how to set up D7 on Ubuntu Server. It
> would be great to get some help - or pointers to good tutorials - on how to
> interconnect the Virtualbox VM with both the native Mac OS X and the
> virtualised Windows installations, so that the Ubuntu Server VM looks like a
> server from those platforms - i.e., so I can access it via an IP address in
> a browser, and connect to it via SSH, FTP etc. Any help you can give on this
> would be great.

Can I suggest http://crackingdrupal.com/blog/greggles/easier-and-safer-drupal-development-virtualbox-virtualization
:)

It doesn't address how to setup the connection between the Windows
guest and the Linux guest, but that should be fairly straightforward -
it's the same as connecting from the host Mac to the guest Linux.

Regards,
Greg

--
Greg Knaddison | 303-800-5623 | http://growingventuresolutions.com
Cracking Drupal - Learn to protect your Drupal site from hackers
Now available from Wiley http://crackingdrupal.com

Re: Developing for Drupal 7

by justin randell :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

hi,

On Sat, Oct 17, 2009 at 3:10 PM, James Benstead
<james.benstead@...> wrote:

> Hi Justin,
>
> I have considered this - I saw it set up on someone's laptop at DrupalCon
> Paris and it seemed like a great idea, not least because it allowed for
> website testing in multiple virtualised platforms.
>
> I guess what I'd like to do is set up Ubuntu Server in Virtualbox, set up
> Drupal on that server, and then access it both from the native Mac
> environment, Windows 7 running on Virtualbox and Windows XP running on
> Parallels. I'm cool with setting up the virtual machines and there are
> doubtless loads of good tutorials on how to set up D7 on Ubuntu Server. It
> would be great to get some help - or pointers to good tutorials - on how to
> interconnect the Virtualbox VM with both the native Mac OS X and the
> virtualised Windows installations, so that the Ubuntu Server VM looks like a
> server from those platforms - i.e., so I can access it via an IP address in
> a browser, and connect to it via SSH, FTP etc. Any help you can give on this
> would be great.

we've found its useful to setup two interfaces on our VMs. the first
is a simple NAT interface so the VM has net access, and the a second
is a host-only interface.

by default, the host only interfaces on all of your virtualbox VMs
will be on a shared subnet, so they can all see each other, which is
what you seem to be after. it will also work if you have no net
access. i'm not sure how to plug parallels into that networking
equation - none of the mac people at zivtech use it in that way, as
virtualbox is just fine for windows virtualisation.

we've found that insisting that development be done on the production
OS, but leaving it up to developers to choose their desktop, has
worked really well, both in terms of giving those finnicky developers
some freedom (i don't know if i'd take a job that required me to use
proprietary crap like windows or OSX on my desktop) and not getting
bitten by bugs that hide in one OS setup only to surface on another.

hope that helps.

cheers
justin