Archive | appRain RSS feed for this section

appStore is ready for appRain 0.2.1 users.

9 Mar

appStore has taken off from default component list of appRain version(0.2.1). But, users can download it form Google Code Repository. The components has been uploaded in

In present appRain website no section will open to describe the uploaded components except the news hi-light area in home page. Upcoming website will have a section for Components with tutorials.


appRain new version 0.2.1 has released.

9 Mar

Little new stuff just passed!

appRain has release a new ‘Stable Release’ with version no 0.2.1. Quite a few decisions have been taken on that regards. All Stable versions release number will increasing middle parameter and right side number will be always 1. And right segment will grater then 1 for any beta version.
Stable: X.[X++].1 For example: 0.2.1, 0.3.1
Beta : X.X.(X++>1) For example: 0.2.2, 0.2.3

Several components have removed from this version that can make some negative impact in primary sense, because users have to install necessary plugins from appRain website. But they will get a habit to look for new components and update on regular basis and it will keep them up to date.

In new version (0.2.1) user able to save FTP access in admin panel for smooth installation of Components. Developers can copy installable file in any directory by XML definition but we recommend avoiding core libraries. Major bugs has fixed in Uploading and Cache Management. System always keeps a backup of edited file from appEditor and you can recovery any corrupted files from cache repository.

A major decision is, appRain team has decided to closed “appRain Core 0.1.0” version because it’s not maintained. So, the source code and SVN access of this version has been removed from Google Repository.

appRain official website is going to renovate in new look with loads of features. It will be more useful for users to get connected with Code, Tutorials, Download and Core team as well!
Let’s check the new version! Chrees.

Few bits after a break

7 Mar

It’s a long time gap of writing after softExpo program. appRain has been awarded by Manthan South Asian Award 2011. It was really amazing to share future plans to other developers.

In the meantime the Preparation of next stable release of appRain 0.2.1 is almost done. Upcoming special features are like User Define Hooks, Theme and Component installer process, fix of few more bugs. Ultimately motive is to reduce dependency on appRain base framework and be contingent on Interface and Component base development.

Recently we have done several testing on full resource utilization in PHP CLI and judged the performance in absence of Apache Interfere. The most successful step is the “HOST to HOST interfacing” to process Credit Card Payment for Roaming Billing collection by using ISO-8583 stream. It running on a simple DOS Console without any interruption!

appRain is awarded in “1st Runner Up”

13 Mar

Ahhh! Finally!

“IT Innovation Search Program” by BASIS(Bangladesh Association of Software & Information Services)‘s Soft Expo honored appRain( in 1st Runner Up Award.

Some Pictures here:

Soft Expo 5 Days

13 Mar

appRain is selected in short listed projects of “IT Innovation Search Program” in BASIS Softexpo( and decided to show down in Software Fair in “Bangabandhu International Conference Centre (BICC), Dhaka”.

The show continued 5days and it was really rushing. Here is some photographs

Remote article randomizer for Search Engine Optimization

10 Nov

Search Engine always like new content in the website and also inbound link from other website. To meet this requirement we creates several satellite website(A article website for link building) and link it with our Sales website.

But it become annoying to populate content every day in satellite websites separately.

To make life easy! We can look little bit out of the box. We can create a repository website to store all article. All other site will send request to the repository website to fetch content, it can be randomly or latest first.

We can create this scenario in a convenient way by appRain Web-Service module.

Step 1: Create Web Service method
We have to create a web-service class in the system. We can do it in testservice.php(development/helper/api/) which is ready. Simply add the following method

  * @param FixedArray Must be an array
  * @return FixedArray Must be an array
  public function getContentByCode($options = Array()) {
       // We can filter content by Category 
       // or keyword as per need
       // Here we have fetch data from Information Set but 
       // we can do that from Model or Category Set as per need
       return App::InformationSet('content')
                    ->findAll("1 ORDER BY RAND() LIMIT {$options[3]}");

Once we have add this class then our web-service is ready and WSDL link will be like

Step 2: Create plug-in class
Now we will create a simple class to connect the repository. Simple we can add this class:

class appContentRamdomizer{
    //Singleton instance    
    private  $ar_proxy = null;
    public   $ws_url = "";
    public function __construct($url=null) {
        if(isset($url)) $this->ws_url = $url;
    public function getContentByCode($keyword=null) {
        $proxy = $this->getService();
        // In this method we are passing some param
        // to use when we fetch content 
        $content = $proxy->getContentByCode(array(
                                $keyword = 'keyword', 
                                $isRamdomize = true,
                                $limit = 1));
        return $content;

    private function getService(){   
            $this->ar_proxy = new soapclient($this->ws_url);
        return $this->ar_proxy;

Step 3: Fetch remote data
This is a simple step to fetch article form remote repository:

$appCR = new appContentRamdomizer();
$content = $appCR->getContentByCode('keyword');

“Auto Load” Method and Singleton Pattern helps to manage resource in appRain

12 Oct

It’s really easy to load a class in appRain. We don’t need to include the class but it attach on demand. “On demand” means when we create first instance of the class then system automatically include the class in the system.


There are some common conversion to construct the class. Here is some guide line

1) The class name must be given with the combination of it’s directory path. Let say we have a class in:


Then class name must be


2. Class name must be in lower case.

Here each underscore ( _ ) is used as a directory separator so we must use it carefully.Once we have create the class the installation is done. It will be attached in the system when we will create it’s first instance. We can create the class object like

$object = new Development_Plugin_Paypal_Standard()

But appRain recommend in different way..

For plug-in it will be : $obj = App::Plugin(‘Paypal_Standard’);
For helper it will be : $obj = App::Helper(‘Paypal_Standard’);

But in some case if we need to create class object directly then we can use like
$obj = App::__Obj(‘Development_Plugin_Paypal_Standard’);

Because, in this way the system manage the resource in Singleton Pattern so that, It hepls not to over load resource any more.