Wednesday, November 30, 2011

howto initial fields on Drupal 7 node creation screen


hook_form_alter
===============
# to find the element you want to change
install devel

$ cd sites/all/modules
$ mkdir mymodule
$ cd mymodule
$ vi mymodule.info

name = mymodule
description = mymodule description
core = 7.x


$ vi mymodule.module


function mymodule_form_alter(&$form, &$form_state, $form_id)
{
     // find out form_id you're interested
        drupal_set_message($form_id);
}

function mymodule_form_{content-type-machnie-name}_node_form_alter(&$form, &$form_state)
{
    // Prints a variable to the ‘message’ area of the page
        dpm($form);

    // print debuging infomation in order to find the element
        drupal_set_message($form['field_remark']['und']);

    // set default value as need
        $form['field_remark']['und']['0']['value']['#default_value'] = 'hello';
}

$ drush en -y mymodule


http://drupal.org/project/prepopulate
======================================
allows fields in most forms to be pre-populated from the $_REQUEST variable.


Thanks
- http://drupal.stackexchange.com/questions/5605/how-do-you-identify-a-form-element
- http://drupal.org/node/1248914
- http://drupal.org/node/1137562

Friday, November 25, 2011

multi monitor on linux xfce compiz

ถ้าจะใช้งาน เช่น ต่อ notebook ออก Projector หรือทำงาน 2 จอ
แนะนำ sudo apt-get install arandr ครับ

เลือกตำแหน่ง output ได้ครับ ว่าจะให้
แสดงซ้อนกัน
จอ notebook อยู่ซ้าย อีกจออยู่ขวา
หรือ จอ notebook อยู่ขวา อีกจออยู่ซ้าย
เป็นต้น

รวมถึง กรณี เช่น กำหนดให้ panel อยู่ด้านล่างของจอ (ผมชอบ interface แบบ win 3.11)
เลือกให้ 2 จอ แสดงผลซ้อนกัน
ความละเอียดจอภายนอกสูงกว่า (เวลาทำงานที่บ้าน ต่อ notebook ออกจอใหญ่ แล้วทำงานผ่านจอใหญ่เป็นหลัก)
เผลอ hibernate เครื่อง โดยที่ยังไม่ได้ปิด output จอภายนอก
หิ้วเครื่องไปทำงานที่อื่น
เมื่อเปิดเครื่อง ที่ๆไม่มีจอภายนอก
มันดันไม่ refresh ขนาดหน้าจอให้
ทำให้เลื่อนเมาส์ลงไปข้างล่างแล้วมองไม่เห็น

แก้ไขผ่านหน้า xfce-display-settings ก็ไม่ได้ (คงเป็น bug อยู่)
ลอง reload หลายอย่างเช่น
xfce-panel
compiz (ผมใช้ compiz แทน default)
ก็ไม่ได้ผล

จนลงเอยด้วย arandr

เอามาแชร์เผื่อคนอื่นเจอปัญหาเดียวกันครับ

Friday, November 18, 2011

Drupal Debian Linux VirtualBox TroubleShooting Tips

Fix Virtual Network Interface Card to eth0
===========================================
When we move the image to various hosts,
1) the interface name will keep running to eth1, eth2, eth3 and so on
2) the ip address will not automatically obtained.
because inside /etc/network/interfaces
....
iface eth0 inet dhcp
...

For solution Go To network-interface-in-linux.html


HTTP request status Fails
==========================
http://drupal.org/node/588186

Network interface in Linux

How to reorder or rename logical interface names in Linux
===========================================================
$ sudo apt-get install ifrename
$ cat /etc/iftab
eth0 mac E0:*

Other ways are detailed at http://www.science.uva.nl/research/air/wiki/LogicalInterfaceNames


It's quite useful in case of install Linux on a virtual machine.

When we move the image to various hosts,
1) the interface name will keep running to eth1, eth2, eth3 and so on
2) the ip address will not automatically obtained.
because inside /etc/network/interfaces
....
iface eth0 inet dhcp
...


New method
=========
use the udev-sanctioned method of statically-naming each interface.
Create the following file to bind the MAC address of each of your cards to a certain interface name:
/etc/udev/rules.d/10-network.rules
SUBSYSTEM=="net" KERNEL=="eth*", ATTR{address}=="00:12:34:fe:dc:ba", NAME="eth0"

note:
  • To get the MAC address of each card, use this command: cat /sys/class/net/device-name/address
  • When syntax errors, look at /etc/udev/rules.d/70-persistent-net.rules
  • Make sure to use the lower-case hex values in your udev rules. It doesn't like upper-case.

  • When choosing the static names it should be avoided to use "ethX" and "wlanX", because this may lead to race conditions between the kernel and udev during boot. Instead, it is better to use interface names that are not used by the kernel as default, e.g. "net0, net1, wifi0, wifi1".


Ref:
http://www.debianhelp.co.uk/udev.htm
https://wiki.archlinux.org/index.php/Udev#Network_device

equivalent Microsoft Project Linux

I'm looking for a free of the equivalent of Microsoft Project on linux.

ganttproject meet my need.



ganttproject
============
http://ganttproject.biz/
java-based


OpenProj
========
http://openproj.org
Licence terms: CPAL

openproj_1.4-2.deb 2008-10-02
http://sourceforge.net/projects/openproj/files/OpenProj%20Binaries/1.4/


Pleno
=====
- URL: http://sourceforge.net/projects/pleno/
- Licence terms: GPL


Projectivity
============
- URL: http://www.projectivity.biz
- Licence terms: GPL


Todoyu
======
- URL: http://todoyu.sourceforge.net
- Licence terms: BSD
Require Apache, PHP, MySQL


Project HQ
==========
- URL: http://projecthq.org/
- Licence terms: GPL



Taskjuggler
===========
Modern and powerful open source project management tool.
www.taskjuggler.org
Free
written in Ruby
sudo apt-get install rubygems
gem install taskjuggler


Planner
=======
The GNOME project management tool
sudo apt-get install planner



Koffice KPlato
===============



Web-based
=========
Feng Office Web Office focused on productivity, collaboration, communication and management
eGroupWare Enterprise ready web-based groupware suite with project management
dotProject Web-based, multi-user, multi-language project management application
Redmine Flexible application written using the Ruby on Rails framework

Monday, November 14, 2011

postgres createdb invalid locale name debian

$ sudo -u postgres createdb -l th_TH.UTF-8 -E UTF-8 -T template0 mydb;
createdb: database creation failed: ERROR:  invalid locale name th_TH.UTF-8

$ locale -a
C
en_US.utf8
POSIX

$ sudo apt-get install locales

$ sudo dpkg-reconfigure locales
# in debian this command will display a screen while ubuntu not!!

$ sudo init 6

$ locale -a
C
en_US.utf8
POSIX
th_TH.utf8



Useful cmd
=======
$ sudo locale-gen th_TH.UTF-8
$ sudo locale-gen --purge en_US.UTF-8 th_TH.utf8


$ sudo apt-get install locales-all