Indian Railways Reservation Website got an awesome makeover

[tweetmeme source=”mrnitishkumar” only_single=”false”]

Nope! I am not talking about some icons here and there or some new colors, its just not about the theme, the official website of biggest Railways network of the world got a really big makeover from today. Its not a regular thing that some of the innovation from Govt. side could have given such a big impression to me and I must say, if someone could have done this, then it was to be http://irctc.co.in

Gone through the new interface and thought to give you all a ride of the awesomeness. First we will see the new interface of home screen and then will enter the most awesome part, the internal interface. I must tell you that they have reached to this home page after trying at least two other themes in last two days.

Home page

irctc home page

It was interesting to se that the new website seems to be adopting the new world coming from touch screen mobiles. The right top rectangular icons for services just fit into the touch language. Advertisements now finding place in the bottom in place of cluttering space here and there.


The likeable thing the space savvy zipped interface based on Jscript extensively, you find the folded menus to navigate to various options once you move the cursor over the menus.

zipped

1. User Guide Menu

user guide

The very first menu is user guide menu that contains links to educate users about the various facilities available through the website itself.

2. Enquiries

enquiries Probably still most of the people access the railways website for one reason PNR enquiry or finding the availability info about various trains. the second menu Enquiries takes care of those all and bring them all at one single place.

3. General Information

General infoThe third section takes care of information available about the various services offered by Railways, frequently asked questions like sections and also the various new announcements will get their places through here only.

4. Agents

Agents This section lists out the Do’s and Dont’s for Booking Agents, list of names\addresses of agents. list of authorized agents etc.

5. Special Offers

Special This section will show up the seasonal offers that Railways makes time to time. I must say that Railway is much competitive and if in a whole we see the government services, then undoubtedly Railways stands as the biggest, efficient and most competitive service of Indian Government.

6. IRCTC Zone

IRCTC Zone IRCTC Zone seems to the advertisement zone kind of thing. Various packages like Shubh Yatra etc get their mentions here.

7. Mobile Zone

mobile zoneMobiles has became really really powerful than ever and each of existing business seems to be trying to take advantage of the same. This section takes care of services that IRCTC might be offering for specially mobile access.


Internal Interfaces after login

internal1Once you login into the site, you get introduced with a brand new interface that is much more convenient and super efficient to use. The most awesome part come, when we go for searching a train and booking a ticket, but we will come over that part at end. Lets see what more it offers.

There are total six big icons for display maintaining five common services any regular user might have used many times in past with old interface, lets see how new they have became now.

Booking history I wont say that they have got a functional overhauling. That doesn’t seem to be a case for most of the services except ticket booking, but one must praise the powerful yet clean and light interfaces as they are now.

Bookign history Print Tickets

Print ticket I have not any current ticket available here, so cant show that option, but I guess its like the earlier kind of. Means you have to select radio button before the PNR number to take print out that button through the button in upper corner.

Cancellation

Cancellation I must say that probably cancellation is the most smooth part of this IRCTC site since it was born otherwise, it was a hassle kind of thing to get refunds of your tickets, which you cancelled in last moments. But the IRCTC website made the process so simple and also guaranteed kind of thing. I always loved it and used it many times.. its great.

Refunds

Refund Like I was talking about cancellations, you can check my recent refunds that I got from IRCTC. I never felt worried about the fact that I wont get my money back or wont get that in time. IRCTC process is totally automated and transparent about it and the cleaner interface now is loveable.

Subh Yatra

As I am not using this service, so I am not sure about the functionalities and it shows me up like some advertisement only. May be people using this feature might get some interfaces behind the link.

File TDR

TDR This is also a thing that I never used, but you will love the fact that they are maintaining the exact same clean and sleek interface through out the site. Commendable and I must say that designer and other people, who made this change possible, should get pay hikes for sure.


There are many other features than just booking tickets like one feature that I noticed only by today is finding the pin codes that appears in last General menu at last position. Good and authentic database to find out pin code of some place.

pin codeYou also find cool new features like track your ticket that integrate the tracking system of the official courier partner Overnite Express Courier Limited of Indian Railways. Its applicable for people, who book i-tickets that get delivered to you by courier (though I really doubt if many make use of this option ever).

