Friday, September 18, 2009

sendmail redirecting mail to outside

There are times when you host your mail on another server like google mail ..
To do so, you may set it in the configuration to set sendmail to redirect mails to outside instead of identifying it as local recipient.

in /etc/mail/sendmail.mc
MASQUERADE_AS(`domain.com')dnl
define(`LUSER_RELAY', `domain.com.')dnl

Note: do not miss the 'dot' behind the domain.

then compile with m4 in /etc/mail
m4 sendmail.mc > sendmail.cf

restart sendmail service:
/etc/init.d/sendmail restart

testing it:
sendmail -v yourname@domain.com < /dev/null

check your email, and makesure to check your spam folder as this is going to be an empty email, and spam filtering doesn't like that ;)

Thursday, September 17, 2009

useful drupal module

Drupal creator has come out with their own drupal hosting service.
It seems that this list of modules would be helpful for most website to have a look into :)

http://acquia.com/products-services/acquia-drupal-modules

Sunday, September 6, 2009

Which CMS is good?

Choice of CMS is pretty much dependent on the purpose of the website and what the users are familiar with.
Its in no doubt that Wordpress is much more user friendly, but its CMS capabilities is not strong. Wordpress is efficient enough for anyone who needs a blog or a normal website with commenting functionality. In designer point of view, it is easy to customise the design to suit websites appearance.

While a lot of people choose Joomla for its CMS features and has more complex usabilities compared to Wordpress. Some websites require more functionality such forums, calendar / event and better component add-on. There is high popularity among providers of websites to choose Joomla in Malaysia in in as their CMS platform.

In contrast, Drupal is more for developer / programmer. Its advance architecture allows most of modules / add-on to be developed without having to modify the core system of the CMS. In terms of components / features availabilities, you may find more add-on available free of charge compared to Joomla add-on.

In developer's point of view, Joomla community has been concentrating on maintaining existing infrastructure, whereby they are keeping a lot of old technology in order to have old compatibility with older version of the CMS. As of joomla version 1.5, they are lacking a lot of back-end administration component builder, forcing developers to hack the CMS core in order to achieve add-on for administration. Hacking the CMS core leads to maintenance update problem as security update cannot be patched without programmer's intervention.
Meanwhile, Drupal community has been actively developing a new platform version which is not compatible with older version of add-on, but maintains security patches for the previous version. The community also actively rewrites most of the core module to suit the new infrastructure changes and new technology changes. While security patches can be updated without much programmer intervention, it will be more cost efficient for maintenance.

Conclusion:
Wordpress Pros
Simple to use - No need for modifications
Excellent for blogging or sharing thoughts in a sequential manner
Even the most elderly of users can get the hang of it quickly
Very user friendly
Easy direct update from administration
Wordpress Cons
Not developer friendly
The community seems to like to complain
Upgrades bring more bugs than fixes sometimes
Possible security issue as hacking core needs long term security maintenance

Joomla Pros
Friendly for all types of users - Designers, Developers and Administrators
Huge community is awesome for assisting with creation of websites
Has been rapidly growing and improving itself for the past three years
Joomla Cons
Still not user-friendly enough for everyone to understand
Not quite as powerful as Drupal, and can be a bit confusing for some to jump into
Possible security issue as hacking core needs long term security maintenance

Drupal Pros
Extremely developer friendly.
Strong community to help discern the dozens (hundreds) of functions and tags available.
Can be used to create some really awesome websites that can outperform a majority of other sites out there.
Low security maintenance as its unlikely the need to hack the core, therefore patching drupal is easy.
More search engine friendly as article URL can be defined as like static page without the need of using dynamic id in URL.
Drupal Cons
Not very designer and user-friendly. It's hard for someone with little code knowledge to make the leaps required to do the very cool things that Drupal is becoming known for.
Theming of Drupal has been a huge case of fail (until recently). Probably because it has been developers, not designers, that are making the themes.
Getting a Drupal website published could cost you more time, and thus more money, than Wordpress or Joomla.

There are no one CMS which will be best suit for all your need. Dependant on your requirements, it would be more time efficient to choose the CMS which you are familiar with and suits your feature requirements.
If you are looking for a simple blog or website with simple commenting and ranking of articles, you may choose Wordpress. If you are looking for more features like forums and calendar /event system without having to change any of the features, it would be best to be Joomla. While if you are planning to choose a very features pack or planning to customise features of the CMS, it would be best to use Drupal.

In business sense, budget CMS would be Wordpress and Joomla. While for corporation looking to customise their own company system and thinking into expanding the system as the corporation grow, it would be best to choose Drupal.

I find myself agreeing with Tim post @

http://www.goodwebpractices.com/other/wordpress-vs-joomla-vs-drupal.html


Tuesday, September 1, 2009

drupal node form

There are times when we needed to create custom layout form design for your node.
In drupal, the theme it called to retrieve the form layout are:
1. [modulename]_node_form
2. node_form

[module]_theme()
{
//... return the array to declare node_form
}