Yes, they should all be in the same directory.  All includes are relative to the location of the .info and .module files.  And the .install file will need to be in the same folder as well.  Think of the name of the containing folder as the name of the project which can house multiple modules if you wish.  It often has the same name as the module but not always.  A possible listing might be

 

--- sites/all/modules/annotation

annotate.admin.inc

annotate.install

annotate.module

annotate.info

annotate_manager.module

annotate_manager.info

annotate_manager.admin.inc

annotate_manager.install

 

I invented the concept of an annotate_manager module in the same directory just to drive the point home.   I intentionally made the name of the containing folder different, just to point out that it has no relation to the module names, but it is normally the same as the base module name.

 

You can also deploy these folders at any depth within your sites/all/modules folder.  So if you want to keep all your custom modules together in a

Sites/all/modules/custom folder instead, have at it.  But do keep the module files together in one folder. In that case all these files would live in

 

Sites/all/modules/custom/annotation instead.

 

Make sense?

 


From: support-bounces@drupal.org [mailto:support-bounces@drupal.org] On Behalf Of tony maciejowski
Sent: Friday, June 10, 2011 10:12 AM
To: support@drupal.org
Subject: Re: [support] Writing a module and get an error

 

Not installed in modules/system folder.
Dir structure as follows:
sites/all/modules/annotate/

  • annotate.admin.inc
  • annotate.install

sites/all/modules/custom/annotate/

The book was a bit confusing as to where the files should go. Should they all be in one or the other of these dirs and not split between the 2?

Thanks ... yes near the mark.
Tony


On Fri, Jun 10, 2011 at 9:05 AM, Metzler, David <metzlerd@evergreen.edu> wrote:

Guessing “annotate” is the name of your module.  Is it installed in the modules/system folder?    Should really be in sites/all/modules/myprojectname. 

 

One common mistake is when moving files around when you’re first learning how to develop is to leave a copy of your module in another folder.  When you do this, drupal might find that old copy first.  If it does that it will be looking for annotate.admin.inc in the wrong location.

 

My guess here is that  you implemented a menu_hook that references an include file (annotate.adin.inc ). 

 

Make sure any duplicate/old module files are removed and then clear your caches. You might also need to save changes to the module list to make sure the system table (which keeps track of where modules are installed) gets updated with the correct location of your module file.

 

Am I near the mark?


Dave

 


From: support-bounces@drupal.org [mailto:support-bounces@drupal.org] On Behalf Of tony maciejowski
Sent: Thursday, June 09, 2011 11:04 PM
To: support@drupal.org
Subject: [support] Writing a module and get an error

 

Hi All,
I am in Chapter 2 of Tomlinson's et al book about Pro Drupal 7 Development.
Get the following error upon completion of the code:
Warning: require_once(/home3/tonymacc/public_html/drupal-7.0/modules/system/annotate.admin.inc) [function.require-once]: failed to open stream: No such file or directory in menu_execute_active_handler() (line 499 of /home3/tonymacc/public_html/drupal-7.0/includes/menu.inc).

Grateful for any pointers.

Thanks
Tony

--

tony maciejowski | analyst/programmer  | websites | tony@tony-mac.com

Office: 323.***.5137 | Cell: 323.***.6206 | Germany: 49-30-76764897 

 

 


--
[ Drupal support list | http://lists.drupal.org/ ]




--

tony maciejowski | analyst/programmer  | websites | tony@tony-mac.com

Office: 323.463.5137 | Cell: 323.899.6206 | Germany: 49-30-76764897