Thursday, May 5, 2011

Software Implementation of 'SDK for Drupal'


The services will be created as a service module in drupal using drupal development standards and according to the usability and the functionality needed by the users.
The SDK developed will expose this module as a service that can be accessed by various other platforms such as android iphone or as a desktop application. The security issue is being handled using omniauth authentication module.


The Compendiary


~> Modules are built: Node, Menu, views, CCK, taxonomy, User, comment, Node Hierarchy, File field, services

~> Modules are exposed as service

~> Libraries for the titanium to access the service from any mobile application like android, iphone, blackberry.

~> Access the service from the mobile application, thereby the libraries can be downloaded on any mobile and drupal site can be accessed.

Abstract of 'SDK for Drupal'



Drupal is a framework used for web development using PHP.PHP is a server side scripting language that is used to handle all the requests and processes them on the back-end. This framework helps the development of web applications at a very fast rate. Drupal like all CMS solutions is dynamically data-driven which demands dedicated server-side support and some reasonably advanced database handling and set-up.

A software development kit (SDK) is typically a set of development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, operating system, or similar platform. Drupal is a free and open source content management system (CMS) written in PHP. Drupal runs on any computing platform that supports both a web server capable of running PHP 4.4.0+ (including Apache, IIS) and a database (such as MySQL, PostgreSQL) to store content and settings.

SDK for Drupal is something as simple as an application programming interface (API) in the form of some files to interface to a particular programming language or include sophisticated hardware to communicate with a certain embedded system. Common tools include debugging aids and other utilities often presented in an integrated development environment (IDE).

Android on titanium

Go to the "Download Android":http://developer.android.com/sdk/index.html page and download the package for Linux. Then extract it to your local directory of choice (I use the "~/applications" directory in these instructions) and run the "android" executable from terminal or Nautilus that will start the Android SDK and AVD Manager.

1> # create directory and extract Android SDK installer
2> mkdir ~/applications
3> cd ~/applications
4> tar xzvf android-sdk_r07-linux_x86.tgz
5> # Run the android executable from terminal
6> ~/applications/anoid-sdk-linux_x86/tools/android

After installing android sdk, one might incur an error while using it in titanium-
Error: "Couldn't find adb or android in your SDK's "tools" directory. You may need to install a newer version of the SDK tools"

You will need to link the adb binary because it has been moved from "tools" to "platform-tools" directory in the new Android SDK r08

Running the 2 commands can resolve the issue:
1) cd ~/applications/android-sdk-linux_86/tools
2) ln -s ../platform-tools/adb

Installing Titanium Developer on Ubuntu

1) Install Sun Java6 JDK on Ubuntu:
# Add new repository
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

# Update list
sudo apt-get update

# Install sun-java6-jdk
sudo apt-get install sun-java6-jdk


2) Install Titanium Developer
# Run the Titanium Developer executable from terminal
~/applications/Titanium\ Developer-1.2.1/Titanium\ Developer

Error Zone:
Once Titanium Developer is installed, if you run it again from the terminal with the same command you will get this error:
"./Titanium Developer: symbol lookup error: /usr/lib/libgtk-x11-2.0.so.0: undefined symbol: g_malloc_n"

Battle it out:
To fix this you will have to delete the following files (note that I had to delete only the first 2, i.e. run only the first 2 lines):
rm ~/.titanium/runtime/linux/1.0.0/libgobject-2.0.*
rm ~/.titanium/runtime/linux/1.0.0/libglib-2.0.*
rm ~/.titanium/runtime/linux/1.0.0/libgio-2.0.*
rm ~/.titanium/runtime/linux/1.0.0/libgthread-2.0.*

There you go!! you can now start the Titanium Developer and login with your Titanium credentials