Introduction to XSD – XML Schema Definition

This blog will talk about Introduction to XSD – XML Schema Definition   XML Schema Definition:- XML Schema describes the structure of an XML document, what a given XML document can contain, in the same way that a database schema describes the data that can be contained in a database (i.e. table structure, data types, constraints etc.). The XML schema defines the shape, or structure, of an XML document, along with rules for data content. The purpose of an XML Schema is to define the legal building blocks of an XML document, just like a DTD. XML Schemas are richer and more powerful than DTDs. XSD (XML Schema Definition), a Recommendation of the World Wide Web Consortium (W3C)

  • defines elements that can appear in a document
  • defines attributes that can appear in a document
  • defines which elements are child elements
  • defines the order of child elements
  • defines the number of child elements
  • defines whether an element is empty or can include text
  • defines data types for elements and attributes
  • defines default and fixed values for elements and attributes
  • xml schema support datatype
  • XML Schemas are written in XML
  • XML Schemas support data types
  • XML Schemas support namespaces


  • XML Namespace is a mechanism to avoid name conflicts by differentiating elements or attributes within an XML document that may have identical names, but different definitions.
  • It solve the name conflict by using a prefix.

<code><h:table> <h:tr>         <h:td>IT</h:td>          <h:td>Management</td> </h:tr> </h:table> <f:table>                 <f:name>Playground</f:name>                     <f:width>100</f:width>                 <f:length>200</f:width> </f:table> </code>

namespace for the prefix must be defined. The namespace is defined by the xmlns attribute in the start tag of an element. The namespace declaration has the following syntax. xmlns:prefix=”URI“. <root> <h:table  xmlns:h=””> <h:tr>           <h:td>IT</h:td>                           <h:td>Management</h:td> </h:tr> </h:table> </root>   Advantages of XML Schemas Created Using XSD:-

  • XSD provides control over the type of data that can be assigned to elements and attributes.
  • XSD enables you to create your own data types. This feature enhances the flexibility of defining the structure of the XML document.
  • XSD enables you to specify restriction on data. For example, you can ensure that the content of an element is a positive integer value.
  • The syntax for defining an XSD is the same as the syntax used for xml documents. Therefore, it is easier to learn the syntax of an XSD.
  • XML schema content models can be used to validate mixed content.

XML schema is extensible. This enables you to reuse parts of a schema in another schema and derive custom data types from existing data types.

How to Use LUA as Web Script

Lua is commonly described as a “multi-paradigm” language, providing a small set of general features that can be extended to fit different problem types, rather than providing a more complex and rigid specification to match a single paradigm. Lua, for instance, does not contain explicit support for inheritance, but allows it to be implemented with metatables. Similarly, Lua allows programmers to implement namespaces, classes, and other related features using its single table implementation; first-class functions allow the employment of many techniques from functional programming; and full lexical scoping allows fine-grained information hiding to enforce the principle of least privilege.

lua base language is light – the full reference interpreter is only about 180 kB compiled– and easily adaptable to a broad range of applications.

Lua is a dynamically typed language intended for use as an extension or scripting language, and is compact enough to fit on a variety of host platforms.

It supports only a small number of atomic data structures such as

– Boolean values,

– Numbers (double-precision floating point by default), and

– Strings.

Typical data structures such as

– Arrays,

– Sets,

– Lists, and

– Records

can be represented using Lua’s single native data structure,

  •  the table, which is essentially a heterogeneous associative array.
Ex. a_table = {} -- Creates a new, empty table

NOTES--Lua programs are not interpreted directly from the textual Lua file, but are compiled into byte-code which is then run on the Lua virtual machine. The compilation process is typically transparent to the user and is performed during run-time, but it can be done offline in order to increase loading performance or reduce the memory footprint of the host environment by leaving out the compiler.

How  to Add Buttons in LUA and Handling their  Events…

Button1 = exSection:option(Button, “_button_click_event “,translate(“Button Section”))      Note:- exSection  is defined in a map, and button is defined in that exSection-section

