Ok so I've pinned this down to the storm extension contrib module. After enabling this module I was getting the WSOD on the http://yourdomain.com/storm page

If you enable this module YOU MUST enable ALL storm base modules for it to work.

This seems very inefficient as most people will not need, nor use, all of the base storm modules.

I haven't been able to pin this down, but if I enable all BUT ANY ONE of these storm modules (timetracking, knowledgebase, invoice, expense) AND enable the Storm Contrib Common and Storm Extension modules the result is a PHP Fatal Error and the WSOT on the above mentioned page

It seems that simple use of module_exists would eliminate this, or if they are all really required (shouldn't be) then they should be in the dependency list.

For now I'm just enabling all of the core storm modules even though I'm not using 5 of them.

Comments

ymmatt’s picture

Turns out there is another necessary module as I kept getting: Call to undefined function storm_contrib_costs_get_main_currency() when I tried to edit a project. To solve, just enable storm_contrib costs module.

It seems like there needs to be some serious cleaning up/checking on dependencies.

carsten müller’s picture

Hi peligrorice,

sorry for that. It is on my list to check the dependencies and function calls in the modules. At the moment the focus is on implementing features and fixing bugs. After that i will fix the dependecies, mainly by adding if (module_exists()). The modules are still in development. If you find such an dependency error, just post the whole error message in this issue, i will fix it then.

Greetings
Carsten

skolesnyk’s picture

Probably I've similar error as a result of missing dependencies when running cron

PHP Fatal error: Call to undefined function storm_contrib_common_modify_columns()

I have all storm_contrib modules switched on.

ymmatt’s picture

I figured as much, makes sense to get features/bugs taken care of and then work on dependencies.

Although, the problem is that it does actually kill functionality (WSOD=bug) unless you have EVERY module installed. It still seems real strange that they are so interdependent, more than likely there are functions/code that need to be moved to common, or the main contrib module.

carsten müller’s picture

Hi,

i just started a review for handling the dependencies and the calls of other modules without a check.
But this will take a little bit time.

carsten müller’s picture

Status: Active » Needs work
carsten müller’s picture

Hi,

this issue is now active again. I will ty to fix the dependencies as soon as possible.

carsten müller’s picture

Hi,

i am still working on this issue. But it is much stuff, so please be patient. Some modules are already managed

carsten müller’s picture

Assigned: Unassigned » carsten müller
carsten müller’s picture

this issue is still under development, i have found some points where storm contrib could be improved

carsten müller’s picture

Status: Needs work » Needs review
d34dman’s picture

stormticket_assignment is dependent on stormteam. Please mention this in info file or remove the dependencies.
I found two dependencies in following function...

@@ -4476,17 +4476,17 @@ function stormticket_assignment_block_user_tickets_tasks($block = array()) {
       unset($types['task']);
     }
 
     if (!isset($filter_ticket)) {
       $filter_ticket = array(
//->>        'stormperson' => array($account->stormperson_nid) + stormteam_user_return_teams($account),
         'ticket status search' => storm_contrib_common_storm_item_status_open(),
       );
     }
     if (!isset($filter_task)) {
       $filter_task = array(
//->>        'stormperson' => array($account->stormperson_nid) + stormteam_user_return_teams($account),
         'task status search' => storm_contrib_common_storm_item_status_open(),
       );
     }
 
     $args = array();
d34dman’s picture

Status: Needs review » Needs work
kfritsche’s picture

Status: Needs work » Needs review

Thanks D34dMan. Fixed it.

d34dman’s picture

Status: Needs review » Needs work

nice work. but here i am to trouble you again (i am sorry kfritsche, i have a feeling i should enable all the modules until a stable release is done, and after that hunt and fix dependencies)...

user warning: Table 'bmsprodb.stormproject_extension_deadlines' doesn't exist query: SELECT DISTINCT stp.nid FROM node n INNER JOIN stormproject stp ON n.vid = stp.vid LEFT JOIN stormproject_extension_deadlines sted ON n.vid = sted.vid WHERE stp.vid = n.vid AND projectstatus IN ('inserted','in progress','on hold') AND sted.deadline != 0 ORDER BY sted.deadline DESC LIMIT 0, 5 in D:\wamp\www\BMSpro\sites\all\modules\custom\storm_contrib\stormticket_assigment\stormticket_assignment.module on line 4647.

... otherwise this will turn out to be a MEGA dependencies report and fix thread. And there might be a chance that if a dependency is not fixed just after its reported, it might get ignored. should i open an issue for each dependencies issue that i come across?

d34dman’s picture

Oh sorry i forgot to mention, stormticket_assignment is dependent on stormproject_extension. I couldn't understand the code so didn't create any patch. next time i will if i could.

kfritsche’s picture

Status: Needs work » Needs review

Fixed & commited.
If stormproject_extension is missing it displays the End Date of the project.
You can't imaging how helpful all this is, please do not stop posting issues and do not enable all modules, if you can handle such kind of errors, so we can find and fix this.
Storm and Storm Contrib are so complex and I hope you understand, if we forgot sometimes such a dependency check. But there are so much modules and possibilities and even the dependencies are not so easy anymore.
Example for this bug: stormticket_assignment depends on stormticket, which depends on stormproject and thats the point where i forgot to check if stormproject_extension is enabled, i thought somehow it is enabled, because stormproject is indirect in the dependency list of stormticket_assignment, but thats not true... Sorry for that...

edit: Anyways for now please post dependency errors here. If it is such little checks like the last things, cmueller or me will fix this. If we notice, it is a bigger thing, we will open a new issue for this.

d34dman’s picture

Attaching screenshot of enabled modules. i pull the latest dev release of storm and storm_contrib. The only hack i do is in the storm.info file where i put the version number. Am attaching a edited screenshot to show you about the enabled modules. ( the modules that are not enabled have either been not installed or has been uninstalled).

Method to reproduce this bug if storm_contrib_common is enabled:

1. disable storm team
2. uninstall storm team.

user warning: Table 'acc_bmspro_dev_v2.stormteam' doesn't exist query: SELECT DISTINCT n.nid, n.title FROM node n LEFT JOIN stormteam s ON n.vid = s.vid WHERE n.status = 1 AND n.type = 'stormteam' ORDER BY title in /var/www/html/bmspro_skdev/sites/all/modules/custom/storm_contrib/storm_contrib_common/storm_contrib_common.module on line 583.
user warning: Table 'acc_bmspro_dev_v2.stormteam' doesn't exist query: SELECT DISTINCT n.nid, n.title FROM node n LEFT JOIN stormteam s ON n.vid = s.vid WHERE n.status = 1 AND n.type = 'stormteam' ORDER BY title in /var/www/html/bmspro_skdev/sites/all/modules/custom/storm_contrib/storm_contrib_common/storm_contrib_common.module on line 583.
d34dman’s picture

Status: Needs review » Needs work
StatusFileSize
new457.13 KB

screen shot for comment #18

carsten müller’s picture

Hi D34dMan,

thanks for your hep. I just commited a fix that should solve this problem. Sorry, i did not have the time to test it
yet.

d34dman’s picture

Assigned: carsten müller » d34dman

i'll test it.

d34dman’s picture

Status: Needs work » Reviewed & tested by the community

yay! uninstalling storm-team doesn't cause the error anymore. thank you maintainers.

d34dman’s picture

Status: Reviewed & tested by the community » Needs work

seems like storm person extension is dependent on storm team... Noticed this error while views storm person.

user warning: Table 'acc_bmspro_dev_v2.stormteam' doesn't exist query: SELECT ste.nid, n.title FROM stormteam ste INNER JOIN node n ON n.vid = ste.vid WHERE (ste.mnid = 345 OR ste.mnid = 222) in /var/www/html/bmspro_skdev/sites/all/modules/custom/storm_contrib/stormperson_extension/stormperson_extension.module on line 523.
kfritsche’s picture

Status: Needs work » Needs review

Removed dependency to stormteam from stormperson_extension.
It was only a dependency, when viewing stormpersons, to display the teams the user is in on the stormperson page...

kfritsche’s picture

Status: Needs review » Needs work

Wrong dependency in storm_contrib_common:

// set the active menu item for the storm list view
// then call the original strom function
function storm_contrib_common_stormproject_extension_list() {
  if (module_exists('stormproject')) {
    menu_set_active_item('storm/projects/projects');
    stormproject_extension_list();
  }
}

Should be module_exists('stormproject_extension').

kfritsche’s picture

Version: 6.x-1.x-dev » 6.x-2.x-dev
Status: Needs work » Needs review

Commited to 6.x-2.x

d34dman’s picture

An illegal choice has been detected. Please contact the site administrator.
warning: array_merge() [function.array-merge]: Argument #1 is not an array in E:\wamp\www\0StormOHM\sites\all\modules\custom\storm_contrib\storm_contrib_common\storm_contrib_common.module on line 4502.
An illegal choice has been detected. Please contact the site administrator.
warning: array_merge() [function.array-merge]: Argument #1 is not an array in E:\wamp\www\0StormOHM\sites\all\modules\custom\storm_contrib\storm_contrib_common\storm_contrib_common.module on line 4502.
An illegal choice has been detected. Please contact the site administrator.
warning: array_merge() [function.array-merge]: Argument #1 is not an array in E:\wamp\www\0StormOHM\sites\all\modules\custom\storm_contrib\storm_contrib_common\storm_contrib_common.module on line 4502.
An illegal choice has been detected. Please contact the site administrator.
warning: array_merge() [function.array-merge]: Argument #1 is not an array in E:\wamp\www\0StormOHM\sites\all\modules\custom\storm_contrib\storm_contrib_common\storm_contrib_common.module on line 4502.

The above warning appears when after enabling storm_persons and its submodules.

d34dman’s picture

StatusFileSize
new793 bytes

Attaching patch for #27

kfritsche’s picture

commited last patch to 6.x-2.x

d34dman’s picture

I wanted to just test the time tracking extention module.
So i downloaded drupal-6.26 and installed it.
then i downloaded storm ( stable release 2.0 ) and storm contrib. (drush dl storm storm_contrib)
After that i quickly went to module administration page and checked "Storm Timetracking Extension" and then clicked on save configuration. I continued with the default project dependencies that drupal had calculated. After the module installations were over.

Issue #1.
I recieved following error

The path 'storm/projects' is either invalid or you do not have access to it.

warning: array_merge() [function.array-merge]: Argument #1 is not an array in E:\wamp\www\DO\storm\dev61\sites\all\modules\contrib\storm_contrib\storm_contrib_common\storm_contrib_common.module on line 4470.

Refreshing the page removed those error.
=============================================================================================
Issue #2.

After that i went to create an organization, then added a project. (Set an end date of the project to December so i can create a task later).

I see an error on the page.

Time format is not available! Please select on admin/settings/storm/contrib a system date format

So i visited admin/settings/storm/contrib where after expanding the "Date Format" fieldset, i was greeted by two empty select list for display and system date format.

Then i visited to admin/settings/date-time and i saw that the settings were ok. ( am attaching a screenshot with this issue ).

I figured out that clicking on save configuration on this page. And then going to admin/settings/storm/contrib populates the select lists under Date Format field-sets.

So i clicked on Save Configuration in admin/settings/storm/contrib and the error disappeared .
=============================================================================================
Issue 3.
Then i created a task and saved it. Now visiting the task node, gives following error.

user warning: Table 'do_storm_dev61.stormperson' doesn't exist query: SELECT stt.nid, stt.*, n.title, n.uid, stp.nid as person_nid, stp.fullname AS person_name FROM stormtimetracking stt LEFT JOIN node n ON n.nid = stt.nid LEFT JOIN stormperson stp ON n.uid = stp.user_uid WHERE stt.task_nid = 3 ORDER BY stt.trackingdate DESC, stt.timebegin, stt.nid DESC in E:\wamp\www\DO\storm\dev61\sites\all\modules\contrib\storm_contrib\stormtimetracking_extension\stormtimetracking_extension.module on line 2792.

Seems like stormtimetracking_extension is dependent on stormperson. And to confirm my belief enabling the stormperson module cleared the error.

So a quick patch for this one is attached :)
=============================================================================================
EDIT:
I also happen to notice that Storm_contrib submodule is not turned on

d34dman’s picture

Status: Needs review » Needs work

Changing the status to bring this to the attention of maintainers.
PS. Please do let me know if this was right thing to do.

pveltsos’s picture

Same as D43dMan, downloaded clean Drupal 6.26, Storm 2.x stable and Stormcontrib.
As soon as I enable any or all modules of storm contrib I get this error when clicking on Projects:

Fatal error: Call to undefined function stormproject_extension_list() in /.../storm/sites/all/modules/storm_contrib/storm_contrib_common/storm_contrib_common.module on line 3835

Is there a chance for a fix on this? Or should I really start on ERPAL and forget Storm?

kfritsche’s picture

Will check this, but I think not before end of this or beginning of next week.
Didn't noticed this issue till now. Sorry.

kfritsche’s picture

Status: Needs work » Closed (fixed)

For comment #30:

Issue#1 - fixed a while ago in the dev verison
Issue#2 - fixed in dev
Issue#3 - fixed in dev

For comment #32:
Fixed in dev.

Thanks for the reports. Closing this issue.