FusionCloud – TechTalks + Tips and Tricks + Linux + etc

TechTalks + Tips and Tricks + Linux + etc

Drupal Developers Day 2012

Another exciting event organized by the PHDUG -Philippine Drupal Users Group, the “Drupal Developers Day 2012” held at Microsoft Philippines, Ayala Office Tower, Makati, Manila last October 27, 2012. It was attended by mostly students who are eagerly want to learn drupal, developers from different industries, company executives who are looking for awesome drupal developers.

Hot topics were discussed from beginners to advance sessions. The following are topics discussed in the event:

1. SaaS by Albert Causing

2. Git Basic by Gerald Villorente

3. Module Development by Adolfo Nasol

4. Mobile Development using Drupal Web Services by Paul de Paula

5.  Basic Theming by Oliver Kuy

6. Selenium Testing by Jonathan Jacinto

7. Windows Azure by Edison Go Tan

8. Mozilla Firefox by Eusebio baron

9. Open Forum by all speakers, Rachel Jaro, Eusebio Baron, Rick Bahague hosted by Marc Robinsone.

In behalf of the Philippine Drupal Users Group we would like to thank the sponsors for extending help to the event that without them it may not be made possible.

1. SmartDevNet

2. Globelabs

3. Prometsource

4. BuildAModule

5. Emphanos

6. New Amsterdam Ideas

7. CPU-Union

8. Mozilla Philippines

We also would like to extend our thanks to our volunteers who creatively designed our IDs, Certificates, Tarpaulin Ad, and etc.

“Learn from the drop” a drupal meetup in manila

Another successful drupal event took place last September 29, 2012 at Exist techbar, Ortigas, Manila. It was attended by mostly students and developers who wants to learn more in drupal. The event was organized by the Drupal Users Group(DUG) Manila led by strong willed lady Gem Devanadera.

The first speaker was Gerald Villorente from Kyte System/CNNGo talked about the fundamentals of Drupal, it was a great presentation and for sure a lot newbies learned a lot from it.

The second speaker was the art director of Kuy Digital, Oliver Kuy a drupal designer who loves theming and photoshop, He tackled the basic PSD to Drupal Theming, Oliver carefully discussed the process in
customizing drupal sites without much of coding.

One of the highlights of the event was a talk from our visitor who came all the way from chicago illinois, Mr. Young-jin Kim, of that specializes in CIVICCRM,  hes also an active Drupal organizer, a Drupal evangelist in Chicago. Young talked about “5 Reasons to use Drupal”. He also have shown us an infographics of the status of drupal in the US, and why the US Government trust Drupal.

Our last speaker was Albert Causing, he discussed about the OM Maximenu module developed by one of our members in DUG, Daniel Honrade.

The event was even more fun when participants joined the gangnam style dance, students from PUP shows no shyness when they rock on the dance floor.

This Drupal Meetup wont be possible without the support of the sponsors, In behalf of the Drupal Users Community we would like to extend our thanks to SmartDev Net, Exist, Mozilla Philippines, Globe Labs, New Amsterdam Ideas, DevCon and GeekGirls Philippines.

Drupal Meetup @ Raya Garden

We hosted the drupal meetup at Raya Gardens at Parañaque City last saturday June 16, 2012. The event was organized by Ms. Gemma Rose Dublan and Rachel Jaro. The weather was windy and cloudy and was about to rain, but thanks God there were still people eager to learn drupal and wanted to collaborate with other developers, newbies, noobs.

We first gathered to meet and greet at the clubhouse and it was fun because most of the faces were new to me and ive seen a lot of potentials from them to be an advocate of FOSS so its a good thing. While others are busy introducing themselves, Gem ordered toron and some refreshments and it was very good and refreshing at the same time.  We were supposed to have the discussion at the clubhouse but due to some external destructions(noise) so we opted to have it done at the mini lobby just outside of our unit, so we settled and after 30 minutes the food arrived, a pizza from Pizza Hut, Thanks to those who have chipped in for our food.

There were three topics that was discussed, “Symfony meets Drupal” by Ken Marfilla a symfony guru, “Intelligent Mapping using Openlayers” and OpenERP by yourstruly, it was exciting and fun, people were asking questions, ive seen happy faces and people are constantly talking “Drupal is awesome”.

Attached are the pictures from the event:

First OpenErp Bootcamp in Manila

My wife and i just attended the first OpenErp Bootcamp in Manila held at Picadily Bldg, The fort, Taguig Global City. Attendees were coming from different industries such as Manufacturing, Telecom Company and Software Development Firm.

