This is a preliminary etiquette doc for phpGroupWare. Please check it from time to
time for updates:

phpGroupWare is a large project, with possibly over 50 developers at the time
of this writing. In its current location, it is impossible to restrict access
for each developer to a particular module or application. As such, it is
important that some basic rules be followed when developing in CVS:

1.  Many of the developers, and all of the core developers, frequent the IRC
	channel #phpgroupware on irc.openprojects.net. Please take the time to
	drop by and introduce yourself.

2.  Please see the coding_standard.txt document in this folder for some basic
	guidelines for code formatting. PHP can be interpreted in many forms,
	and this document outlines our preference to ensure readability and
	compatibility.

3.  If you want to begin some work on an existing app please consult the
	primary developer for the application first. Most of the files will
	contain some type of identification and/or contact information in the
	head of each file.

4.  If you are unable to contact the author, please contact at least one of the
	project leads [Seek3r, jengo, skeeter, ceb, skwashd] or a core developer.

5.  If you have just joined the project, or have always kept to your own
	application, etc., then please exercise caution when committing changes
	in the phpgwapi [the API], admin, and preferences modules. These can
	affect the operation of all applications. In particular, work done in
	the API is typically allowed only with prior consent from one of the
	project leads. In other words, work done here without some notification
	and authorization is very risky to your continued involvement with this
	project ;)

6.  If you are working in the API, or on some other application which could
	affect the usability for users and developers, please be sure to fully
	test your changes. It is recommended that you visit a large sampling of
	applications to ensure that they still work as expected after your
	changes. This could include the functioning of one application or the
	API against mysql AND pgsql, at least. It could also affect the function
	of an application that uses LDAP instead of SQL for storage and
	retrieval.

7.  Do not write table update scripts that alter content or structure of the
	API or of another application's tables.

8.  Before importing a new application, or adding many files | directories to
	existing modules, please contact one of the project leads [Seek3r, jengo,
	skeeter, ceb, skwashd].

9.  Please do not import a new application that does not have some basic
	functionality in place or at least a description and basic documentation.

10. If you do not have an original icon for your app, please do not import a
	copy from another application icon. The API should insert a default
	until a new one is created. The size of icons should be 31x31 for all but
	the idsociety template. Do not put a 31x31 color icon in the idsociety
	template.

11. Basically, all template files are located in the app_name/templates/default/
	directory. Please do only commit template files to other app_name/templates/
	_layout_/directories if they _differ_ from the default version. The same is
	valid for images. All application images are located in the app_name/templates/
	default/images directory. Please do only commit images to other than the default
	directory if they _differ_ from the default version. Most of the applications
	do not need other templates directories than default and idsociety. The idsociety
	templates directory should only contain the images dir with the navbar and
	navbar_over icon for the idsociety layout.
	Please avoid to have files twice in your application directory.

	Thanks