Button1.title = translate(“CLICK  HERE TO PERFORM BUTTON-ACTION”)

Button1.inputtitle=translate(” START “)


Function Button1.write(self, section, value)        –Defining  button-click event function‘/etc/init.d/test_daemon  start’)        –Firing a system-command   to start a script


How  to call Templates from LUA and calling LUA-function from  template

testTemplate = exSection:option(Value, “_custom”, translate(“Template Testing… “))

testTemplate.template = “Template-Testing”



<%-  …… LUA code which you want to execute in your lua page…..  %>

<input type=”text ” name=”” id=” ” value=”<%-=h_testlval-%>”></input>                           ——Your HTML Code  here h_testlval   value comes from lua page.


Note:- In LUA page we called any input-type(EX.Button,TextBox..)From their name.

Function Definitions in lua page

function testTemplate.lastmodifiedtime(self, section)

local mdtime=st.mtime(“/usr/lib/test.txt”)

return‘%c’, mdtime)


How  to create MAP and SECTION in lua page

local m, s

m=Map (“testing”, translate (“TEST-APPLICATION CONFIGURATION “))

s = m: section (TypedSection, “testagent”, translate (“TESTAGENT”))

s.anonymous = true

Predefined Function of lua when using map.

I.            m.on_init=function(self)

———–Things which you want to execute before your lua page load———


II.            m.on_before_commit = function(self)

——Before commit———-


III.            m.on_after_commit=function(self)

—–After Commit———-


LUA Uses by different Organization in their Application.

  1. Adobe Photoshop Lightroom uses LUA for its user interface.
  2. Apache HTTP Server can use LUA anywhere in the request process (since version 2.3, via the core mod_lua module).
  3. Cisco uses LUA to implement Dynamic Access Policies within the Adaptive Security Appliance.
  4. iClone, a 3D real-time animation studio to create animation movies uses Lua in the controls of its new physic simulation.
  5. MySQL Proxy uses LUA for its extensions
  6. VLC media player uses LUA to provide scripting support.

Wikipedia since March 2013 LUA is used as a new templating language, and its template library is growing.


Pushpraj Kumar,

Helical IT Solutions

Jaspersoft Report Scheduler

This blog will talk about how to use Jaspersoft Report Scheduler, its configuration etc.

1.       Report Scheduler  :  It is an automated and iterative platform to email reports to anyone in PDF,CSV,Excel,….etc format.


2.       To  send email , it should be connected to outbound email server,  so for this it should be configured accordingly

a.       Go  to this  path : C:\Jaspersoft\jasperreports-server-5.5\apache-tomcat\webapps\jasperserver-pro\WEB-INF\


You will find the file like below screenshot:

Jaspersoft Report Scheduler 1

b.Change the yellow mark values to your required input

c.Restart the Jasper Server


3. Now Go to Report Wizard and scheduled your required job or report :


Below mentioned are the steps to be followed for doing the same:

Jaspersoft Report Scheduler 2

b. After this go to “create schedule “ tab , you will find like this:

Jaspersoft Report Scheduler 3

Here you can set how frequently you want to schedule this report and for what timezone

c. Then go for the “output options” tab in this window only[in the 2nd right] Here you have to specify in what format you want to send the report

Jaspersoft Report Scheduler 4d. Then go for “notification” in this window. To whom all we want to send the reports, the same is to be specified in this window

Jaspersoft Report Scheduler 5

Now You have successfully scheduled the reports…!!!

4. If we want to stop the scheduler, then go to this location


Jaspersoft Report Scheduler 6

Remove the init-method=”start”

Restart the Jasperserver



Helical IT Solutions


In this blog we will talk about how to install liferay on existing Tomcat 7. For this section, we will refer to your Tomcat server’s installation location as $TOMCAT_HOME. If you do not already have an existing Tomcat server, we recomend you download a Liferay/Tomcat bundle from If you have an existing Tomcat server or would like to install Liferay on Tomcat manually, please follow the steps below.

