< Browse > Home / Archive by category 'Tech'

| RSS

The ’CustomConfigurationsPath’ setting of FCK editor provides a great deal of customizations and configurations for users of FCKEditor. I was implementing FCK editor in one of the projects and the default interface toolbars occupy almost 50 % of the screen area of the editor control. Most of the toolbar options are unnecessary, so I used the ‘’CustomConfigurationsPath’ property to provide FCKEditor with a custom configuration file to get the right settings.

Default Code

/TestProject/test1.php


include_once 'includes/fckeditor/fckeditor.php';
$oFCKeditor = new FCKeditor('txtQuesText') ;
$oFCKeditor->BasePath = './includes/fckeditor/' ;
$oFCKeditor->Width = 600;
$oFCKeditor->Height = 300;
$oFCKeditor->Value = '' ;
$oFCKeditor->Create() ;

The code will render as follows

In order to customize the FCK editor, you will have create a FCK Editor Setting file, like the following javascript file
/TestProject/includes/fck_editor_config.js


FCKConfig.ToolbarSets["TestToolbar"] = [
['Source','-'],
['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
['OrderedList','UnorderedList','-'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
['Link','Unlink'],
];

The settings file has to be connected to the PHP script that loads the FCKEditor and the appropriate settings that have to be loaded have to be configured in the PHP Script (in this case it is “TestToolbar”). This methods, multiple settings to be configured as a part of the settings file and allows dynamic swapping of editor control properties.

PHP Script with settings file loaded


$oFCKeditor = new FCKeditor('txtQuesText') ;
$oFCKeditor->BasePath = './includes/fckeditor/' ;
$oFCKeditor->Config["CustomConfigurationsPath"] = "/TestProject/includes/fck_editor_config.js";
$oFCKeditor->ToolbarSet = 'TestToolbar';
$oFCKeditor->Width = 600;
$oFCKeditor->Height = 200;
$oFCKeditor->Value = '' ;
$oFCKeditor->Create() ;

Result

[ View Post ]

There are a whole bunch of systems that are involved in setting up development environments, some of them range from issue trackers to version control systems and even text editors. Everyone has some preference, choice and a point-of view about things, and so do I. Here is my list of essential systems and software from a good open source web development environment. I have classified my list into multiple categories 

Collaboration Tools

  • Issue Tracking : Bugzilla
  • Bugzilla is by far the coolest bug tracking system I have ever seen in the opensource market. I like bugzilla because of its simplistic approach to bug tracking. It gives what you need in a simple user interface and its easy to configure and integrate. 

  • Project Management: MediaWiki
  • You should call me nuts for calling MediaWiki a project management software. Yet if you ask me about project management, i would say mediawiki does the job. Project Management primarily for micro-development teams is about collaboration, information sharing in a semi organized way. Of all the tools that i evaluated for project management, if found media wiki to be only one perfectly doing the job.

  • Version Control: Subversion
  • Subversion is a class apart; it was chosen as the version control system without even evaluation. Its really quick, easily manageable, has certainly good reliability and access controls. 

  • Version Control Web GUI: Sventon
  • There are a lot of good (better) subversion WebGUIs available for subversion, but I choose this one because this was free, and it gave me what I needed.

Development Environment

  • Windows Environments
  • Web Server : Apache (or) IIS
  • IDE: Eclipse (or) Zend Studio, Dreamweaver**
  • TortoiseSVN - the ultimate choice
  • Windows Stack: XAMPP
  • Linux Environments
  • Web Server : Apache
  • IDE: Eclipse/PDT (or) Zend Studio
  • KDE SVN Client or Some SVN Client
  • Database: MySQL
  • Eclipse Plugins
  • PDT for Eclipse
  • Subclipse for Eclipse
  • Takstop for Eclipse integrated with Bugzilla works a as a great issue tracking client.

Zend Studio is a must have if you are a php developer, zend studio comes with a whole lot of features and tools that help in increasing the efficiency of php development.

** Dreamweaver is not an open source software; there are practically no opensource tools to match Dreamweaver in Web designing IDE’s. 

[ View Post ]

pChart is a charting library for PHP that allows generation of dynamic good looking GD based charts. Ever since I saw a small demo of charts in their website, it was attracted to try this product; I didn’t get a chance until last week.

Installing pChart in XAMPP and in Linux (Ubuntu)

The ‘pChart‘ download comes with a numerous list of files and folders, although you will need only about two major folders. They are

  • /pChart
  • /Fonts

In XAMPP

You can copy both the folders to your global includes folder, so that they can be accessed from anywhere across the system. Say C:\xampp\php-includes\pChart and
C:\xampp\php-includes\Fonts or you can reference them directly using the full path name. The library includes are usually kept outside the htdocs folder for security reasons.

In Linux (Ubuntu)

You can copy both the folders to your global includes folder, so that they can be accessed from anywhere across the system. Say /var/www/php-includes/pChart and
/var/www/php-includes/fonts or you can reference them directly using the full path name.

In this example of creating a bar chart we will use XAMPP, full paths, whereas the examples provided in the pChart download will tell you about how to use the includes folder option. It is best add the folder to the php include setting, so that it can be referenced from anywhere.

Configuring the pChart charting setup in XAMPP

Now we will start placing the php file that will generate the chart, lets create some folders called

  • C:\xampp\htdocs\charting-test\
  • C:\xampp\htdocs\charting-test\cache-images\

Now create a file called index.php in charting-test folder that will generate the chart. The generated charts are stored in cache-images folder and can be rendered from that folder.


<?php
define ('CHART_ENGINE_ROOT','C:\\xampp\\php-includes\\');
include_once CHART_ENGINE_ROOT.'pChart\\pChart.class';
include_once CHART_ENGINE_ROOT.'pChart\\pData.class';

$chartFileName = $_SERVER['REQUEST_TIME']."_testChart.png";

$dataRow = Array();
$dataRow[0]['studentName']= "Praveen";
$dataRow[0]['studentMarks']= 52;
$dataRow[1]['studentName']= "Krishna";
$dataRow[1]['studentMarks']= 20;
$dataRow[2]['studentName']= "Joseph";
$dataRow[2]['studentMarks']= 35;
$dataRow[3]['studentName']= "Deepak";
$dataRow[3]['studentMarks']= 26;
$dataRow[4]['studentName']= "Martin";
$dataRow[4]['studentMarks']= 37;
$dataRow[5]['studentName']= "Vijay";
$dataRow[5]['studentMarks']= 19;

// Dataset definition
$DataSet = new pData;
for ($i=0; $i<6; $i++) {
$dispStudName = $dataRow[$i]['studentName'];
$dispStudMarks = $dataRow[$i]['studentMarks'];
$DataSet->AddPoint($dispStudName,"Names");
$DataSet->AddPoint($dispStudMarks,"Marks");
}
$DataSet->AddAllSeries();
$DataSet->RemoveSerie("Names");
$DataSet->SetAbsciseLabelSerie("Names");
$DataSet->SetSerieName("Marks","Marks");
$DataSet->SetYAxisName("Marks");

// Initialise the graph
$Test = new pChart(700,270);
$Test->setFontProperties(CHART_ENGINE_ROOT."Fonts\\tahoma.ttf",9);
$Test->setGraphArea(70,30,680,200);
$Test->drawFilledRoundedRectangle(7,7,693,263,5,240,240,240);
$Test->drawRoundedRectangle(5,5,695,265,5,270,270,270);
$Test->drawGraphArea(255,255,255,TRUE);
$Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,45,2,TRUE);
$Test->drawGrid(4,TRUE,230,230,230,50);

// Draw the 0 line
$Test->setFontProperties(CHART_ENGINE_ROOT."Fonts\\tahoma.ttf",6);
$Test->drawTreshold(0,143,55,72,TRUE,TRUE);

// Draw the bar graph
$Test->drawBarGraph($DataSet->GetData(),$DataSet->GetDataDescription());

// Finish the graph
$Test->setFontProperties(CHART_ENGINE_ROOT."Fonts\\tahoma.ttf",8);
$Test->drawLegend(575,35,$DataSet->GetDataDescription(),255,255,255);
$Test->setFontProperties(CHART_ENGINE_ROOT."Fonts\\tahoma.ttf",10);
$Test->drawTitle(60,22,"Student Marks Comparision",50,50,50,585);
$Test->Render("cache-images/".$chartFileName);
$Test->ReportWarnings();

$webPrintStr = <<<
<img src="cache-images/$chartFileName" alt="" />
ETEXT;

echo $webPrintStr;
?>

Resulting Chart

The charts are really cool :)