I first heard OpenErp last year and now its making a big sound from western countries to southeast asia, OpenErp just opened their office in Singapore to accommodate support and development for Asia due to Its demand and  popularity in the region and has potential to compete with big names like Oracle, SAP and Microsoft.

Kudos to Eastvantage an IT outsourcing company, a european firm based in Manila that is committed to share the good news to the opensource community for its wise move to introduce OpenErp in the Philippine Market.

Thanks also to Mr and Mrs Pohlmann of Auberon Solutions for sharing such informative presentation of OpenErp, its functionalities, basic python and OpenErp Module development.

Here are some pictures taken by my wife gem.

How to install CKAN on RHEL 6

As the CKAN documentation for Ubuntu explains, you can stand up an instance of Linux using VirtualBox, Amazon’s EC2 or through another method of your choosing. In our case, we used Amazon’s EC2. The process was identical to the standard instructions in the CKAN documentation for Ubuntu, except that we used an AMI for RHEL 6 instead of an AMI for Ubuntu to initialize the system. The AMI we used was named “RHEL-6.2-Starter-EBS-x86_64-4-Hourly2” (AMI ID ami-41d00528). This produced an Red Hat instance with a public address of

Log on to the server

ssh -i cmapkey.pem

Ensure the required packages are installed and update yum for latest updates on repositories

yum update

You will get a list of dependencies being resolved and packages to be installed, following by a prompt asking you to confirm that you want to download the packages. Enter “y”, and you’ll see a list of lines that begin “Updating” following by the package name, and then a list of lines that begin “Cleanup.” Finally, you’ll see the world “Complete:” followed by a command-line prompt.
  • Mercurial is a distributed revision control tool for software developers.
  • PostgreSQL is an object-relational database management system.
  • virtualenv is a tool to create isolated Python environments. It lets you create a new Python environment to run a Python app and install all package dependencies into the virtualenv without affecting your system’s site-packages.

yum install mercurial postgresql
easy_install pip
pip install virtualenv
yum install wget git-core subversion

The following packages are not supported by YUM and therefore have to be installed using RPM:

  1. python-dev
  2. libpq-dev
  3. libxml2-dev
  4. libxslt-dev
  5. openjdk-6-jdk
  6. solr-jetty

Install python-devel

Find a download of python-devel at and then:

rpm -ivh python-devel-2.6.6-29.el6.x86_64.rpm

Install postgresql 9.1

rpm -ivh pgdg-redhat91-9.1-5.noarch.rpm

Install libxml2 development version “libxml2-dev”

libxml2 is dependent upon zlib and zlib-devel.

rpm -ivh zlib-1.2.5-2.fu14.x86_64.rpm
rpm -Uvh zlib-1.2.5-2.fu14.x86_64.rpm

rpm -ivh zlib-devel-1.2.5-2.fu14.x86_64.rpm
rpm -Uvh zlib-devel-1.2.5-2.fu14.x86_64.rpm

rpm -ivh libxml2-devel-2.7.6-4.el6_2.4.x86_64.rpm
rpm -Uvh libxml2-devel-2.7.6-4.el6_2.4.x86_64.rpm

Install libxslt development version “libxslt-devel”

rpm -ivh libgpg-error-devel-1.7-4.el6.x86_64.rpm

rpm -ivh libgcrypt-devel-1.4.5-9.el6.x86_64.rpm

rpm -ivh libxslt-devel-1.1.26-2.el6.x86_64.rpm

Install virtual environment for python

virtualenv pyenv

Activate your virtual environment

To work with CKAN it is best to adjust your shell settings so that your shell uses the virtual environment you just created. (Note that the period and space at the beginning of the command are necessary.)

. pyenv/bin/activate

When the shell is activated you will see the prompt change to something like this:

(pyenv)[root@ip-10-190-46-61 ~]#

Install CKAN source code

Here is how to install the latest code (HEAD on the master branch):

pip install --ignore-installed -e git+

Install Additional Dependencies

CKAN has a set of dependencies it requires which you should install too. These are listed in three text files: requires/lucid_*.txt, followed by WebOb explicitly.

First we install two of the three lists of dependencies:

pip install --ignore-installed -r pyenv/src/ckan/requires/lucid_missing.txt -r pyenv/src/ckan/requires/lucid_conflict.txt
pip install webob==1.0.8

Install psycopg2 and pylons

  • Psycopg is the most popular PostgreSQL adapter for the Python programming language.
  • Pylons is a Web application framework written in Python.