There are 2 different ways to install Liferay on tomcat.

  1. Using Source Code
  2. Using war

First, I am describing here that how we can install liferay on existing tomcat using source code.

Install Liferay using Liferay source code

Before you begin, make sure you have downloaded the latest Liferay source code. If you haven’t downloaded then download from (Find “Files for Developers” section and select “Liferay Source for 6.x GA x…”).

After downloading, you will get a liferay-portal-src-6.x.x-ce-ga.x-<date>.zip. Unzip this file.

Now, Let’s start configuring Liferay for Tomcat. Follow these steps:

  1. Open liferay-portal-src-6.x.x-ce-ga.x-<date> folder.
  2. Find and Edit file in liferay-portal-src-6.x.x-ce-ga.x folder.
  3. Find “TOMCAT” section in this file.

## Tomcat













4. Now Change some parameters in this section.

e.g. I am installing liferay to tomcat7.0.42 and my $TOMCAT_HOME is “D:/Liferay-Tomcat7/apache-tomcat-7.0.42/apache-tomcat-7.0.42”. So, after editing file, tomcat section would be:

## Tomcat


app.server.tomcat.dir= D:/Liferay-Tomcat7/apache-tomcat-7.0.42/apache-tomcat-7.0.42










5. Make sure that your $TOMCAT_HOME path is correct. Using this Configuration, Liferay would be installed in ROOT folder of tomcat. Because value of app.server.tomcat.portal.context  is ROOT.

6. Now Open command prompt with ADMINISTRATOR permission and go to your liferay-portal-src-6.x.x-ce-ga.x-<date>/ liferay-portal-src-6.x.x-ce-ga.x folder.Enter ant –f buildfile-dist.xml all

8. Now, Edit $TOMCAT_HOME/conf/ file. Change this line




9. It will take some time to build and deploy Liferay on tomcat. See command prompt, you will get BUILD SUCCESSFUL message in last

Congrats!!!! You have installed liferay on tomcat. Open Browser, and enter:


You will see Liferay Home Page.

NOTE: To Build Liferay, You should have ANT environment in your machine. If you don’t have, download it from If you download zip, unzip it in C:/Program Files/Ant/ folder. (You can unzip at your convenient location in C drive). Now, add “Environment Variables” in your computer. Add ANT_HOME in “System Variables” and paste your installed ANT folder path in ANT_HOME value.

liferay 1

Now, add one more environment variable, ANT_OPTS (to assign some memory for ANT).

liferay 2

Now, you have completed ANT configuration. But, to build Liferay, you need to copy one jar in $ANT_HOME/lib folder. Jar name is ecj.jar. You can find this jar in your liferay-portal-src-6.x.x-ce-ga.x-<date>/ liferay-portal-src-6.x.x-ce-ga.x/lib/development folder.

Deploy Liferay in another Context

  1. Follow above mentioned steps. Just change this line in file:app.server.tomcat.portal.context=liferay   [I am installing liferay to LIFERAY context]
  2. After deploying liferay, go to $TOMCAT_HOME/webapps/liferay/WEB-INF/classes/ folder and create file and this in file.     portal.ctx=/liferay
  3. Open Browser and enter: http://localhost:8080/liferay
  4. Next,  We will discuss to deploy Liferay war on tomcat.

Sharad Sinha

Helical IT Solutions

Create CSV Data Sources in pentaho CDE: (Community Dashboard Editor)

This blog will talk about how to Create CSV Data Sources in pentaho CDE: (Community Dashboard Editor)
Follow the steps to create CSV file as a Data sources.

Step-1  Login to the User Console as an administrator.
Pentaho Login Window
Step-2  Click Manage Data Sources. The Data Sources window appears.
Pentaho Home Page
Step-3    Click the Add icon, then choose Data Source Wizard from the drop-down menu.
Manage Data Sources
Step-4  Click to the Data Source Wizard.
Create Data Sources
Step-5 Enter a name that identifies your new data source in the Data Source Name field.
Naming and Importing CSV File
Step-6 Choose the columns that you want to use in your data source, either individually or by clicking Select All. You can deselect all columns by clicking Deselect All.

