Come installare Funambol 10 su Debian Wheezy

In questo articolo vedremo come installare Funambol 10.0.3 su un server Debian Wheezy.

Innanzitutto, dobbiamo installare sul server il Java jdk:

$ apt-get install default-jdk

In seguito, creiamo una cartella in cui scaricare e decomprimere Funambol (al momento, alla versione 10.0.3):

$ mkdir -p /opt/Funambol
$ cd /opt/Funambol
$ wget -c http://downloads.sourceforge.net/project/funambol/bundle/v10/funambol-10.0.3-x64.bin
$ chmod +x funambol-10.0.3-x64.bin
$ ./funambol-10.0.3-x64.bin

Ora, abbiamo bisogno di un utente specifico per far girare Funambol. Così, creiamo un gruppo chiamato funambol ed anche un utente chiamato funambol con /opt/Funambol come cartella home:

Continue Reading

How to install Funambol 10 on Debian Wheezy

In this post we will cover how to install Funambol 10.0.3 on Debian Wheezy server.

First of all, we need to install Java jdk on server:

$ apt-get install default-jdk

Then, let’s create a folder to download and uncompress Funambol (at the moment, at version 10.0.3):

$ mkdir -p /opt/Funambol
$ cd /opt/Funambol
$ wget -c http://downloads.sourceforge.net/project/funambol/bundle/v10/funambol-10.0.3-x64.bin
$ chmod +x funambol-10.0.3-x64.bin
$ ./funambol-10.0.3-x64.bin

Now, we need a specific user to make Funambol run. So let’s create a group called funambol and a user also called funambol with /opt/Funambol as home folder:

Continue Reading

ReCaptcha in Zend Framework 2 without Zend/Form

The problem

Captcha is a very useful mechanism to avoid automated abuse of your sites and applications. In particular, reCAPTCHA is a Google powered service that offers a free and simple way to implement a captcha protection field in your forms or pages. Zend Framework 2 implements his own components to handle captcha and a specific one to handle reCAPTCHA service. At the moment, the ZF2 documentation is very usefull if you want to integrate a reCAPTCHA in your Zend/Form component, but lacks in describing how to use reCAPTCHA service component alone. Actually Zend/Form is very powerful, but sometimes a developer need to use standard html to implement his own forms and this prevents to use ReCaptcha as Zend/Form element.

The solution

To reach our achievement, we will implement a reCAPTCHA service that can be use all over the project to generate captchas and test them against values inserted by user. This service will be used principally in views and controllers. The following code implementation assumes that you have a working ZF2 project, configured as described in official documentation.

Continue Reading

Working with DateTime in Doctrine 2 and Zend Framework 2

The problem

Storing datetimes can be a issue if servers and users of your application are distributed around the World and use different time zones. Each user want to work on datetimes in his specific time zone, servers automatically stores values in their time zone, etc. Storing data without operating right conversion will cause strange behaviours.

The solution

The solution is very simple: store all datetimes in UTC time zone and show to each user in his proper time zone. This is, gnerally, a well documented technique, but the following code will explain how to realize this operation in Doctrine 2 and Zend Framework 2 environment. To do this, we will assume you just have a working ZF2 project with a configured DoctrineORMModule (refer to official documentation to reach this achievement).

Continue Reading

Switch to mobile, tablet, or other layout in Zend Framework 1.11

The problem

We want to implement a method to completely switch layout of our Zend Framework application without loosing flexibility. The solution must give us the possibility of switching all layouts and  the views of the controllers we want.

Other’s solutions

I found some solutions on the Web, but I decided to post this article because no one satisfies my needs. They all resort to ContextSwitch to handle views file names, but, in my applications, I just use ContextSwitch in some actions for other purpose, so I’m unable to apply them without restructure existing code.

My solution

Continue Reading