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.

This is How You Build a Slideshow in Drupal 8
               Need to create a visually stunning slideshow for your Drupal 8 site? One that you should be able to effortlessly customize to your liking? Luckily, this rhetorical question suggests to you its own answer: the Views Slideshow module in Drupal 8! An empowering tool which enables you, after just a few intuitive steps to take for setting up the right context and for pulling off the due configuration, to create your own slideshow (of any type of context, not exclusively images).The one to appear in a View. Moreover, it grants you almost unlimited power of customization, as well! Practically you get to put together a personalized “combo of settings” for each one of the Views that you'll create. Now let us proceed with our step-by-step guide on how to build a slideshow in Drupal 8 using the Views Slideshow module (had to specify this, since there's also the Slick method for building slideshows in Drupal):   1. First and Foremost: Install All The Needed Modules and Libraries First things first: before you rush in and “play” with all the settings put at your disposal, you need to properly download and enable everything you'll need for building your slideshow. Well, these are the main steps to take: 1. Start by making up your mind on how you'll download your Views Slideshow module, (its Drupal 8 version obviously): will you download it directly from its module page on Drupal.org or by using Drush? If you prefer the Drush alternative, these are the lines what you'll need to enter: drush dl views_slideshow then drush en views_slideshow -y (for enabling your module) 2.  Now if you've chosen the first method instead, simply unzip the file you will have downloaded from the module page and paste it to your Drupal 8 site's directory: yoursitesname/module                3. Keep in mind that you'll need to enable Views Slideshow Cycle, as well 4. Can you spot the “Download ZIP” button on the top right corner of your screen? If so, just click on it! 5. Unzip the library that you've just downloaded 6. Once you've unzipped it, create its future folder, naming it "jquery.cycle" 7. Now pay particular attention to this step (since it's in this aspect that the two apparently identical installations processes, Drupal 8's and Drupal 7's, differ): you'll need to upload your resulting files to the libraries/ folder in the root of your website 8. And this is what you should be looking at right now if everything went well with all the downloading and enabling steps you've completed so far   9. Now you'll need to create a brand new content type that should contain your slides: Structure > Content Type > Add content type 10. Next, you'll inevitably get to the Manage Fields section. Go to “Add a Field” and make sure you'll have a content type with an image field attached.   2. Build A Views Block  1. Head to Structure > Views > Add new view 2. Think of a suitable name for it 3. Click on “Create a Block” 4. In the block's settings- “Display format”, select “Slideshow” 5. “Save and edit”   6. Can you spot the “Field” section, on the left side of the screen? It shows only “Content:Title” by default right now; feel free to delete that default title if you don't find it necessary to have it displayed on your Drupal site 7. Click on the “Add” button 8. Next, look for your image field, then scan through all the available fields there and select the one(s) you'd like to include in your slideshow 9. Then click on “Add and configure fields”. Also, in order to set up your slideshow's style (all its future effects here included, as well), go click on "Slideshow",  under “Format”. 10. Click on “Apply” 11. There! Now you should be able to vizualize your recently added image in the Preview section that you have in the bottom of your page! 12. As soon as you're done adding all the fields that you consider a “must” to your slideshow, just click on “Save”.  And voila! You've just built your Views block! Let's move on to the next key step to take as you build a slideshow in Drupal 8:   3. Configure and Then Publish Your Slideshow Block Finally! You're closer than ever to getting your View displayed on your Drupal 8 site: 1. Go to Structure > Block layout  2. Once there, click on the "Demonstrate block regions"  3. Next, carefully select the area on your website that you'd like your slideshow to show up. Do you want it displayed in “Sidebar first” or maybe in “Content” or rather in the bottom of the page? 4. Once you've decided upon the region that you'd like it published on, just click on the “Place block” button (you'll find it next to “Content”) 5. Another more key selection to make are we're almost done! Choose the page that you'd like your slideshow to get published: scan through the list of web pages displayed under “Pages” and... make up your mind. 6. If you're dealing with a block region including several regions, ensure that your block is properly placed, as well! 7. Once you've made your decision, click the “Save block” At this point you must be looking at your slideshow published on your Drupal site!   4. Set Up Image Styles for Your Slideshow By now you must have already noticed that the images that you will have included in your slideshow are of different sizes. The solution, so that they should all fit into the block region? Creating an image style! 1. Go to Configuration > Image styles > Add Image style 2. Name your image style 3. Next enter a "Machine readable name"  4. Click on the “Create new style” button 5. Next go to “Effect” and select an image effect from those listed in the drop-down menu (Crop, Resize or... another one) 6. Then set up your image's width and height (keep in mind that they will depend greatly on your chosen block region's sizes) 7. Finally click on “Update effect”   8. Now it's time to edit your View 9. Click on your image field (under the “Fields” area) for getting it edited 10. Next in the “Image Style” field simply select the style you've just created Click “Save” and feel free to check your slideshow on your website. Useful Tip: in case you're facing the challenge of building a responsive slideshow in Drupal 8, remember to enable the “Responsive images” module in Drupal core.    5. Add Some Controls, too, As You Build a Slideshow in Drupal 8 Since it must be more than just a visually impressive slideshow that you might want to put on your Drupal 8 site, but a user-friendly one, too, aimed at enhancing users' navigation on your website, some controls are definitely a must. Therefore, here's how you add them: 1. Go back to the screen where you get to edit your view 2. Click on “Settings” (neighboring “Slideshow”, under Format) 3. There, select your controls: go for a pager, a counter or for previous-next buttons...   TADA! This is how you build a slideshow in Drupal 8! Give it a try! If we've skipped adding any crucial information to our our step-by-step guide, feel free to “warn” us. Also, if you encounter any type of problems through the process, don't hesitate to let us know. We're ready to use our Drupal expertise to “save the day”, your day!   ... Read more