Step-7 Change the Name and Type values, if applicable.
a.    Choose the options that you want to use from the drop-down menu for dates and numeric values.
b.    You can enter a value manually in the Source Format text box.
Display Window of CSV File

Step-8 Click to show File Contents and see the CSV file content.
Content into CSV file

Step-9  After Click finish button check the radio button like Keep default model.

Confirmation Window

Step-10 Now you can see the Data sources what you created.

Disply List of Data Sources

Get in touch with us for any query related to Pentaho or Ctools.

Helical IT Solutions

Chart and it’s Usage

There are many broad categories of chart, this blog will highlight chart and it’s usage. This article will help a user to understand when what type of chart is to be used


a. Area Chart : Area chart should be used when we want to emphasize the magnitude of change over time. Area chart will show how much the value of a variable has changed over a period of time.

area chart

b. Stacked Area Chart : Stacked area chart also emphasizes the magnitude of change over time, while comparing values over multiple categories.

stacked area

c. Horizontal Bar Chart: Bar chart is to be used when easy and fast comparison is required across multiple categories. This kind of chart gives less emphasis to time but more emphasis to comparison of values.

horizontal bar chart

d. Stacked Horizontal Bar Chart: Grouping occurs here. This is more commonly used when when part to whole comparison is required.

stacked horizontal bar chart

There are many further variants to the above mentioned charts like 3D bar charts, cyclinder bar charts etc.

3D Horizontal Bar Chart

e. Vertical Column Chart: This is also quite similar to horizontal bar chart, its just that values are plotted vertically. Again, this kind of chart is used when we want to have a faster comparison and less focus is there on time.

vertical column chart

f. Stacked Vertical Bar Chart: Grouping occurs. More commonly used when part to whole comparison is required.

stacked vertical bar chart

g. Layered Chart: This chart is used when we want to compare the contribution of an entity to the total across categories is required.

layered chart

h. Combination Chart: Here we superimpose one chart above or below another chart. This is done to improve clarity and highlight relationship between them.

combination chart

i. Overlay Chart: Again, superimposing of one chart on top of another done here. Ofter line and bar charts are used for it. Line chart shows the trend and bar chart emphasizes the individual values.

overlay chart

j. High Low Chart: This chart shows daily high values, low values, opening and closing values are shown by tick position on the chart itself.

high low chart

k. Candlestick Chart: Again similar to high values, low values, opening and closing values. Different color bars can also be used depending on the direction.

candlestick chart

l. Line Chart: Used for viewing trends over time by plotting data connected over time and connecting them by lines. Line chart to be used when plotting many metrics.

Line chart

m. 3D Line Chart: Similar to line chart, just that the lines are 3D in nature.

3D line chart

n. Z Chart: Trends shown over a short period of time; displaying the total, accumulative total and moving total.

Z chart

o. Stepped Line: Similar to line chart, but movement is shown in steps rather than lines.

stepped line

p. Meter: Generally more commonly used in dashboard. Rate of change of measure against pre-defined targets.

meter chart

q. Thermometer: Vertical representation of meter chart, indicating a range of qualitative indicators.

thermometer chart

r. Dial Chart: Used to indicate key performance indicators.

dial chart

s. Numeric Display: Used to show values in numeric format.

numeric display

t. Pie Chart: Used to show relationship of part to whole or the percentage contribution. If actual values are to be highlighted, pie chart should not be used.


u. Various formats of pie chart present like 3D pie charts, multiple pie chart and donut chart (pie chart in circular ring format).

w. Histogram Chart: It shows number of times a given values occur in a dataset.

histogram chart

