Monday, December 8, 2008

A skeleton Horde Application

A skeleton Horde application consists of the following:

README Application README text file
index.php Application index script
config/
conf.xml XML schema for the application configuration file
conf.php Main application configuration file
mime_drivers.php Any application-specific MIME Viewers
prefs.php Application preferences
docs/
CHANGES Development changelog
INSTALL Installation documentation
themes/
screen.css CSS definitions
graphics/
application.png Application icon
lib/
Application.php Main application code library
api.php Methods to be exposed to other applications
base.php Common script dependencies
version.php Application version information
template/
common-header.inc Common page header template

Source
http://www.horde.org/papers/fosdem2005/

Horde
http://www.horde.org/

Installing And Configure Horde Framework

Installing And Configure Horde Framework

Most of the information to install can be found from file INSTALL under directory docs. Basically

(1) Install the needed PEAR modules.
(2) Create Horde database and tables needed.
(3) Im using Centos 5.2 I need to install php-pear and php-xml

http://www.horde.org/

By default we will get Administrator login.

Configuration can be done from Setup module.

We need to change how the authentication work. I will used mysql as the authentication driver. The file script.initial_horde_user.sql can be found under directory /usr/share/horde/scripts/sql

The default user is admin with the password is admin. Please reset this.

Make sure setting for Database is configure before changing the Authentication setting to used Mysql.

Problem that I'm encounter. I'm want to used different directory from the default horde. My login failed.

The problem may from the cookies path setting under General Tab Setup. From Horde log it's said

Dec 08 01:15:45 HORDE [notice] [horde] Login success for admin [127.0.0.1] to Horde [pid 25729 on line 138 of "/usr/share/base/login.php"]
Dec 08 01:15:45 HORDE [debug] [] Guest user does not have READ permission for horde [pid 25691 on line 814 of "/usr/share/base/lib/Horde/Registry.php"]


I'll stick with the default directory for a while.

Right now I want to get used to create application with Horde Framework.

More changes to the setting. This using Horde Setup module.

(1) Preference System -> Mysql Database -> Horde Defaults

(2) Data Tree System -> Mysql Database -> Horde Defaults

(3) Cache System -> SQL-Based Cache Storage and Im using memcached for use_memorycache setting.

For Centos 5.2 memcached can be install using rpm from rpmforge. Install memcached and php-pecl-memcache.

http://dag.wieers.com/rpm/packages/memcached/
http://dag.wieers.com/rpm/packages/php-pecl-memcache/

Read about memcached here http://www.danga.com/memcached/ and interesting blog post

http://www.bytebot.net/blog/archives/2008/04/14/memcached-and-mysql-tutorial

(4) Lock System -> SQL-Based Lock

(5) Token System -> SQL-Based Token System

(6) Virtual File Storage -> SQL Database -> Horde Default

(7) Custom Session Handler -> Mysql-Based Session -> Setting as per Database setup.

(8) Memcached Server -> Enabled

Sunday, December 7, 2008

Google Friend Connect Test Web Page

Google Friend Connect Test Web Page

http://blog.harisfazillah.info/2008/12/google-friend-connect-test-web-page.html

I'm testing for Google Friend Connect. You can try OSCC website Google Friend Connect using this link

http://www.oscc.org.my/friendconnect.html

Google Friend Connect still new and need more social gadgets to make it's attractive.

Can Google Friend Connect will help us to create Open Source Software online comunity in Malaysia? We will soon find out.

Another website I'm testing is

http://www.songketmail.org/publicrelation.php

From Google Friend Connect webpage :-

Grow traffic by adding social features to your site

Google Friend Connect means more people engaging more deeply with your website -- and with each other.

Enrich your site

Choose engaging social features from a catalog of gadgets by Google and the OpenSocial developer community.

Attract more visitors

Your users can easily invite friends from social networks and contact lists to visit and join your site.

No programming whatsoever

Just copy and paste a few snippets of code into your site, and Friend Connect does the rest.

With Google Friend Connect, visitors to your site or blog can:

  1. Sign in with their Google, Yahoo, AIM or OpenID account.
  2. Interact with other visitors by making friends, sharing media, posting comments, playing games, and more.
  3. Invite friends from other social networks and contact lists to join your site or blog.

Bring viral social growth to your website

  1. Anyone can join your site with one click by using their existing Google, Yahoo and other accounts.
  2. Visitors can evangelize for your site by inviting their friends and publishing their activities to their social networks.
  3. Social gadgets will keep these visitors more deeply engaged with your site, and with each other.

Wednesday, July 30, 2008

