phpBB.com provides a service that, to our knowledge, is provided by no other phpBB site or any modification site of any forum product for that matter. The primary goal of validation is to do our best in providing secure, compliant, and working MODs to the public. The secondary goal is to validate MODs as quickly as possible while maintaining a high level of quality validation. Therefore these steps seek to optimize our every move to prevent needlessly getting bogged down. Here's the general outline followed by more in-depth explanations:
- Download the MOD from the phpBB.com MODs Database and extract if necessary.
- Quick check of The Obvious reasons to deny
- Once created, a time-saver screening of the MOD with an Automatic Parsing proggie
- Cut to the chase with the Insta-Deny Checklist
- Targeted security checks and calculate the Security Score
- Functionality Tests will justify if we should check or reject before having to manually inspect.
- The big time hit - Manual Inspection of every line
- Ensure the DB post entry lists any Prerequisites and Formatting is apporpriate
- Surving all that.... release it!!
These are the things that go without saying... but not for some people so I guess we gotta say 'em If at a glance these requirements are not met, then Insta-Deny:
- pack - Submissions can be .zip and .mod only
- script - Must have a MOD (.mod or .txt) file included
- preMOD - PreMOD'ed files can optionally be supplied only if kept separate from the base MOD and there are clear instructions for using them. However, there must be a MOD script for those not wanting to use the preMOD'ed files
- ownership - MODs may only be submitted by the author (or whoever is now responsible for the MOD)
- phpBB ver - Must be for current phpBB version on the date submitted
- systems - Appear to use DBAL, templates, lang system
This is vaporware right now, but we hope to have a simple proggie that will scan files to make sure the following check out. Doesn't necessarily mean Insta-Deny... but probably But until this proggie exists, it is unrealistic to ask that we spend the time to enforce some of these.
- PHP - 3.0.9 is the lowest acceptable so PHP4+ commands need to be axed
- MySQL - some folks skip DBAL and use straight MySQL commands and that is a no-no (unless there is a reason)
- English - make sure English lang files are not hardcoded into paths
- subSilver - make sure subSilver files are not hardcoded into paths
The Insta-Deny Checklist makes use of MOD Team tools that can automatically discover problems in MODs. The comphrensive guidelines can be found here. The general steps are:
- validator - run through the MOD Validator
- install - install with EM
This is the first real time hit, but its not too bad. Mostly performing a straight search for key elements. The comphrensive guidelines can be found here.
- check files - checks on PHP files
- check MOD - check on MOD script
- score - if passed, assign score
Plain and simple the MOD needs to work. Sure, it might not be as feature complete as one might like, but it's gotta work!
- test the functionality of all effected files under as many scenarios as is feasible
- check that DB updates/access is working smoothly
This is where all the times goes. Must check every line of code... blah!!! It is critical to make this process as efficient as possible and to reduce the number of items if possible.
- coding - use the Coding Guidelines when applicable
- policies - make sure the MOD script uses all acceptable policies and procedures (tutorial, BBCode, etc.)
- SQL - scrutinize each SQL statement, especially insert and updates (mostly done already in the security check
- admin - Make sure there is no unwarranted access to ADMIN/MOD permissions, when they are not warranted/expected.
- bugs - look for any obvious bugs, especially in loops. No need to go crazy though.
- Eng-SS - tpl files must use subSilver and the lang must be English. Other styles and langs can be additionally supplied though.
- text - no hard coded text in tpl files, use the lang system
- HTML - HTML in php files should be scarce, use the tpl files
Phew! The MOD is on the verge of release!
- format - no obscenities or garrish formatting
- prereqs - for example: specific DB only, gd graphics libraries, adjusting server permissions
- notes - any obvious flaws; any author notes