What is phpUnit?
PHPUnit is a unit testing framework for the PHP programming language. Created by Sebastian Bergmann, PHPUnit is one of the xUnit family of frameworks.

Why phpUnit?

To make code testing viable, good tool support is needed. This is where PHPUnit comes into play. It provides a framework that makes the writing of tests easy as well as the functionality to easily run the tests and analyse their results.

its better to install phpUnit with WAMP or XAMPP in your system
In my case I have a xampp installation in my sytem . if you dont have a xampp already installed in your system, here is how you can do it.

Installing XAMPP

* Download XAMPP from http://www.apachefriends.org/en/xampp.html
* Unpack the zip, don’t run any installer, just use the \xampp\xampp-control.exe to control the component (so the whole XAMPP directory can be moved to another drive without having absolute paths in all configurations files)

phpUnit needs the pear package installed in yout php

so let start installing PEAR
* Execute  \xampp\php\go-pear.bat and follow the onscreen instructions. The installation will modify the include_path in your php.ini file.
* Execute \xampp\php\PEAR_ENV.reg to add PEAR to the windows registry

Installing PHPUnit
* Open a command prompt (cmd in windows)
* Execute  pear channel-discover pear.phpunit.de
* Execute  pear install phpunit/PHPUnit
* Now you should find PHPUnit installed in \xampp\php\PEAR\PHPUnit\

And your phpUnit is ready to roll!!


It’s something interesting that we encountered today with Alfresco…..

We were working with GROUPS in Alfresco Web Client through “Admin Console” i.e. Trying to create new groups and add an existing group with in this new group and Alfresco complained about it with  the message –

A group ID with the same name already exists, group identifiers must be unique.

Now if you try to do the same thing through the “Admin Console” in Share what Alfresco does is that if you have any already existing group (say GROUP_A) and you create a new group (say GROUP_B) and if you try to create a sub-group under GROUP_B (say GROUP_A already created above) then Alfresco will move the already existing GROUP_A under GROUP_B.

Read more  here.

SURF helps you to build user interfaces for your Web Applications using server-side scripts and templates.

Alfresco Share is the best example for its implementation and the other one is Activison’s DAM (Digital Asset Management) system.It’s the first application to be developed on SURF at the Enterprise level and I feel really proud to work on with it. I would like to thank Timothy Bergeron and Jeremy Osterloh at Activision for all their support and help in making me learn SURF.

The best thing I like about SURF is no JAVA coding(yes really no java coding….), no recompilation and no server restarts. You just need a text editor and there you are ready to make changes to live site. It provides features such as Scripts & Templates, Reusability,Spring Web MVC, Content Management, 2-tier mashup architecture.

As a developer you need to look into SprinRoo a light weight developer tool released by SpringSource community.

You may read more information @ http://wiki.alfresco.com/wiki/Spring_Surf

It is the dynamic information that the web application looks to at runtime to inform its decision about what to render or how to render.
A Spring Surf Web Application may have two kinds of dynamic content – Semantic Content & Presentation Content. These both together inform SURF of what to render as well as how to render .

Semantic Content It consists of documents or files that may describe business-generated content. Such content are authored, approved and published. e.g. A Contact Detail content to be displayed on the home page.
Semantic Content can be thought of as information that describes what should be rendered. It contains the approved messaged but it doesn’t contain any formatting information. The data may be in pure data format such as JSON or XML. Consider my contact details in JSON format as
“contact_name”    :    “Sujay Pillai”,
“contact_number”:    “8008882182”,
“designation”    :    “Software Engineer”,
“organization”    :    “Zensar Technologies Ltd.”

Presentation ContentIt consists of documents and files that descibe presentation configuration for a Web Site. It contains all the configurations that informs the SURF rendering engine how the Web page or page component should look and feel.

It contains answers to questions from Semantic Content such as –
1) Which theme should be used to render the Web site’s home page?
2) How many contacts should I display on the front page?
3) For a current user which advertisement should be displayed?

It answers the question of how things should be rendered.

Consider the following XML configuration that is responsible for rendering the Global header in “Alfresco Share” –

