Wednesday, February 6, 2013

Now is possible you receive push notifications from Pentaho Data Integration


As I said in my first post in my blog, there are two things I want share with you:
  • PDI Android Push Notifications Plugin: This is a plugin that permit to you send push notifications from Pentaho Data Integration to any android application that enable GCM service. This plugin is written in Scala!!! Check out: https://github.com/latinojoel/pdi-android-pushnotifications. Note: this plugin yet is a release candidate.
  • PDI Manager Android App: Is a Android App that enable to you receive push notifications from PDI.

About PDI Android Push Notification Plugin


 Instalation
  1. You need Pentaho Data Integration installed;
  2. Download  the plugin from sourceforce, you can find in this link;
  3. Stop your Pentaho Data Integration if it's running;
  4. Uncompress AndroidPushNotification file;
  5. Copy AndroidPushNotification folder to <pdi-folder-installation>/plugins/steps; 
  6. Start your Data Integration and enjoy :-).
 Configuration
You need to be familiar with GCM (Google Cloud Messaging for Android), you can read more about this service in this link. As I say, this plugin is designed for send push notifications to any android application because all most important parameters are configurable.


Main Options screen

Properties screen

For sending push notification to PDI Manager Android App
In this moment, PDI Manager is very young :-), so it's only configured to receive four properties inside the push Status, Project, Date and Data
Use the follow API Key: 
AIzaSyAh7Nf-N7bE4xIwsVb7nk4mmls_yEQwZQA
See the image example below:
A little sampe.

In the next few days I will provide a better documentation. For now, I think this post help you test this new solution.

PS: Feel free to comment and if you find a bug or you have a idea for this solution, you can create a issue or pull request on GitHub
.


Tuesday, February 5, 2013

How create zip files with Maven

In some maven projects is important generate a  compressed file, for example to send by email.
So, in this post I will show you how you can generate compressed files using Maven.
In you pom.xml file you need incorporate the maven-assembly-plugin plugin, something like that:


<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-assembly-plugin</artifactId>
 <configuration>
  <descriptor>src/assembly/bin.xml</descriptor>
  <finalName>${plugin.name}</finalName>
 </configuration>
 <executions>
  <execution>
   <phase>package</phase>
   <goals>
    <goal>single</goal>
   </goals>
  </execution>
 </executions>
</plugin>

So, as you can see, you need define a bin.xml file in src/assembly/ path, you can define the name and path that you want. Is only mandatory have a specific structure content. That you can see a example below:

<assembly
 xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
 <formats>
  <format>zip</format>
  <format>tar</format>
  <format>tar.gz</format>
  <format>tar.bz2</format>
 </formats>
 <includeBaseDirectory>false</includeBaseDirectory>
 <dependencySets>
  <dependencySet>
   <includes>
    <include>groupId.example:artifactId.example</include>
   </includes>
   <unpack>false</unpack>
   <scope>runtime</scope>
   <outputDirectory>${plugin.name}</outputDirectory>
  </dependencySet>
 </dependencySets>
 <fileSets>
  <fileSet>
   <directory>resources</directory>
   <outputDirectory>${plugin.name}</outputDirectory>
   <includes>
    <include>file-example.xml</include>
    <include>file-example.png</include>
   </includes>
  </fileSet>
  <fileSet>
   <directory>target</directory>
   <outputDirectory>${plugin.name}</outputDirectory>
   <includes>
    <include>build-*.jar</include>
   </includes>
  </fileSet>
 </fileSets>
</assembly>

That example, permit create zip, tar, tar.gz, tar.bz2. If you want put all dependencies on the compress file, you don't need define includes tag.

More details about maven-assembly-pluginhttp://maven.apache.org/plugins/maven-assembly-plugin



I hope that information is useful for you. Feel free to comment this post.

Saturday, February 2, 2013

Coming something to Pentaho Data Integration


This is my first post in my personal blog, so you are ask why? The answer is because on last days I developed something that I think is very useful to pentaho community. In this moment I don’t want talk very must about that but I can say it’s to improve the quality work of ETL developers.
Coming coming…. :-)