x. Bubble Chart: Bubble chart with different size of bubble, at different location can be used very effectively to describe 3D data in a 2D chart. Further the color gradient of bubble can be yet another variable.

bubble chart

y. Scatter Chart: Used to often represent points which are  not joined, and thus trying to deduce a trend out of the same.

scatter chart

z. Trellis Chart: A segmented chart for which behavior is determined by the data selected.

trellis chart

aa. Waterfall Chart: It’s a special type of floating column chart. A typical waterfall chart shows how an initial value is increased and decreased by an intermediate values, leading to final value.

waterfall chart

ab. Funnel Chart: Used to show the status of stages in a process.

funnel chart

ac. Radar Chart: Comparing values across multiple axes.

radar chart

For any data visualization, please get in touch with us

Nikhilesh : [email protected]

Helical IT Solutions

Creating Candlestick Chart in iReport / Jaspersoft / Jasper Report

This blog will talk about how to create candlestick chart in Jaspersoft.


  • Jaspersoft(any version)
  • iReport tool(design)
  • d/b softwares (eg.MySql)
  • JAVA
  • Eclipse(if require)



The candlestick techniques we use today originated in the style of technical charting used by the Japanese for over 100 years before the West developed the bar and point-and-figure analysis systems. In the 1700s, a Japanese man named Homma, a trader in the futures market, discovered that, although there was a link between price and the supply and demand of rice, the markets were strongly influenced by the emotions of traders.



In order to create a candlestick chart, you must have a data set that contains open, high, low and close values for each time period you want to display. The hollow or filled portion of the candlestick is called “the body” (also referred to as “the real body”). The long thin lines above and below the body represent the high/low range and are called “shadows” (also referred to as “wicks” and “tails”). The high is marked by the top of the upper shadow and the low by the bottom of the lower shadow.

Candlestick chart Jaspersoft iReport



1.      Create report in i-report designer,  select Blank A4 size report from ireport designer.
File > New > Blank A4
(here eg.DemoOfCandlestickchart->NEXT->FINISH)

2.    Delete all band except summary band

3.    Goto-> Palette window tool->Select chart->Select MultiAxis chart->Select TimeSeries chart->Ok

4.    Right Click on Multiaxis chart->Select Add Exist Chart->Select Candlestick chart->Ok
(add two candlestick chart into multiaxis chart)

While writing query  keep in mind following things:
•    For input values to Candlestick chart  we require 5  values for each chart
High value

Low value
Open value
Close value
Volume value





avg(0) as  avg,

MAX(0) as max,

MIN(0) as min,

STDDEV(0) as std_dev,

“dummy” as _lable,

 1-1-1111   as _date,

as  abc  from dual


· Add  new Dataset ->Write query->add it

· Goto -> Report Inspector->Summary band-> Select candlestick chart (first)

->Right click on it ->Select chart data->goto chart data

Note:-  Generally creating single candlestick chart  first candlestick High-close value  are same and second chart Low-close value are same

Candlestick chart Jaspersoft iReport 2


5. Similarly as mentioned above instruction  set data for another chart .

Candlestick chart Jaspersoft iReport 3

How to resolve Jasperserver version compatability problem when migrating reports from one version to another

This blog will talk about how to make the report compatible with another version where it is being deployed.

Software used :- I-report, jasperserver (any version)


Step1) Open Your  report(.jrxml) in i-report

Jasper Version compatibility issue

step2)Goto Tool menu->options ->ireport menu->general->compatability

Jasper Version compatibility issue2

Step 3)select version which you want of jasperserver.

Here eg: jasperreport 4.1.3

Step4)goto (.jrxml) file of report  and make some  little change like set band height whatever you want and save it and update to server-repository navigator.

Step 5)check on your jasper server

Pentaho 5.0.1 CE integration with MySQL 5.0.1 CE (Windows or Linux family)

Pentaho 5.0.1 CE integration with MySQL 5.0.1 CE (Windows or Linux )


  1. Creating databases
  2. Modifying configuration files
  3. Stopping HSQL db start up

