11
OK, here's my 2 cents for this discussion.
What I see as the task of this QA team is to lead the way to preserve and improve the quality of the XOOPS modules. This needs to be implemented on several levels IMHO.
- Setting the standards
QA is a community effort too, and we should make it as open as possible. But for a good QA process, standards need to be set, and protocols as well. The QA team should be responsible in setting (and motivating) those standards.
The most difficult one to set is coding standards. They could range from using the PEAR Coding Standards for code notation, to PHPDocumentor code comments, to using the XOOPS API to it's fullest extend, to using only secure code, to keeping the code lean and fast and easy on the queries. But these require a LOT of knowledge from the coder, and a LOT of documentation from the XOOPS teams. That, I'm afraid, is still a bridge too far.
But it's not just coding standards, it's also presentation, packaging, file structure, user information etc. Only XHTML 1.0 Transitional output in the templates (the ThemeForge could play a role in this), complete predefined structure for module packages, so they install easy, documentation, language definitions, readme files, license files, changelogs, uncopyrighted images, credits to all who helped out, support website reference, bug reporting link, feedback link etc. All these should be part of a fully certified module. We need lists of Must Haves and Nice to Haves. And then we need to show everyone how to make modules according to those standards.
- Showing the way.
Along with the developers and designers, a sample module would be a good thing, IMHO. But again, this should be a community effort. Therefore I suggest a sample module project with a list of things to do and to be added, and anyone can add their bits and pieces. The QA team will supervise and help out as well.
- Providing the tools.
Third task IMHO is to provide the tools and procedures so that anyone, and I mean anyone, can perform a series of tests on a module or a piece of code and see if it works, and meets some of our standrads. These should be workable, and reporting should be easy enough to make some initial conclusions. The smoketests are the first (and best) example, the sample module is another.
- Last but definately not least: security.
I also think the QA team should have a few people dedicated and knowledgable about security issues. They should keep an eye out for important reports and issues, and dig into the system to see if XOOPS is vulnerable. The japanese community seems highly competent for this task, maybe some collaboration on this would be great.
Like I said, my 2 cts, but it's not just random thoughts. I have thought this thru before, but it's nothing final yet. Let us know what you think!
Herko