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.
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.
We could do with a project to rationalise the various checklists. Having said so, I guess I know where the buck stops. :)