The usual reasons for a package failing on one site and not failing on another

Permalink 2 users found helpful
This came up again in a PRB review. Posting here for posterity.

The usual reasons for a package failing on one site and not failing on another:

- Assumptions made about the site being installed in the web root, or a sub-directory of the web root

- Incorrect character sets in the database or php

- Case sensitivity

- Assumptions about equivalence of null/0/false/"" and 1/true/"string"/not-null fail when run on a strict MySQL database

- Developer has got to current state through an evolution of updates during development and is not testing a fresh install

- Assumptions about core versions

- Php extensions required

- Site settings required that are not automated by the package install or documented

- Namespace pollution in php, css or javascript conflicting with packages the developer does not have installed

- Assumptions made about the uniqueness of bID. There are several solutions that can be found on the forums. For an easy example, look at the core Google Maps block.

- Failure to test things like copy/paste and adding the block to a stack.

I am sure there are more. This is just a quick brain-dump.

View Replies:
Gondwana replied on at Permalink Reply
Very helpful, Mr theFish. I've added these points to my checklist (which is actually more like a checklist of other checklists).

We could do with a project to rationalise the various checklists. Having said so, I guess I know where the buck stops. :)
MrKDilkington replied on at Permalink Reply
This is a useful list, thank you.