The Tiki community is organized in many Teams. At release time, here are the responsibilities for each.
Release coordinator
- Overall management & planning, schedules. See: Release
- Also known as "Release manager"
- See Release
Developers
- Make Tiki good enough (fix bugs, etc.) so that it can be released by the Packaging Team
- Provide Documentation Team with basic information about features.
- Update all Developer documentation to take into account new version number and features. Ex.: Download, Commit, Hello World, etc....
- Review all Experimental branches and delete if appropriate (could be done at any time, but a 6-month reminder is good).
Packaging
- Run Release scripts for packaging all releases (Alpha/Beta/RCs/Official)
- Make sure everything is OK with Packages
- Submit to and keep up to date each of the 1-click installers and Distro
- Maintain Installation guides
Security
- Review all previously reported issues on dev & sent to security list.
- Ask bug reporters how they would like to be acknowledged.
- Contact all people that have helped in the past.
- Proceed to security audit as per our release procedures.
- run doc/devtools/securitycheck.php and check each "potentially unsafe" file.
- Check for presence of all .htaccess files
- Add files to robots.txt (printed pages, etc.)
- Update security.tiki.org with sections for new version
- Run Security DB
- Monitor performance for each release before .0 is released
- Google PageSpeed
- Yahoo! YSlow
- etc.
Wishlist
- Test/triage all reported patches
- Contact them to invite them to commit directly and be active in the community
- Test/triage all reported bug reports
- Test the fixes and close the bugs
- Review How to Submit a new item on the Wishlist to make sure it's still relevant and update to take advantage of new features.
- Carry out manual test plans: Instructions for Tiki Testers
Testing
Quality
Documentation
- Update Features list & ratings
- Make doc:Tiki11 nice
- Make sure basic docs are updated (Requirements, Download, Backup, Install, Upgrade and Initial Config, etc.)
- Run Preferences report
- Make sure all new features have at least a stub.
- Make an .odt and .pdf version of the current documentation for stable releases.
Communications
- Publish news on tiki.org, SourceForge, Freshmeat, etc.
- Send tiki.org newsletters to subscribers:
- Tiki Releases
- Tiki News
- Update info on all Listings
- Inform Try Tiki sites. (OpenSourceCMS.com, etc)
- Promote on all relevant Social networking sites. (Facebook, etc.)
- Promote on all Wiki and CMS-related resources (ex.: CMScritic.com)
Branding
- Update Fact Sheet
- Update Promo Sheet
- Identify new volunteers
- Monitor support forums and help identify any blockers & regressions.
Profiles
- Determine which profiles are "Featured" and make them excellent
- Make sure admin panels are intuitive and appealing for site admins. For end users and content creators, see UX and Themes Team.
- Go through the steps of a new end-user installing Tiki, and note and correct any unclear user interface.
UX & Themes
- Make use of the test all themes profile and you will then have a drop down to easily successively test all themes.
- Install the Tiki version to be released and apply successively the featured profiles.
- Use the Pre-Dogfood Server to make sure themes work well with real world data.
- Test with major browsers, including on desktop/laptop and mobile devices (tablets and phones).
- Click around and fix what you can (layout, bad colors, missing padding, etc.).
- Make sure to try to fix main problem so it fixes in all themes (ex.: layout CSS).
- Keep in mind that bundled serve as a base for most of the custom themes that are made. Thus, they need to be as good as possible!
- Make sure basic features are intuitive and appealing for end users and content creators. For site admins, see Configuration Profiles Team.
- Pretend you are a end-user and install Tiki and address any unclear user interface.
i18n
- Remove any out of sync English strings
- Get in contact with all past translators and coordinate updates
- Upstream/merge/resolve potential conflicts of translations in stable branch to trunk
- Help translators prioritize most important information to translate. Ex.: Promo Sheet.
Infrastructure
- Progressively update each Domain to the new version, and the Dogfood Team's plan.
- The goal is that all major sites are upgraded before it's released.
Legal
- Check the licenses of all newly included or updated code.
Admins
- At each release, Admins do whatever needs doing, and whatever falls between the cracks.
Questions
If I participate in a release, how many hours do I need to invest?
There is no simple answer and "it depends".
- The number of hours is "as many as we can get". The more people we are, the more we can split the load. And the easier it'll be for all.
- There is a law of diminishing returns. Before putting hundreds of hours on X, we should try to improve Y which becomes our weakest link.
- On the other hand, volunteers can't interchangeably do any task. It's according to their interest and type of skills.
- And some teams are easier than others because of more involvement in the past. Ex.: The release scripts are so much easier than they once were.
This being said, globally, for most teams, if we get 15-25 hours. It makes a significant difference.
Assuming we have 20 people in all. And they each invest 15 hours. That 300 hours will make this release be very smooth.
And as we play our cards right and document everything (we are a Wiki community right?), the next release will be that much easier.
We are *not* in a micro-managed environment. Regardless of what team you are in, it is important to be flexible and attentive to the needs of other contributors which depend on them. For example, improvements in the release script (which might require some Developers' help), Documentation would need a script that checks all links to doc.tiki.org -> http://dev.tiki.org/How+to+release#script_to_check_all_links
alias