Creating databases

Command to execute the scripting files

mysql>source  D:\ biserver-ce\data\mysql5\create_jcr_mysql.sql

Similarly execute the remaining .sql files(i.e, execute create_quartz_mysql.sql and create_repository_mysql.sql)

  1. Check the databases created using show databases command on MySQL command prompt.


Modifying configuration files


Edit the file pentaho-solutions\system\

Original code






Modified code






  2. hibernate-settings.xml

Edit the file pentaho-solutions\system\hibernate\hibernate-settings.xml.

Original code


Modified code



3. mysql5.hibernate.cfg.xml

Location of the file: pentaho-solutions\system\hibernate\mysql5.hibernate.cfg.xml

Do need to change any code in this file.. Just need to check everything is perfect or not

<property name="connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>

<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>

<property name="connection.username">hibuser</property>

<property name="connection.password">password</property>


Location of the file: pentaho-solutions\system\quartz\

Original Code

org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate

Modified Code

org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate

5. context.xml

Location of the file: tomcat\webapps\pentaho\META-INF\context.xml

Original Code

<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"

factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"

maxWait="10000" username="hibuser" password="password"

driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/hibernate"

validationQuery="select count(*) from INFORMATION_SCHEMA.SYSTEM_SEQUENCES" />


<Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"

factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"

maxWait="10000" username="pentaho_user" password="password"

driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/quartz"

validationQuery="select count(*) from INFORMATION_SCHEMA.SYSTEM_SEQUENCES"/>

Modified Code

<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"

factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"

maxWait="10000" username="hibuser" password="password"

driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/hibernate"

validationQuery="select 1" />


<Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"

factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"

maxWait="10000" username="pentaho_user" password="password"

driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/quartz"

validationQuery="select 1"/>

 Imp Note:

Delete pentaho.xml file in below location



Pentaho creates  on startup pentaho.xml as a copy of context.xml

6. repository.xml

Location of the file: pentaho-solutions\system\jackrabbit\repository.xml.

Comment this code means (<! – – every thing here – -> )

Active means: Remove comment

i)                    FileSystem part

Comment this code


<param name=”path” value=”${rep.home}/repository”/>


Active this code


<param name="driver" value="com.mysql.jdbc.Driver"/>

<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>

<param name="user" value="jcr_user"/>

<param name="password" value="password"/>

<param name="schema" value="mysql"/>

<param name="schemaObjectPrefix" value="fs_repos_"/>


ii)                  DataStore part

Comment this code


Active this code

<DataStore class="">

   <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>

   <param name="user" value="jcr_user"/>

   <param name="password" value="password"/>

   <param name="databaseType" value="mysql"/>

   <param name="driver" value="com.mysql.jdbc.Driver"/>

   <param name="minRecordLength" value="1024"/>

   <param name="maxConnections" value="3"/>

   <param name="copyWhenReading" value="true"/>

   <param name="tablePrefix" value=""/>

   <param name="schemaObjectPrefix" value="ds_repos_"/>


iii)                Security part in the FileSystem Workspace part

Comment this code


<param name=”path” value=”${wsp.home}”/>


   Active this code


<param name="driver" value="com.mysql.jdbc.Driver"/>

<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>

<param name="user" value="jcr_user"/>

<param name="password" value="password"/>

<param name="schema" value="mysql"/>

<param name="schemaObjectPrefix" value="fs_ws_"/>


iv)                PersistenceManager part

Comment this code


<param name=”url” value=”jdbc:h2:${wsp.home}/db”/>

<param name=”schemaObjectPrefix” value=”${}_”/>


Active this code


<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>

<param name="user" value="jcr_user" />

<param name="password" value="password" />

<param name="schema" value="mysql"/>

<param name="schemaObjectPrefix" value="${}_pm_ws_"/>


v)                  FileSystem Versioning part

Comment this code


<param name=”path” value=”${rep.home}/version” />