Adrian Ababei / Apr 13'2017
3 Ways to Update Your Drupal 8 Core 
       Why should you depend on your managed IT service provider for every minor update that you need to make to your Drupal 8 core? Especially if we're talking about updates that would require no more than a couple of minutes of your time, a few “precautions” to take beforehand and a couple of simple commands for you to enter? Therefore, take this “tutorial” here as a “DIY” type of guide: one empowering you with knowledge on how to update your current Drupal 8 to its latest version. Or, better said: “take this tutorial here as 3 DIY separate guides”, or rather as a 3-in-1 guide, since we'll do our best to explain to you the three different methods available to you for updating your Drupal 8 core yourself. And, before we proceed, just a quick specification only to make sure that we're on the same page: on “Drupal planet” upgrade refers to leveling up to a major version of the CMS (e.g. from Drupal 7 to Drupal 8), whereas update refers to leveling up to a minor or patch version of Drupal 8 (e.g. from Drupal 8. 2.6. to Drupal 8.2.7). OK, so now that we've got this tiny detail straight, let's start with the list of “precautions” that we've just mentioned here before we jump straight to detailing the 3 methods for you to update your Drupal 8 core with:   Precautions to Take & Extra Info to Consider Before You Update   take it as a best practice, as an important piece of advice or as a “warning”, but mind you never skip this critical preliminary step: make a full backup of your database and of all your files before you proceed with the update; also, remember to activate the maintenance mode from your admin panel, before you go ahead and apply changes to your Drupal 8 website. These 2 apparently negligible precautions can actually make the difference between an event-less updating procedure and one leading to critical data loss and leaving you with no backup solution to retrieve them!   consider updating a test copy of your site first, prior to running the update on its live version. You never know what impact those seemingly minor updates that you'll be running can have on your site's behavior. Better safe than sorry!   this as a useful tip: each new release of Drupal comes with its own release notes listing not just all the improvements/changes applied to that specific version of Drupal, but also guidelines on how to update or to upgrade it to future releases, as well. So, you may want to have a quick look at those notes, as well, before you jump straight to the updating process.   Update Your Drupal 8 Core Via Drush Just a few words about Drush: it's Drupal's shell interface that enables you to perform your administrative tasks, quick and easy, right from your command line (how familiar are you with working in a command-line tool?) And these are all the steps you need to take if you choose the Drush-way for updating your Drupal 8 core:   First and foremost: you install Drush (obviously!).   With the risk of being overly “annoying”, we need to stress, once again, that it's vital for you to backup your site before you make any changes (and especially since it's core changes that you'll be making in this case here). Use Drush for that: run the drush archive-drump command.   Also, as already mentioned, you need to activate the maintenance mode prior to the update process itself. Why should you run any risk, especially when there's just one simple Drush command for you to enter: drush sset system.maintenance_mode 1?    It's now that you actually run the update procedure itself, through another Drush command: drush pm-update.     Finally, you just need to put your “freshly” updated Drupal 8 website back online and this is the command to type in Drush for triggering this action: drush sset system.maintenance_mode 0.    Et voila! Some simple commands to enter and a couple of quick essential steps to take and you're running the latest release of Drupal 8 on your website!   Update Your Drupal 8 Core Via Composer  This is, no doubt, the “speediest” method of them all! Note: remember to backup (there! we've said it again!) and to use maintenance mode on production. Also, we, the OPTASY team, advise you to go for composer install rather than running your update on production! And, of course, a few words about Composer: it's a package management tool, a truly powerful one, that you can use for managing your PHP based applications. OK, now let's get back to our step-by-step guide on how to update your Drupal 8 core via Composer. Well, in fact, it's a “one step” procedure: simply enter the “composer update” command into your command-line interface and let it run the update for you: Loading composer repositories with package information Updating dependencies (including require-dev)   Update Your Drupal 8 Core Manually This is, indeed, the most tedious of all the 3 methods for you to update your Drupal 8 core with, but it's also the most thorough of them all.  And this is the sequence of steps involved:   First, you go ahead and download the newest version of Drupal 8   Next log in to your site's admin panel, either as a user having the “administer software update” permission or as an admin   You make a backup of your database (for example through PHPMyAdmin)   Once you have your database backup, you need to activate the maintenance mode (Administration > Configuration > Development > Maintenance mode), exactly like you would if you'd be using Drush instead   Remove and then replace the vendor and the core directory from your website with the ones that you will have already downloaded upon downloading the latest version of Drupal 8: composer.lock, licence.txt, robots.txt, index.php, web.config, autoload.php. Note: do not override your “older” directories with the new ones, as this will just cause a WSOD error!   Remember to remove, also, all the files from your website's top-level directory. Keep the ones that you've manually added to your website, the ones that you've made changes to (like error log file, Google, Bing verification file). Do keep your modules, profiles, your themes, and site directories, as well!   Upload the core directory from the new Drupal 8 version that you will have downloaded (see step 1!)   Extract and copy the composer.lock, the composer.json and the .htaccess files from the newly downloaded version of Drupal 8   Upload the “new” vendor directory to your website   Head to yourwebsite'sdomainname.com/update    Just follow all the on-screen instructions given to you there   And that's it!   Wrapping Up As you can see for yourself, no matter which one of the three methods you might go for, updating your Drupal 8 core is no rocket science. It's no super complicated procedure that you, as a Drupal 8 website admin/owner can't perform it yourself.  Have you already tried any one of these methods? Have you encountered any unexpected errors? If so, do share your experience in the comments below so that we can identify the “culprit” and come up with a solution for your specific updating case! ... Read more
Adrian Ababei / Apr 05'2017
5 Ways to Boost Your Content Marketing Strategy with Drupal 8
“Out-of-the-box mobile-responsiveness”, “highly flexible, personalized content delivery”, “high page-load speed”, “multilingual capabilities” and the list of Drupal 8's cool features can go on...   These are but some of the possible answers to your legitimate questions: “What's it in for me, a digital marketer?” or “What's in it for my online marketing team/s?” or “How can I turbocharge my marketing strategy with Drupal 8?” or “How will it supercharge my SEO efforts?” Face it:   no framework comes optimized out-of-the-box   you need to enable your digital marketing team to grow independent from the IT department (time is money, after all or)   “just” an impeccably coded website, with a stunning, visually-appealing design, won't help you reach the conversion rate that you're dreaming of   you need to effectively reach out to your own target audience, which leads us to one of the present day's biggest digital marketing challenges: delivering hyper-personalized, segmented content (by audience), across all the available social media channels and devices out there.   Now that we've pointed out the main challenges that you're facing these days, as a marketer, let's find out how Drupal 8's marketing tools can help you overcome them:   1. Take Content Personalization To a Whole New Level   “Personalization”, “hyper-personalized, relevant content” are the key “trendy” terms on every digital marketer's lips these days!   And on every Drupal web developer striving to do “the seemingly impossible”: personalizing the websites he/she builds, no matter how challenging this might sound.   Well, good news: Drupal 8's ready to provide you with the right tools for achieving this “mission impossible” type of goal!   Here's how:   it allows you to divide your audience into several customer segments   next, once you've gathered all the valuable data about each one of those sub-units, you get to craft the particular, personalized content relevant for each one of them   last, but definitely not least: you get to deliver your personalized content across all channels, all devices, in real-time   In conclusion: after it empowers you with segment-targeted data (and we'll talk about that, as well, in a future post on the Google Analytics module in Drupal 8), it also delivers you the right tools for actually leveraging that data.    For turning it into the content featuring a high level of personalization that your website visitors actually expect to find on your site.   2. From a Mobile-Ready Mentality to a Mobile-First One   In other words: with Drupal 8 mobile responsiveness has leveled up from an add-on to a core functionality!   All of its core themes are responsive! This is probably one of the biggest leaps into the post-browser future that any framework out there has take so far!    Considering this, it wouldn't be too bold to predict voice-based interactions to be implemented in Drupal 8 sooner than you expect!    And there's more!   It's not just your Drupal 8 website's visitors that get to enjoy a mobile-authentic experience on your website, but you, too, get to benefit from its built-in mobile responsiveness feature.    Your administrative interface, too, is mobile-optimized in Drupal 8!   In other words: you get to clear caches, produce and manage your content right from your own mobile device!   3. Simplified Content Creation, Management and Delivery    Since content is still almighty king and, therefore, content marketing plays a key role in your digital marketing strategy handling your content easily and quickly is crucial for you, right?   Not to worry: Drupal 8's got your back!    Its content-as-a-service functionality comes to streamline your whole content marketing plan:    its WYSIWYG editor turns creating and editing content, directly on the web page, into a matter of point-and-click its unified web-interface allows you to handle all your content-related tasks in one place and to easily deliver it across all channels and platforms (social media channelrs, web, mobile etc.) it enables you to handle your content (whether it's creating/editing or delivering it)  on-the-go, right from your mobile device   you get to check, beforehand, how your content will look on various devices    you get to scan through a whole collection of image size (alignment, shape) options    lots of Drupla 7's add-on modules are now part of Drpal 8's core; and here we cannot help not mentioning Views, one of the most popular module enabling you to pick the format that you want for your content to be displayed in   “Simplified” is the right word to describe the authoring experience in Drupal 8, don't you agree?   4. Build Your Global Presence With Drupal 8   Now you do realize that one couldn't possibly create hyper-personalized content without an efficient multilingual system to could rely on, right?   Good news: Drupal 8's ready to support your global presence!   It's ready to deliver you the tools that will help you speak all your users' languages.  It makes territory-specific content creation a lot simpler.   But let's talk facts, shall we?      1. the once just a partial and, moreover, a difficult to use translation-oriented support (think Drupal 7) has turned into a built-in multilingual system in Drupal 8      2. it's not just the administration interface that you get to translate, but you can rely on Drupal 8's translator for links, titles and entire web pages on your website       3. your visitors get to choose from a list of different languages that you'll provide on your Drupal 8 site       4.  we're talking about “built-in” multilingual functionality: every component is translatable by default (and we're talking about 94 different languages available in Drupal 8 core)   In other words: with Drupal 8 it's easier than ever to... go global!         5. Get Ready to Deliver Content at Top Speed    If time is money and more conversions lead to more money, then we can as well say that: optimized page load time guarantees you... more earnings, right?   And it will also boost your website in rankings and it will implicitly help you improve the overall user experience on your site.   Luckily, Drupal 8 is built with high page load speed in mind!   Let us point out to you some of the major enhancements that have dramatically improved its performance from a page load time standpoint:   it has tremendously improved caching: its relies on cache tags and on Cache Content API, which allows it to perform context-based caching   it uses the “bigpipe technique”: the Bigpipe module, part of Drupal 8's core, will display the cachable/static content first and then the dynamic/uncachable content. Therefore, your web pages will load faster, while your visitors still get the latest version of your website   In conclusion: with its critical improvements, aimed at optimizing Drupal 8 at a page load time level, you'll get to deliver your hyper-personalized content at high speed!   Is this 5 arguments-pleading strong enough for supporting our statement that Drupal 8 is, indeed, any digital marketer's dream come true? It empowers him/her (no need of much technical expertise for turning any Drupal 8 website into a true “marketing-machine” of the future), it simplifies his overall authoring experience, streamlines the whole marketing team's workflow and it easily boost their SEO efforts, too.   Have we left anything out?  ... Read more
Adrian Ababei / Feb 15'2017
How Do You Prepare Your Website for an Upgrade to Drupal 8? 6 Key Steps to Take
Have you had enough of hearing and reading about cutting-edge Drupal's innovative features? About all the improvements that its developers have implemented to this version of Drupal? About its: unmatched functionality   about how it can upload files a top speed   about how it comes equipped with cool multilingual add-ons   about the truly innovative mobile-first mentality that it embeds   and about its goal to cut out the middlemen and empowering the end user even more?   About extended control, put in the hands of developers, builders, content editors and site admins?   And now you want some of all that, too, right?   You want to gain such control over your own site, as well, to supercharge it with such power and to get it aligned not just with the present-day digital trends, but to those of the future, as well. Those that Drupal 8's developers have already anticipated?   Then go ahead! But, before you upgrade to Drupal 8, take some time to go through our set of 6 tips on how to get your site properly prepared for this significant upgrade   Preparation is key for a smooth and effective upgrade to Drupal 8, you know!   1. Before You Upgrade to Drupal 8: Audit Your Current Site   No business/website owner “worth his salt” could possibly have high hopes from upgrading his website if he skips this major step!   How could you project its evolution if you're clueless (or have just a vague idea) of where it's standing right now, from a technical standpoint?   So, before you rush in to install all those “uber cool”, feature-rich Druipal 8 modules on your website, you'd better start building the rock solid foundation of your future Drupal 8 website. Open a forever reliable Google doc. and start filling it up!   Start examining your current website and write down the answers to a couple of key questions:   What sections of your current site do you use most frequently? What sections of your site are barely ever used? Is your current administrative interface user friendly enough? Are there any broken links or inefficient workflows on your site?   Write down everything that you find relevant in your Google doc., ranging from those aspects/workflows on your website that you won't give up to, to all the challenges that you're facing as you're closely auditing it, thoroughly.   Don't forget to write down all your migration-related expectations, as well!   As you and your team will have your moments of inspiration and will “burst” with new innovative ideas that you could implement on your site, make sure to write them down in this soon to become your priceless resource: your Google doc.   You may not realize it now, but this document “locking in” all the key aspects of your current website will be “pure gold” once you delve deeper and deeper into all the other stages of this site preparation for migration process!   2. Keep It Under Version Control    Sometimes it's Drupal's innovative nature itself that could turn into its own weak point!   The “empowering the user” goal, aimed at turning the whole configuration changes into a matter of point and click could also turn breaking up a site into a matter of just a few seconds.   Good news: through its Configuration Management Interface (CMI) Drupal 8 promises to put this possible scenario away for good!   What you can do, for avoiding such an unwanted scenario to happen, is to capture updates via code and to roll them into your production site. Rely on version control and on Drupal 7's Features and Configuration Management modules.   Implementing such a good practice will automatically guarantee you a more streamlined Drupal 8 workflow and a “safety-net” if something wrong happens: you can always roll back those trouble-making changes.   Ever-so-useful practices, like this one, will always watch your back!   3. Re-organize Your Team: Set Up a Modular Workflow    Preparing your team, as well, and not just your current website, is another crucial step of this whole “preparing to upgrade to Drupal 8” process!   Drupal 8's own distinct nature (compared to other versions of Drupal) calls for a far more scalable, modular approach to its CMS design and content authoring.   Therefore your team, as well, should be structured differently.   This calls for a different type of workflow! One where each team's leader gets assigned to coordinate it, to make sure the overall vision gets properly implemented, while each member of the team gets manageable tasks (one class file per developer, for instance).   Separate implementations, several distinct tasks assigned to each team member will put together the Drupal 8's specific workflow: a much more scalable, easy to handle and therefore efficient one.   With each member of your team focusing on a specific part of the project and a leader coordinating the whole team, they'll get to respond to any occurring challenges in a far more promptly manner!   4. Audit Your Current Modules, One by One   With your team now ready to enjoy all the advantages and to handle all the challenges of Drupal 8-specific modular and scalable workflow, it's time to run an audit on your modules, as well!   It's crucial that you have everything, at the modules' level, up to date, before you upgrade to Drupal 8!   Take a close look:   Are there modules on your site that you haven't been using in a long, long time and so, are just taking up space there? Are there deprecated modules on your current website? Are there modules which have been updated on Drupal.org, but not on your website, too?   Take each one of your Drupal 7 modules and closely examine them, discovering which ones are still active, which ones aren't up to date etc.   There might not be an equivalent in Drupal 8 for each one of your Drupal 7 modules, but even so, it is crucial that you have your Drupal 7 ones active and updated.   Are there any custom modules on your current Drupal site?   Then rely on  Drupal Module Upgrader. The command-line will streamline the entire module converting/updating process from Drupal 7 to Drupal 8.   To sum it up, these are the 3 key steps you should take during the module audit stage:   analyze the current status of each one of your modules on Drupal.org discover which ones of your Drupal 7 modules already have a Drupal 8 equivalent available find out what Drupal 7 modules have been transferred to Drupal 8 core   5. Run Security Updates Before You Upgrade to Drupal 8   Is installing the latest Drupal security updates part of your “routine”?    It should be!   It saves you huge amounts of time, especially when you're preparing your site for critical changes, like this one here, when you're about to ugrade to Drupal 8.   Not to mention that it safeguards your whole online presence, your entire business, after all.   Therefore, make sure your site runs on the latest version of Drupal, that both your core and your contributed modules are properly secured. That all the recently patches have been installed before you upgrade to Drupal 8.    You wouldn't want precisely this upgrade to turn into a source of major vulnerability for your website from a security standpoint, now do you?   6. Keep Up With The Latest Module Changes   Get informed before you upgrade to Drupal 8!   This means that you shouldn't rush in to perform the migration until you haven't updated your own knowledge regarding Drupal's modules:   what modules will be part of Drupal 8' core? what modules are already deprecated? what modules are no longer part of the “contrib” section in Drupal 8?   Find out what's new in Drupal 8, in terms of modules: which ones have “leveled up” in the “hierarchy”, which ones are no longer aligning with Drupal 8's mentality and innovative nature and so on.   Find out all about what's changing, what's trending and what's not, anymore, in terms on Drupal modules, before you migrate your website.     This is our set of 6 tips and tricks for preparing your website for a smooth upgrade to Drupal 8. Do you have any other “preliminary procedures” that you usually undertake before migrating your website from one version of Drupal to another? Feel free to share!   ... Read more
Adrian Ababei / Feb 13'2017
Drupal 8 Modules You Should Use
Have you decided to finally turbocharge your existing website with some of all that functionality and innovative features that Drupal 8's been so appraised for? Or maybe it's no migration/leveling up involved, but you're actually facing the challenge of building a brand new company website and you want to “charge” it with some of all that Drupal 8 power and flexibility that the whole community of Drupal developers is so excited about? Then you must be wondering which are the best Drupal 8 modules that you could select for your new or your “to be migrated” website! Your question is more than legitimate, considering all those feature-rich Drupal 8 modules (and there are over 2000 of them!) that this latest version of Drupal is “seducing” you with. And it will continue to get increasingly challenging to choose the very best, considering the fact that Drupal 8 is still a work-in progress. Its community is constantly:   porting modules from previous versions of Drupal building brand new ones  putting together their efforts for making it even more stable and user friendly   Before we go on sharing with you our own list of five best Drupal 8 modules, allow us to give you a good piece of news! It's, in fact, part of the whole boosted functionality and extra cool features “battle plan” that Drupal 8's developers have put together for this version of Drupal: many of the highly popular Drupal 7 modules not only that have been ported to Drupal 8, but they're now in its core!    And now, let's enlist and detail a bit the modules on Drupal 8's “walk of fame”:   Best Drupal 8 Modules to Turbocharge Your Website With 1. Admin Toolbar   Why was there a need for a “new” admin menu? What “flaws” of the original menu needed to be fixed in Drupal 8?   Well, in Drupal 7, even though the admin menu enabled adding drop-down menus, it lacked responsiveness. A mobile-friendly look was greatly needed! One aimed at fixing the “barely visible, hardly clickable on mobile devices” issue of the former drop-down menus.    And so: Drupal 8's Admin Toolbar was born!   It's a fully responsive version, with enhanced drop-down menus functionality, streamlining the admin's workflow: admins can now break the habit of constantly clicking-through in order to get to various sub-menus.    Thus, an easy to use back-end interface for all those user roles in charge with content editing, producing or moderating is now available in Drupal 8!   There's more! Admin Toolbar comes with a sub-module, as well: Admin Toolbar Extra Tools! This one empowers admins to extend their menus' functionality even further: they get to add extra links for running cron, for flushing cache etc.   Talking about Drupal “empowering the user”, right?   2. Google Analytics   Google Analytics is any website owner's “best buddy”. It “obediently” delivers you pretty much any type of reports and comprehensive charts you need for monitoring your visitors' behavior and your site's overall performance.   Still, this is no news for anyone running an online business, especially not for someone operating in the digital “arena” of 2017, right?   Now, what Drupal 8 does, though its Google Analytics module, is that it streamlines your whole data monitoring and interpreting process, since it enables you to analyze your statistics right from your Drupal interface!    This is the “real” news!      3. Token   We couldn't have possibly left out precisely one of Drupal's most popular modules, right?   There isn't one web developer in Toronto, site administrator or website owner who could imagine carrying out their daily tasks without relying on tokens. They're Drupal's ultimate efficiency-boosters!   Acting as placehoders designed for automatically completing the tasks you assign to them, they streamline anyone's work.    Here's probably the most “rudimentary' example for you: a basic token such as [site:name] will automatically insert your website's name!   Basically what the Token module does, is that it supplies those tokens that are not available in core, especially fields, and also an user interface for you to use for scanning through the available collection of tokens.   On a greater scale, this module, one of the very best Drupal 8 modules, can work together with other modules, such as Pathauto, for carrying out more complex tasks, too. Tasks such as providing URL patterns for your whole Drupal website!     4. Devel    Devel is not just another one of the modules on our top five best Drupal 8 modules list: it's a whole “bunch” of sub-modules, in fact. One more “tempting” than the other, both for developers and for Drupal themers.    Let's highlight some of the most popular ones:   Devel Node Access: provides detailed information regarding the node access mechanism of your Drupal installation Kint: a debugging tool designed to display variables and backtraces in a nicely formatted, organize way, thus easing your overall understanding Web Profiler: adds a bottom toolbar presenting you all kinds of relevant stats, such as database queries, which services are being used, cache effectiveness etc. Devel Generate: creates dummy entities, thus populating your test site with images, taxonomy, dummy users etc.     5. Pathauto   What makes Pathauto one of the best Drupal 8 modules?    It's  marks the end of and “era”, the “node/4803” types of links era, and the beginning of a new one! One of the automatically generated user-friendly, easy to remember types of links.   The ones that your users will be more familiar with and that search engine will find easier to discover, read and index, as well.   As for you, say “hello” to a higher ranking in SERP!    “How does it work?” you say?    What Pathauto does, in Drupal 8, is that it generates URL aliases automatically: no more manually created Drupal links from now on.    Moreover (and this is huge!), it enables you (or, better said, it “empowers” you) to change the custom token system generating the URL aliases as you wish!     And this is our list of top five best Module 8 modules! The modules that we rely on for setting up and managing various features of the web projects that we carry out here, in our web design company in Toronto!    Which are your own favorite ones?    ... Read more
Adrian Ababei / Feb 07'2017
Here Is How You Build an Accessible Website With Drupal 8
"Barrier-free access” is carved within the very “DNA” of Internet itself. Therefore, your site, too, should be accessible first and foremost!   Before you even start to make it visually-arresting and useful. Before you even consider how you could add value to your website visitors' lives!   What started as an accessibility-focused initiative in Drupal 7, or better said "as an attempt” to comply with World Wide Web Consortium guidelines, has gradually evolved into a powerful set of accessibility-oriented features in Drupal 8.   Bugs have been addressed, “old” features improved, new enhancements and new features added in Drupal 8 to boost its accessibility in core.   Now let's stop “beating around the bush” and put the facts on the table!   Let us enlist and detail to you these particular accessibility-enhancing features in Drupal 8 that will make your job (building an accessible website) easier than never before:   1. Improved Contrasts   Empathize with those future visitors suffering from colorblindness, then try simulating a context where users would access your website (from their mobile devices) in bright sunlight.   Optimal contrast will “send” an invitation to the users in the above real-life scenarios to keep clicking/scrolling and thus prolonging their visits on your Drupal site.    The great news is that Drupal 8's accessibility maintainers have tackled the contrasts' issue and made the necessary improvements.   2. Controlled Tab Order    It was just yesterday, in our previews post, that we talked about the importance of “blazing your users' path” to the information they're searching for on your website. About easing their “search” with the right UX elements.   Well, this accessibility-boosting feature, in Drupal 8, serves the same purpose.    The Tabbing Manager Javascrip feature is that “flashlight” which will point out the main elements on your website to your visually-impaired or non-mouse visitors.   And this enhancement will make all the difference for them!   Just think about the time and energy that these visitors save by quickly scanning through your tabs instead of striving to navigate through a complex, crowded user interface relying entirely on screen readers!   Zero confusion leads to zero frustrations and to a better user experience for your website's visitors. And this is gold in the age of user experience, right?   3. Inline Form Errors   And this is a truly notable enhancement, which proves that we have come a long way from Drupal 7 when it comes to the support for accessibility available in Drupal 8's core modules.   If in Drupal 7 errors made when users filled in a web form appeared on top of that specific form, while fields got colored in red, as a “warning” sign (not exactly the most effective solution for the visually impaired users), Drupal 8 comes to your rescue with its form inline errors.   In this version of Drupal errors icons get displayed next to the specific fields of the form.   A much needed improvement, wouldn't you agree?   Note: still, the Form Inline Error is an optional Core module, therefore it needs enabling first.   4. Fieldsets for Radios and Checkboxes   When it comes to the Form Api, here's another great enhancement that Drupal's accessibility maintainers “spoil” you with: fieldsets for checkboxex and radios.   Just imagine how this improvement will ease screen readers' (and implicitly non-visual users relying on them) otherwise not at all easy “job” to parse complex forms.   Since related elements get grouped together in Drupal 8, it now becomes a lot easier for you (or your team of Toronto developers) to enhance forms in Drupal.   5. Alternative Texts for Images   Visually-arresting photography and stunning imagery cannot “wow” your visually impaired visitors.    Still, Drupal 8 lends you a hand for helping your users “visualize” and thus “bend before your talent” (or your web designers' talent). How? With its alternative text for image feature.   It's now a required field in Drupal 8, by default: you type in short descriptive text so that all users, without any discrimination, can imagine those visually-arresting images that you'll upload on your website.   6. More Semantics   Semantics! The ultimate impediment that any initiative aimed at enhancing accessibility on your site needs to overcome.   No wonder that one of the ultimate goals of Drupal 8 core maintainers was to “add more meaning to the code”. To enrich Drupal with more semantic HTML elements for the assistive technology to be able to interpret.   And here are the achievements of all the sustained efforts in this direction:   WAI-ARIA landmarks in core (a major step forward)   live regions   roles & properties     Now to name just one example of what “more semantics” in Drupal 8 means, when it comes to accessibility: now screen readers can easily interpret pieces of code such as  <footer>, <header> or <form>.    7. Tables and Views   Speaking of improved semantics, note that the views tables markup is more semantic in Drupal 8.   Let's shed some light on this feature:   it enables you to explain the purpose of a particular table on your website through a <caption> element   it enables you to add a quick “summary” explaining which is the best way to navigate the table and how the data included there is structured; and all this by using the <summary> element   it enables you to use “id” and “headers” attributes and thus associate data cells with header cells   it enables you to “play with” the “scope” attribute, thus to mark your tables' column and row headings   8. Aural Alerts    Animations, color changes, specific text and so on: how do you make visual updates accessible for all users? Even to those relying exclusively on screen readers as intermediates for accessing content on your website?   You rely on Drupal 8's Drupal.announce().   This JavaScript method creates an “aria-live” element on the page enabling instructions to be read to these specific visitors on your site either as assertive or as polite.   9. Hidden Elements    An alternative to CSS styling “display:none” was greatly needed, since this one makes elements invisible both to visual and non-visual users.   And hiding them from everyone is no web developer's (or website owner's) intention!   Therefore, the team “responsible” for Drupal 8's accessibility decided to enable future Drupal users to rely on 3 different classes for hiding certain elements:   “hidden”: for hiding an element from all the visitors on your site “visually-hidden”: for hiding an element from your website's visitors, but keeping it “visible” for screen readers  “invisible”: for hiding an element both from the visitors and from screen readers, without influencing your site's layout   10. CKEditor WYSIWYG Accessibility   CKEditor, too, has been greatly improved in Drupal 8 in the name of empowering users, like you, to generate accessible content on their Drupal websites!   Here are its significant improvements:   the WYSIWYG editor's been upgraded with keyboard shortcuts (for which all those keyboard-only users and power users on your site will “thank you” for)   more semantic elements have been added: for instance HTML 5 tags which enable you to add captions to images   a language toolbar button has been added, enabling screen readers to select the appropriate language for each content    an accessibility checker plugin is now available for CKEditor   And this is precisely how Drupal 8 empowers you to build barrier-free websites that say “welcome” to all visitors, both visual and non-visual!    What do you think of these improvements and new features in Drupal 8?   To what extent do you consider that they'll ease (or have they already?) your job as a Drupal web developer/Drupal website owner? ... Read more
Adrian Ababei / Jan 11'2017
Consider These 5 Aspects When Picking Your Base Theme in Drupal 8
Don't you just feel the sweet taste of new possibilities right now?   And still, any new Drupal 8 project comes with its own set of challenges, as well, and choosing a theme, from the very start, is probably one of the greatest ones.   What should it be then?   Should you go for a classic base theme (AdaptiveTheme or Zen, maybe), for a contributed theme instead or maybe you prefer implementing the framework yourself or build your very own theme, from scratch, relying on Drupal core?   Before you make the decision that will have a huge impact on your whole project's structure, take some time to go through this quick “quizz” here and try to give yourself some clear answers:   are you dealing with a multi-site project (meaning that your theme, once chosen and implemented, will be used across all the other websites, too)?   is the person maintaining the theme a HTML guru or a CSS expert?   will this theme be used just on the website itself or for internal apps as well?   what level of front-end performance optimization does it imply?   Classy vs Stable: Which Base Theme Works Best for You?   This might just be the most important choice to take during your Drupal project's life-cycle!   It's your theme that dictates/overrides your CSS, JS and Drupal's markup, you know. Where do you add that your chosen theme can feature a parent-child relationship, where the sub-theme inherits the base theme's templates, JS and CSS.   In short: think through your theme choice for the sake of your project's success and your whole workflow!   “And still, which one to choose: Classy or Stable?”, you might ask yourself.   Here's how you can tell which one suits you (as a Drupal developer, with certain goals in mind and with a certain theming experience) and your particular web project (which comes with its own set of particularities):   are you planning to add classes only where the context demands them? Then Stable's The base theme for you! do you want lean markup, with very little classes (e.g toolbar and contextual links), giving you the freedom to customize your own markup patterns in your theme, to create only those classes that are required by your project? Stable again, is the “lucky” word, in this case!  do you want to have a set of classes at your disposal, to tweak and use as styling hooks, right from the starting point? Then it "write" Classy all over your Drupal project!   This being said, let's see which are the 5 factors that you should consider before you choose your Drupal 8 base theme:   1. How Much CSS and Markup Updating Does it Require?   How much CSS out-of-the-box does your chosen theme come “equipped” with?   It makes a great difference, you know. Take these two examples for instance:   You decide to build your website on Classy theme, which in Drupal 8 comes with very little core CSS, so you will have to write your own classes and occasionally even to override the templates, depending on what you want your classes to style.    You're building your theme on Zurb Foundation or Boostrap, which come with their own of out-of-the-box classes that all you need to do is apply to your markup. What's important for you to keep in mind, if you incline for this particular work scenario, is that once you have your Drupal site built, there's going to be a lot of template customization to do for adding all those out-of-the-box classes to your site's new components!   2. Has Your Client Expressed Any Preference?   Your client may or may not come with his/ her own preferences when it comes to the theme that you and your team should to build his website on.    Be sure to have one aspect settled with your client, during your before-the-project meetings: are you supposed to maintain the theme that you two will decide upon on the starting point or is there a chance that this should be replaced with a new one, as the project unfolds? It's essential that you discuss this aspect with your client, for it's important for both of you to consider the learning curve (and implicitly the extra time) of each new theme.   In case your client has no specific preferences regarding the theme to be used for his site, your own theming experience and your development process preferences will be the only factors that will influence your theme choice!   3. Consider the Design    It's no news for any developer, no matter his/her level of experience, that Drupal is tremendously flexible! When it comes to theming, it allows you to build practically anything you want: ranging from a large web app, to great customer-facing websites in the latest design and functionality trends!   Depending on what exactly you need to design in Drupal, you get to choose among several platforms:   Ember or Adminimal make some great administrative themes, that will do their job superbly helping you build your back-end app   Zurb Foundation or Bootstrap make great choices if your web project includes components such as tables and forms    4. Will You Be Using a Pattern Library?   A base theme always makes the perfect choice if you're planning to create your own patterns.   In other words: keep it simple, at the theme level, especially if you'll be applying your own classes, which will then get themed by your own pattern library styles!   5. Consider Performance   Less is always better! You keep that in mind and let this common-sense motto guide you through your theme selection!   The more functions, JS libraries and settings your website needs to load, the heavier its “burden” will be (and the longer its load time will be, as well).   Go for a light theme based on Drupal core, which won't come equipped with its own heavy load of out-of-the-box JS libraries and CSS and remember that if less is always more, so does “testing makes it perfect”!   Remember to test all the theme settings on your website, thus keeping its front-end performance closely monitored!     These is our list of factors that any Drupal developer should take into account and think through before choosing the base theme for his/her project. Do you have any other aspects that you usually consider and which determine you to go for a specific base theme or another once you start your Drupal web projects? ... Read more
Adrian Ababei / Dec 12'2016
Get Started: Build Your First Custom Module in Drupal 8
So, you could not resist the temptation to try out the much-praised Drupal 8! You've installed it, you've already “played” with its core modules, its contributed modules and that's it? Don't you think it's about time you leveled up your Drupal 8 skills?   The next step to take is learning how to team up your own skills and knowledge with Drupal 8's full potential for putting together some amazing custom-made modules. Modules that would instantly add extra value to the sites you'll build.   Don't let the “rumors” stating that the whole custom modules building process is so different, and therefore more challenging, from Drupal 7, that it's lengthier and way too discouraging.    We're here to show you that it takes just 8 quick and easy steps for you to create new modules (to meet your sites' specific needs) in Drupal 8! Walk us through all these steps:   1. File Structure    It's under modules folder in the root directory that you should keep both your contributed and your custom modules in Drupal 8:   modules/contrib/   modules/custom/   So, go ahead and get your first custom module started by creating a folder in your Drupal installation at the path: sites/all/modules/custom/sa_module.   Keep in mind: If you're configuring multiple sites, you need to use modules specifically for each one of them:   sites/your_site_name_1/modules/   sites/your_site_name_2/modules/   2. Create the .install file   A Drupal schema (representing one or more tables and their related keys and indexes) is defined by hook_schema(). You'll find it in modulename.install file. hook_schema() and it should return an array mapping ‘tablename’ => array (table definition) for one of the tables defined by the module.   3. Create the .info.yml file    That's right, you have a “info.yml” file extention in Drupal 8 (replacing the “.info file” that you got used to using Drupal 7). It applies to profiles modules and themes, too.   So, that being said, you now need to create your .info.yml file (i.e. sa_module.info.yml), thus letting Drupal know about your new custom module. Your file will look something like this:   name: Drupal 8 custom module example type: module description: 'Example for Drupal 8 modules.' package: Custom version: 8.x core: 8.x   Follow this path for enabling your module: https://goo.gl/ADSWyt OR Click on Extend from Menu.   4. Create the .routing.yml File    When it comes to handling routing in Drupal, you'll be using Symfony 2 components. The routing file that you'll create will help you navigate into Drupal using the method of a controller class (meaning that you'll be specifying different controller actions).    You'll be writing the path in routing.yml file and the resulting file will look something like this:    example.my_page:   path: '/mypage/page'   defaults:     _controller: '\Drupal\example\Controller\ExampleController::myPage'     _title: 'My first page in Drupal8'   requirements:      _permission: 'access content'     1. The first line is the route (a symfony component mapping an HTTP request to a set of configuration variables).   Define your route as a module_name.route_name ‘module_name => sa_module’ ‘route_name => list’.     2. The second line is the path: you'll need to specify the path that this route should register to, in short: the path (of the module) where the users will be redirected. See the leading forward slash “\” in the URL to the route from our example.     3. The third line shows your defaults: you get to specify several things here. For instance, in our above example we have 2 defaults:               _contoller: referencing a method on the ExampleController class                _title: the default page title   You, could, for instance, have "_form" define classes under defaults, as well, helping you define the forms included in your custom module (for example EditForms, DeleteForms, AddForms)     4. The fourth line displays requirements: here you get to specify the type of permissions to be granted to your users for accessing specific pages on your website: “add”, “edit”, “delete” and “access” for instance.   5: Create the .module file     Unlike in Drupal 7, where the hook menu() defines page callback functions, in Drupal 8  it defines menu items exclusively.   Make sure that the path and the route in which in your example.module matches the ones written in your example_module.routing.yml.    Let's have a look at our above-example, for instance: there the route 'route' => 'example.my_page' in example.module should be identical to example.my_page: in example.routing.yml     6: Create Controller Class    First, a few words about “controller”:   it may contain multiple types of arbitrary logic that your site needs for rendering content on a certain page   it's a php function that processes the HTTP request and returns a response   Create a “modules/custom/sa_module/src/Controller" folder and then (within the same folder) a file named AdminController.php.   7. Create Model Class and Forms    Once you've set up your AdminController, you need to introduce a model class (i.e. SaUserInfo.php) in order to link it to your database. It's this model class that you'll create now that will help you set up methods like add(), delete(), update() etc.   8. Create Menu on Admin   One more step and you're ready to launch your very first custom Drupal 8 module right from the Admin Panel ! Create a file sa_module.links.menu.yml, which will set Menu at the Top.     And this is it! 8 quick and easy steps for building your first custom module in Drupal 8! Give it a try! ... Read more
Adrian Ababei / Dec 02'2016
Here Is How You Add Responsive Images To Your Drupal 8 Website
  Proudly wearing its “mobile-first” aura, Drupal 8 is here to help you deal with the issue of responsiveness nice and smoothly. No need to write miles of code anymore, to master the art of pulling off HTML, back-end languages and JavaScrip combos anymore.    In other words: Drupal 8 is here, have no fear! It projects a new world of easy-to-build responsive themes.   It simply “spoils” you with an easy-to use responsive image setup (which comes in its core, another great news). Basically, it puts an image formatter and breakpoint mappings at your full disposal so that you can have your due-sized images, using HTML 5 picture tag, ready in just a few quick steps. Thus, you'll get your images adapted to every device's viewport in no time.   Well, not really “in no time”, but in 5 simple steps! Walk us through this step-by-step demo:   1. Turn on Your Responsive Image and Breakpoint modules You've got that right: the Responsive Image Module is part of core Drupal 8, you get it upon installation and yet, if you want to use it you still have to first enable it. It's the same thing for the Breakpoints module, as well.  How do you enable the Responsive Image Module in Drupal 8 you say?   You go to /admin/modules   You click the check box close to “Responsive Image”   You click the “Install” button   2. Set Up Your Breakpoints “What is a breakpoint?” you say (if you're new to Drupal)? It's a window width that you get to set up, thus letting Drupal know that it should start using a different size image starting from that particular width size. Got it?   Do you remember how things used to be in Drupal 7's Breakpoint module (oh, the (not so) good old days when Breakpoint was a contributed module!)? You could define your breakpoints in your admin interface. Well, not anymore! In Drupal 8 you have to set them up in code.   If it's a pre-built theme that you're using, there's a high chance that your breakpoints are already set up. If you're creating your own theme instead, then you need to set them up yurself in breakpoints.yml file.   So, here is how you set them up (make sure you start with the smallest ones):   your_theme_slug.bannerImage.narrow:   label: narrow   mediaQuery: ''   weight: 0   group: Banner Image your_theme_slug.bannerImage.wide:   label: wide   mediaQuery: '(min-width: 600px)'   weight: 1   group: Banner Image    3. Create Your Image Style  What image styles do you want for each one of your previously defined breakpoints?   Once you've answered yourself that, go ahead and set them up (after you've done a bit of math setting up your breakpoints):   Go to /admin/config/media/image-styles/add   Type in your image style's name (we suggest you go for something descriptive) and click “Save”   Click “Select a new effect” (you'll find it there, under “Effect”, in the next screen that will open up once you've clicked “Save”)   Click “Scale and crop”   Enter the width and height sizes   Click “Add effect” Et voila! Can you go through all this process all by yourself now? For you still have to go back and create image styles for each one of the breakpoints that you've (virually) set up, you know.    And this is how Drupal automatically resizes all the images, that you'll upload on your site, to the image styles that you will have defined. And it doesn't do all this the rudimentary way, no sir: first it sizes the image, then it crops off the extra so that the result should be a perfectly adapted new image (not the stretched or the shrunk, very unnatural looking type)   4. Define Your Responsive Image Style  After you've created images styles for each breakpoint, go ahead and put them all together in a responsive image style.    Go to /admin/config/media/responsive-image-style   Give the “Add responsive image syle” button a click   Give your style a name (go for something easily recognizable)   Select the “Breakpoint group” (you know, the one that you've set up at step no.    Select the breakpoints one by one and associate them each with one image style   Can you see the option for fallback image style there, at the bottom? It's the “default” image that Drupal generates for those browsers that don't support responsive images (such as Internet Explorer 8). We recommend you to select the largest image style!   5. Allocate Your Responsive Image Style to An Image Field Just one more quick step to take and you can upload images on your website and let Drupal do all the formatting/smooth resizing job for you! Before it can do that, you still need to let it know what image field to actually responsify for you:   Click on “Structure”- “Content Types”   Click the arrow close to “Manage Fields” and then click “Manage Display”   Spot your target image field (you'll see the entity type, ranging from taxonomy vocabulary to content type that your image field is assigned to)   Select “Responsive Images” (under “Format”)   Pick one of the responsive image mappings that you will have set up (under “Responsive image style”)   Click “Update”     And that's it! You've provided Drupal 8 with all the settings it needs for “working its magic”: pulling off images of appropriate sizes without comprising their quality. ... Read more
Adrian Ababei / Nov 29'2016