Showing posts with label drupal performance. Show all posts
Showing posts with label drupal performance. Show all posts

Wednesday, April 23, 2014

91. Drupal Negatives and explanation on Usability, Learning curve, Backward compatibility (for software development), Performance, scalability, Integrability with hosting structures and Search

·         Usability
      Aspects of the Drupal 6 administration interface were seen to be confusing and intimidating to some, particularly for new administrators. According to Dries Buytaert, Drupal 7 addressed 90% of the problems identified by Usability tests conducted at the Universities of Minnesota and Baltimore. To achieve this, Acquia(the company founded by the project lead of Drupal) hired user experience designer Mark Boulton to work with the Drupal community to design an improved user interface for Drupal's administration interface. The majority of his team's design work has been implemented by the community in Drupal 7. The 2011 usability test results from the University of Minnesota Office of Information Technology show that all of the major usability problems identified in Drupal 6 are either vastly improved or non-existent in Drupal 7. However, some new usability problems were identified. Since the release of Drupal 7 there are now various distributions and applications to enhance the Back-end Usability of Drupal such as Drupal Gardens, Open Enterprise  and Mitkom Builder.

·         Learning curve
         Some users describe Drupal as being difficult to master. Drupal's many contributed modules can have overlapping functionality and have been reported as overwhelming to new users.

·         Backward compatibility (for software development)
      Drupal does not commit to backward compatibility across major revisions. This means that module and theme developers may have to rework their code to be compatible. However, Drupal's policy is to not change how it uses one's data. This means that data from previous versions will still be usable without alteration in the new release. Drupal documents any incompatibilities, allowing the user to make informed decisions about when and whether to upgrade.

·         Performance/scalability
       In 2008, performance tests between Drupal 6.1 and Joomla 1.5 demonstrated that Drupal's pages were delivered "significantly faster" than those of Joomla. Despite this, arguments over speed persist. Drupal is likely to be slower than a special-purpose application for a given task. For example, WordPress typically outperforms Drupal as a single-user blogging tool. Drupal positions itself for broader applications requirements that are outside the scope of more narrowly focused applications. Drupal offers caching to store various page elements, the use of which resulted in a 508% improvement in one benchmark. When using Drupal's default Page Cache mechanism, the cached pages are delivered only to anonymous users, so contributed modules must be installed to allow caching content for logged in users. Like performance, scalability (the ability to add servers to handle growing numbers of visitors with consistent response) can become a concern on large, interactive sites. MySQL's query caching can help reduce the load on the database server caused by Drupal's high query rate. Drupal caches database schema metadata as well as elements such as blocks, forms and menus. Drupal 7 increases performance in database queries and reduces PHP code usage.

·       Integrability with hosting structures
       Because of Drupal's demanding query requirements, Drupal-based websites can quickly become very taxing to hosts whose databases reside on a machine separate from their HTTP server. While the issue can normally be addressed by implementing aggressive caching as described above, such methods may be unimplementable in cases where the host does not offer access to PHP accelerators like XCache or APC. Drupal has plugins that facilitate similar caching without requiring special PHP extensions.

·         The Drupal core search 

 There are contributed modules that will greatly improve the search functionality on a Drupal website, but they are not easily accessible due to a high learning curve and the difficulty users have in general of finding the right module. One of the faceted search options is Apache Solr Search Integration module, however, the module requires a dedicated server or virtual private server (VPS) to operate because Solr must run on a servlet container, e.g. Tomcat, Jetty or Resin. These requirements make it harder for a Drupal website to have a functional search feature. In response, Acquia and other companies have created Apache Solr SaaS products.

Tuesday, April 22, 2014

84. Steps for launching a drupal site ?

Performance

·         Go to Site Configuration -> Performance and within the Cache area enable Cache pages for anonymous users and Cache blocks by clicking in the checkbox if necessary. You should see checks appear.
·         Within Bandwidth Optimization enable Compress cached pages, Aggregate and compress CSS files, and Aggregate JavaScript files.
·         Turn off unnecessary modules, such as Devel.


User Interaction

·         Protect your forms against spam and attacks.
·         What kind of forms are anonymous and authenticated users able to access on your site?
·         Have you enabled CAPTCHA, reCAPTCHA, or an anti-spam service such as Mollom?
·         Email: Verify that the site email address in /admin/config/system/site-information is not a test address. Also verify email addresses in other modules that send notifications, and verify the text of email messages your site generates.
·         Index your site for search at search settings and test.


Domain

·         Check if one of the domain redirect options is enabled in the .htaccess file. Either redirect URLs without www. or vice versa.
·         Web Services
·         Update API keys for modules that make use of them, such as Mollom, Twitter, or Google Apps.


Security

·         Check that your admin passwords are secure.
·         Upgrade Drupal Core and Contrib modules to the latest version.
·         Turn off on-screen error reporting at admin/config/development/logging. (admin/settings/error-reporting for Drupal 6)
·         On the Permissions page, verify what permissions anonymous and authenticated users have been given.
·         On the User Settings page, verify that account creation settings are as you intend (can users create their own accounts, and do they need approval?).
·         Check Reports > Status report and make sure there are no warnings or errors.


Backups and Maintenance

·         Cron - If cron is not running, your database will get bloated.
·         Backups - Regular database backups are essential. Check out the Backing up and migrating section for more information.
·         Statistics - You'll want to monitor your site going forward. Do you plan to use Drupal core statistics, or have you set up another service such as Google Analytics?
·         Check Reports > Recent log entries for errors and warnings, such as missing files or URLs. Check that there are no red flags in Status Report.


Quality Assurance

·         Remove test content, such as "lorum ipsum" text, dummy users, or content generated by the Devel module.