[ View Post ]

The user friendliness of TortoiseSVN is probably the best feature that Windows ever had, that linux didn’t. Having searched through a wide number of sites and blogs trying to find a good alternative for Tortoise SVN, I was able to shortlist the following tools

My Personal best choices are,

  1. Subclipse for Eclipse
  2. KDESVN + Nautilus Scripts for Standalone clients

KDESVN + Nautilus Script as Standalone SVN clients

KDESVN is a Visual SVN Client tool that can be installed in Ubuntu. Try this command to install it

>> sudo apt-get install subversion kdesvn kompare

KDESVN gives users the ability to connect to a subversion repository and perform operations. But the coolest thing about Tortoise SVN is that its accessibility, it is available everywhere on the right click menu. So in order to replicate the ease of use, we will need to replicate the right click functionality in local file browser (which is nautilus). This can be done using a few nautilus scripts

KDESVN connected to nautilus script

KDESVN connected to nautilus script

After Installation, you will have to configure the rightclick menu scripts here

>> ~/.gnome2/nautilus-scripts

create a file called “kdesvn.sh” with the following contents

>> #!/bin/sh
>> kdesvn $1

assign execute rights to that file

>> chmod +x kdesvn.sh

Now open the file browser, you will be able to see KDESVN in the scripts context menu. To activate the SVN client, select some folder in local repository, and try the menu. It will popup the KDESVN interface.

[ View Post ]

Install/ Upgrade OpenOffice 3.0 in Ubuntu 8.04

Ubuntu 8.04 comes with openoffice 2.x version, even after updating with apt-get you will only get the latest build of the 2.x version open office. In order to upgrade to the latest version of open office (which is the 3.0 version), you will have to uninstall the existing version of open office. download the latest verion and install it.

The installation process is as follows

1) Download the latest verion of Open office from the following site, http://download.openoffice.org/other.html. You will need to choose “Linux DEB” for ubuntu.

2) Once you have downloaded the installer (say OOo_3.0.0_LinuxIntel_install_en-US_deb.tar.gz), you can extract the file to a temp folder say /home/krishna/Desktop/Office3Install/

3) Now having kept the setup files ready, uninstall teh existing verion of OpenOffice. This can be done using the command.

sudo apt-get remove openoffice*.*

4) Now to Install the OpenOffice 3.0 Version navigate the folder where the files are extracted and run the following command

sudo dpkg -i /home/krishna/Desktop/Office3Install/DEBS/*.deb

5) Once the Installation is complete, you can add the OpenOffice 3.0 to the gnome menu.

sudo dpkg -i /home/krishna/Desktop/Office3Install/DEBS/desktop-integration/*.deb

Thats it, OpenOffice is upgraded now :)

[ View Post ]

  • Page 2 of 2
  • <
  • 1
  • 2