yum install python-psycopg2
yum install python-pylons

Install cython for c compiler

  • Cython is a programming language to simplify writing C and C++ extension modules for the CPython Python runtime.

easy_install cython (This takes awhile.)

Install more required python modules

In the standard install instructions you would run: pip install --ignore-installed -r pyenv/src/ckan/requires/lucid_present.txt. However, it produces an error message on psycopg2, so instead we’ll install each package listed in lucid_present.txt manually (except for Psycopg and webob, which were already installed in the instructions above). Note that the the install of the lxml package may take a long time.

  • Babel is a collection of tools for internationalizing Python applications.
  • lxml is a Pythonic binding for the C libraries libxml2 and libxslt. It provides a library for processing XML and HTML in Python.
  • repoze.who is an identification and authentication framework for WSGI applications.

pip install babel==0.9.4
pip install lxml==2.2.4
pip install Pylons==0.9.7
pip install repoze.who==1.0.19
pip install tempita==0.4
pip install zope.interface==3.5.3
pip install repoze.who.plugins.openid==0.5.3
pip install repoze.who-friendlyform==1.0.8
pip install routes==1.11
pip install paste==1.7.2
pip install pastescript==1.7.3

At this point you need to deactivate and then re-activate your virtual environment to ensure that all the scripts point to the correct locations.


. pyenv/bin/activate

Set up a PostgreSQL database

Initialize and start Postgresql DB:

service postgresql initdb
service postgresql start

List existing databases:

sudo -u postgres psql -l

Create a user called ckanuser and enter “pass” for the password when prompted. (For actual production, you’ll want a more secure password).

sudo -u postgres createuser -S -D -R -P ckanuser

Now create the database (owned by ckanuser), which we’ll call ckantest:

sudo -u postgres createdb -O ckanuser ckantest

Install Postgresql development version

This will be used in setting up database using paster. Just execute the statement below.

yum install postgresql-devel

then find the pg_hba.conf and change “ident” to “trust”

find / -name pg_hba.conf
nano /var/lib/pgsql/data/pg_hba.conf

example lines in pga_hba.conf:

host all trust
host all trust

Disable firewall in Redhat

service iptables stop

Install and configure Solr

Installing Solr on Red Hat

Create a CKAN config file

cd ~/pyenv/src/ckan
paster make-config ckan development.ini

Modify the development.ini file, assigning the following values:

host = [DNS]
sqlalchemy.url = postgresql://ckanuser:pass@localhost/ckantest
ckan.simple_search = 1
(If Solr is installed, leave this line commented out.) ckan.site_url: [DNS]
ckan.site_id = [DNS]


host =
sqlalchemy.url = postgresql://ckanuser:pass@localhost/ckantest
ckan.simple_search = 1
ckan.site_id =

Enable the synchronous_search Plugin

New datasets added via the web UI won’t show up in search results or on the datasets page until you enable the synchronous search plugin in your CKAN config file (e.g. development.ini). Find the plugins line and set it to something like this:

ckan.plugins = stats synchronous_search

Create database tables

Now that you have a configuration file that has the correct settings for your database, you’ll need to create the tables. Make sure you are still in an activated environment with (pyenv) at the front of the command prompt and then from the pyenv/src/ckan directory run these commands:

service postgresql reload
pip install psycopg2
paster --plugin=ckan db init

