Doesn't Ubercart Google Anayltics require the Google Analytics module?

Project: 
Ubercart
Category: 
bug report
Version: 
Ubercart 2.x-dev
Priority: 
normal
Assigned: 
Unassigned
Status: 
active

I am trying to figure out why the Google analytics module is not a requirement for the ubercart ecommerce google analytics module. It appears there is no functionality without it.

AttachmentSize
Googleanalytics.jpg78.27 KB

Re: Doesn't Ubercart Google Anayltics require the Google Analyti

There isn't any functionality, but it's also not going to break anything to be installed w/o Google Analytics. I don't know if this was intentional or not. Sticking out tongue

developer required vs user required

I think there are two methods of deciding how we list requirements in Ubercart.

The Developer Method.
Will my module throw an error, or otherwise explode if it doesn't have a function, db table, or some other programming element from another module.

The User Method.
Does this module operate as expected if it doesn't have functionality provided by another module.

In my opinion, we should default with the user method the majority of the time, and when we use the developer method we should ahve a Ubercart status message warning users of the lack of functionality they will experience.

A good example of using the Developer method is the tax system. In order to create/modify anything in the tax system, workflow-ng ui is required, however in order for the tax system to function, the workflow-ng ui module is not required. In this case I think a simple notification to the user is appropriate, because once the tax system is configured, the ui is unneeded code, and arguably it is a bad practice to leave it enabled due to the extra code loaded for each page load.

This current issue is a good example of defaulting to the User method. To a standard user, Ubercart appears broken. Technically the GA module isn't required, by developer standards, however to the standard non-developer, the GA module is a requirement, because uc_ga doesn't do anything without it.

Thoughts?