TrackThe new interface is also richer about the information part, though the beauty lies in the fact that information  is not scattered like links everywhere, but they are part of the system in natural ways. Remember, where you read the ticket cancellation procedure and rules related to that?

Cancellation procedureAlso where you last read that what are the services that IRCTC website offers and what services they don’t offer or offer to limited audience. All is here now

Not offered 


Rest part of review, I will finish by tomorrow, till then don’t miss to praise the new awesome interface of http://irctc.co.in

Ticket Booking

This is the most awesome part of the new looks, which is not only as much clean as possible, but as much effective as well. Look like not only Nokia, but our Government was also listening when people were saying about Symbian Smartphones that various features require multiple clicks. Most of the essential activities are taking much lesser click than earlier.

This is the first screen you go through, if wanna book a ticket now…

first screne

Even the way, dates are handled is changed like the following…

Date

I must say, whoever got the contract of redesign of IRCTC as they asked tenders for back in March, has done an awesome job, specially keeping the mobiles and touch screens in the mind.

irctcThe above is the most special part that impressed me really a lot. Once, you select a checkbox against the search results like the above, you get complete details like Fare, Name, Train Type, Distance and Availability for a week etc. without clicking additional buttons like it was the case in earlier design.

More of it, for getting the train route, now you have to click over the train name links and you will be straight to Train route page of that specific train. Really saved much of the energy.

Its still not exactly close to the design available for agent, whose screenshots I am not been able to provide till now as they get results irrespective of trains as well means you need a ticket and they will tell you in one query that which train got empty seat on that route and in which category without any more query. But still … great job done guys.

Now, as a technical person, I understand that this new look will accelerate the number of queries per seconds to deal with. According to my info, each of their database servers were already entertaining lacs of queries per second and this new design will push for more. I could only expect that they have restructured the database as well that seems unlikely due to such a volume of data and SLA of no downtime allowed. Though I have heard a few words over the migration part itself, but will come up with that details later on.

Though still its possible to optimize the things to bring the results like its giving now days in smooth manner, but there will be fear that if we keep on getting errors like this in peak hours.

Error All the best Indian Railways and whoever designed this new looks. Great job done guys, probably the best of this year.

Digg This
Advertisements

Installing WordPress-Website for Dummies

[tweetmeme source=”mrnitishkumar” only_single=”false”]

I have already written over this once, but even that time, I mentioned that “I am not expecting anyone to learn from this article that “How to make A Website out of WordPress” by this website, as my approach was kind of naïve and nursery kid’s learning”, but this topic was something that kept on tempting me and today I am back.

In fact, I was to design a website for my workplace for internal requirements, so I thought to revisit the instructions and pen them down for once, so that people wishing to do something like that could get the job done in one shot without much R & D.


Why a WordPress?

Reasons might be plenty.. from a Company to even a Coffee shop now days wanna have a site and their wordpressopinions on it. Yes!! blogs are here and they get recognition too, but a site is a little different thing look-wise and even bloggers wish to have their full control over their blogs, which online hosting like WordPress and Blogger couldn’t afford to provide for their right reasons.

Reasons are plenty for a WordPress based website. You may want to have a website to show off between your friends on the same LAN in some college like MNNIT, IIT, IIIT or some IIM or you may want to bring a community or even official platform for company insiders.

WordPress because, it seems to be the best solution against its competitors for Installation, Management, controls, scaling and even backup/ migration. In just few mins, even a Layman get a strongest of website running and he wonders that he never knew a single line of HTML.

Simplicity is power” That’s why WordPress. Otherwise technically speaking ..

WordPress is an open source CMS, often used as a blog publishing application powered by PHP and MySQL. It has many features including plugin architecture and a templating system (supports various themes that way). Used by over 300 of the 10,000 biggest websites, WordPress is the most popular blog software in use today.


My requirements this time ..

The purpose was be to build a one-stop website to provide a common platform for sharing information, internal news and more importantly a mean to interact with groups and individuals across the company (via group/ private chat solutions). The additional scope of the website was integrating all of our web modules running for different purposes mostly via web links only (easy way).