Active this code


<param name="driver" value="com.mysql.jdbc.Driver"/>

<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>

<param name="user" value="jcr_user"/>

<param name="password" value="password"/>

<param name="schema" value="mysql"/>

<param name="schemaObjectPrefix" value="fs_ver_"/>


vi)                PersistenceManager Versioning part


Comment this code:



<param name=”url” value=”jdbc:h2:${rep.home}/version/db”/>

<param name=”schemaObjectPrefix” value=”version_”/>


Active this code:


<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>

<param name="user" value="jcr_user" />

<param name="password" value="password" />

<param name="schema" value="mysql"/>

<param name="schemaObjectPrefix" value="pm_ver_"/>


Stopping HSQL db start up

In web.xml file

Comment or delete this code (Commenting is preferable)




<param-value>[email protected]/../data/hsqldb/sampledata,[email protected]/../data/hsqldb/hibernate,[email protected]/../data/hsqldb/quartz</param-value>




Also comment this code








You have done with integrating pentaho 5.0.1 CE with Mysql 5.5

Now login to the Pentaho server .

URL:  http://localhost:8080/pentaho

Username/Password : Admin/password


  • You will not find any sample working. B’z you have not installed sample data.
  • Example available in pentaho are developed on sample data so you need to execute and give the new sample data base connections(for this you need to execute .sql file of sample data).

Helical IT Solutions

Helical IT Solutions Launches “Helical Scrunch” – Press Release

Helical IT Solutions Launches “Helical Scrunch”

Helical Brings an Innovative Product to Solve ETL Problems- “Helical Scrunch”

  • One of its own kind, Helical Scrunch will reduce the time, effort & resource requirement by approx 30-70%
  • High end visualization & control of ETL jobs, status, errors, data flow, configurations etc

Regaining the faith of the clients in the company for bringing innovative products to make business more profitable and easy process working, Helical IT Solutions has launched its ambitious product HELICAL SCRUNCH into the market to solve the existing ETL issues faced by the companies.

Nitin Sahu, Co-founder, Helical IT Solutions said, “We are really excited to launch Helical Scrunch which will further lessen the complications which exists in ETL Solutions, thus resulting in saving time and resource requirement and creation of much better high quality enterprise ETLs. We have been working on this product for the past 3 months. This will be a new revolution in the way ETLs are created and used”.
He further explained, “ETL jobs are generally created for data migration, creation of data marts and data warehouse, data integration, data replication, data cleansing etc. Though this work can be handled by database SQL, yet ETL tools are used because of its ease of usage, built in objects like aggregators, easy debugging, good auditing capabilities etc. Even ETLs have many restrictions like very low visibility & control for an ETL admin, no reusability of ETL scripts, no standardization, error and logging etc, keeping all these restrictions of ETL tools in mind, Helical IT Solution has came up with a custom framework (known as Helical Scrunch), to work on top of an ETL tool, thus removing all the restrictions of the same.”
What is ETL?
ETL is shortened form of EXTRACT, TRANSFORM, LOAD.  In ETL, using any method data gets extracted from some source , then this data gets changed (transformed ) as per specific need, further changed ( transformed ) data gets loaded to another system mostly known as target system.
Problem Definition: Though there are many ETL tools available in the market, but using them also come with their own inherent problems, some of which are highlighted below:
Best Practices: Each and every developer does the ETL development according to his logic and his method of development; hence more often than not the best practices are not followed. These best practices are related to error handling, naming conventions, QA, QC etc.

Lack of standardization: Often not following the best practices on logging, error handling, naming conventions, documentation etc leads to lack of standardization between the different ETL jobs which have been developed amongst the different ETL developers.

Lack of control for end user: Generally in any ETL, an end user or IT administrator is often not able to see and monitor what exactly is happening. He has absolutely no control of the jobs, flags, status etc.

Lack of reusability: Generally, any ETL job is designed to tackle any specific problem, and not with reusability or long time picture in mind. So whenever there is any change, ETL job creation starts from the scratch.

