- Our Approach
- Our Pricing
- Project Example 1: Error messages reveal file permissions problem
- Project Example 2: Your website requires a caching strategy to be designed and implemented
- Project Example 3: Your website is mission critical and processes a high volume of transaction
I Fix Drupal - Planet Drupal Feed
I don't find a lot of time to get on the tools these days and sometimes I miss getting into code. Recent projects have seen me focus on strategy, architecture, data and systems integration. Despite that I am comfortable describing myself as an expert in Drupal 7, having spent years giving the D7 codebase a forensic examination. However, despite Drupal 8.0.0 being released three years ago on November 19, 2015 I have not yet looked at a single line of code or even taken in a demo of its feature set. Today that changes. For starters I would like to see just how D8 differs from D7 when we start...
Our Drupal 7 installation has served us well using a single, optimised MySQL database server. However, a desire to deliver advanced reporting and dashboards driven by Power BI required us to implement a replicated slave so that Power BI could draw data from a datasource that would not impact the performance of the database serving the website. Mostly the configuration was straightforward: Replicate a MySQL 5.5 master into a single MySQL 5.7 slave Stitchdata tunnels into MySQL slave to access binary logs - Stitchdata requires at least MySQL 5.6, which explains the version difference you...
I recently gave an outline of this problem over in the Drupal community here:https://www.drupal.org/node/1316874#comment-12136170 But I thought it would be interesting to make a more technical post on the subject, so here it is.
Drush has a great feature that allows you to limit the data that will be exported when you dump a database. Using this feature you can pull the schema for the entire database while specifying tables who's data you wish to ignore. This can substantially reduce the time it takes to complete an sync operation, especially the time spent importing the DB on the target. The key to this piece of magic lies inside drushrc.php, where you can predefine those lists of tables that do not require data to be dumped using this option. $options['structure-tables']['common'] = array('cache', 'cache_*', '...
Yes you can. In that case, should you launch a tech startup using Drupal? Maybe. This article will equip you with the information you need to make a sound assessment of whether you should choose Drupal for your startup company whether you are a non technical founder, an experienced CTO or a technologist looking to step up into an executive role. Drupal, or any other piece of open source software, can provide you with an incredible platform to scale your startup from nothing more than a set of requirements to a profitable company in a highly time and cost efficient manner. But Drupal is not a...
Recently we received a call for help. The client had produced a new website that was great to look at, packed with fresh content and ready to launch. There was just one problem, performance. Some pages, in particular those driven by Views that were returning a large amount of data, were taking way too long to load. Interestingly the client had found that enabling page caching was not helping, yet enabling Views caching did help, a lot. This observation led us to believe that something was telling Drupal that it should not cache pages. So over an IRC session we asked the client to search their...
This message is generated by the PHP runtime environment. It is identified as a "Notice" which means that something less than ideal is happening but it shouldn't stop your pages from loading. However, it does deserve attention because this type of message indicates that you are at higher risk of suffering from logic errors. This means that the data you are presenting to your users might not be the data you are intending to display to your users.
Most sites will benefit from some form of caching, but for complex sites it is important to make sure the cache backend issuitable for the data you intend to cache. For example, many others have already discussed the suitability of memory based caching for session data. The problem being that if memory becomes tight session data can be dropped meaning a user can be abruptly logged out of a website unexpectedly. But where do you send your block data to be cached? Memcached is often used, and is often a great choice. But one thing to check is that you don't have blocks that will exceed that...
When you are looking to improve the performance of your Drupal website it is always worth taking a look at the watchdog log, found at Admin > Reports > Recent Log Messages. In a properly functioning Drupal site this report should be informing the administrator of significant events and encouraging them to take appropriate actions when necessary. Typically you would not expect normal page views and interactions to generate much, or any, activity in the watchog log. However, that is often not the case. Frequently I have been asked to look at slow Drupal installations where I see an awful...
We have heard from many website site owners who have a website that was designed with fresh, live data in mind who are finding that their pages are consistently showing stale, old data. Nines times out of ten this is because a caching strategy was not considered at the outset of the project. The result is that the website got built and everything looked fine so it was deployed to the production environment. Most likely somebody observed that was the site was a little slugginsh and so, after some Googling, it was determined that the appropriate fix was to enable page caching via the...