Before we get into details on why you should rush to clear your Drupal cache whenever you're dealing with a “White Screen of Death”, how about exercising your imagination a bit? Scenario no. 1: “You're a visitor, accessing one specific page of a Drupal website, then switching to another one, then... all of a sudden... the web page you will have just landed on instantly turns all white! All content disappears!” Scenario no. 2: “You're a Drupal web developer and you've just given your theme a “routine” update. Or maybe you've just finished developing a custom module. Everything seems to be working perfectly fine on your Drupal site when... tragedy... meaning WSOD... strikes and leaves you “defenseless”: staring at the big white nothing!” Does any of these 2 scenarios bring back unpleasant memories? Well, in today's post we're ready to help you put together your own “emergency kit”! The one including all possible solutions to apply whenever WSOD strikes again, focusing, of course, on the “clear your Drupal cache” one. Keep reading: 1. But How Does Drupal's Cache System Work After All? Drupal's caching is a key performance-booster! What it does is saving and storing copies of the requested content on a Drupal site's page, so that when the next visitor accesses the same web page link, it will automatically display the stored content. A great way of saving your server's resources. Now, with all the “hard work” that its caching tables need to do (storing and then delivering the stored content, the menu links, the scrips), now and then “accidents” happen and they stop delivering content. Therefore: WSOD happens! 2. "White Screen of Death": What's Causing it? Maybe the term “causes” is not the most appropriate one. Let's replace it with “instances”: instances when WSOD occurs. Here are a few: after you've updated the theme on your Drupal site after you've updated a Drupal module after you've run your updates on Drupal core itself while you're developing a custom module for your (or your client's) site after you've moved your Drupal site to another server What does this mean? Well, it means that since we have a “bundle” of instances when this terribly frustrating error occurs, we also have a “bundle” of possible solutions to rely on for getting it fixed. And, speaking of them, our team of Drupal web developers', here at OPTASY, favorite one if the “clear your Drupal cache” emergency solution! 3. Which Are The Other Ways to Fix a WSOD Error? As already stated: clearing your Drupal cache is not THE one and only way to resolve the “big nothing” problem on your Drupal site. Here are just some of the other methods you could include in your “emergency kit”, whenever you're dealing with a “White Screen of Death”: check your Watchdog tables check your error log files recreate your permissions restart your web server uninstall the problematic modules enable error reporting (although, these are cases when a WSOD can lock down your site completely, caching the very “culprit” code itself, the one that might be causing the “white chaos”) And there are many other possible solutions to the “white nothingness” error. We've just listed some of them. Take them all into account and make sure you have this “emergency list” at hand when... the inevitable occurs! Needless to add that, based on our own experience as Drupal developers, we recommend you, as a way to fix your future WSOD errors, to clear your Drupal cache. 4. Which Are the Main “Clear Your Drupal Cache” Methods? 4.1 Use Drush Rely on Drush command-line interface for a quick fix of your “White Screen of Death” error! Here are the Drush commands to use to clear your Drupal cache (depending on the Drupal version that you're using): In Drupal 7: drush cc or drush cache-clear: for selecting which cache to clear drush cc all or drush cache-clear all: for clearing all the caches at once In Drupal 8: drush cr or drush cache-rebuild: for rebuilding your website and clearing all its caches 4.2 Use the Database You could also clear your Drupal cache manually, by emptying all the cache tables stored in your database. Of course, it goes without saying that you should go for this method only if you're confident enough (leaving no room for human error in the equation) to handle those database tables: if you know what you're doing! This is a two-step solution, in fact: use phpMyAdmin (or maybe you prefer another database administrative tool instead) to access your site's database. manually empty the “cache” labeled (you'll see the “cache_” prefix there) tables from your database, without deleting them (do keep this “tiny detail” in mind!) Note: Remember to make an update of your website before you go ahead manipulating its database! 4.3 Use the Performance Page And the third “clear your Drupal cache” method on our list is the one implying the Performance Page. Just go to admin/config/development/performance and click on the “Clear all caches” button. Cache clearing made simple! It looks like we've reached the end of today's post on how to clear your Drupal cache and why you should start seeing it as a handy solution to your WSOD errors! And yet, allow us to give you one last piece of advice: make a habit of testing your updates first instead of running them directly on your live website! It's probably one of the simplest ways of keeping the “White Nothingness” at bay!
Adrian Ababei / Mar 15'2017
When you’re making a decision about which Toronto web design agency to hire, you’re making a decision about the future of your business. A well designed, quickly loading, a good looking website will bring you, clients, increase sales and lead to success. A bad website… well, let’s just say it will cost you more. If you’re a small business, looking for an affordable web design Toronto studio is understandable. It’s perfectly achievable too. There are good web design agencies in any price range. There are bad ones in all price ranges as well. So how do you make sure to hire the Toronto web design agency that’s right for you? Here are a few considerations that can help you make the right decision. Look for relevant experience. Markets and industries are different. If an agency worked with fashion shop websites in Europe, it doesn’t mean they will know how to build a website for a Toronto hi-tech company or a local car repair shop. They may, or they may not. Picking a company that worked with clients in your industry locally is the safer choice. Affordable is not the same as cheap. Remember there’s the trio of things: Fast, Cheap, Good. You can only ever choose two of them. Choose fast and good, and it won’t be cheap. Choose cheap and fast, and you won’t get quality results. But it can be affordable. As we just said above, there are good companies in all price ranges. Just don’t make it your top priority. See how communication works. Are emails answered quickly? Do they provide detailed answers? The company you’re hiring should sound interested and reliable. They should be able and happy to explain what exactly you’re getting for your money. Make sure you’re also available, to establish good communication and trust, of course. Portfolios are important, but checking them won’t hurt. Unfortunately, it’s not impossible for businesses - in any field, for that matter - to exhibit projects that are not their own. Luckily, it’s easy to check. All you need to do is contact their client and ask how the service was. This way you gain a confirmation that the portfolio project is real, and also find out about how good it was working with the firm. An honest Toronto web design agency will only encourage that. We hope this helps. Good luck in your search and a subsequent new project!
Adrian Ababei / Mar 02'2017
Speed is a crucial ranking factor! So what do you do when you're a Drupal website owner or a Drupal web developer facing the challenge of having to supercharge your site with “only” the bare essentials in terms on Drupal modules for SEO? There are two possible scenarios here: you invest a huge amount of time reading all that has been written on each one of Drupal's SEO-oriented modules, you install each one of them and “take them for a spin” and eventually (after hundreds of cups of coffee and lots of more or less “zen” meetings with your developers and SEO “gurus” you manage to eliminate the “redundant” SEO modules from the “must-haves” list you scan through our list of 5 “bare essentials”, including the indispensable Drupal SEO modules, leveraging all the research work we've done and our own experience as web development company in Toronto. If scenario no. 2 aligns with your goals of reducing time and boosting your SEO strategy's efficiency, then let's not wait any more time! Here is out list of 5 essential Drupal Modules for SEO: 1. Metatag “Getting your website Google-friendly by describing its content for the search engines”. This is how we could sum up what this Drupal module does. The search engine results related to your website get more relevant! To detail a bit: Metatag allows you to add various meta tags to your web pages. The list includes tags ranging from title tag (a significant on-page ranking factor) to meta description, canonical URL etc. The great thing about it (if you're short on team members who could add the proper metatags to each and every web page on your site) is that you get to set it up so that it automatically adds meta keywords and tittle tags for you. Still, consider this automation as the very last solution on your list, since nothing can beat a copywriter/content writer/SEO specialist in person adding the best context-based keywords to your content. And there's more! Metatag is a highly customizable module and where do you add that it's “equipped” with multilingual support, too! 2. Google Analytics You do have a Google Analytics account, right? Just teasing! Anyone operating in the digital landscape has at least one GA account! Well, Drupal's ready to help you leverage the most-used website statics service through a dedicated module. Install it, select precisely those downloads/links/content types on your website that you want to closely “monitor” and turn the insights you'll get into (more) traffic for your website. Besides its quick and easy installation process and its feature allowing you to track precisely those sections on your website that you're most interested in, the Google Analytics module comes to simplify your whole data tracking workflow, too! It means that won't be “forced” to add the GA tracking code to each and everyone of your “target” pages. It's enough for you to put the tracking ID in the configuration page (the module's configuration page) and Google Analytics will take it from there! Find out where your visitors come from, at what time of day, what pages they go to more often, what are their preferences, what keywords they type in the search box etc. etc. Say “hello!” to “powerful” data! 3. Pathauto Be honest with yourself: you can't expect your website to be “search engine friendly” if it's (still) a bundle of “/node/4” type of URL aliases! This is where Pathauto comes in handy! Install it and get your website a link aliases “makeover”! What this modules does is that it aromatically generates search engine and (implicitly) user-friendly URL aliases for various types of content on your website. Say “goodbye” to “/node/4” type of URL aliases and say “hello” to “far easier to digest” /category/title-of-article instead types of links. And when we say “various types of content”, we do refer to terms, taxonomy, users, modes. This is definitely one of those Drupal modules for SEO that you don't want to skip supercharging your website with. It will translate into a major boost in rankings! 4. Redirect, One of the Essential Drupal Modules for SEO Website optimization means (among many other things) “dealing with duplicate content issues”. Here is another one of Drupal's modules for SEO, Redirect, that lifts a heavy burden off your shoulders (or at least off your team's shoulders). It cleans up and prevents duplicate content issues. The checks that it runs include: tracking down trailing slashes tracking down the current URLs' alias and redirecting them if those aliases are not being used scanning access to private URLs, ensuring that your website's visitors can access them 5. XML Sitemap XML sitemaps are probably the most efficient way of making your Drupal website more “inviting” for search engines. More “welcoming” for bots to crawl in and “inspect” your site's deep structure. And you do want do make your website “search engine-welcoming” now don't you? Drupal's XML Sitemap module, one of the must-have Drupal modules for SEO indeed, automatically puts together your website's sitemap, according to your own settings, and it “delivers” it to search engines. Due to their dynamic nature, search engines always get the newly updated version of your website's system of URLs. Now allow us to encourage you to adopt a good XML sitemap-related practice, as well: if you're dealing with a large website, it's always best to organize your multiple XML sitemaps into categories! Other good practices linked to XML sitemaps and their “automatic” nature (the module gets automatically updated every time you delete or add a new web page to your site) would be: removing noindex pages “freeing” your sitemap from PPC pages removing all the blocked pages avoiding to weight down your sitemap(s) with non-200 pages … and the list of common sense (after all) “rules” could go on and on! And these are the “bare essentials”, the key Drupal modules for SEO that you need (not “should”) to install on your website! They do make the basic, yet powerful SEO “kit” that will supercharge your site with all the must-have SEO-oriented functionality. It's the perfect “kit” that will help you avoid the risk of using too many of your website's resources with unnecessary SEO modules and tools. As you can see, we've left out the off-site SEO tools, the content optimization ones (that you'll find useful in case you have no dedicated SEO specialist or team in your company and you want to implement your SEO strategy in-house) and plenty of other Drupal modules for SEO which fall into the “optional” category. Now your turn! What does your own “kit” of essential Drupal SEO modules include?
Adrian Ababei / Feb 21'2017
Adrian Ababei / Jan 19'2017
Drupal or Wordpress definitely make the most popular CMSs of the moment and considering that they do share quite a lot of similarities, too, making a straight choice between them can get quite energy and time-consuming. How should you know for sure which one is THE one that will respond better to your web project's specific needs? Before you dive into our in-depth comparative review of the two famous CMSs, (that we hope it will manage to steer you in the right direction), we need to put this straight right from the start: there is no such thing as “one is better or worse than the other”. Both Drupal and Wordpress work wonderfully when it comes to suit specific needs, therefore, there' no question of hierarchy here, only a matter of “suitability” so to say. Each one of the two is designed for a specific type of website (and, thereby, comes with a specific set of expectations from its future owner), that's all! Drupal or WordPress: Which One Is More Advanced in Terms of Functionality? Here's something to reflect on: Drupal's far more advanced functionality (compared to Wordpress's) is, at the same time its strength and its “Achille's heel”. How come? It all depends on the level of technical knowledge of the one deciding to “unleash” and handle its functionality. It can lure and be an “irresistible' challenge for some, but it can discourage others! Drupal requires someone with more than “some” technical experience (or at least one who's well aware, from the start, that there is a steep learning curve involved) for handling all its various features- content types, taxonomies, blocks, views- and livening it up to its full potential. Once handled by “technical savvy hands”, it can handle all types of refineries that Wordpress can't: it can handle heavy content and multiple website stakeholders (website admins, content editors, publishers you name it). As for Wordpress, it will definitely manage to cast a spell upon you if have basic technical skills. Designed as a blogging platform, Wordpress's performance can be affected to a great extent if it's “forced” to carry away a too heavy load of plugins and content “on its shoulders”. Otherwise, if you keep your Wordpress website light, it can reach pretty much the same level of performance as a content-stuffed, large-scale Drupal website. See? Told you! It all revolves around the type of website that you need to build (and also around your level of technical knowledge). Drupal is more robust, but it's quite “picky” when it comes to “revealing its true power” to the one handling it: it's a CMS built by developers for developers, after all. Wordpress keeps its performance within good parameters as long as you don't overload it (and it requires zero technical skills, too)! Drupal or WordPress: Which One Is More Flexible? HIGH PERFORMANCE and FLEXIBILITY sure are the 2 pillions of any great website on the online landscape, wouldn't you agree? "Flexibility" is another word for “Drupal”. The CMS practically “overwhelms” you with a wide collection of free themes, modules and tempting customizing options, which you can pick, tweak and use for constantly editing and boosting your website's looks and performance. And yet, it's a “gift with a twist” that Drupal makes you! There's no point in hiding it (and even we, as Drupal developers in Toronto aren't going to conceal this detail): you need to be a developer for efficiently handling all its modules. They require customization and therefore technical skills. But once you've learned how to install, costume and update modules in Drupal, how to “unleash” all that extra functionality that these modules “encapsulate”: oh boy, it's such a confidence-booster! You'll get to build a website capable of handling thousands of users and thousands of content-stuffed pages! Wordpress isn't a cheapskate, either, when it comes to “spoiling” its users with no less than “millions” of plugins and themes. Moreover, it definitely has a strong advantage for the non-tech savvy ones: you don't need to be that technical for successfully integrating all those plugins and perform all the needed editing yourself: on colours, font, layout, you name it. Ease peasy! But you get to do all that only as regards small size websites, you should definitely keep that “tiny” detail in mind! Drupal or WordPress: Which One Ranks Higher in Search Engines? When comparing Drupal to Wordpress in matters of SEO-related features, what you should know is that there is no matter of “better” or “worse”! It's just a matter of “two different, yet equally efficient approaches”! Let's dig into more details! With “tantalizing” plugins, such as Yoast's SEO, Wordpress helps you ideally optimize your website for search engines in no time (and with no great technical skills required either, remember?). It “spoils” you with a quick and easy way of optimizing your site. As for Drupal, it comes with a certain “edge” given by the fact that it can handle way larger websites. Loads of content and truckloads of daily visitors to handle, you can just figure it out yourself, come with a different approach to SEO, with totally different SEO needs and strategies. Moreover, you need to know what you're doing, when handling Drupal, if you want to efficiently optimize your site. Here's another “detail” for you to reflect on: when it comes to page load times (and you're well aware of Google's “weakness” for websites that load fast) Drupal comes equipped with robust and (most important) out-of-the-box catching features, as compared to Wordpress, where you have caching plugins that you get to use for speeding up your website! Drupal or WordPress: Which One Handles Security Better? Whitehouse.gov is built on Drupal! Need I say more? Drupal takes security to a higher level, that's for sure, and no wonder since it's been designed to suit the specific security needs of enterprise-level websites! Wordpress, since it's been designed as a blogging platform, is more vulnerable. It takes just a hacked plugin for hundreds (or more) of Wordpress websites to get “infected”, so just reflect on this for a minute or two before you make your final choice. Size does matter! The size of the website that you develop determines its future security needs, as well (so, you can't compare a blog to a governmental website, right?). There's more! Choosing the right platform specific hosting application is decisive when it comes to managing security risks: you have Acquia and Pantheon if you go for Drupal you have WP Engine and since recently Media Temple, too, if you go for Wordpress We, here, at our web development company in Toronto, manage to “sleep well at night” since we are Acquia partners! Drupal or WordPress: Which One Is Easier to Use? This is the aspect that Wordpress excels at! Anyone can use it! You get to set up your Wordpress site and make it look sharp and functional in no time without having to be a programming languages guru! With its simple user interface, it turns building a website into a matter of minutes and even its customization doesn't pose great problems or causes severe headaches. Things get a bit trickier with Drupal! It's not hard to use it, it's just a bit more challenging to learn how to use it in the first place! Once “armed” with enough technical skill, the sky is the limit with Drupal: you can develop far more advanced (and therefore confidence-boosting) websites. Its interface, too, is easy to use, so that won't be a problem. It just requires a bit more time (and will) to learn how to mix and match its core features and how to edit anything in the back-end, too. And, the good news is that it looks like Drupal 8 paves the way to turning its CMS more accessible for non-developers (such as content editors, for instance), too. So, there are chances that Drupal steals the “crown of easiness to use” away from Wordpress in the future to come! Stay tuned! Also, you can relax: they both get your back covered! That's right, both CMSs are supported by active user communities, so you can easily get the answers to your questions or the needed documentation! Another highly important “detail” is that both Drupal or Wordpress reward you with freedom in terms of design! You get to design your templates to your liking, no matter which one of the CMSs you'll go for! We'll end our comparative review with 3 last questions that you should ask yourself before you go for one CMS or another: 1. Does your future website have to handle multiple user permissions? 2. Will it feature multiple content types (and page templates)? 3. Does it require enterprise level security?
Adrian Ababei / Dec 14'2016
You are aware, aren't you, that there's a lot at stake when choosing the “right” CMS, the one that meets your particular web project's needs? So, you definitely need to think it through and to consider all the main aspects! Still, no need to panic now! To get stressed out that you risk to make the wrong choice, for you can't tell which one is the perfect fit for your particular work scenario. The best way to find your answer if by asking yourself the right questions! As simple as that! What's your level of knowledge of the main programming languages (CSS, HTML, PHP)? What type of website will you be developing (a corporate website, an e-commerce website, a social network etc.)? What future do you anticipate for this website? Are there any chances that it should grow significantly? Will it require new functionality and is it likely to face the challenge of traffic overloads later on? And so on... Are You Joomla's or Drupal's “Target” User? Are you're a “tech savvy” developer, with a consistent coding experience in the basic programming languages? Then you're the type of target user that the community developing Drupal envisioned for this platform! Are you confident that the site you're about to build will grow and, therefore, get more and more “greedy” when it comes to new features and constant customization (and you have a certain “weakness” for the after-launch “polishing” and constantly upgrading processes? Then you should definitely go for Drupal. Do you have basic technical skills instead? Are you looking for a super easy to use CMS that doesn't require certain language programming skills? Then Joomla is the platform that you'll find be comfortable with! It will allow you to have your e-commece or social networking site up, running and looking attractive in no time! Is It A Joomla-Specific or a Drupal-Specific Website That You'll Build? What type of website are you planning to develop? And (after you've discovered whether you're Drupal or Joomla “material” answering to the question in the previous paragraph) this might just be the question that will help you make a choice between the two popular CMSs! Is it an ecommerce website that you'd like to set up quick and easy, with no customization implied or maybe a fully functional social networking website and you have basic technical skills? Then you've got yourself a winner: Joomla! Are you facing an a lot more challenging project, where you need to rely on your technical expertise and deep experience as a web developer for building large scale websites? Then it's Drupal that will help you meet and exceed your client's daring business goals. For instance here, in our web design company in Toronto, we often face the challenge of developing content-packed websites. So, we know that we can rely on Drupal: its been designed for handling truckloads of users and large amounts of data, you know. And where do you add that, due to its catching features, Dupal loads faster, too? And it requires less server resources than Joomla, as well? Checked and double checked! If you're planning to start a daring (even a multisite) website project, one that's sure to grow steadily in traffic and content in the future to come, then go for Drupal! How Do Drupal and Joomla Respond to Your Need of Customization? FLEXIBILITY and CUSTOMIZATION are Drupal's “little name” and respectively “middle name”! So, you bring in your passion for “getting your hands dirty” up to your elbows in lines of code and it will spoil you with an overwhelming array of themes, plug-ins and all sorts of other configurable options! Select the ones that respond to your website's ever growing needs, mix and match them and then skillfully integrate them, boosting both its looks and functionality! It's true, Drupal “expects” you to be more of a technical savvy (compared to Joomla), but it also gives you unlimited freedom: feel free to come up with any needed improvements to your site, to create custom modules, to play with themes, to upgrade its out-of-the-box features to your (or your client's) liking. Sky it the limit! Oh, and I almost forgot: they're all free! It's a “detail” that you should take into account if you consider that some of Joomla modules and plug-ins are not free of charge! So, yes, when it comes to flexibility and customization, it depends a lot on your own needs: Do you actually want to be able to constantly customize the look and feel of your website? Drupal enables you to do that painlessly. Do you just want to set up a functional site as quickly as possible, without investing to much time and skills into its customization? Then Joomla, with its already famous easy to use interface, will help you set up your social network or online shop as quickly and stress-free as you say: “Joomla”! What About Security? Which One Makes A More “Secured” Choice? It would have to be Drupal! And I'm not saying it because it's Drupal that we're building wesites on here, in our digital agency in Toronto! Just think about it (for it's pretty obvious): how many hacked Drupal websites have you heard of compared to Joomla or Wordpress sites? It's true that those who've “pledge to remain 100% faithful” to these two CMSs will come to “counterattack” stating that this is only because there aren't as many websites built in Drupal as there are in Joomla or Wordpress. And yet, it's a proven fact: Drupal takes security to another level, compared Joomla. Its worldwide community of developers is constantly “hunting” down threats and is always on the lookout for any weaknesses showing up in the system. Moreover, whenever they spot security vulnerabilities, they patch them up and “expose” then on the website. Still, even if with its not that strong approach to the security factor, Joomla, too, responds to security vulnerabilities and it gives you the chance to strengthen your site's level of security, to upgrade it with new extensions. Yet, it is important to keep in mind that you'll need to constantly run the necessary updates for keeping it properly shielded! Which Are Joomla's and Drupal's SEO Capabilities? If you're concerned about the SEO aspect (and you should be, especially if it's the challenge of a large scale, multilingual website project that you need to respond to), then there's no “better option”, there's just ONE option: Drupal! It “beats” Joomla in terms of SEO capacities, being equipped with far more advanced SEO features. Still, it's true that you can optimize your Joomla website for the search engines, too. The main difference is that you'll need to actually create those custom SEO-related features yourself (and since this CMS “boasts” to be “a dream come” true for the non technical savvy ones, this aspect might just be an unpleasant surprise for you). How Do They Handle Technical Support? When it comes to their help portals, if you're a beginner you'll find Joomla's technical support far more accessible. You can find the answers to all you Joomla-related “dilemmas” and you'll be able to get all the guidance you'll need as compared to Drupal's support options, which are more “from developers to developers”: a lot more technical. So, there's no "better" or "worse" help portal! It's just a matter of responding to their own target users and “speaking their language”. What other strong and weak points of these two popular content management systemshave you “dug up” yourself ? What other similarities and major differences? We're looking forward to reading about them in the comments below!
Adrian Ababei / Dec 13'2016
Drupal's ready to turn into your best ally in your endeavours to constantly comply with Google's ever-changing “rules”! With mobile-friendliness being the ultimate goal and the main words on the lips of all marketers and web developers these days, it would be quite “reckless” to ignore all the efforts that the Drupal community has put into developing this module: Drupal AMP (Accelerated Mobile Pages). Just think about it: as a marketer speeding up your website's load time on mobile means happy users (boosting UX) and therefore, “overwhelming” organic traffic for you as a content editor, it instantly eases your whole workflow: you're given the easy-to-use toolkit for making your content mobile-friendly in no time as a web designer, it lifts a great deal of the “pulling off the best solution for crafting responsive design” weight off your shoulders In short: it's “Optimize for mobile or die trying!" Not really an exaggeration if we think that you only have less than 5 seconds to catch your users' attention and to get them hooked on your website. 5 golden seconds when, if your site loads all its awesome content at a really slow speed or makes content look weird on mobile devices, you can as well “bid farewell” to your users. They'll be off to greener pastures in no time: to websites ideally optimized for the web, that doesn't waste their way too valuable time. What Web Pages Does It Target? That's right, you should know before installing the Drupal AMP module that it doesn't address your whole website. It targets blog posts and informational, news article-based pages on your website! So, it's not geared towards e-commerce websites! How Does It Work? If you're still undecided, facing the challenge of picking between Drupal AMP module and other solutions available out there for helping your site gain speed on mobile devices, consider this: the Drupal AMP module is an open-source project! So, if you're a future-oriented type of developer/marketer, you know what this means: it will constantly get tested and improved! But how does it work precisely? Once you integrate it into your website, it creates a new view mode for the targeted content type.Then, you get to choose the AMP field formatters that will handle your target content's conversion for the mobile (formatters for video, text or images). Next, it's the PHP library that “comes into the picture”, processing the entered HTML and doing its best to come up with the proper AMP HTML equivalents. It practically gets to “work its magic” on any type of content that you want to optimize for the web. Let's dig into the AMP Theme and the AMP PHP Library! OK, now walk us through short “descriptions” of each one of the AMP module's 2 main components: AMP Theme: familiar with the AMP HTML (a subset of HTML) and its standard? The one aimed at encouraging beautifully looking, quickly loading content on mobile? Well, then you should know that what the AMP Theme does is actually producing the markup that this standard requires for websites venturing in the mobile world. Moreover (for it's still a Drupal theme that we're talking about, so it's got “flexibility” written all over it), it enables content managers to come up with custom-made AMP pages. They gain total control over how these pages on mobile will actually display their content! AMP PHP Library: it handles the final corrections and repairs. Whenever the entered HTML doesn't comply with the AMP HTML standard, it's the PHP library that makes the right images, Youtube HTML, Tweets and Instagram conversions and creates the issues reports. Take it as a “quality assurance” tool! In a nutshell: with Drupal 8 you can now respond to the challenge of the “developing for the mobile landscape” trend: quickly displaying AMP HTML pages on your website! How Do You Install Drupal AMP? Familiar with Composer Manager? For it's this module that will help you a great deal installing and therefore, boosting your website with all the “mobile optimization features” that AMP comes packed with! So, here are first steps to take: first, a composer.json file (in the Drupal AMP module) confirms the dependency on the AMP PHP library (which features its own dependencies) other modules could state the same library dependencies last, the Composer Manager module gathers all the info in the composer.json files of the modules (all those installed on your website) and puts them all together, thus avoiding the risk of ending up with several modules installing the same dependencies. Now walk us through the installation process: Keep in mind: We'll be enabling the Composer Manager module before we go on and install the Drupal AMP one! enter this command (in your Drupal's website directory): drush dl amp, amptheme, composer_manager and get your AMP theme, AMP module and Composer Manager downloaded. enable the first items needed for your installation: drush en composer_manager, amptheme, ampsubtheme_example. It's at this step that we're enabling the “ExAMPle subtheme". Take a look at its code, for it will reveal to you how you can, later on. customize your AMP pages. use Drush for enabling your AMP module: drush en amp Next, you'll be notified about dependencies being downloaded. There you have them all enabled and ready to be used: the AMP theme, the AMP module, the AMP PHP library and the example subtheme, too. Configure Your Site For The Drupal AMP Module Go to /admin/config/content/amp, the AMP module's configuration page. There, pick the content types that you'd like this module to come up with AMP equivalents for! Bravo! You're now closer than ever to show off your optimized website which loads its high-quality content faster than ever on mobile!
Adrian Ababei / Dec 01'2016
If you really want to evolve from a web developer skillful enough to put together a functional “puzzle” out of Drupal's core modules, to one custom-making his new modules, then you need to take a close look at the whole process behind this apparently simple sequence: “you hit an URL, then (as if by magic) the required page instantly gets loaded”. So, ready to take a sneak peek “behind the curtains”? If yes, then allow us to be your guide! 1. Drupal Separates The Internal Path from the Domain Name Once the server gets the message, once the URL is sent, Drupal focuses on the internal path and on it only. Therefore, it just “cuts it off” from the URL. 2. Then Drupal Calls Index.php Take the index.php as some sort of a “control tower” (you can find it in the root directory of the Drupal install), the one that processes all the incoming requests. Now, let's have a closer look! Index.php is made of 4 lines, each one of them performing a certain function: define('DRUPAL_ROOT', getcwd(): the very first line that runs once Drupal gets a page request require_once DRUPAL_ROOT . '/includes/bootstrap.inc': its role is that of loading bootstrap.inc in the includes/subdirectory.bootstrap.inc drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL): it loads pretty much everything: the modules and functions, the needed data into the memory... menu_execute_active_handler(): as the name says it, it's the one actually handling the page request, delivering the final web page to the end user 3. Now Drupal Goes Through the Bootstrap Process This is where the “major loading” happens: it is now that Drupal loads the libraries, initializes the database, sets the right sessions... The bootstrap process a self-start one, requiring no input, no intervention from you, the website's “creator”, and yet... you can't possibly not know what happens during this whole process running on its own! How about going rapidly through all the 8 phases of this highly complex bootstrapping process? 1. DRUPAL_BOOTSTRAP_CONFIGURATION: Drupal calls upon it wherever it encounters php errors or exceptions. If so, then an error handling code is prepared, settings.php gets loaded, configuration gets initialized... 2. DRUPAL_BOOTSTRAP_PAGE_CACHE: it checks whether the IP is blocked or not, whether the cache is enabled or not in order to serve the page from the cache 3. DRUPAL_BOOTSTRAP_DATABASE: it loads the database and checks whether any $databases array has been defined. If no, then it redirects to install.php 4. DRUPAL_BOOTSTRAP_VARIABLES: it loads the variables from the database variables table, then it overwrites the ones defined in settings.php, while loading all the other modules needed during this process 5. DRUPAL_BOOTSTRAP_SESSION: it initializes the session handlers. There are several custom session handlers in Drupal: _drupal_session_open() and_drupal_session_close(): to open and close a connection _drupal_session_read(): gets the session from the sessions table _drupal_session_write(): checks whether the session has been updated and writes a new one to the databse _drupal_session_destroy(): it deletes cookies and cleans up a specific session _drupal_session_garbage_collection(): it deletes the outdated sessions 6. DRUPAL_BOOTSTRAP_PAGE_HEADER: it practically sets up the HTTP header 7. DRUPAL_BOOTSTRAP_LANGUAGE: called upon only for multilingual websites, it initializes the right language for the future web page 8. DRUPAL_BOOTSTRAP_FULL: the very final step, where all the modules are enabled and hook_init() is invoked 4. Drupal's Menu System Steps In From all of Drupal's modules, it's the menu system that “guides” the internal path to a callback function. PATH... MODULE... MENU SYSTEM... CALLBACK FUNCTION... LOAD CONTENT 5. Finally, It's the Theme System That Styles the Requested Page Being more than just a theme (since it's a mix of theme functions and templates), the theme system is the one “dictating” the content/ the web page's final look. CONTENT... THEME SYSTEM (CSS, HTML, JS etc.)... BROWSER Of course that each process of this whole page request handling mechanism in Drupal requires a lot more in-depth knowledge, but this is pretty much the overall mental scheme that each developer should know for: 1. boosting his self-confidence with powerful knowledge 2. being able to come up with his own future custom modules
Adrian Ababei / Nov 11'2016
All you command-line addicts (and skeptics, too), mouse haters and... spare time-craving developers, crafting your Drupal websites, gather around! It's time you all learned about this "Swiss army knife"-like tool which will make your work life so much simpler, far more refined and... more rewarding from now on: DRUSH! What is DRUSH? There are plenty of related definitions out there, but we like these 2 ones best: "Drush is a command-line shell for Drupal, and it enables you to perform many administrative and website maintenance tasks from the command line instead of having to use the Drupal administrative interface" "Drush is an important tool for Drupal developers looking to speed up and simplify their workflows" We envision DRUSH as a "way too valuable" tool to be overlooked if you're aiming at upgrading the old-schoolish, time-consuming (and therefore, less productive) way of managing your work to a: quicker simpler more refined one … as a DRUPAL web developer/administrator Discover the most common DRUSH commands Till you get to the point of actually setting up your own custom DRUSH commands, let us point out to you the main features that DRUSH can (easily) tempt you with: Clear Cache (cc): it allows you to either choose a specific cache (drush cc) or to quickly clear them all (drush cc all) Install Drupal: that's right, installing Drupal from scratch is quicker and easier (with just two basic commands) than ever. Updatedb (updb): why should you "invest" valuable time in running updates using update.php, when you can... "claim" your spare time by simply running any available database updates using this magic formula: drush updatedb? Feature-update (fu): do a comparison yourself and see how much time it would take you to update a feature in your Drupal website (after you've applied a certain change stored in that particular feature) the old-schoolish way (e.g. exporting the feature manually in the admin interface) compared to... typing this time-saving shortcut here: drush feature-update feature_name Feature-revert (fr): you'll get even more eager to experiment, to... play with the features available in Drupal when you know that reverting your features to their code versions is as quick and simple as typing drush-feature-revert feature_name Enable a module: type drush en name_of_module -y or drush -y en name_of_module Pm-update (up): drush pm-update allows you to update Drupal themes, modules and core while you're saving priceless free time for your other... non-website development-related activities Database tasks (sql-dump, sql-cli): save a considerable amount of time and back up your database (while giving your... mouse a rest), by simply using this shortcut in your command-line: sql-dump, then simply restore it using this magic combo: sql-cli. .... and the list will get longer and longer as you get more and more eager to discover and to learn other productivity-boosting and time-saving shortcuts in DRUSH. You're more likely to become a DRUSH “groupie” if: 1. You hate... mice Could you deny that mastering command-line skills is already a far more... elegant way of working, as a developer, compared to “exploiting” your mouse for opening and closing lots and lots pages in Drupal's administrative interface? Just imagine this highly suggestive scenario here: You need to install and reinstall (and eventually administer) several Drupal websites. Therefore, you'll get (mentally) ready for the tedious and boringly repetitive steps to come: Go to drupal.org. Get Started Download Drupal Download the tar.gz.file Install your new Drupal Going back to drupal.org for installing your modules (unzip a bunch of files) etc. A whole lot of clicking and wandering about Drupal's interface, isn't it? Now consider work scenario no. 2: type cd /var/ww... run drush dl drupal-7.0... cd /var/www/drupal-7.0 and install your new Drupal website: drush site-install –db-url=mysql://root:secret@localhost/drupal... type "y" at the following prompt … and voila: with a few clicks (relying exclusivity on your good old keyword), you've had your new Drupal site installed and you're ready to... install your second and your third one, too... 2. You work in a large environment where relying on FTP or carrying out tasks administratively is not an option 3. You want to sharpen your command-line skills 4. You're... open to new tools, constantly testing new technologies aimed at boosting your (and your team's) productivity 5. You just hate trading priceless personal life time for... more efficiency in your professional life Is installing DRUSH a dread? Actually, you can benefit from its time-saving features right after you've walked through 7 easy setting up steps: Pick the directory to place your drush in: cd /usr/local/share Get drush: [sudo] wget https://goo.gl/GwdpKe it: tar xvf drush-6.x-3.3.tar-gz Remove the package: rm drush-6.x-3.3.tar.gz Change permissions: chmod u+x drush Create a link: In -s /usr/local/share/drush/drush /usr/local/bin/drush Run drush: [sudo] drush Still, probably one of the best Drush features is that... it's constantly evolving, constantly improving, so... sky is the limit when it comes to quickly installing/developing and efficiently managing all your Drupal websites (for this is, in fact, the true beauty of Drush: it allows you to manage several sites at once, helping you turn yourself into an... admin guru). Give it a try, cure your command-line related “phobia” (if any) and unleash your full potential as a Drupal developer!
Adrian Ababei / Nov 07'2016