Drupal

Zyxware default image4
| 6 min read
Drupal is inherently secure but as with most secure systems there will always be a few security loopholes that could be utilized by a user with malicious intent to bring down the whole site. As usual most of these security flaws lie mostly with the admin users of the website. We have listed down the top 7 security mistakes commonly found in a Drupal website which can be easily rectified by using a simple Drupal Security Checklist. The easiest way to ensure that your Drupal site is build safe is to have it built by experts. Contact Us to build your drupal site for you.
Zyxware default image4
| 7 min read
There are a few common performance mistake that are commonly found in most Drupal sites. Here are the list of the Top 10 Performance Mistakes in Drupal that can easily be addressed by a simple change in settings or the addition of a module. The easiest way to solve performance problems in Drupal would be to prevent them in the first place. Contact us for a free consultation on how to build your Drupal website right.
Zyxware default image2
| 7 min read
The trick explained briefly We are not actually going to theme the file upload field as it is presently nearly impossible to do that. Instead we are going to put an ordinary looking 'dummy' input text field over the file field. Next we proceed to make the 'original' file upload field invisible but accessible to the user via CSS. So when a user clicks on the dummy input text field they are actually clicking on the file upload field itself. To make it authentic we are going to copy the file path from the file upload field to the text input field via javascript.
Zyxware default image3
| 1 min read
Are you looking for an easy way to delete hundreds and thousands of nodes in your Drupal CMS? We all know how to delete it using the normal admin panel which forces us to select all and clicking the delete button again and again. If you are a lazy person then probably you don't like to waste your time to find some stupid script to delete all nodes. In fact there is no need to do that, since somebody had already done that. I am saying about the Devel Generate module. Yes, Devel Generate to delete nodes!
Zyxware default image2
| 7 min read
Ecommerce used to be the preferred ecommerce solution for Drupal before Ubercart came into the picture. We recently worked on upgrading a Drupal 5 site with Ecommerce to Drupal 7 with Ubercart. The challenge with this upgrade was that the source data existed only in the D5 database and the corresponding code to programmatically access the ecommerce data was in D5 as well while the destination tables existed only in the D7 database with the corresponding code existing only in the D7 database. The solution we went with was to go for a full SQL query based migration to copy over the Ecommerce data from its tables to the Ubercart tables.
Zyxware default image2
| 7 min read
The default behavior of drupal_redirect_form in Drupal 6 is to redirect the user to $_GET['q'] when an explicit redirect location is not set in $form_state['redirect']. So any form submission from a Drupal page with additional querystrings like in a paginated form (for example admin content listing forms or admin comment listing forms) will result in the querystrings being lost. This can be frustrating when you administer content from such forms as you have to click the pager link and go back to the previous page after form submission. This can easily be fixed by adding a submit handler for the form in question and setting form_state redirect correctly.
Zyxware default image3
| 3 min read
The default comment moderation system in Drupal 6 is crude at best primarily because of the limitation of the admin comment listings. The information that is shown by default are 'Subject', 'Author', 'Posted in', 'Time' and 'Operations'. Now the main objective of comment moderation is to reject spam comments. None of these fields give any information about whether the comment is a spam comment or not and you will have to view each comment by going to the edit view of the comment and then approve or reject the comment. This is a very laborious and frustrating process. You have three options to solve this problem and get a better comment administration interface - one is to create a comment view, another is to alter the default comment administration form and the third is of course a custom solution for comment administration.
Zyxware default image4
| 4 min read
One of the Drupal sites we maintain had recently started slowing down considerably in spite of the site mostly being static and in spite of boost set up on the server. On examination of the site we found that two things were happening on the site. One was that the site was being crawled indiscriminately by rogue crawlers. This we solved using the DDOS deflate script and setting DDOS deflate to run every 10 seconds. The second problem was that there were some bots which were continuously sending POST requests to /comment/cid/reply pages. For this we had to come up with a workaround.
Zyxware default image4
| 2 min read
In Drupal every path in the site goes via index.php and goes through some Drupal menu. However to make the Drupal application behave live a typical static website in terms of URL architecture sometimes clients request for adding slashes to the end of virtual direcotry paths. At the same time slashes would not look good at the end of virtual file paths. There is an easy way to do this using apache htaccess rules
Zyxware default image2
| 2 min read
Sometimes we get requests to update Drupal sites and get it done in less than 5 hours. If we take the Drupal update through the full fail-safe set of steps for Drupal updates we will never be able to complete updates in less than 5 hours on a site we don't maintain. For such sites when the cost of the site going down may not be too high for the site owner it might not be too big an issue if the update is run on a hit or miss approach. We normally do not recommend such an approach but this should work on most small sites without any issues.
Zyxware default image2
| 3 min read
Keeping the Drupal core and contributed modules up-to-date (at least on the security updates) is one of the essential steps for keeping a Drupal site safe and secure. Running updates of Drupal modules is usually a straightforward mechanism on a Drupal site that is done right. However what will you do if you do not know how things have been built? What will you do if some of the custom modules used are tied down to specific versions of some contributed module? What if there were custom changes on the site. Here is how you can run updates on a Drupal site almost completely safely.
Web accessibility checkpoints in Software Development Life Cycle (SDLC)
| 4 min read
When you want to move a Drupal site from one hosting server to another you have to ensure that the site works the same way on the new server as it used to work on the old server. There is no real fool proof way of doing this other than to meticulously document all the custom aspects associated with setting up the site and verifying it on the new server. The following is a checklist of information you have to collect before you move your Drupal site from one server to another. Checklist: Migrate from one server to another
Zyxware default image3
| 3 min read
If you run a reasonably popular site there is a very good chance that you will get crawled by unscrupulous crawlers once in a while. The regular search crawlers from the popular search engines like the Google bot, Yahoo bot, Bing bot themselves are pretty intensive when they crawl sites but they do have limits on the number of pages crawled per visit and the number of simultaneous connections opened to your server. However there are lots of unscrupulous crawlers like spam bots, email harvesting bots and even some search engines who do not set any reasonable limits on the number of simultaneous connections to your server. There are hardware solutions that are available to prevent this but they may not be affordable for everybody. There is however a simple netstat based solution to prevent DDOS.
Zyxware default image4
| 3 min read
Boost is a Drupal module that accelerates the performance of a site by efficient caching of pages. It can be enabled for all pages other than the ones which need to show constantly updating data (for example, a captcha box). NOTE: If you are looking on how to install and configure Boost for your Drupal website, go here: How to install and configure Boost caching module to speed up performance on your Drupal 6 site. Here we list some methods for testing the Boost implementation on a Drupal website:
Zyxware default image2
| 3 min read
On one of the maintenance projects we got we came across a page that used to take around 11 seconds to load. The page was a views listing for users. We were able to speed up the page load times from around 11 seconds to under 3 seconds by taking out just the distinct option used in the view. The following was the select query that was originally generated from the view with the time logged by views in the preview panel.
Zyxware default image4
| 2 min read
We recently saw this error on a Drupal 6 site that had not been updated for quite a while."warning: call_user_func_array() expects parameter 2 to be array, string given in sites/all/modules/contrib/views/views.module" means what it says. call_user_func_array expects the second parameter to be an array whereas a string was given instead. You can troubleshoot problems like this by writing a bit of debug code before the line where the error is reported.
Zyxware default image4
| 1 min read
Boundary Value analysis is one of the techniques used in software testing which involves designing of test cases to contain values at the edges, or in other words, it includes values in the minimum and maximum conditions. For testing a Drupal site, these conditions are addressed in the test cases so that we can capture and resolve them earlier, since such extreme ends commonly cause software faults. Boundary value analysis is a black box testing technique.
Zyxware default image1
| 4 min read
Developing a Drupal website is a complicated and long process. You have to check whether all the design and functionalities meet with the client specifications. And before the site going to be live you have to check certain criteria.These checklists describes the criteria that should be tested before a site going to be live.
Zyxware default image4
| 6 min read
Software Testing is the process carried out during software development, so as to ensure and verify that the product, be it a simple program or an entire Drupal site, developed has all the desired features, performs as expected by the customers and meets all their requirements. It also the ensures the robustness of the product. Here is the Levels of Testing in a Drupal Development Workflow.