Lack of monitoring: An end IT user or business user is having no option to monitor the progress of the job execution, what is the real time progress, logs and errors encountered if any etc.

Lack of visualization: Lack of visualization in ETL tools result thus result in an end user having no control and visibility on the history of the jobs execution, what jobs were executed, what jobs are executing, what error is being thrown etc.

Helical Scrunch
Pluggable: The Helical Scrunch has been designed in such a way that the different features are pluggable (like logging module, visualization module, status and notification module etc). This gives the developer freedom to select which all modules are to be present
Reusability: Helical Scrunch has been designed in such a way to make sure that the jobs created are usable. Having a standardized naming convention, features, documents etc further goes a long way in making sure that the jobs are reusable.
Control: Helical Scrunch provides an extensive control to an end user/IT admin via web interface. The control is very exhaustive which includes controlling and changing ETL configurations without opening ETL job, monitor data flows, controlling what to execute what not to execute etc.
Visualization: Helical Scrunch also provides, via web interface, extensive reports and dashboard capabilities. The reporting capabilities thus empower user to have real time view of the project status, error encountered, data transfer, data flow monitoring, which all jobs are executed, which all jobs are executing etc. There will also be ability to select date range for seeing the different parameters. Visualization helps in Monitoring and Analysis.
Alerting and Notification: The alerting and notification feature of Helical Scrunch helps in creating different kind of alerts. These alerts and notifications are configurable. These alerts can be set on certain events or thresholds. Notifications could include email alerts etc.
Reusability: Helical Scrunch has been designed in such a way that the jobs created are following standard conventions, best practices, naming conventions etc and thus they can be easily edited and highly reusable.
Extensibility: The architecture has been designed in such a way that easily any new module or feature can be added, which makes the entire framework highly extensible. Thus it can accommodate any new requirement or business logic or feature.
Logging: Helical Scrunch is designed in such a way to make sure that absolutely all the ETL work is properly logged. The extensive logging mechanism helps in visualization, identifying, alerting and taking corrective action.
Time Saving: Generally, whenever any ETL job is designed, a lot of work is involved in designing reusable components like error logging, custom logging, defining naming conventions, designing proper architecture etc. By usage of Helical Scrunch, a company can reduce ETL development time by 30-70%, and with a much better quality.
Resource Saving: Usage of this can lead to reduction of a number of resources required to execute the same project. ETL architects are not at all required and ETL developers to create generic ETL jobs and implement ETL architects are not required. The only work involved is in terms of business logic implementation. 30-70% of lesser ETL resources might be required for the implementation of the same work.
Quality of output: The ETL jobs created using this will be of a much higher quality.
Interactivity: A user interface for controlling of jobs, putting configurations, having a view of what is happening, reports, analysis etc gives a lot of interactivity and information to the end users.
Team Productive: Usage of Helical crunch can lead to the ETL team becoming effective and start working right from the day one. Helical Scrunch takes care of all the other things like nomenalcature, standardization, creation of jobs etc. Hence, ETL team can only need to focus on the problem in hand, which is actual implementation of the business logic.
About Helical IT Solutions

Helical IT Solutions is an open source DWBI company and has expertise in providing simple, practical & affordable solutions which are suitable for business users, right from CEO, CXO, line managers & to every end user of the enterprise. With a quick turnaround time, the company can provide mobile BI solutions, on premises or hosted SaaS solution, hence catering to every type of need. Helical offers services on entire BI stack, ranging from ETL, DW, Data mining, Analytics, BI solution. They also provide integration of disparate data sources and offers powerful interactive tools like balanced scorecards, personalized dashboards, key performance indicators, automated alerts, graphical mining, cross tab reporting and more! At present Helical impressive clients list include Unified Social Media, Vortecy Energy Consulting, Sage Human Capital – HR Business Intelligence, Predikto, hCentive- HealthCare insurance and many more.  Check for more details