• Newe Flash: it's the year 2014, Mavericks is the current OS and Yosemite is not too far ahead. So there is "Get your Local Web Development Server Up & Running on OSX 10.9.x Mavericks" and "Installing phpMyAdmin on Mac OSX 10.9 Mavericks & 10.8, 10.7, 10.6" and "Get Apache, MySQL, PHP and phpMyAdmin working on OSX 10.10 Yosemite".

    Skip over there now and come back here on how to setup Local Drupal Development Environment and Settup up Drupal profile install on GetPantheon.com, my cloud Drupal host.

    If you follow the steps, you should first see:


  • Often there is a need to make some big block of text in the middle of a CCK input form. And on node display, show that same text and the value of the text field. Something like this:

    An important requirement is your site admin (often your non-technical client) can edit the text. Any sort of CCK form widget require permission and change to the form. Not easy for plain user.

    But CCK fields just don't have any way to include lengthy text. They can have help text which are displayed below the input in gray text. The second problem is I need this text to be shown when the page is displayed but the various modules I found (markup, form_markup) do not show anything on output. So I created the nodeincck module to solve this need.

  • When I move back to a Macbook Pro from Windows XP, I need to copy some files to a NTFS drive and found myself looking at this:

    The NTFS drive is not writable.

  • Drupal core comes with two input formats: Filtered HTML and Full HTML. Filtered HTML format lets both authenticated and anonymous users enter comments and contents safely by limiting the allowed HTML tags to a very limited set with the HTML Filter. Full HTML is indented for admin use only because it allows any HTML tags and attributes to be used. WYSIWYG editors make use of many more tags and attributes to satisfy the full range of format options.

  • This module turns Drupal's pager into a text box where you can enter the page to go directly to. It's very useful if you have many many page and need to go to any page very quickly.

  • This module provides a set of pre-made menu links for 'Login', 'Register', 'My account' and 'Logout'. After the user is logged in, he/she is returned to the page from where he/she clicked the login link. The 'My account' link is integrated with the realname module to use the user's actual realname. The 'register' link can be shown to take the user directly to the register page.

  • Pattern and suggestion theme templates normally can only reside in the theme directory. This can make the theme folder filled with many many templates that can sprawl over time. This makes sharing templates between active themes impossible, switching theme or upgrading theme very hard. It would be much better to house these templates inside a module or inside some site/files folder. This makes module fully able to provide override theme templates out of the box. No copying files to theme necessary.

  • The Content Construction Kit (CCK) lets you define custom content type with many different kinds of data fields. The default display and input form are generic looking and may not be the way you like. But the look of the node output and the node edit form are completely customizable. I will illustrate how to do this by making change to the active theme. But at the end, I will show how to do this from a module, which is a better approach because it's not married to the active theme. This is better for site maintenance and allows you to freely switch theme.

  • Here is a Drupal module to provide a dynamic [Login][My account][Log out] menu. Before the user is logged in, the menu shows only [Log in]. After, the menu change to [My account][Log out]. This is an alternative to the "User login" block. Maybe you do not want the "User login" block on every page, taking up valuable space and grabbing user attention away from your contents.
  • May you never come face to face with this:

    Site off-line screen

    This is the page Drupal will throw up if something is wrong with the database. The root cause of the problem is displayed at the bottom of the screen if "display_errors = On' is set in php.ini. But it's suggested in php.ini that this should be "Off" for production site. So you may not see what the cause of the problem is. There are a few things not so good with this page:
    1. The site name got changed to "Drupal", not your name.
    2. The site logo and favicon are the Drupal versions.
    3. Finally, the site is in the minnelli look
    The good news is this page is fully customizable and I'll show the ins-and-outs about this here.


User login