Additional features asked for were …

  1. All of the content needs to be secured via passwords and login would be required for access any of the content on website.
  2. Different pages required for different department/ groups, which will host posts from their side only (though all of the content would be subjected to moderation).
  3. Different levels and roles would be required to post/ modify the content like Administrator, Editor, Author, Contributor and reader with their controlled set of privileges.
  4. Intranet Chat facility requires having group/ private messaging support.
  5. Email facility would be limited to contact form that one could use to submit some query to any department and it will be mailed to designate email ID directly without being post on Website. (provided Internet facility available on server).
  6. News flash system that will show significant information scrolling on sidebars all the time.
  7. Integration with our other services (mostly via hyperlinks opening in tab or new windows) like Ticketing system, Training Modules, Monitoring System etc. The target would be to implement a single-sign-on for the similar web services like Training, Helpdesk etc.
  8. There might be possibly different sites for different networks that would be kept in sync5 by end of day or twice a week (based on feasibility).
  9. Optional Documents hosting that could allow viewing Doc, XLS and PDF documents online without converting them into HTML This feature could be utilized for hosting various policy documents or similar things.

I guess very generic yet professional kind of requirements these are, though one can always find what they want with a WordPress.


Installation requirements

You know that installation requirements always vary around what you need and what you could put in. In itself, WordPress isn’t a huge software package that you might be thinking about this side, but yes.. what platform you are going to use, matter more. You can make use of XAMP installation to bring Apache, MySQL and PHP at a place on Windows or you may like to use the natural Linux Platform.

Here I am going to use WordPress MU (separate project build for multi user environment) in place of normal WordPress though requirements and instructions would be the same.

Hardware requirements

RAM Required: Minimum 512 MB (In favour of OS nto WordPress)
Disk space: Installation doesn’t take even 50 MB, but it’s suggested to keep 1-2 GB space at least.

Software Requirements

Operating System: Linux\ Windows (We are using CentOS here)
System Software: Apache with Mod_Rewrite, PHP , MySQL and related components.
WordPress-MU: WordPress-MU package from http://mu.wordpress.org/latest.zip

Note: Internet required for easy Installation of packages and plug-ins, though all the packages could be installed and managed offline as well.

The Basic Installation

halo_wordpress

The way is as simplest as it could be, but still sometimes, people unknown from Linux terms bring mess for them, so even if longer list of steps, I am trying to bring a completely detailed set of instructions .. (obviously assuming though that you got your OS installed right ways)

  1. Type on console yum install httpd php mysql mysql-server mysql-devel php-gd php-mysql
  2. Start the web service, if not started. On server console type service httpd start followed by chkconfig httpd on
  3. Start MySQL service, if not started. On server console type service mysqld start followed by chkconfig mysqld on
  4. Edit /etc/httpd/conf/httpd.conf and search for AllowOverride None and replace the second occurrence of the same with AllowOverride All (essential step for Permalink structure, you will know later on). Restart the httpd service by service httpd restart.
  5. On Server Console type mysql and then on MySQL prompt type create database wordpress to create a blank database to host WordPress database in next steps. You can chose any other name than wordpress as well.
  6. Install FTP by command yum install vsftpd, then chkconfig vsftd on followed by service vsftpd start
  7. Edit /etc/vsftp/ftpusers and /etc/vsftp/user_list to comment out root entry in both. By default root is not allowed to login into ftp.
  8. Download the zip file from http://mu.wordpress.org/latest.zip
  9. Extract the same and rename the folder wordpress-mu to something suitable to the name you wish to have in url (e.g. We have atstoday in our case). We also could install the same in web root but in that case, it might have issues in other web app installations.
  10. Copy the same folder in web root directory /var/www/html and provide appropriate modifications rights the same folder and /tmp folder. (Hint: use WinSCP)
  11. Open http://IP_Address/Folder_Name in any browser, where IP_Address is IP Address of the server, you are installing and Folder_Name is name of the folder, you copied into web root.
  12. If everything is fine, then it will provide you the installation page and will ask for Database Connection details. First select radio button for Sub-directories in Blog Addresses option, then in next keep Database Name as wordpress as we given the same in step 4, User Name will be root, password would be blank or if any password you given for MySQL user named root, Database Host would be localhost, Server Address would be the IP_Address, Site Title would be the text you want to be displayed on title bar and then it requires to give an email id essential for password recovery.
  13. If everything goes fine, then it will show success message and will provide a generated33 password for admin user. Note down the password or copy it.
  14. Press the login button, login into the site, go to users in left pane, edit the user and then change the password as per your convenience.