Consider the scenario when you hit the login button on Alfresco Share –
1. The browser request arrives to Spring Surf.
2. Surf asks the content delivery services for the presentation content that describes what is being requested.
3. The presentation content is handed back as XML.
4. Surf determines the Web Script to execute and does so using the configuration specified by the XML.
5. The Web script calls over to the content delivery services and asks for header data.
6. The header is returned as HTML.

This blog entry will provide you an example how to create a simple jsp portlet in liferay.

Following are the simple steps for creating customize portlet in liferay.

I am assuming that you have set up an ext environment properly under you IDE if not please go liferay throuh wiki or just leave comment

configuration files required for creating jsp portlet are ..

1. portlet-ext.xml
2. liferay-portlet-ext.xml
3. liferay-display.xml

the above file are present under directory


write following snippet of code under portlet-ext.xml



your liferay-portlet-ext.xml should be as..


3} under liferay-display.xml

<category name=”category.firstJSP”>
<portlet id=”EXT_1″ />

Dat’s hit for configuration files now for front end create a file view.jsp under  directory structure


with simple gretings

<h1>Hello Liferay World</h1>

now go the file structure


and add this new entries in file

javax.portlet.title.EXT_1=JSP Portlet

category.firstJSP=First Portlet

and dats hit for creating a simple jsp portlet

After this steps do “ant deploy”  from  “ext”.

You will be getting the message “BUILD SUCCESSFUL”.  // if this is done you will bw delighted

Now start your server and login as admin (test user by default),

go to the navigation dock->Add Aplication-> First Portlet->JSP Portlet.

Nishikant Sapkal.
opensource Team,
Zensar Technologies,

Alfresco CIFS Server enables the user to access the Alfresco Repository as we access our Windows Explorer.
Following are the steps to unable Alfresco CIFS server on windows XP.

Step 1) Copy the following files into ..WINDOWS\system32 folder from directory :<Alfresco HOme>\bin

Step 2) Add following section in the Alfresco Global properties ::
#CIFS custom configuration

Step 3) Update the following files with the appropriate values ::
<Alfreco HOme>\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\fileServers\default\file-servers.properties

cifs.domain=IND #Zensar Domain for the machine.
cifs.broadcast= #Use the subnet mask from ipconfig command
cifs.bindto= # Use the current machine IP address
cifs.disableNativeCode=false Continue Reading »

Drupal provides module for integrating alfresco with drupal.
Name of the Drupal module is “CMIS & CMIS ALFRESCO.”

Please follow below steps for successful integration of Alfresco with Drupal:-

1.Install clean Drupal setup on your system.
2.Set up Alfresco installation(default phpmyadmin will install,but install it in different port).
3.Download and Install the Alfresco FSR (File System Receiver).
4.Start the Java library apache-xmlrpc in to Alfresco.(Set the class paths for .jar files)
5.Download and Install Alfresco_deployment module into Drupal directory.
6.Login to Drupal administrator Panel.Go to Content Management–>Alfresco Content ->It will give the option to upload content from Alfresco repository and the data will be stored in the Drupal Database as a nodes.


What is Awstats:-

AWStats is an open source Web analytics reporting tool, suitable for analyzing data from Internet services such as web, streaming media, mail and FTP servers. AWStats parses and analyzes server log files, producing HTML reports. Data is visually presented within reports by tables and bar graphs. Static reports can be created through a command line interface, and on-demand reporting is supported through a web browser CGI program.

AWStats supports most major web server log file formats including Apache,WebStar, IIS and many other common web server log formats.


As Awstats is in perl, you can install Awstats on almost any operating system. It is a very popular server administration tool, with packages available for most Linux distributions. AWStats can be installed on a workstation, such as MS Windows, for local use in situations where log files can be downloaded from a remote server.


AWStats is licensed under the GNU General Public License (GPL).


Proper web log analysis tool configuration and report interpretation requires a bit of technical and business knowledge. AWStats support resources include documentation, and user community forums

Security considerations

The on-demand CGI program has been the object of security exploits, as is the case of many CGI programs. Organizations wishing to provide public access to their Web analytics reports should consider generating static HTML reports. The on-demand facility can still be used by restricting its use to internal users. Precautions should be taken against referrer spam (Referrer spam filtering functionality was added in version 6.5).

For more information please refer below link:-