(If your config file is called something other than development.ini then you need to specify it in the final command, e.g. paster --plugin=ckan db init

You will be prompted with this message if successful: “Initialising DB: SUCCESS.”

Create the cache and session directories

You need to create two directories for CKAN to put temporary files:

  • Pylon’s cache directory, specified by cache_dir in the config file.
  • Repoze.who’s OpenId session directory, specified by store_file_path in pyenv/src/ckan/who.ini

(from the pyenv/src/ckan directory or wherever your CKAN ini file you recently created is located):

mkdir data sstore

Link to who.ini

who.ini (the Repoze.who configuration) needs to be accessible in the same directory as your CKAN config file. So if your config file is not in pyenv/src/ckan, then cd to the directory with your config file and create a symbolic link to who.ini. e.g.:

ln -s pyenv/src/ckan/who.ini (this line is actually not necessary)

Test the CKAN webserver

(from the pyenv/src/ckan directory):

paster serve development.ini

If this runs successfully, you’ll see a message such as “serving on”.

browse CKAN Site at: localhost

Install console browser to be able to browse localhost or

Launch a separate ssh connection to the server. Then enter:

yum install w3m

To exit the browser, enter Command-z.

To quit serving the site, enter Command-c from the console browser where you ran paster serve development.ini.

Create an Admin User

By default, CKAN has a set of locked-down permissions. To begin working with it you need to set up a user and some permissions. First create an admin account from the command line (you must be root, sudo -s):

paster --plugin=ckan user add admin --config=development.ini

When prompted, enter a password. This is the password you will use to log in to CKAN. In the resulting output, note that you will also get assigned a CKAN API key.

This command is your first introduction to some important CKAN concepts. paster is the script used to run CKAN commands. std.ini is the CKAN config file. You can change options in this file to configure CKAN.

For exploratory purposes, you might was well make the admin user a sysadmin. You obviously wouldn’t give most users these rights as they would then be able to do anything. You can make the admin user a sysadmin like this:

paster --plugin=ckan sysadmin add admin --config=development.ini

Restart the server

paster serve development.ini

Then visit the site from your web brower at your server’s domain and port:


Maple Camp 2012

Free Open Source Software is everywhere. Just today we have just had our Maple Camp 2012 at Jesus the Foundation Christian Fellowship at Sun Valley, Bicutan, Parañaque City, Manila.  Maple Camp’s objective is to help train the youth and young at hearts on how to build  websites for the church and be able to manage it, from content publishing, to  social media and SEO. There will be a weekly meetup after the event where in-depth discussion and hands-on training on drupal/joomla will take place.
Maple Camp 2012 Official Banner
We are blessed to have guests from drupal community, Mr. Sven Berg Ryen from Drupal Singapore Network, Mr Gerold Mercadero and Mrs. Rachel Jaro of Drupal Philippines. The event wont be more alive and exciting if not with the help of our sponsors, to New Amsterdam ideas, BrioBirth, Charie Villa of and to the Jesus The Foundation Christian Fellowship.
Joomla and Drupal were discussed and presented its features as content management framework, it was attended by young leaders, students pursuing IT, and young at hearts of the JTF Church. Participants were thrilled and overwhelmed by the power and capability of both cms.

Featured post

How to browse websites using w3m locally on ec2

When i was trying to install CKAN from source i encountered error on apachesolr, the only way i can test it out is to browse apachesolr admin site locally (, since im on ec2 and only accessing via ssh i cant browse it using firefox, chome. Good thing is that David from CKAN community introduced me to w3m a text based browser, it doesnt render visually but it does render the markups.

Heres step on setting it up:

sudo apt-get update

sudo apt-get install  w3m

w3m [options] [URL or filename]

w3m localhost:8090

There you have it.



How to upload/download recursively using only ftp

Im used to have access in all our servers with full access, with ssh root you can do anything on the server, permissions, ownership issues will be addressed easily without hassle. I had this experience in downloading/uploading files from remote servers using only ftp. It took me hours to finally solved it, ftp has a limitation it doesnt recursively download all sub directories, it does execute this line ftp> mput -r * , but what it only does is copying all files, it doesnt copy sub folders.

I found an application lftp, its a sophisticated http/ftp client, its a file transfer program and do what ftp cant do, especially ftp’ s recursive isses on subfolders.

# lftp ftp_host
> user username password
> mirror source target
(download entire directory tree)
> mirror -R source target
(reverse mirror; upload entire directory tree)

This will save you gazillions of hours if you are transffering files with subfolders using ftp only.



New Amsterdam Ideas at Drupal Camp Singapore 2012

I was fortunate to be invited by Drupal Community to give talk in Singapore in their Drupal Camp 2012 at Microsoft building near Marina Bay. It was attended mostly by developers, CEO of IT companies not just from Singapore but across south east asian countries.

I can say that more and more developers in Singapore are embracing the power of drupal as a platform, ive meet people from Promet Source, Moni Media and Trellon. These companies shared the same vision
with New Amsterdam Ideas,  “share”, “collaborate”  are one of the key ingredients to have a successful community.

It was a privilege to be one of the Panelists in the open discussion about Drupal and answering questions from the participants.

left to right: Simon Lindsay from Aquia, Andrew Kucharski of Prometsource, Ric Shreves of Water & Stone, Me(New Amsterdam Ideas) and Alex Rollin(Ex- Trellon)
Simon of acquia answering the question how secured is drupal?
What is the future of Drupal? Html5, ORM, Full pledge mobile platform
Audience eagerly listening to the panelists

Over-all the Open Discussion was very successful, the event was very informative and a lot of people participated in the interaction.

Blog at

Up ↑