Customizations – Themes and Plug-ins

The above procedure creates the basic install of WordPress-MU. For customization as per needs, you have to go through themes and various plug-ins available for WordPress.

Theme: If online, then we could use the search facility under Appearance->Theme to search, preview and download themes available on WordPress Database. Once downloaded, it will be available in offline install. There is option for uploading themes as well that could be used if Server not connected to Internet. We are using theme named Atahualpa with a few advanced customizations in code here and there.

Plug-ins: Plug-ins provides extension of capabilities for basic WordPress Install though depends on many factors. Currently we are using a few crucial plug-in like: My Category Order, Announcement ticker highlighter scroller, WP-UserOnline, Dagon Design Form Mailer, WP Customized Login, Members Only, PHPFreeChat, WordPress Database Backup and User Access Manager.

Backup and Restore

wordpress-must-dos

Post/ Categories/ Tags/ Comments Backup/ Restore: For taking backup of these contents, there is option to export all these in form of .xml file, in Tools->Export.

Similar way, Tools->Import could be used for importing the same.

Settings Backup/ Restore: Inclusion of WordPress Database Backup plugin makes the job little easy. As per settings, it could keep on mailing core database files in zipped format (*.bz2) to designated email ID (provided the server is on Internet) or there are options for taking manual backups by pressing button. For restoring from backup, you need to unzip the backup file first that would be some blog.bak.sql and then needed to restore it via command line in following manner.

mysql -h mysqlhostserver -u mysqlusername -p databasename < blog.bak.sql

Enter password: (enter your mysql password)

 

Migration from one server to another

That’s the toughest part of the work and not suggested to be performed by someone having not proper idea about MySQL, Apache, PHP etc. I am trying to put all the steps in some easy way here. Though there are better ways around to do this and its not suggested to follow these steps for some online site.. I am talking about local installs only. (In fact, only this part of instruction is something I think needs much enhancement as this way is prone to be buggy in complex environment)

Our assumptions are,

  • You have a completely configured and working WordPress based website at one server.
  • You got another server with fresh installation.

First of all, you need to perform the first six steps of basic installation as those are preparing steps. Now, you will have a blank database named wordpress ready in MySQL.

First use core backup file from original server and use the steps mentioned in Settings Backup/ Restore to place the same database (including settings/ post/ username/ passwords everything) in new server. In next, copy all the wordpress files that would be in /var/www/html/Folder_Name, in the similar location at new server.

After the same, you need to edit a few options in /var/www/html/Folder_Name/wp-config.php as per the new environment. Then, you need to manually update the new IP Address inside many tables of new database, provided you always used absolute links in your website all the time.

Here is a list of few crucial tables and values to edit.

  • siteurl value in wp_1_options table (provided you have only one blog under WordPress-MU otherwise change accordinly)
  • domain value in wp_blogs table
  • domain value in wp_site table

So, this is whole thing.. any further question.. you can always come up here and ask. I really miss that while studying, I wasn’t aware of this great thing, neither do I was in my starting job days.. hope many of you starting earlier than me.. good luck..

Now you can read updates from this blog delivered directly to your Nokia Smart Phone, download it here

Relative Path-Absolute Path Issue resolved

After exercising a number of options, finally the trick came out to be a simple one. I was to update option_value entry in wp-options table of WordPress MySQL database, where siteurl was mentioned as http://%5BMY_LOCAL_IP%5D/wordpress while it was needed to be /wordpress

I know its kind of stupid, but I am not that into Website deployment or could say missed the basics completely. But anyway, all is resolved now. In next, I was to convert all my manual entered links in the same format. I will keep the same thing in my mind for future reference.

Please read my article over How to make a Website from WordPress first.

