Previously I wrote about how to create a multi user git server on FreeBSD using standard UNIX file permissions, allowing users that belong to the same group to read and write from and to the same repository. But what happens when some users outside the group, should only read, while others should also write? Standard file permissions are limited, and do not provide sufficient user permission granularity. To workaround this issue, you can use the FreeBSD File System Access Control Lists (ACLs).
PHPUnit is a unit testing framework. Selenium is a testing framework for web applications, which can record and playback tests, relying on browsers to perform these tasks. Most servers do not have an instance of the X Window System, in order to open a browser. To avoid installing the heavy-weight packages required for it, we can use the X virtual framebuffer, which renders all the graphical operations into memory; thus, reducing the memory footprint.
In a previous notes entry I wrote about patterns used for Generating Objects, and facilitating Flexible Object Programming. In this entry I am writing about patterns used for Performing and Representing Tasks. Continue reading Notes on PHP Design Patterns, Part 2: Patterns for Performing And Representing Tasks
Design patterns are streamlined solutions to common problems. They provide guidelines that can be translated into code. This entry will focus on patterns used for Generating Objects and Flexible Object Programming; presenting the problem, solution and basic examples. The structure relies on Matt Zandstra's second edition of 'PHP Objects, Patterns, and Practice', the 'ZEND PHP 5 Certification STUDY GUIDE', Jack D Herrington's IBM Developer Works 'Five common PHP design patterns' as well as various other sources referenced at the bottom of this page.
This is a quick note on how to create a multi-user git server hosted on your own FreeBSD set-up, using the SSH protocol for reading/writing from/to repositories. Steps to follow (as 'root'):