PunBB module

From PGVWiki
Jump to: navigation, search


PunBB module
PunBB logo.png
Contact: Nathan S. Watson-Haigh
Current Codebase: v1.2.12
Dev. Codebase: v1.2.16

PunBB is a fast and lightweight PHP-powered discussion board developed by a third-party. It is released under the GNU General Public License. Its primary goals are to be faster, smaller and less graphically intensive as compared to other discussion boards. PunBB has fewer features than many other discussion boards, but is generally faster and outputs smaller, semantically correct XHTML-compliant pages.

PunBB has been incorporated into PhpGedView as a module and is available for separate download and installation if you choose not to install all of PhpGedView.

PunBB Codebase Versions

Trunk

The trunk carries the PunBB v1.2.12 codebase.

Development Branch

The phpGedView-4.2 development branch carries the PunBB v1.2.16 codebase.

Developer Information

A vendor branch directory exists for PunBB (punbb) which is used to keep our own copy of the PunBB development efforts. For each new PunBB release the following procedure should be used to update the PunBB codebase in the PGV SVN repository:

Codebase Update Procedure

Updating the code base of any vendor code should be done in the development branch. This allows the developers to asses the check the changes for any bugs before it is merged into the trunk.

  • Obtain a PunBB release by downloading the zip archive of the next release from http://dev.punbb.org/browser/tags/
  • Unzip it into a local directory
  • Move the contents of the upload directory into it's parent dir:
cd <unzipped punbb dir>
mv upload/* ./
rm -rf upload
  • Using the svn_load_dirs.pl script provided by subversion, load the code into the punbb vendor branch directory and create a tag so the release can be easily referenced. NOTE: substitute <new_version> for the version of the punbb code being loaded and <unzipped punbb dir> with your local dir unzipped from above.
perl svn_load_dirs.pl https://phpgedview.svn.sourceforge.net/svnroot/phpgedview -t vendor_tags/punbb-<new_version> vendor_branches/punbb <unzipped punbb dir>
  • You can now delete the <unzipped punbb dir> as it's contents are now stored in the SVN repository
  • Move to the punbb module directory in the development branch in your working copy:
cd branches/phpGedView-4.2/modules/punbb
  • Do a dry run of an svn merge between the tagged version that the current code is based on and the latest code just loaded into the vendor_branch. NOTE: substitute <old_version> for the punbb version on which the current punbb code is based.
svn merge --dry-run https://phpgedview.svn.sourceforge.net/svnroot/phpgedview/vendor_tags/punbb-<old_version> https://phpgedview.svn.sourceforge.net/svnroot/phpgedview/vendor_branches/punbb
  • If the proposed changes seem fine, then run a proper merge by dropping the --dry-run switch:
svn merge https://phpgedview.svn.sourceforge.net/svnroot/phpgedview/vendor_tags/punbb-<old_version>
  • Alternatively, you could merge single files or directories using a similar approach.
  • At this point there are likely to be conflicts due to changed being made to the same bit of code by the PGV team as well as the vendor - these need to be resolved.