My issue was related to relative path and absolute path, which I came to know later on (Sometime just defining the problem in current copy book terms make the problem half solved). All of the URLs of the same site were seemed to hard coded to be consisting of local IP of the same site, which was an issue, if I was planning to put the same over some public IP for being accessed from outside (as currently we are not planning to own some domain name or web hosting service, so only public IP based access was sufficient).

After exercising a number of options, finally the trick came out to be a simple one. I was to update option_value entry in wp-options table of WordPress MySQL database, where siteurl was mentioned as http://%5BMY_LOCAL_IP%5D/wordpress while it was needed to be /wordpress

I know its kind of stupid, but I am not that into Website deployment or could say missed the basics completely. But anyway, all is resolved now. In next, I was to convert all my manual entered links in the same format. I will keep the same thing in my mind for future reference.

In the next step, I am about to put the latest version of the same theme for the run. Have to check first that how many settings its gonna to change and how much manual work it will require after updating. Wish me Good Luck!

How to make a Website from WordPress

The target was to work out a complete website out of WordPress and although I had seen many websites based on WordPress, but I was not been into details ever and neither in any more touch with all HTML, CSS etc now days. More than the information itself, it was all about imagination. Even if, I was having sort of a view about what I am trying to make, the challenge was to map the same with the restrictive environment of WordPress.

This time the target was to work out a complete website out of WordPress and although I had seen many websites based on WordPress, but I was not been into details ever and neither in any more touch with all HTML, CSS etc now days. More than the information itself, it was all about imagination. Even if, I was having sort of a view about what I am trying to make, the challenge was to map the same with the restrictive environment of WordPress.

I am not expecting anyone to learn from this article that “How to make A Website out of WordPress” by this website, as my approach was kind of naïve and nursery kid’s learning, but still for someone starter like me, it might be a good idea to know things easily rather than searching and going through many themes and templates etc.

The requirement was a stylish enough, but simple, lightweight and corporate kind of looking view. A header having customized pictures, customized favicon for the site, a marquee logo, header with pages names, few pages of course, a three column theme holding static messages at left side and dynamic messages on right side and along with all these requirements, one was required to keep it looking clean enough means no sign of wordpress itself.

I guess anyone would require the same from any novice website in a free cost without need of web designing experts. Don’t know, my approach served all the requirement or not, but for the starter, I found a particular theme named atahualpa came out to be a life saviour. I am not going to describe that how it works and how to make it work in your ways, but trust me, it works like a charm. I managed to match most of the requirements of mine and I don’t feel that I could not add more and more customizations in it on my own in easy ways. Have a look over my implementation template as of now.

First look at Website
First look at Website
Suggestions page on Website
Suggestions page on Website

First level menus on the header are actual pages, from which I deliberately have hided posts page. All the second level menus are actually categories and in this way, I found a way to provide many departments a blog of their own. Moreover, by hiding some of the categories, I succeeded in keeping MD’s page and Exe. MD’s page in background (although still there are categories only, but I am not allowing all post pages here). The next task remained is to restrict particular authors to fixed categories only. Let’s see, what I could do.

The top has a marquee logo here and left and right portion is having messages through Text Widgets. Header images as you know are self changing with our control over them. I guess enough hints till here for how to go for one of your own wordpress hosting.

Although till now, I am not able to find the version to suit the web version WordPress.com for some obvious reasons neither did I am finished with the complete design of the site as I am hardly getting any time out of work for the same, but I guess soon I will be back with the complete details and fully working site based on WordPress.

Edited on 16th October 2009: Finally I found a plugin named Role Scoper, which was claiming to have the similar functionality means restriction over users etc. Got it installed on my server, although yet to figure out about its working and more will come out, when users will start using it actually. But I hope, I got a way to accomplish the final remaining task.

One more remaining target is handling Dynamic updates in more managed way means Widgets like Company Headlines or News in same marquee style but getting their entries from some MySQL or some XML file. Although Environment of WordPress is very much restrictive, but I guess, I could find a way around it as well.

Next Article:

My next article might be around Windows Deployment Services Server. Not posting right now as I am struggling enough with it and sometimes its frustrating. That’s why I wish to come out with a clean walkthrough for the same implementation for rest of the world.