This manual is deprecated. Please visit for the latest documentation.


From Group-Office Groupware and CRM Documentation
Revision as of 13:07, 11 July 2012 by Admin (Talk | contribs) (Server side code)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

It's very easy to customize Group-Office without modifying the existing sourcecode. This way you don't have to redo all the customizations each time you upgrade to a newer version.

Client side code

This example will add a dummy tab to the e-mail account dialog. Please read "Creating a module" first to get started. You need to enable debugging mode.

1. Create the folder modules/mymodule

2. Create modules/mymodule/scripts.txt with:


Create modules/mymodule/Plugin.js and put this in it:

	Ext.override(, {
		initComponent :{
			this.tabPanel.add(new Ext.Panel({
				title:'A dummy tab',
				html:'Just an example'
			//make dialog a little bit wider

Install the module and you should have a dummy tab in the account dialog at:

E-mail -> Administration -> E-mail accounts -> Accounts

Here are some other useful overrides:

GO.moduleManager.onModuleReady('calendar',  function(){
	//Make row height larger in the calendar.
		hourHeight : 80,
		minRows : 1

	//send invitation to participants by default
	Ext.override(GO.calendar.ParticipantsPanel, {	
		setEventId : GO.calendar.ParticipantsPanel.prototype.setEventId.createSequence(function(){

//start java upload right away in the files module
   Ext.override(GO.files.FileBrowser, {
      initComponent : GO.files.FileBrowser.prototype.initComponent.createSequence(function(){         
                                       + 'jupload/index.php?id='
                                       + this.folder_id);

Server side code

You can add your own functionality to existing controllers in the PHP backend too. Take a look at the Event handling page.