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.

Drupal 8 Webform Module: How to Add a Webform to a Content Type
You sure didn't expect it to take more than... 2 minutes (3 at most) to add a Drupal 8 Webform to a content type on your website and yet...  What's the “catch”? Is there a "magic" tab that elopes you? Haven't you installed your Webform Drupal module properly? Or maybe it's the UI itself the real culprit for turning what should have been a "ridiculously intuitive operation into a time-consuming (and hair-pulling) one? Let us lend you a hand! Let us help you put an end to your "turmoil". But First: A Few Words About the Webform Drupal Module Surpassed in popularity only by the Views Drupal module, Webform shouldn't miss from your Drupal toolkit. For it makes the most "usable" tool to rely on for building your custom contact forms/user registration forms/surveys. A far more efficient solution than building content types leveraging the Field module or using CCK. Drupal 8 Webform Module ... ships with a whole different code base than that of its “predecessor” and makes an even more powerful, feature-richer form builder enabling you to put together: flexible rich maintainable … webforms on your Drupal 8 website Moreover, its capabilities don't limit to the forms' building and publishing, but extend to: sending confirmation forms and client notifications collecting, storing and downloading form submission data as CSV Your Current Scenario Here's how we see your current “situation” in... 4 steps: First, you installed your Drupal 8 Webform module Then you rushed to add a webform to a content type … so you went to admin/config/content/webform and checked your content type, next you saved your webform settings And then ... you “hit a blank wall”! No clue whatsoever where to go next to attach your webform to your content type... The Solution to How to Add a Webform to a Content Type Now the above screenshot's “transcription”: You navigate to your Content type's edit page: /admin/structure/types/manage/[ContentTypeName] See the “Webform” tab, on the bottom left side of the screen, right under the “Menu Settings” tab? Just go ahead and enable it and your webform will get automatically attached to that specific content type Tada! This is how you add a webform to a content type in Drupal! You just knew it couldn't be anything more complex than a two-minute job, right? How to Embed a Webform Inside a Node Content: 2 Solutions In other words: no matter which way you take it, you'll reach the same “destination”. Here are the 2 methods available to you: you go ahead and put together a custom Panel page for your node; one with the content area incorporating both the “node being viewed” and the custom block displaying your web form you leverage the Webform module's power: simply create your web form via the module's user-friendly UI and then just add your form to your “target” content type Tada... again! The END of our more or less “enlightening” little tutorial on how to add a Drupal 8 Webform to a content type on a Drupal site. Good luck with your... form building! ... Read more
Adrian Ababei / Nov 30'2017
What Makes Drupal The Most Suitable CMS for Your Content-Heavy Website?
It's overwhelmingly lengthy, it's discouragingly “crowded”... it's your checklist to follow when choosing the right CMS for your content-heavy website! And there's no way around it: you need to check them ALL off, all the must-have features and functionalities included there. For you can't afford to make compromises on security for a boosted performance, for instance. And you sure can't get away with trading high speed for easy authoring, right? Or with accepting anything less than “the very best” editorial experience for the sake of easy-to-customize design, for example. It should be an all-in-one CMS solution!  Well, it looks like Drupal is the only platform to fit the profile: it lives up to your legitimately high standards and is capable to meet your content-packed site's specific needs. Here's why:   1. It's Ideally Flexible & Conveniently Extensible Dare to dream big, for your Drupal site's content infrastructure is built to grow, seamlessly and almost organically, at the same rate as your future plans! For any performance, security, content management-related, or any other heavy-content site/industry-specific functionality that you might need to add... there is a Drupal contributed module! … or there is a team of Drupal developers ready to write custom code for you and build your custom-fit Drupal module from scratch! And here are 2 possible scenarios where you could capitalize on Drupal's impressive flexibility and extensibility:   you need to integrate SalesForce with your website: there isn't just one, but several Drupal modules that you can use for injecting this type of functionality into your website you need to add an Apache Solr to your search bar for indexing results (a critical integration for any large-scale, content-heavy website): Drupal turns this type of integration into a... breeze   Whether it's a blog or a content-packed, high-trafficked website that you own or plan to build: Drupal's conveniently extensible to fit any size, any business needs.   2. It Provides a Both Flexible and Rich Content Authoring Experience Here's another strong reason why Drupal's the right CMS for your content-heavy website: it makes content authoring unexpectedly easy! “Armed” with the WYSIWYG editor — which makes such an easy to use content management and editing interface —  with URLs, taxonomy, custom lists and tags, your editorial team gets to:   craft edit publish perfectly structure   … content on your site. Podcasts, articles, infographics, guides, e-books, case studies... your heavy infrastructure gets ideally easy to manage with Drupal as your site's backbone-CMS.   3. It Ships With Impressive Database Accommodation Capabilities Not only that your Drupal CMS's built to seamlessly accommodate your large and enlarging database, but it ships with organizing and sorting features, as well. Features/functionalities delivered to you in the form of dedicated modules. In other words: setting up your customized, ideally structured, perfectly usable library calls for zero custom code writing when using Drupal as your website's CMS!   4. It's Open Source, Making It a Perfectly Suited CMS for Your Content-Heavy Website Drupal's open source nature opens the door to a whole world of possibilities (free of charge) to you! Just imagine this scenario here:   Your heavy-content website has a huge influx of regular visitors and then...all of a sudden... a big nasty bug attacks! And it's just inevitable when we're talking about a content-rich website, with content being added and updated almost on a daily basis!   What do you do then? You reach out for a patch digging deep into all the free resources put at your disposal by the Drupal community! Just think of all the costs that you'll be cutting off when building your large-scale project with so many modules, site elements specific to your use case and features out there for you to just... “grab” and implement.   5. It Meets The Highest Government Online Security Standards High waves of traffic and a robust content infrastructure do come at a cost: the cost of the highest levels of security. And it's by far the most important point on your checklist to finding the most suitable CMS for your content-heavy website. Drupal's already built a solid reputation around it as the CMS that powers government and high education websites. Need we add more? If it's powering and safeguarding the White House's website from cyber threats, then it must be built with high-security standards mind, don't you agree? Where do you add that, in addition to its robust built-in security features, there's always the worldwide large Drupal community out there to “alert” if something goes bad. A community constantly monitoring Drupal's status at a security level.   6. It's Highly Customizable in Terms of Design  How to design content for heavy websites? The best example in this respect is the Panels module that Drupal puts at your disposal. Harness its power to create layouts perfectly tailored to each specific use case.  How? With drag and drop! Put together the custom layout and then just fill it in with its corresponding content. Hence, you get to personalize each page on your website all while keeping a visual continuity throughout it!   The END! Do you find these 6 reasons strong enough for you to start seeing Drupal as the most suitable CMS for your content-heavy website? What other must-have features (if any) would you add to your checklist?... Read more
RADU SIMILEANU / Nov 23'2017
10-Point Drupal SEO Checklist: Before You Launch Your New Site
“Hasty climbers have sudden falls...” So you're ready to take off. To release into the wild that shiny and new Drupal site of yours, carrying hundreds of hours of work. It's got the looks and it sure has the power, but is that all it takes to ensure it a successful launch? How about SEO? Here's the essential Drupal SEO checklist to go through for boosting its search engine ranking and for ensuring it a significantly high traffic wave right from its early days.   1. On Top of Your Drupal SEO Checklist: Is The Redirect Module On?  Take it as a more than handy solution for getting your users on the right track. The track to your Drupal site! Practically here's how this module works:   whenever a potential site visitor clicks a broken URL to your website  whenever a user enters a typo while trying to access your site   … Redirect... redirects (obviously!) those users from their way to “no man's land”, where those broken links (and typos) would have taken them, to your welcoming front page. Moreover, the module helps you keep track of how many times your site visitors land on your website via redirects!   2. Have You Been Using The Pathauto Module to Create MEANINGFUL URLs? In other words: have you actually built your Drupal site for the users? And implicitly for search engines, too? For, if not, neither of them will “digest” those “node/123” type of path aliases that Drupal automatically created for you. This is where the Pathauto module comes in handy: it will set up specific patterns and rules to be followed when putting together new URLs, making site navigation a breeze for your visitors and search engines' bots crawling in. In short: it creates “meaningful” links, replacing the “node-like”, totally user-unfriendly URLs on your Drupal site. How could we have possibly not included this point in your Drupal SEO checklist, right?   3. Does Every URL On Your Site Include a Target Keyword? We're well aware of it. This sort of “mapping” all the targeted keywords on your website and all the associated page URLs is probably one of the most tedious of all the steps included in your Drupal SEO checklist! Yet, it's worth it! And it's crucial that you carry it out now, before launch day:   double check whether all those keywords included in your “target keywords list” (that you will have set up after a throughout keyword research process) are there, on your Drupal site next, that every web page has a target keyword assigned to   Where there's a gap, a “missing” keyword or a URL with no focus keyword, make sure you fill it in!   4. Have You Enabled the Site Verification Module? No? Then hurry up and get it enabled and properly configured. The insignificant time you'll spend and the little effort you'll invest in carrying out this quick step is minimal compared to the benefits you'll reap:   the Site Verification module will indicate to you all the boxes to check for “reassuring” search engines that you actually own this site which will grant you access to more in-depth, private Google search data    … and help win web crawlers' “trust”; they will then crawl your website more “confidently” and this cannot but translate into high ranking for your new Drupal site.   5. Is The Global Redirect Module Enabled? And Properly Configured, too? Is it a Drupal 8 site that you're about to launch? Then just skip this step from your Drupal SEO Checklist: in Drupal 8 the functionality we're about to point out to you has been “injected” into the Redirect module! If not, we strongly recommend you to “team up” your Redirect module with Global Redirect. And here are the arguments:   it monitors and runs tests on all your URL, the ones without a trailing slash here included it makes sure that all your site's links are case-insensitive it redirects those “unlucky” users that run into broken links from a far less welcoming “404 page” to your site's front page instead   In short: as you leverage these 2 modules' powers you're basically welcoming in all potential visitors; both those trying to access your website and those who are already surfing it, trying to get to specific pages on your site, and all this even if they use broken access links.   6. How About the Search 404 Drupal Module? And speaking about properly handling All user requests, even to temporarily inaccessible sections of your Drupal site, the Search 404 module makes your best ally! It does precisely what its names says: it helps you greet those “unfortunate” visitors with a “404” page instead of a discouraging “Error: Page not Found” one. Moreover, it “rescues” them from that “dead-end” type of page by recommending them an alternative URL on your site. A true “bounce rate” killer!   7. Are Both The Google News Sitemap and The XML Sitemap Properly Configured? And what handier way to make sure that they are than by simply installing and correctly configuring the XML Sitemap module? It will automatically set up that bot-friendly map of your Drupal site that search engines can use to crawl in and easily index your website. So, once you've enabled your module, make sure you go for the right configuration options at admin/config/search/XML sitemap and that you properly set up your XML Sitemap.  Note: no need to put together your site's XML sitemap if it contains AMPs! Now that you've reached that point of your Drupal SEO checklist where you're addressing issues that might make your website inaccessible (or simply “unattractive”) to search engines, here are just a few more aspects to check:   that you've left no duplicate content lingering on your website that there are no broken URLs that web crawls can easily... crawl any page on your website that there are no pages lacking any sort of content or having too little of it   8. Have You Used Proper OG Tags? A Key Box to Check on Your Drupal SEO Checklist! Why should you rely on... chance while striving to make your shiny and new Drupal site ideally social when you can actually control its appearance on social media. And OG (Open Graph) tags make a great example of how you get empowered to define, yourself, how your site will look on Facebook, which taglines to be used, which images etc. Just double check that you've implemented the most suitable, properly descriptive ones before you... press that launch button!   9. Does Every Page on Your Drupal Site Have A Unique Title? “A unique and meaningful title” we should add. Do not underestimate the power of an attractive, SEO-friendly title! And if you want to make sure that all the pages on your brand new website have titles that:   stand out in search engines stir attention match the user's search terms   … just lay back and let the Drupal Page Title module do all the hard work for you.   10. Are Your Meta Tags Attractively and Relevantly Descriptive? They should be, so mind you don't neglect them before you let your site... take off! Since meta tags still enjoy a “VIP status” among on-page ranking factors. And for streamlining the whole meta tags SEO-optimizing process just harness the Metatag module's power! It will:   provide you with a user-friendly UI for managing your meta data  enable you to easily fill in your metadata fields with relevant keywords, with a user-friendly, SEO-optimized page description and so on grant you additional control over your Drupal site's looks when shared on social media   End of the list! The essential Drupal SEO checklist for you to go through if you want to jump-start your SEO before launch day! ... Read more
Adrian Ababei / Nov 02'2017
7 Common Drupal Mistakes That You're Probably Making On Your Website
Imagine your Drupal site as a... patient who has received the wrong diet (or who simply hasn't been told that he should stick to a special diet in the first place) and all the wrong medication, as well. A silly metaphor for the most common Drupal mistakes that you might have been making on your website. ... and whom (your website “patient”) you're now striving to train for the Olympics, meaning to boost its overall performance.  It's not going to work unless you “detect” those common issues deriving from improperly handling your site and from deviating from Drupal's best practices. And not before you get them fixed, obviously. And how can you know for sure whether you are making these “popular” mistakes on your Drupal website? Easy! You just give an honest answer to each one of the 7 questions from our little “investigation” here below. Ready?   1. Have You Been Ignoring the Drupal Updates? Just admit it!  And then try counting how many times you placed the Drupal Core and Contrib Drupal Security Advisory at the very end of your priority list. Or just how many times you ran the suggested upgrades selectively? The more time has passed since you stuck to this “bad habit”, the more vulnerable your Drupal site's become.  This is, undoubtedly, one of the common Drupal mistakes and the “ultimate” source of the most security threats. Note: For instance, if it's an unacceptably long period of time that we're talking about since you stopped maintaining your website properly (if it runs on a version older than Drupal Core 7.32), then it stands all the chances to have turned into an easy target for Drupageddon attacks.   2. Are There Any Unused Modules Left to Linger On Your Drupal Site?   bogged down site performance (with your way too large database as a “culprit”) high impact security issues unnecessary overhead   This is precisely what you get when you're being negligent in managing your unused modules (or themes). Those modules that maybe you just installed and took out for a quick spin, fascinated with their much-talked-about functionality, and that you no longer use. Yet you just leave them... be. And weight down your database with an unnecessary load of source code. Some of them might be lingering there since... your site's early days. Think of all the developer and administration modules (e.g. Devel or View UI) which shouldn't be overburdening the production version of your website. Yet, they still do! They're just being tolerated and gradually turning themselves into some major security issues if no one in your team deals with Security Advisories regularly. The solution to this issue, that can easily make it to top 3 most common Drupal mistakes, is as clear as daylight: uninstall all the modules and themes that you're no longer using! Don't just bundle up unnecessary overhead. And while the solution is ridiculously handy, the benefits are definitely worth the time and “effort”:   improved file system instantly boosted site performance   3. Is The PHP Filter Module Enabled? One of the Most Common Drupal Mistakes Just skip this question if it's a Drupal 8 website that you own. For this specific module has been (thank God!) removed from Drupal 8 core. Now, getting back to the PHP Filter module, which many site owners decide to enable (like you, probably), here's why you should rush to... uninstall it:   practically it's an invitation for all ill-intended users to easily run PHP code right there, on your website once enabled, it's quite a challenge to.. disable it before you've reviewed your site's content thoroughly and if you skip this step (the close reviewing of your site content), you risk displaying PHP code in plain text on your website (which could turn into a true security “crate” if not detected before you disable the module)   4. Are You 100% Sure the JS/CSS Aggregation Settings Have Been Correctly Configured? If so, then the JavaScript and CSS files that Drupal renders in HTML can be easily bundled up and compressed. But if not properly configured, your users' browsers will be forced to process far more requests in order to render your web pages' content. Which will inevitably impact your site's page load times.   5. Have You Managed to Avoid the Common “Overusing Roles” Pitfall? Or not? Don't be too harsh on yourself if you have, indeed, “overused” the user roles system. It's, undoubtedly, one of the most common Drupal mistakes website owners make after all. And what else could you have done when the default user roles that Drupal provided you with just didn't fit the specific permission levels you had in mind for your users, right? You went ahead and created your own roles... Unfortunately, these newly custom-made roles can easily:   lead to Drupal admins being forced to edit each and every user role separately whenever he/she has to update the permissions cause “security craters” when not properly configured  (overusing roles, along with their “collections” of permissions, can) impact your site's overall performance (particularly when you're striving to manage each and very set of permissions in their associated user roles)   6. Have You Configured The Full HTML Input Format for Your Most Trusted Users ONLY? Or have you simply overlooked it entirely? Have you just disabled HTML filtering from the HTML Input Filter completely? By configuring the Full Input Format for ALL your users, you're basically granting everyone permission to post HTML on your website. This way, you're just opening a gateway for any user to embed malicious code on your Drupal site. Even a banal little thing such as an image tag can easily turn into an "injectable solution", a dangerous one, in the hands of an ill-intended user who can post HTML on your website just like that. Now here's what you should do to avoid this scenario:   make sure that your filter is configured for some users ONLY and, even then, that you set only the specific set of tags they'll need to use make sure your default and custom Input Filters are correctly configured so that they pose no security risks scan your database through and through identifying any possible suspicious code that might have been injected already   7. Are You Weighting Down Your Database With Too Many (Unused) Content Types? Do you need ALL the content types currently overcharging your database (considering the fact that three database tables get added to your database with every new content type that you bring on)? Are you actually using them all? For, it not:   your database is unnecessarily overburdened your content editors' workflow is unnecessarily complex due to the whole network of confusing content types that they need to tangle themselves up in And now the solution to this issue, for certain one of the top most common Drupal mistakes: Just run an inventory of all your content types, sort them into used and no longer used ones and... just "trim the fat"! Get rid of those that are just filling in space in your database! This is our top 7 mistakes that you, too, are probably making on your Drupal site (even if not all of them). Now that we've exposed them to you we can't but end our post with a conclusion/piece of advice: The handiest way to optimize your website's performance is by preventing performance issues to occur, in the first place. Now that you have them “brought to light” it should be easier, with a little bit of effort, to avoid them, shouldn't it? ... Read more
Adrian Ababei / Oct 30'2017
Drupal Migration Services
Have you decided to move your website from Wordpress or Joomla to Drupal? Or maybe you are looking to upgrade Drupal 6 or 7 to Drupal 8?  If you answered ‘yes’ to either one of those questions, then a Drupal migration is the next step for you. Excellent choice! We know it wasn't easy for you to finally make this decision. We also understand that you now face a major challenge. Drupal is a scalable and flexible solution that can be moulded into anything you need it to be. It has enterprise-level security and an innovative modular-type system. It also has a steep learning curve because of everything you can do with it. Because of this, it requires Drupal specific developers who have to know how to use it to its full potential.  Optasy is here to make this transition smooth and time-effective. The goal is to have the least amount of impact on your company's daily activities as possible. Downtime = lost revenue and we don't want that to happen.    Steps To Migrate Your Website To Drupal Step 1: Your website will undergo a rigorous analysis. Our team of Drupal experts will take a close look at your current system's database. We perform functionality tests and deeply analyze the current framework. We then come up with a customized solution specific to your company's website needs.   Step 2: Decide which modules and design theme your current website can migrate to Drupal. Then we figure out which ones we'll develop from scratch and which ones simply need an upgrade.   Step 3: Once planning and analysis are complete, the migration of your website's components begins. This includes content, your database, usernames, emails, plugins, extensions and user groups. It also includes metadata so that you don't lose any previous SEO work completed. We handle this with the greatest caution. We secure your valuable data and make a smooth transition from one platform to another. Step 4: Test, test and more testing. We test until we are 100% certain that your newly-built Drupal website runs perfectly. And with significantly improved performance.   A Smooth Migration Process We guarantee you that the whole migration process will go smoothly. It won't interfere or slow down your team's workflow. It also won't cause any downtime on your website, so you won't lose out on profits.  Our confidence relies on our access to using the best tools and resources. We also apply a proven efficient methodology based on many years of experience. The migration process of your website happens on your server and behind the curtains. This guarantees zero impact on your daily workflow. It enables you to keep making sales or getting leads while your website migrates to Drupal's platform.   Benefits Of Optasy’s Drupal Migration Services Faster website Improve performance No downtime Experienced Drupal experts Seamless data and content migration Maintain SEO work previously completed   Upgrade To Drupal 8 Upgrading to the new Drupal 8 will make your website work (and look great) on any device.  Some other key benefits of making the switch to Drupal 8 are: Mobile-first ready. This version of Drupal has been designed to embrace the shift towards mobile. Fully responsive web design right out-of-the-box. Multilingual features. The platform is built to support any language. Mobile friendly admin features. Now you can see everything right on your phone. Supports mobile app development. Easier to add content more than ever before. Flexible content delivery. This enables you to create and deliver content to any channel, device, or application. ... Read more
Adrian Ababei / Sep 15'2017
7 Reasons Why We Think Drupal Is the Best CMS
We think Drupal is the best CMS Okay, we admit it. We love Drupal and have a bias towards it. We do know other CMS' (content management systems) have their benefits and purposes. But this blog post isn't about them. It's about why Drupal is the best. Drupal isn’t for everyone. You do need a dev team to support your website to customize Drupal. And to be more specific, you need one that is well-versed in Drupal specific development Every developer has his or her own personal favorites. After working on Drupal websites for many years, we have grown to love Drupal. So here is our completely biased opinion on why Drupal is the best.   1. Drupal Is Customizable Drupal allows for very high levels of customization. With Drupal, if you think it you can build it. The framework of this CMS platform itself never limits you. With Drupal, it’s easy to customize your site to have app-like features. Websites have become more complex these days with a lot of various functionalities. Working with a flexible system has become important.   2. Some Of The Largest Sites Use It Drupal is a powerful CMS, open-source, that sites like Al Jazeera and The Economist use. Drupal is structured like building blocks, which makes it flexible. The modular architecture makes it ideal to handle scale and continuous integration. Developers get more control over the code from the ground up (i.e. you can build anything).   3. Drupal Is Built For Scalability Drupal’s modular building block system allows for easy scalability. Out of the box, it’s easy to integrate with other applications. This integration is usually needed at an enterprise level. Another feature that makes it scalable is that you only select the modules you need on a per-page basis. This eliminates a lot of excessive and messy code on pages that don’t need every module. Drupal offers a series of articles on how Drupal can be configured for optimal performance and scalability.   4. Drupal Offers Enterprise-Level Security Drupal offers enterprise-level security. High profile organizations like the White House and Nasa use it. The Drupal core code base is very stable and secure. Drupal has a security team comprised of a global group of web security experts. They take security very seriously. Their job is to analyze and report any security vulnerabilities. Because most sites that run on this CMS platform need an expert Drupal developer, the Drupal community is efficient at working together. There are over a million experts to review code and functionality. Any potential issue is quickly identified and dealt with before it becomes a threat.   5. Drupal Is Fast One of the things that differentiate Drupal from other content management systems is that it has built-in caching. In plain English, this allows for content to be delivered quickly. What Drupal also does is allow you to select modules to run a per-page basis. This eliminates unnecessary code that can slow a page down. Not everything needs to be a part of the site-wide template. Keep in mind, there are other factors - not Drupal-specific - that can really slow things down. Things like the size of images, number of images on a page, number of requests to the server a page makes, and the number of modules running on a page. There are helpful (and free) tools out there, like webpagetest.org, that provide lots of tips for helping to speed your Drupal site up.   6. Drupal Is Multilingual Drupal modules come in 90 different languages. You can display your site in multiple languages and allows users to switch languages easily. Here is a resource guide for configuring a multilingual site.   7. Drupal Is Good For SEO If you know anything about search engine optimization, you’ll know that Google is soon-to-be making a big switch to a Mobile-First Index. (It’s a pretty big deal.)  Drupal 8 is also supported by a mobile-first philosophy, so it’s ready for the future of SEO. Drupal is very search engine friendly. Here’s a good explanation of what Mobile-First Indexing means. Drupal offers excellent plugins for optimizing content. A couple of favorites are the Metatag module and the XML sitemap module. Drupal provides a limitless platform for you to deliver amazing content. A solid framework – that can functionally do anything - is key to building your presence on search engines. If you are looking for Drupal Web Developers for your next project, please get in touch. We are always happy to start a conversation. ... Read more
Adrian Ababei / Sep 08'2017
Drupal 7 vs Drupal 8: Should You Upgrade or Migrate?
To upgrade or to migrate? To keep supercharging your current Drupal 7 site with new cool features or to get it straight to the next league? A so much more than just another Drupal 7 vs Drupal 8 debate: it's a decision impacting your budget and future-proofing (or not) the enhancements that you're about to implement. In this respect, our web development team in Toronto has done its best to “pile up” the crucial pros and cons for each one of the two paths that you're now challenged to choose from. Think them through, give honest answers to all the strategically chosen questions included in our little “questionnaire” here and you'll find your (own) way of leveling up your website:   To Upgrade or to Migrate? And a Few Other Key Questions to Ask Yourself So, here you are: facing the challenge of taking your Drupal 7 website to the next stage of its evolution! But which one is it: the upgrade phase or the migration one? Now here are some preliminary questions to ask yourself right now. It's the answers to these particular questions that will weigh heavily, later on, on your decision-making process: 1. To what extent will this “maneuver” influence my website's stability, lifetime and level of flexibility? An extra boost of flexibility, reflected in the “edit content on-the-go” functionality, or the perspective of ongoing support for many years to come will undoubtedly influence your decision! 2. Will my site's code get easier to maintain? And this is a crucial question to be asking yourself at this phase of the whole decision-making process: how convenient will it be for your Drupal developers to maintain/update your site's code on a long term? 3. How many resources of time do I need to invest? For time sure is money! How long will it take to implement those new enhancements on your website? Does it involve a lengthy training process for your team, as well? 4. How easy will it be for my administrators to manage content on my website? A simplified content editing/publishing process is what will guarantee you an independent editorial team. Empower your editors and your site admins and you'll streamline all non-coding processes on your website! With each question that you'll answer you'll be sketching your company's “specific context”. The one favoring either the upgrade or the migration way for ramping up your Drupal site!   Drupal 7 vs Drupal 8: Key Comparison Notes  Does its “age” automatically give Drupal 7 an advantage over Drupal 8? No doubt about it! Drupal 7 is now capable to “tempt” you with a heavier load of modules, stable modules and with a longer period of time that the Drupal community has spent constantly improving it. And yet! Drupal 8, although “younger”, is taking advantage of Drupal 7's weaknesses and shortcomings. Basically, it's equipped with all the functionality that its predecessor lacked. Speaking of which, here's what Drupal 8 brings new to the table: top popular modules have been moved to core   an advanced, easy to handle configuration management system   mobile-friendly backend: jump on the “edit content on-the-go” trend   a new era for the “content as a service” movement, thanks to its API approach to content delivery   object-oriented code: by using Symfony and Twig Drupal 8 “surprises” you with a more logically structured code (do take into account, though, that your developers will have to be already familiar with object-oriented coding)   easier-to-edit content: the very essence of content management    one-click code deployment: deploy your code faster and (therefore) as frequently as you have to   pre-built multilingual support: you no longer need to leverage a whole “fleet” of modules for supercharging your website with multilingual capabilities   ramped up performance and scalability: 2 enhancements you just can't underestimate especially if it's a large-scale, content-packed website that you own (one carrying a heavy ecosystem of third-party technologies “pomping” data into it)    easier third-party integration   Your Final Decision Depends Greatly On... the number of custom-built elements on your current Drupal site: the more of them, the more complex (lengthy and pricey) moving it over to Drupal 8 will get   the goals that you're aiming to achieve via your new enhancements: is it just a new basic feature (just a few hours' work) that you're planning to add or a major enhancement, which would justify the migration process?   the “weight” of your Drupal 7 site's load of data: and its complexity, as well   whether you have a standalone website or a multi-site: needless to add that you should have all your sites (if it's a “cluster” of sites that you own) running on the same version of Drupal    your company's resources of time and money: an upgrade of your current Drupal 7 website won't, indeed, impact your budget to the same extent as a migration process would    Upgrade Your Current Drupal 7 Site If... it's mostly custom-built: it features custom modules, custom-made workflows which would take longer to recreate and to adjust to Drupal 8's particularities   you need to have your new enhancement(s) up and running on your website in no time   it's basic features only that you're planning to upgrade it with   you're constrained by a tight budget: a factor which will weigh heavily in the Drupal 7 vs Drupal 8 balance   Make the Leap to Drupal 8 If... the specific workflow on your website depends greatly on a streamlined content editing process   you need to make code deployments on a regular basis   it's complex enhancements that you want to implement    your current Drupal 7 website is a low-complexity one   the overall success of your upgrade strategy depends on high levels of performance and scalability   you value the ongoing support which, well, the Drupal 7's support team will stop offering you at some point   So: Drupal 7 vs Drupal 8? Will you stick to the former or level up to the later? Which direction do our “questionnaire's” results point you in?             ... Read more
Adrian Ababei / Aug 30'2017
The YAML Content Module: A Handy Tool to Outline the Content to Import!
Consider these 3 real-life scenarios: you need to “populate” a newly developed Drupal website with content you need to migrate content from one Drupal website to its freshly redesigned version you need to quickly “animate” a website wireframe with some demo content for one of your Toronto digital agency's clients The YAML Content module is: a handy tool ensuring a streamlined import/update process a flexible way for you to manage the content that you need to migrate / update … in each one of the 3 above-mentioned use cases! Basically: it helps you outline (mind you don't connect it to the module Outline) it the content to import by leveraging a YAML format it streamlines the whole process helping you define a set of content which can be found in multiple content files on your site it turns content updating/re-importing into a highly flexible, highly dynamic process thanks to the hierarchical way in which you get to visualize it and scan it through (notice the resemblance with the module Outline, which enables you to organize your entities in a hierarchical structure) In other words: the YAML Content module turns the entire defining, structuring and dynamic updating of the content to be imported into an ideally streamlined process! Now let's see why such a module was needed in the first place. What sets it apart from other Drupal tools alike:   The Interrelation of Content: Now a Problem Solved With an entire “ecosystem” of Drupal modules ready to take on the role of importing and migrating content, a valid question might be: “Why the YAML Content module?” What obstacle does it help you overcome? What added value does it provide? Now if you've already dealt with content import scenarios, you must have surely “bumped” into the interrelation of content issue, right? It's precisely this “sore point” that this content utility module comes to “heal”! Practically you're enabled to define processing callbacks across the content to be imported and thus to easily insert new data/modify the existing one during the import process itself! And here are some examples of tasks that you get to carry out precisely at the time of import: import/reference managed data files import image files query existing entities There's more! Besides “dynamic processing”, you're granted with almost unlimited flexibility in terms of the type of entities that you get to define during this process. It's thanks to your content's YAML format, which closely parallels the entity and field API architecture, enabling you to apply it to almost any entity type and to support multiple field types: menu links nodes media entities file entities taxonomy terms block content But There's no UI: How Can I Use the YAML Content Module? It's true: the module doesn't provide a user interface! It's been built with back-end utility in mind. In other words: you're triggering and managing the entire content importing process exclusively via some simple Drush commands! Just run this command in Drush: drush –filter=yaml_content … and you'll get the whole list of commands available to you for interacting with the YAML Content module. It will present you both with the commands that you need to use for importing your content files and the ones that you'll need for a “developer usage” of the module (meaning: if you need to delve deeper into the import services). Leverage This Particular Directory Structure to Find The Content to Import And this assumed file structure looks likes this (whether we're talking about a module, a profile or a sub-directory): /content: all.content.yml files that contain the content data to be imported /images: all images referenced /data_files: all file assets using a file callback for loading and which are referenced Wrapping Up Things will never be the same again whenever you need to import content in a Drupal site! enhanced user-friendliness for tracking down the content you wish to import more “order” (thanks to the YAML format) in structuring your target content to be imported, which implicitly leads to a more streamlined import process much more flexibility in managing your content … the YAML Content module provides it with all and thus manages to stand out from the crowd of modules tackling the same content import “issue”. Feel free to take it for a spin next time you need to import/migrate content to a Drupal site! ... Read more
Adrian Ababei / Aug 21'2017
3 Ways to Translate Language Strings in Drupal 
Does anyone of the following scenarios sound familiar to you?   you need to translate a few language strings on your Drupal site due to a certain dialect that the great majority of your site visitors use       you simply prefer to see certain messages or labels on your website written slightly differently (let's assume that you prefer the “Add new content” textline to the “Add Content now” default one)   you need to go multilingual (on your Drupal site at least) and you have a whole heavy load of language strings to be translated into those target languages   What do you do? Which are your options? Which one guarantees you a streamlined translation process? And most importantly: which one makes the perfect fit for your own site-specific scenario? Let us try and answer all your questions by presenting you 3 approaches to language string translation in Drupal:   1. Use the String Override Module Now before we go on with our short step-by-step guide on how to install and to turn this module into your handy translation tool, we feel like pointing out its “limitation”. It makes a more than handy tool mostly for all those small changes that you need to apply to just a few strings on your Drupal site. Therefore, using it for a full-site translation “marathon” is probably not the most inspired choice. This being said, let's break down further with our step-by-step installation and configuration guide: Step 1: Download and Install Your Module You'll find it here: https://goo.gl/aCJGyy you've successfully downloaded it, go to “Modules” > “Add New” > use your “Browse” and search for the file you need to upload > “Install” Next just briefly “scan” the enabled boxes corresponding to your two String Overrides fields there and, if everything looks OK to you, hit the “Save configuration” button!   Step 2: Trigger Your Module from the Configuration Menu Now navigate to “Configuration” (you'll find it “neighboring” the “People” and the “Modules” tabs on top of the page) and, unfolding its menu, go to “Translate Interface”. It's the last option listed there (after the “Regional and Language” one). Next just give it a click! Step 3: Now Go Ahead and Replace Your Language String Just enter the exact string that you want to replace/translate on the left side of your screen (in the “Original” section) and its replacement string/its translated version on the right side (in the “Replacement” section). Easy peasy! And where do you add that the module even enables you to streamline things even more: you even get to replace multiple language strings simultaneously just by adding some extra rows.  Wrap Up: as already mentioned, the String Overrides module makes a great choice for “small-scale” string translations only. It enables you to track down the strings you need to change and to replace them with the new ones in no time. Yet, when it comes to translating an entire Drupal site, manually overriding every single language string using this module is hardly an effective solution. Such a “challenge” to respond to calls for a more powerful module such as the Locale module. 2. Use the String Translation Module for Handling User-Defined Strings Also known as the i18n_string module (falling under the Internationalization project's “umbrella). Now if the just mentioned Locale module (along with the .po files) enables you to translate hard-coded language strings, the String Translation module empowers you to translate the user-defined ones, too. And here we're referring to taxonomy terms, menu items, field names, which are a bit “trickier” when it comes to translating them, since you can't just rely on Drupal 7 core for that. Also, another important specification that we need to make is that this is an API module! Therefore, it doesn't work as a standalone solution, but rather “supports” other modules from the Internationalization group. And when it comes to the UI that you get to use to translate language strings in Drupal using this particular module, you should know that it's incorporated in the localization system: go to Administer > Site building > Translate interface for translating your user-defined language strings. "And how does it work exactly?" you might legitimately ask yourself. Here's how: it uses the Locale's module standard translation page (the above mentioned UI) for enabling you to translate the user-defined strings that it will have collected    but not before you haven't defined your site's default language (and it's not always English)   and it does this by grouping strings into “text groups” (you can find these groups of user-defined strings named “Profile”, "Menus” or “Taxonomy”, at admin/build/translate/search, under the "Limit search to:")   Notes:   do keep in mind that whenever you're translating your user-defined strings, the source strings that will get stored will be displayed in your default language    in case the default language on your website is not English, you still get to import/export English translations relying on your localization UI   a sort of “warning”: whenever you change the default language on your website you'll need to remember to redefine all your source language strings, too (the user-defined ones, of course)   in short: get yourself informed of all the implications deriving from changing your default language, since this goes hand it hand with a never-ending string editing “ordeal”, too   all the other translations on your website will be kept “unharmed”   yet, as a rule of thumb, you should be changing (if it's necessary) the default language on your site at the very beginning of its development process; later on, once you have your site up and running, changing it back and forth and in several different languages will only lead to... “language string chaos”   3. Use the Strings Overrides in Settings.php to Translate Language Strings in Drupal You'll get to carry out the entire process in the settings.php file and where do you add that you don't even need to download, install and configure any extra module: it all happens in Drupal core. Yet, you should be fully aware that it's not a method for the inexperienced either. We're not going to hide it from you: it does require a certain level of coding “expertise”. Moreover, the same specification that we've made for the String Override module applies to this method, too: it's a tool to be used for small-scale string translations. Not the best choice when you're faced with much larger-scale translations! And now, shall we proceed with our explanations on “how it's done”? 1. Edit your settings.php file and go right up to line 430 (or somewhere 'around” it) 2. Next, uncomment this code (so that you can later on enter your translated strings)   434 # $conf['locale_custom_strings_en'][''] = array( 435 #   'forum'      => 'Discussion board', 436 #   '@count min' => '@count minutes', 437 # );   Note: in case the default language on your Drupal site is not English, remember to make the due modifications in the array key locale locale_custom_string_en so that it should reflect the actual language on your website! Now let's assume that you're being “dared” to translate a whole lot of language strings on your website.Then you sure need to streamline things a bit, right? For this you can rely on the i18n_string module, the API String Translation Module that we've just put into the spotlight.  Just edit your settings.php file by entering this new line of code: $conf['i18n_string_translate_langcode_en'] = TRUE; Or, if you're not that much into “tweaking” code in settings.php you can always rely on the variable_admin module (part of the Variable module). Here's how you get to leverage its functionality to translate language strings in Drupal:   first you navigate to admin/config/system/variable   next you click on the "Multilingual settings" tab   then on the "Enable translation for language" tab   set your default language   hit the “Save” button   And voila! Now you get to translate your language strings! How about you? Have you, by any chance, discovered other more effective ways to translate language strings in Drupal?     ... Read more
Adrian Ababei / Jul 07'2017