LATEST FROM OUR BLOG

Take your daily dose of (only) relevant news, useful tips and tricks and valuable how to's on using the latest web technologies shaping the digital landscape. We're here to do all the necessary information sifting for you, so you don't have to, to provide you with content that will help you anticipate the emerging trends about to influence the web.

How The Drupal CDN Module Can Speed Up Your Site
It's speed that excites them all, with no exception! While some of the users prefer a minimalist web design, others might go for a maximalist design instead. Some have a weakness for content infused with storytelling, while others prefer just simple, “raw” data... And still: online users ALL have a thing for high page loading speed. And the Drupal CDN module makes such a powerful tool for you to supercharge your site within the name of top speed!   “Why should I even integrate a CDN when I can as well continue to use web hosting? What difference would it make?”   2 more than legitimate questions that we'll try to answer as we'll do our best to point out to you how precisely a CDN can boost your Drupal site's performance and why you should add it to your whole “arsenal” of speed-boosting tactics (moving CSS and JavaScript in the footer, perfecting the caching on your site, compressing your heavy load of images, etc.). So, let's dig in, shall we?   How Precisely Can a CDN Guarantee You a Lightning Fast Website? A short version of the answer to your valid dilemma would be: “compared to a shared web hosting, a CDN is built with speed in mind; it's equipped with the capacity to withstand huge fluxes of visitors”. In other words: while shared hosting is simply geared towards delivering you a stable environment for your website, a CDN's infrastructure setup is developed precisely to ensure high page loading speed, irrespective of the influxes of traffic on your site. And this is no news that we're sharing with you here: just consider with how many other websites your own Drupal site is sharing its hosting sever with and... you do the math! Try to imagine how many times its performance would get boosted if it had a server all by itself. Dedicated exclusively to its own needs for speed and to answering its particular traffic challenges.   1. It Will Lighten That Heavy Load of Plugins On Your Site Plugins! Who can resist them?  Once installed on your Drupal site, they just unleash their “encapsulated” functionalities. And each one of them comes with its own too-cool-to-resist-to functionality! Piling them up, adding more and more, eager to impress your visitors, does have the “taste” of a “guilty pleasure” doesn't it? “Guilty” because with each new plugin, with each new load of JavaScript and CSS files that you add on, your Drupal site gets even more bogged down. And how can a CDN, via a dedicated tool such as the Drupal CDN module, help you out here? For it certainly cannot point out to you which plugins to keep and which ones to disable! Well, what it CAN do, instead, is compress and minify their scrips! Therefore your site's heavy load of content will get considerably lighter and its performance dramatically improved!   2. It Will Speed Up Content Delivery Anywhere on The Globe Basically a CDN infrastructure's built to serve content worldwide, irrespective of the website's own location on the globe. In short: users located far away from your site's location, shouldn't be disadvantaged, in any way, in terms of content delivery speed. And how does a CDN manage to deliver content, at high speed, to an international audience? It relies on its entire “ecosystem” of proxy servers, located in various locations worldwide. It's them that catch and then replicates content (images, CSS, JavaScript files) precisely from those locations which are geographically closest to your users. Wrapping up: if your Drupal site's located in Asia and a visitor from Europe makes a content request, that particular user will get its content delivered as quickly as a visitor from Asia would. Thanks to that network of servers, placed all over the globe, that your CDN will leverage.   The Drupal CDN Module: A Handy Tool for Integrating CDN on Your Website Now, where do you add that you even have a dedicated module for it?  Once you've convinced yourself of the CDN's key advantages and once it's more than clear to you how its integration can benefit your own website, just go ahead and... enable it! Practically what this module will do is change your files' URLs so that they should no longer load from your current shared web server, but from your CDN instead!   A Step-by-Step Guide to Installing and Configuring Your Drupal CDN Module Now let's point out to you all the steps you need to take, along with some useful tips and tricks, so that you can use your CDN at its full potential on your website:   You install and enable your Drupal CDN module on your website   You navigate to its configuration page    See the “General Settings” tab? It's there that you can set the module's status (enabled, disabled or on testing mode)   Next, click on the “Details” tab and wisely scan through the whole set of options that you have there: pick “Origin Pull”, select the “CDN mapping” setting, and so on. It's the latter that enables you to specify which files on your website should get loaded via your CDN from now on   Select the “Far Future Expiration” setting and this way you will ensure that files delivered via CDN will “expire” in the future to come (enhanced cacheability on your client's side). Also, since these two settings go hand in hand: keep in mind to enable your “Aggregate and Compress CSS files” option in your Performance settings   Select “CDN supports HTTPS” (you'll find this setting in your “Other” tab) if it's the case, meaning if your Drupal website does use HTTPS   And that's it! Your site's all set for reaching... high page loading speed now! ... Read more
Adrian Ababei / Jun 29'2017
Speed It Up: Use the Image Lazyloader Module on Your Drupal Site!
Lazy loading (images, in this case) leads to energy preserving, which leads to a significantly improved site performance! Pretty ironic, isn't it? Well, this is precisely the logic on which the Image Lazyloader module in Drupal has been developed! Saving your website's energy goes hand in hand with increasing its page loading times. It goes hand in hand with “sparing” HTTP round-trips and taking some heavy load off the browser's “shoulders”, which otherwise would be “pressured” to relentlessly load thousands of images, even before they would be visible in his/her window browser. Basically what this module does is both unexpectedly simple and impressively smart : it loads images on your Drupal site only when they're in visitors' viewports.  In other words: when there's no one opening them up in his/her browser, why bother loading an entire “cargo” of images? Why put an unnecessary pressure onto your site and the browser? And now let us detail to you this “energy-saving” tool that Drupal puts at your disposal and which we encourage you to leverage in the name of a... faster loading website:   The Image Lazyloader Module: How Does It Work Exactly? What Makes it a Speed Booster? The whole “mechanism” behind this Drupal module is surprisingly simple, if we come to think of it: it loads images (lots and lots of them) only when they're displayed in a site visitor's browser window. Not before! And this is a “dream come true” especially for web designers, who're constantly dealing with the challenge of optimizing heavy loads of images. As you can surely guess it yourself, the module's an incredibly useful tool precisely for those Drupal website carrying heavy “cargos” of images. For no matter how many they might, how heavy the load is, the Image Lazyloader module's capable to... lazy load them all and therefore to keep your site's performance at optimum parameters.   How Do You Use It? How Do You “Exploit” Its Full Potential on Your Drupal Site? Now allow us to give you a few tips and tricks or, better said, a step-by-step guide on how to fully leverage this module on your Drupal site:   Step 1: you download (and install, obviously) the module itself along with the Libraries module in the sites/all/modules/contrib; the latter is, in fact, a dependency for 2.x branch  Step 2: next you download your echo library and place it in sites/all/libraries Step 3: it's time to enable your Image Lazyloader module now Step 4: don't forget to clear your cache   Essentially all these preliminary setups will actually grant you the much-needed freedom to quickly enable and to disable your Lazyloading module any time you want to. Which turns it into such a powerful convenience when you just need to run some tests on your website, for instance. And speaking of “empowerment”, there's an entire array of options to choose from and setups to enable, depending on your site's needs and on your purposes:   you have the loader icon letting you know if the images are not (yet) fully loaded   you get to set the distance from the viewable screen part and to go for a placeholder image of your choice   you're even enabled to select those particular web pages on your Drupal site where there's no need for an image lazy loading process to be performed   And voila! These are the answers to your “why” and “how" to use the Image Lazyloader module! Questions deriving, of course, from the main one: “how can I boost my Drupal site's performance?” Feel free to test its image optimization power and to determine how much faster your web pages will then load.  ... Read more
Adrian Ababei / Jun 27'2017
5 Modules for Building Popups in Drupal
You know what they say: “there's always a module in Drupal for... pretty much any type of functionality you might need!”. And pop-up messages are no exception! You have a whole “arsenal” of modules for building popups in Drupal, each one of them “specialized” in providing you with a certain type of “refinement” or  set of particularities that you might need to leverage on your site. You might want to trigger a pop-up taking the form of:   an announcement displayed in an overlay   a redirect pop up message   or maybe you simply need a pop-up opening up a form   There's a dedicated module to suit any type of site-specific expectation you might have. And now, without further ado, let us “unfold” before you eyes the list of 5 useful modules for building popups in Drupal:   Popup It's not without premeditation that we've put this particular module on top of our list. In terms of pop-up building “tools” in Drupal the Popup module can easily get perceived as an entire “toolkit” at your disposal! Therefore, it's much more than just a stand-alone module, but rather a “cluster” of sub-modules, each one of them adding its own functionality to the whole suite.  As a whole, it helps you (your team of Drupal site builders) trigger menus, nodes, blocks, forms, php-generated content and views as pop-ups. Taken individually, these sub-modules are:   Popup descriptions: turns item descriptions into popups   Popup filter: puts an input filter at your disposal, one turning popup tags into popups in filterable content   Popup: delivers a couple of basic popup styles and the basic popup framework, as well   Popup block: the one “responsible” for the block configuration options (the ones that make every turning of a block into a popup possible)    Popup menu: which, as you surely can already guess, provides the needed blocks of popup menus corresponding to each menu within your system    Popup UI: “dealing with” all the display formats, integrating node-reference fields and handling cck, as well    Take the Popup module as some sort of “Swiss army knife” standing out from the group of modules for building popups in Drupal. Just name a pop up-related functionality that you need to leverage on your site and this suite of sub-modules is ready to provide you with!      Popup Message It's the answer to your “How can I display a pop-up messages, one per each browser session, to my Drupal site visitors?”. And here's how you configure it so you can “harness” its functionality:   you navigate to admin/settings/popup_message where you define your message's body and title   next you navigate to admin/user/permissions in order to set your permissions    Note: if it's a Drupal 8-powered site that you own/administer, then you should know that the team of developers behind this module is working hard on its migration to Drupal 8 as we speak. In short: is patience one of your virtues?   Pop-Up Question Redirect  Here's another module that shouldn't miss from your “toolbox” when you need to display a pop-up window to your Drupal site's visitors! You get to leverage its functionality for:   informing them about a certain promotion running on your website   getting them to complete a survey   putting a certain (new) page or section on your site into the spotlight!   The moment the user clicks on the “Yes” button included in your pop-up window, he/she will get automatically redirected to that specific page that you're trying to draw his/her attention to! And speaking of them, your visitors, here are the 3 user-oriented functionalities that this module provides:   The “Yes” function, which guides your visitors to the page that your pop-up is targeting   The “No, remind me later” function, which will trigger the pop-up window, once again, after a certain amount of time   The “No, don't show this again” function, which blocks the pop-up   As for all the needed configuration “backstage hocus pocus” that you need to make in order to fully “exploit” this module's functionality, it's actually just a 3-step procedure:   Just define your popup title and message   A textfield where you need to enter a redirect link   Set the time for the “remind me later” functionality   Note: you even get “spoiled” with a more-than-useful “extra” functionality, that of being able to exclude certain user ip's; this way you decide which ones of your visitors shouldn't be “bugged” with your pop-up message.   Popup Forms, One of the Key Modules for Building Popups in Drupal  First things first: you should know that this module doesn't “trigger” any pop-ups itself, instead what it DOES do is provide API for themes or/and modules! So, it displays any given type of Drupal form as a popup, via an jQuery UI dialog. Compared to other “kindred“ modules, the Popup Forms module does not display any type of popping-up content except FORMS. This being said, let's see which are the key features that you'll want to use:   It can easily integrate multi-step forms   It enables you to set up various parameters to your form callback   It can pop up https forms from non-secure pages, too   As aforementioned: it uses a jQurery UI dialog for displaying your pop-up forms   Once your forms are successfully submitted, you gain unlimited access to the $form_state from Javascript   Note: you'll need the jquery.postmessage plugin for “harnessing” this module's power on your Drupal site!   Pop-Up Announcement It's the handy tool to rely on whenever you have an announcement to make; whenever you need to establish this type of interaction with your website visitors. Basically it enables you to communicate with them via pop-up announcements displayed in overlays. And it's you who'll determine on which ones of their visits on your site these pop-ups should appear (on their first visits, their third, their fifth; it's you who'll define this parameter). Moreover, you even get to determine which is that specific page on your site that your announcement should pop-up on, as well! In short: when you say Pop-Up Announcement you say “utter flexibility”! Basically you get to customize your pop-up interaction with your users the way you like it! And now, just a quick overview of its most “tempting” functionalities:   The pop-up announcement shows up in an overlay   You'll get your own admin page, your own “control tower” where you get to manage all your announcements   Your announcement pop-ups can be written in html, too   As already mentioned here: you get to define on which ones of your users' visits your announcements should get triggered; and it's on your dedicated configure page that you get to make all these key set ups.   And speaking of functionalities and parameters that you're empowered to define yourself: you even get to set up a specific visibility for each one of your announcement messages; for instance you can have different degrees of visibility on different sections of your site   Note: OK, so you're granted tones of flexibility and power of customization, but there still are some limits, as well. 2 actually: you can't set more than one announcement pop up per page or more than one pop-up per user visit! As for the configuration part, just navigate to admin/config/popup_announcement/list and make all the right selections and set ups for tailoring your announcement pop-ups to your site's needs! It looks like our list of useful modules for building popups in Drupal ends here! Do you happen to have other “favorites” that haven't made it to our list? Which one of the 5 modules mentioned here do you find most effective, most feature-rich and helpful for your own team's pop-up building “tasks”? ... Read more
Adrian Ababei / Jun 23'2017
How to Create Role-Specific User Registration Forms in Drupal
More functionality, more possibilities, right? Yet it can also lead to more complexities and more challenges that you need to face as you start harnessing it (the enhanced functionality!). For instance: Drupal's entire ecosystem of user roles and, implicitly, of permissions! On one hand it streamlines your efforts to put together an organizational infrastructure and a solid security policy within your enterprise, on the other hand: what do you do when you need to create role-specific user registration forms?  Well, then you start your research work and dig into Drupal's heavy load of modules! Or you aim for efficiency instead! You “reap” the benefits of our own experience as a digital agency in Toronto and simply run through our here below selection of 3 modules that are up for the job. And here are these Drupal modules which, once combined into a powerful trio, will help you solve your “how to build a custom user registration page” puzzle:   1. Build Your Role-Specific User Registration Forms with Multiple Registration It's not for no reason that we've put this Drupal module on top of our list of “tools” that will help you build your role-specific user registration forms. This is the module that will be playing the leading role in your little “orchestra” of 3 modules fit for this “job”. Now let's find out what it does precisely:   it enables you to create your custom user registration forms, adapted to the particularities of each one of the user roles currently existing on your Drupal site    it allows you to add specific fields, fields that you don't want to enable for the “standard” or “general” registration forms, as well    moreover, its functionality extends beyond the registration form: it empowers you to add fields to your “target” users' (having “special” user roles) edit pages, too; fields that you don't want to get displayed on their registration pages, as well. You can do that, too, once you start running this module at its full potential.   How to install it:   you install it (obviously) and once the installation's compete, you access your Roles page (admin/people/permissions/roles)   once on your Roles page, you'll see that you're enabled to add a custom user registration form to each one of the user roles listed there; in other words: to create your role-specific user registration pages   for “assigning” your registration pages to your “target” user roles, simply enter the pages' paths there   Note: needless to mention that before you rush in to add your custom registration forms to specific user roles... you should first of all put together the hierarchy of user roles on your Drupal site. You should have your roles created BEFORE you start “attaching” them custom registration pages! If everything went well, it's here that you should be able to see all your role-specific user registration forms: admin/config/people/multiple_registration! Last but definitely not least: access the needed field settings form and “assign” it to your recently created custom registration page. 2. Registration Role With Approval  You most definitely need to trigger this module's functionality if you (and we're pretty sure you do) need a “tool” helping you to determine which user roles needs your approval, as your Drupal site's admin. How does it work precisely? It's pretty straightforward: the user gets all the available user roles listed on his own registration form and gets to select the role he/she'd like to “play” on your site.  If the selected role is listed as “needs admin's approval”, his account gets blocked until you, the admin, has checked his request and assigned him that specific user role.  Maybe, let's say, you don't want any user, having any type of user role on your website, to instantly gain access to all information stored on your website. Therefore, being able to approve, beforehand, the requests for some of the “critical” roles, is a huge “empowerment”. A much needed tool to help you organize your whole “infrastructure” of user roles on your Drupal site, don't you think? How to install it:   Start by copying the module folder to your Sites/All/Modules directory   Next, enable it at Admin/Build/Modules   Then navigate to Site Configuration -> Registration Role With Approval   There you get to determine which user roles will get displayed on the users' registration forms and also (most importantly) you get to specify which ones of them need admin's approval before users can use them   Save   Once you log out and navigate to user/register, if your module installation process has run smoothly you should be able to see your Role checkbox list    So, it looks like you've just added one more useful Drupal module to your list of “3 tools” that will help you build your role-specific user registration forms. 3. Profile2 Registration Path Why would you need a third module, as well, for the job? Well, because you don't want the same user registration form to be presented to two different user profile types from, from two different audiences (let's say that you have the “doctors” and “the visitors/patients” audiences, if it's a Drupal-powered health portal that you own). The solution to this “problem” is the Profile2 Registration Path module itself, which enables you to set unique registration paths for each Profile2 profile type. And it's these unique paths that make sure that the users registering via them will get precisely the fields corresponding to their own profile types. How to install it:   Enable your module   Navigate to Admin/Structure/Profiles for editing a profile type   Once there, check the “Enable unique registration path” option   Type an URL path for this profile type   Save and log out and next check your [your-path]/register   Key Features:   You get automatically generated registration blocks for each profile type on your Drupal site   Custom confirmation message once the user registration has been successfully completed    You're enabled to either: build a distinct registration environment for each profile, with forgot password pages and separate login   simply add a new registration tab to the already existing user path    And there you have it: your “emergency kit” of Drupal modules to use when you need to create some role-specific user registration forms! Not only that you'll get to build the needed custom forms, themselves, but to add all kinds of “refinements”, as well, such as admin approval functionality and unique paths. You have "problems", we have solutions! ... Read more
Adrian Ababei / May 19'2017
Decoupled Drupal: What Does This Mean for Your Own Site?
Should you decouple? When? How? What are the risks that a decoupled Drupal site involve? What are the undeniable, hard-to-resist-to advantages of “teaming up” your Drupal site/mobile/native app with a fast, cool JavaScript framework and of using Drupal as a back-end content repository “only”? And, most importantly: is a “headless” build suitable for your own web project?  Our web development team here, in Toronto, comes with its very first piece of advice for you now, when you're facing all these crucial questions: always use the context of your very own web project to filter all the “trends” seeming to dominate the digital landscape at some point or another! Before deciding to go for a decoupled implementation, make sure that all the members of the team involved (Drupal developers, project managers, content editors) clearly understand what a decoupled Drupal architecture is. And whether the technical risk involved is worth the effort. Whether this approach is exactly what your web project needs. Now, let us help you find the answer to your legitimate decoupling-related questions: 1. “But What Is a Decoupled Drupal Architecture, After All?” To put it simply: decoupling Drupal means separating the back-end of your website/app from its front-end (either partially or totally). Now if we are to detail a bit, we would have to add that:   in a decoupled Drupal context we would have Drupal playing its role in the back-end, that of storing and sending forward pure data   the front-end (aka, the “responsible” of everything related to the user experience) role will be played by a JavaScript framework (e.g. Backbone.js, Angular.js)   the presentation layer can range from Alexa to Raspberry PI, to pretty much anything that can consume the data sent over by the Drupal-powered back-end   Drupal's “role” can easily resume to what the content producers...produce, while the coupled front-end framework will be “responsible” for what the users see on your site/app. Responsible for creating a faster and richer user experience. In other words: Drupal will be handling the editorial, content creation and administrative tasks, while the coupled framework will be handling the front-end, communicating with the Drupal back-end via API. The obvious “points of attraction” of such an API-only approach are the unlimited freedom and flexibility granted to front-end developers.  Unchained from the “need” to know how to write or to decipher Drupal-specific code each time they need to improve the look and feel of a website, front-end developers get to choose from different approaches of building a website. They're free from the monolithic Drupal architecture with the presentation layer backed in through the Drupal theme itself. Free from the tightly interconnected back-end and front end. 2. “Why Should I Decouple? What's In It for My Own Site/App?” Now this is a more than legitimate question that you should be asking yourself once you've fully understood what a decoupled Drupal build is. Here are some key advantages if you decide to go for a “headless” Drupal site/app:   it allows you to create some truly interactive user experiences (it's the browser who'll take over the user experience responsibility and so all the back-and-forth interaction will be a real-time one; a key aspect to consider when developing in-browser apps)   it grants your team of front-end developers almost unlimited creative power; no more restrictions coming from the back-end + total freedom for front-end developers to use their native tools and to craft the user experience while they still get to harness Drupal's power via APIs   it enables you, as a decoupled Drupal site owner, to future-proof your website; once you decide to redesign it, you can do that without having to re-implement your whole  back-end, too. And vice versa. Flexibility and convenience!   it enables you, the site owner, to hire non-Drupal specialists, too, since front-end developers won't need to be Drupal experts, as well. You will no longer be limited to collaborating exclusively with developers having a deep understanding on the Drupal back-end architecture, of the Drual-specific code. Even more flexibility for you! 3. “What Type Web Projects Would Benefit Most from Decoupling Drupal?” And this might just be the best headless Drupal-related question you've asked yourself so far! It's definitely a matter of: “Is this solution a perfect fit for my own site/app, too?” See if you can identify your own type of Drupal web project in the examples here below and you'll have the answer to your question. So, decoupled Drupal is best used for:   Native mobile apps, especially now, that you're “spoiled” with RESTful services in Drupal 8 core, creating clean APIs is easier than ever. Your mobile apps users won't even need to interact directly with your Drupal site when accessing your native app. Your website's front-end will be using the same APIs as your native mobile app! Also, you get to build new and new mobile apps without the need to access the data that your back-end stores.    Web projects involving front-end developers with no Drupal expertise   Web projects that include multiple development teams   Web projects with front-end teams depending on unlimited freedom for structuring and displaying the content   Web projects where the presentation layer combines data coming from several API sources: social media, CMSs, video management systems   Web projects with multiple content consumers that are live simultaneously (e.g. a Drupal site plus several mobile apps, as well) 4. “Which Are The Main Drawbacks of a Decoupled Drupal Site?” “So, do you suggest that I should just go... headless, that Drupal 8's new them layer is just something I can easily do without?”  This might just be the question bumping into your head right now, isn't it?  Well, it's true that going headless comes with its drawbacks. You risk to throw away some of Drupal 8s' “goodies”:   permissions a well-enhanced, seamless admin experience in Drupal 8 user authentication   The best approach is the “moderate decoupling” or, if you prefer, the “progressively decoupled Drupal”. This means that instead of going reckless and losing all of Drupal 8's out-of-the box flexibility and power as you go for a fully decoupled Drupal site, you should:   Still leverage Drupal's theme layer's power, using it to render most of a given web page   Decouple only SOME of the web page's components, mostly those that require a faster and richer user experience    In a nutshell: moderation is key! No need to waste time, energy and a good “load” of incredibly powerful Drupal elements and... reinvent the wheel! And now, to support our pledge for the progressive approach to decoupling, let us back it up with one single example: NBA.com! This site's using Angular 2 for rendering only certain parts of its web pages, while their static components are rendered by Drupal! And speaking of this site using the “hybrid” approach, here's a Drupalcon Baltimore 2017 session filled with all the details and “enlightening” infos that you might find useful:   https://goo.gl/4jEhhu In Conclusion: It's not for no reason that decoupled Drupal makes such a tempting type of CMS architecture, but you should first of all:   not take API-fist Drupal 8 for an API- only CMS   give it a very deep thought, lest you should decouple too much of your site and lose some of the already-built, powerful Drupal tools.          ... Read more
Adrian Ababei / May 18'2017
Develop Your Website With a Leading Drupal Agency In Toronto
Despite it being a relatively new CSM system, Drupal has gained on and overtook major players in the field, such as Wordpress and Joomla. It has a number of advantages the veteran platforms just can't match. Until and unless they gain on, your business website is certainly better off developed by a Toronto Drupal agency. Especially now that Drupal 8 has come out and gave us all the amazing functionality it has to offer. But let’s be more specific and give our readers the four main reasons Drupal is your best choice and why you should consider assigning your web project to a Drupal 8 agency. Not from a Drupal developer’s perspective, but from the point of view of a business person aiming at a powerful yet easy to use system that will get your business firmly planted on the digital map. We give you the four reasons you should choose a Toronto Drupal agency. Functional Benefits Drupal is more complex than Wordpress but it’s exactly this complexity which packs all the additional functionality and power it has to offer. It has more features, more content types, more views and metrics. Developing your SEO and content strategy on Drupal gives you more options for fine control and greater reach. Greater Flexibility Unlike other CMS platforms, Drupal themes are considerably more varied. What’s more important, they are also considerably more customizable. There are many more free modules too. Yes, you will still need a Drupal company to handle and install them for you, but their variety and power definitely make it worthwhile. It’s also more robust and has better capabilities when it comes to eCommerce and handling huge amounts of content. Improved Usability While it has a learning curve somewhat steeper than other CMS platforms and requires more technical skills to learn, Drupal is amazingly easy to use once you know how to do it. It can produce sites that are more advanced, powerful and varied, in a streamlined workflow that Wordpress developers can only envy. And moreover, Drupal 8 is made easier for non-developers to work with, so once your Toronto Drupal agency completes the job, you can take over from there. Superior Security Security is a big factor for most businesses and Drupal is definitely displaying top performance in this area. There are government sites, including the official White House website that prefer Drupal for its enhanced security and monitoring features. While other CMS platforms are notoriously vulnerable to hacking, Drupal gives your business a safe space for confidential information and client transactions. Want to know more about Toronto Drupal web design? Let’s talk! ... Read more
Adrian Ababei / Apr 20'2017
Avoid These Common Pitfalls In Drupal Module Development
Just like anything and everything else, Drupal also has a learning curve. Until you had mastered the techniques, tools and options it offers, got familiar with the best Drupal themes and have a good sense of knowing what you’re doing - mistakes are going to happen. Which is the reason we’re publishing this article - to minimize those mistakes and help you get ahead of the game. So, without further ado, let’s get to work and cover the main pitfalls that await when creating Drupal modules. Too Code Heavy The main goal of a module is to simplify things. When a module is created, it will compete with tens of thousands of other modules that are already there and those that are coming out right now. Look for shortcuts to streamline and make your process more efficient. If it’s too long to read, it may be too long to write. Cumbersome Modules Keep it simple. One module that does one thing well is easy to understand and a pleasure to use. A module that tries to do too many things at once may be cumbersome, inefficient and frustrating to users. Moreover, producing 10 modules with one function each will take less time than coding one that does all 10 things all by itself. Workflow problem solved! Ignoring Drupal Core API Drupal module development best practices hinge on using the core API. It makes things easy, fast, comfortable. And yet, there are developers who somehow manage to avoid it. You should generate links using l(), static strings should be passed via t() and so on. It makes your code easy to maintain and consistent with Drupal’s internal logic. Make sure to always use it. Not Using Caches Caching policies should be your standard practice from the very first stages of the project. There are so many cache-related bugs which can be avoided this way, you’d be surprised how much easier it becomes once you start doing it. Neglecting Inter-Module Integration When you install Drupal modules, you want them not just to work independently, but together as well. You need to make your modules work with other entities, permissions, views and domains. This integration will result in a more cohesive website that doesn’t snag on itself when trying to do work that involves modules interaction. Want to know more about how to create modules in Drupal 8? Let’s talk! We’re here for you. ... Read more
Adrian Ababei / Apr 18'2017
Drupal 8 Ubercart Vs Drupal Commerce: Important Factors to Emphasize
With online sales being a huge and growing phenomenon, more and more entrepreneurs take their business online. The amount of e-commerce stores, platforms and services is growing as well. In this particular blog, we’d like to compare two options that are out there: Drupal 8 Ubercart vs Drupal Commerce.   Drupal 8 Ubercart vs Drupal Commerce There will be those who’d say that Drupal is a reboot of Ubercart, especially since the lead developer from Ubercart is the one who’d now gave us Drupal Commerce, a set of Drupal modules. While this has some truth to it, there’s more to consider here than a superficial comparison can provide. There are similarities, naturally, but like any reboot, there is a vast difference as well, with massive improvements and upgrades. Let's examine the two eCommerce platforms from several different perspectives.   1. Popularity Points While Ubercart is more popular at the moment, more and more businesses are migrating and getting a Drupal shop instead. Either way, at tens of thousands of users on each, we can say they are roughly equal in this respect.   2. Future-Proofing Both platforms look like they’re in for the long haul. Drupal 8 Ubercart has its base of loyal users and Drupal’s strong forward-momentum makes this a close competition. This is promising for both players of course, and reassuring for their users.   3. Customizable Features Both are very configurable platforms, but Drupal Commerce themes are often much more impressive. This is mainly, but not only, due to the fact that Drupal 8 comes with themes that are mobile-first, making shopping a breeze from any device. A great bonus.   4. Edge Cases Or, in other words, what’s missing and how bad is it when you hit that wall? There are things you can only do in Drupal shop configuration and not in Drupal 8 Ubercart. Especially when it comes to the Drupal 8 shopping cart - both in terms of design and functionality. Then again, there are things that Ubercart does well and Drupal is still working on. It will surely catch on soon enough, however, so we’re not worried.   5. Ease of Use In terms of basic use, Ubercart seems easier than Drupal Commerce. The ease is a fair price to pay however, for the power, integrations, and security that Drupal 8 offers and Ubercart can no longer match. Want to know more about Drupal eCommerce development and the best Drupal modules to power your online store with? We’re here, just give us a shout! Your Drupal shop and internet marketing success are one short click or call away. ... Read more
Adrian Ababei / Apr 16'2017
Future Looks Good: Upgrades in Drupal Made Easy
15 years! 15 years since Drupal's been turbocharging websites with cutting-edge features! 15 years during which the open source platform has been shaping mentalities and has been daring innovation-driven developers and organizations to embrace “change”! And, ironically, it's precisely its lead developers' openness to innovation that made it increasingly challenging for its end users to keep up with its major upgrades. It looks like Drupal's own innovative nature is the one “sabotaging“ it: turning the upgrading from one major Drupal version to the next into such a cumbersome, often discouraging process. Therefore: a new way of applying website upgrades in Drupal was greatly needed! And so, this need easily turned into a commitment for its founder and his team, who've been making progresses in setting up a way of synchronizing their “thirst” for innovation with Drupal users' efforts to assimilate the platform's upgrades. To implement them into their own web projects/websites. This is when the “continuous innovation” idea sparked and soon turned into a “movement” about to turn, now, into a whole working method to revolutionize the way we're upgrading our websites from one Drupal version to another. Let's dig into details: 1.  The "Continuous Innovation" Model The model is nothing new to you, we're sure about that, just that maybe you haven't yet put a name on it. It's been around since Drupal 8, in fact, and it's strongly related to the Drupal community's “commitment” to release a new minor upgrade, for the same version of Drupal, every 6 moths.  Just think of the improvements in terms of functionality between Drual 8.2 and Drupal 8.1, for instance. BigPipe, layouts, workflows have been all improvements in the platform's functionality which have been added gradually from one new upgrade to the other. This way you, as a Drupal developer/Drupal user can continuously upgrade your website with new sizable improvements. It gets a lot easier to incorporate all these minor upgrades in Drupal than if you had to wait a couple of years for all these minor upgrades to be released all at once, upon the launch of a new major Drupal version. “Continuous upgrade” is THAT solution to the challenge that Drupal developers used to face every few years, when they had to embark on a tedious, overly complex upgrading “adventure”.  2. Applying the New "Minor Upgrade" Model to Major Upgrades, too! It's the overall success of the continuous innovation model applied to minor upgrades that convinced Drupal's core developers to extend its benefits to the major upgrading process, as well. Such as upgrading from Drupal 8 to Drupal 9, for instance. What would this project imply?   a continuous release of new features (minor upgrades) for the open source platform, that developers will have to adopt and adapt to; yet: old systems and new systems will continue to cohabit   making regular backwards-compatible changes to Drupal 8 Implicitly, as new functionalities get added to Drupal 8, with each and every new minor upgrade's release, its load of deprecated code will get heavier and heavier. Up to one the point when this version will be replaced with Drupal 9. All this while the upgrading process will be an “organic”, less “traumatizing” one for Drupal developers and Drupal users. By the time Drupal 9 gets released, all Drupal 8 websites will have already incorporated its new features. In other words” Drupal 9 will be nothing but Drupal 8 minus its overload of code which will have already become deprecated. There will be no need for an overly complex migration process as we know it today!   3. “I'm a Drupal Developer: What Does The Continuous Innovation Model Mean For Me?” Glad you asked!  In order to gain full benefits from integrating this innovative upgrading model into your workflow, you need to start (if you haven't already) adopting the best practices:   regularly remove deprecated code and replace it with updated one   run updates to the latest APIs on a regular basis   By including these 2 key best practices into your web development routine you'll be actually ensuring that Drupal 9.0 will be compatible with your website from its very first day of release! 4. “I'm a Site Owner: What Does This Way of Applying Upgrades in Drupal Mean for Me?”  Well, as a site owner, the very best practice you could adopt (as you “prepare” your site for Drupal 9's release) is to migrate it to Drupal 8 if it still runs on Drupal 7. Thus, your team of Drupal developers will be able to apply all the Drupal 8 minor upgrades every few months, getting it ready for Drupal 9's release. 5. Any News About Drupal 9's Release? The news is that there is no big release news! According to Drupal's founder, Dries Buytaert, Drupal 9.0 won't be released any time soon!  Meanwhile, regular minor upgrades will be released for Druipal 8, according to their release schedule, so be sure to catch up with those. In conclusion, as already stated in this post's title: “future looks good” for us, the ones living on “planet Drupal”! Running major upgrades in Drupal will never be the same again once the “continuous innovation” method will have been fully implemented for streamlining the whole process of moving websites from one major Drupal version to another, as well.  What do you think? Do you see it as a truly viable solution to the ever-challenging way of migrating websites from one Drupal version to the next one or have you already identified some of its possible limitations?  ... Read more
Adrian Ababei / Apr 11'2017