Captcha To Protect From Automated Register Bots

Captcha To Protect From Automated Register Bots

A CAPTCHA is a type of challenge-response test used in computing to ensure that the response is not generated by a computer. The process involves one computer (a server) asking a user to complete a simple test which the computer is able to generate and grade. Because other computers are unable to solve the CAPTCHA, any user entering a correct solution is presumed to be human. A common type of CAPTCHA requires that the user type the letters or digits of a distorted image that appears on the screen.

More about Captha
http://en.wikipedia.org/wiki/Captcha

This websites can be used to genarate captcha.

reCAPTCHA

http://recaptcha.net/

reCAPTCHA is a free CAPTCHA service that helps to digitize books.

A CAPTCHA is a program that can tell whether its user is a human or a computer. You've probably seen them — colorful images with distorted text at the bottom of Web registration forms. CAPTCHAs are used by many websites to prevent abuse from "bots," or automated programs usually written to generate spam. No computer program can read distorted text as well as humans can, so bots cannot navigate sites protected by CAPTCHAs.

White Hat Web Design PHP Captcha Security Images

http://www.white-hat-web-design.co.uk/articles/php-captcha.php

This script generates images (known as "Captcha's") which contain security codes used for protecting a form from spam bots. By encoding a 'password' inside an image and asking the user to re-enter what they see you can verify the user is a human and not automated software submitting your form.


Monday, July 14, 2008

Platform for Privacy Preferences Project P3P

Platform for Privacy Preferences Project P3P

The Platform for Privacy Preferences Project (P3P) enables Websites to express their privacy practices in a standard format that can be retrieved automatically and interpreted easily by user agents. P3P user agents will allow users to be informed of site practices (in both machine- and human-readable formats) and to automate decision-making based on these practices when appropriate. Thus users need not read the privacy policies at every site they visit.

More information
http://www.w3.org/P3P/

Tuesday, June 17, 2008

Web Content Accessibility

Web Content Accessibility

Web Content Accessibility guidelines is must read guideline for webmasters and web developers. This guideline will help us, webmasters and web developers to create websites that not only can be access and reach by ordinary people, it is also for people with disabilities.

http://www.w3.org/TR/WAI-WEBCONTENT/

Web Content Accessibility is also for search engine optimization. By following Web Content Accessibility guideline, the contents not only can be access by ordinary people and people with disabilities, it is also create a contents that easily index by search engine robots and optimization tools.

Another guideline to be refer from US goverment.

http://www.section508.gov/

Section 508 requires that Federal agencies' electronic and information technology is accessible to people with disabilities. IT Accessibility & Workforce Division, in the U.S. General Services Administration's Office of Governmentwide Policy, has been charged with the task of educating Federal employees and building the infrastructure necessary to support Section 508 implementation.

Sunday, March 30, 2008

CmsForNerd To Used Full XHTML

We are moving the code base to support XHTML. We need to develop a way so that any non compliance will be convert to XHTML. For example tidy is used by CmsForNerd as the formating agent.

More information about XHTML
http://en.wikipedia.org/wiki/XHTML

To validate and to used online Tidy
http://validator.w3.org/

Saturday, January 19, 2008

Dojo Toolkits

The next version of CmsForNerd will be intergrated with Dojo Tookits. More about Dojo from Dojo Toolkit Website.


Dojo is an Open Source DHTML toolkit written in JavaScript. It builds on several contributed code bases (nWidgets, Burstlib, f(m)), which is why we refer to it sometimes as a "unified" toolkit. Dojo aims to solve some long-standing historical problems with DHTML which prevented mass adoption of dynamic web application development.

Dojo allows you to easily build dynamic capabilities into web pages and any other environment that supports JavaScript sanely. You can use the components that Dojo provides to make your web sites more usable, responsive, and functional. With Dojo you can build degradable user interfaces more easily, prototype interactive widgets quickly, and animate transitions. You can use the lower-level APIs and compatibility layers from Dojo to write portable JavaScript and simplify complex scripts. Dojo's event system, I/O APIs, and generic language enhancement form the basis of a powerful programming environment. You can use the Dojo build tools to write command-line unit-tests for your JavaScript code. The Dojo build process helps you optimize your JavaScript for deployment by grouping sets of files together and reuse those groups through "profiles".

Dojo does all of these things by layering capabilities onto a very small core which provides the package system and little else. When you write scripts with Dojo, you can include as little or as much of the available APIs as you need to suit your needs. Dojo provides multiple points of entry, interpreter independence, forward looking APIs, and focuses on reducing barriers to adoption.

http://dojotoolkit.org/