Mediacurrent: Module Spotlight: migrate_spreadsheet - Migrating from Excel sheets to Drupal

Planet Drupal - wo, 2016/12/07 - 9:38pm

Upgrading websites off of legacy platforms and onto Drupal is a pretty common request. One of the most helpful contributor developed modules, Migrate, is now in Drupal 8 core, which really solidifies Drupal as a great choice when having to make the decision of which CMS to go with when upgrading.  

Categorieën:

valechatech: Manage drupal 8 site configuration with features

Planet Drupal - wo, 2016/12/07 - 7:34pm
Manage drupal 8 site configuration with features

There are several ways to manage the drupal site configuration in Drupal 8 either by keeping it in the database or managing it at from the file system or managing with features.

I have launched couple of sites with the combination of the following best practices with managing features and configuration in file system

User Roles and Permissions are being managed by the Configuration Management because features does not export the permissions with the Roles
Using features for managing the other entities and rest of the stuff.

Below the screenshot of attached site structure of one my project

 

naveenvalecha Thu, 12/08/2016 - 00:04
Categorieën:

Lullabot: Drupal as a Political Act

Planet Drupal - wo, 2016/12/07 - 6:01pm

Like so many of you, both here in the United States and elsewhere, I am deeply troubled by the incidents of hateful harassment and the threats to democracy that have spiked since November 8. My thoughts have been routinely consumed with the task of analyzing my work and motivations, trying to detect any positive impact that my contributions have on the world. Because of my involvement in the Drupal community, my thoughts are as much about Drupal as they are about me. I am a proud member of our community and I cannot help but reflect on how the organization of our community brings people together, discourages hate, and promotes democracy.

What it would mean to "make the world better" is up for debate. We cannot be experts in all subjects, and a group of Drupal developers might not fully understand, for example, the policies that allow tax havens, the economic implications of a $15 minimum wage, how to combat predatory lending, or the solutions to climate change. Perhaps we have strong opinions on these topics, but many of us would begrudgingly admit that we know more about dependency injection, re-rolling patches, or even the hook system. That is, we know how to build Drupal websites. More importantly, to succeed in the Drupal community we are required to be considerate, respectful, and collaborative. We, as a community, vigorously reject bigotry, racism, sexism, homophobia, and xenophobia. This, in my view, makes the world better.

What is more, I would argue that Drupal blurs traditional boundaries. While certainly there are market forces that determine how Drupal is constructed, powerful legal and cultural nonmarket forces push back. Some Drupal agencies exist to turn a profit, but do so working primarily with public sector or non-profit organizations. Drupal agencies can be seen as capitalist in the sense that they accumulate surplus value by "exploiting the working class," but socialist in the sense that they produce goods that are owned collectively. Some have stated goals to invest value back into the community and others are "benefit corporations," required to make the world a better place. While I am tempted to place new labels on the Drupal community, such as "post-capitalist," I find such terms to be of limited use, and I am far more interested in finding common ground that unites our community.

Drupal code has only limited value without the community, and our community stands for values that transcend our code. I participate in the Drupal community because I believe it represents ideals that are consistent with my own. One of the beliefs that we hold in high regard is "doing good." It would be difficult to convince me that people, such as George DeMet and Tiffany Farriss, Todd Ross Nienkerk, or Lev Tsypin, have anything but the best intentions in the way they run their businesses. More importantly, these individuals, like so many others in our community, actually do make the world a better place through their work, compassion, and advocacy.

In some respects, the well-intentioned subset of our community exemplifies what Luc Boltanski and Eve Chiapello describe as "the new spirit of capitalism." In their study of management textbooks, they find this "new spirit" is characterized by, among other things, a "high moral tone" (58), a belief that workers should "control themselves" (80), structures where managers are essentially replaced with customers (82), and where bureaucracy represents a kind of "totalitarianism and arbitrariness" that should be avoided (85). While Boltanski and Chiapello find many faults with this "new spirit," generally, I would suggest that is has become more important than ever to acknowledge the many benefits that the people and organizations in our community have for the world. While critique and criticism will surely be needed, we should also continue to celebrate the impact that our software and colleagues plays in efforts towards ending poverty, empowering independent journalists, defending the free and open Internet, and educating people. Even though Drupal has been used for nefarious purposes, and there are many reasons to critique the Drupal community, I feel emboldened knowing that when people came together to build websites for DeanSpace, the United Nations, Amnesty International, Greenpeace, Oxfam, the ACLU, the Electronic Frontier Foundation, National Public Radio, Free Press, and the White House, they choose Drupal.

More than just software, part of the reason we "stay for the community" is because we place such a high premium on human interaction. Drupal contributors create public goods (free software) that can be used by one person without reducing the availability to others. If the public relations departments of mega-corporations extol the value of business and markets, while criticizing government and fair labor, the Drupal community takes an alternative approach that values solidarity. In this sense, our democratic practices threaten unjust power. Throughout history people in power have pushed back against the democratizing effects of solidarity to defend their positions of power. In his 1776 magnum opus on political economy, Wealth of Nations, Adam Smith famously observed, "All for ourselves and nothing for other people, seems, in every age of the world, to have been the vile maxim of the masters of mankind." With every Drupal Camp, DrupalCon, code sprint, community summit, and user group meeting we gather together in solidarity. Let us not forget all we do to encourage hope and camaraderie.

If you are discouraged by a world that turns workers against each other and treats citizens as consumers, pushing them to the malls rather than the public library, remember that we as a Drupal community are pushing back against the "masters of mankind." In the 1970s, Buckley v. Valeo may have determined that money is a form of speech, but because we work together, Drupal becomes another kind of speech. Most of us (the working class) must sell our labor in return for a wage or salary. So what I am arguing is not for our community to become noncommercial or anti-commercial, but instead that we consider expanding our horizon of expectations to allow for a conception of Drupal as a political act. I want us to celebrate our community and stand up against hate, inequality, corruption, and depoliticization. If that idea makes you uncomfortable, then perhaps consider the words of the historian Howard Zinn and his suggestion that what matters are "the countless deeds of unknown people who lay the basis for the events of human history." I hope that we can find common ground, build on what we have accomplished, and organize against the forces that seek to divide us against ourselves.

Categorieën:

DrupalCon News: Setting Diversity as a DrupalCon Goal

Planet Drupal - wo, 2016/12/07 - 5:54pm

The Drupal Association and the volunteers that contribute to DrupalCon strive to make our conference an inclusive and welcoming environment for all who come. We're actively seeking to increase the diversity of our speakers, attendees, and sponsors at DrupalCon Baltimore.

Categorieën:

Acquia Developer Center Blog: Migrate API in Drupal 8: A Tech Talk

Planet Drupal - wo, 2016/12/07 - 4:38pm

It’s one of the hottest tools in the Drupal 8 toolkit: the Migrate API, now part of Drupal 8 Core.

If you know how to use it, you can dramatically improve how quickly and efficiently you can upgrade a site to Drupal 8. In addition, you can use it to build regular, repeatable migrations in Drupal 8 that can pull in data from a variety of sources.

That’s why you should tune into this Tech Talk by Adam Jensen, Technical Account Manager at Acquia: (Don’t Hate) Migrate in Drupal 8.

Tags: acquia drupal planet
Categorieën:

Faichi.com: <a href="/blog/animate-your-site-in-drupal-8">Animate Your Site in Drupal 8</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
Currently we are using HTML5, JavaScript and CSS3 for animation. We have implemented these animations on a Drupal 8 site. Here are some basics of animation.   WHY ANIMATION?
  • Increases the usability
  • Guides the user
  • Facilitates branding
  • Helps user visualize
  WHEN TO USE ANIMATION?
  • To enhance design  
  • Interactive web application
  • Storytelling
  WHERE ANIMATION CAN BE USED?  
  • Navigation:
This is the most important element of the website because it is consistent across all pages of your website. Moreover it is the most frequently used element. Let us have a look at how navigation can be implemented via animation.     Here, when the user clicks on the hamburger icon, the navigation bar slides down. Sliding down is the animation use for navigation.  
  • Registration / Subscription Form:
When clicking or hovering on a particular field, we can implement the transitive effect which grabs the user’s attention.  Highlighting a particular block, shaking the screen when invalid content has been entered; these are a few examples of applying animation to the forms.     
  • Related elements animation:
When you want to display the relative content while hovering on it, related animations are used.       HOW TO USE ANIMATION?  
  • Interface Element Animation:
At times user repeatedly clicks on an object, unaware if the event triggered had any result.  For instance, in an e-commerce website if despite clicking on the Add to cart button the item being added in the cart is not displayed to the user, it may result in bad user experience.   However, if by clicking on the button, we make a cart icon pop up and increase the count by 1; this shows the user that the action has been performed successfully, thus avoiding the user to trigger the same event repeatedly.  
  • Waiting Animation:
If the content on your site is taking time to load, displaying a loader icon/sand clock prevents the user from clicking further. This is not something new for Drupal 8, this has almost been a standard since a long while now.  
  • Decorative Animation:
Animation is prevalent when it comes to designing a website. But it is crucial as to how we are using it.             An example of decorative animation could be; when a user clicks on the hamburger icon, the navigation panel appears and the hamburger icon turns into a cross icon.  
  • Responsive Animation:
Animation needs space to perform. The play area on desktop is very large compared to the area on a handheld device. There are two basic techniques to maintain the equilibrium between animation and devices.  
  1. Focused Art Direction
It is a technique that allows you to decide which element is important to animate.   If there are large numbers of animated elements on your website, it is difficult for you to move an element even 100 pixels on a handheld device.  Thus it is imperative to prevent unnecessary animations.  

 

Hovering effect applied on desktop, but avoided when on a handheld device.

 

RESPONSIVE CHOREOGRAPHY On a larger playground, i.e. on a desktop you have elements appearing in a linear manner. But the same when implemented and converted for a handheld device, appear in a stacked fashion.            PERFORMANCE Performance is always an issue. We can make your site animated and yet be exceptionally performant. There are a few fundamental rules and principles that need to be followed to animate your site effectively irrespective of whether it is built in Drupal 7 or Drupal 8.
  • Avoid the heaviest properties of CSS3
  Translate 3D – Translate 3D is very heavy for the browser to render. While working on an X Y and Z axis, The Z axis property for a browser is very difficult to render. It will take time to render in-turn impacting your site’s performance. An alternative for this is to use Perspective.    Backface (visibility) – A cube has 3 visible sides on the screen and the 4th face that is not visible. This property can be made True or False. When made True, it suggests that when that object is rotated the ‘backface’ property shows the 4th side which is unnecessary. We can omit this property completely since it is heavy for performance.    Will-change – This is a property available in the browser to indicate that something is going to change on this property in future. If you have 20 properties on a browser that are being animated, out of those 20 if you put ‘will-change’ property for 5 of them; the browser will not cache them. This impacts the performance, since it is not cacheable. For better performing website we need the elements to be cached, thus making them easy to render.  
  • Pick the correct technology
  1. Use of CSS3 will always be high priority because it has all the properties needed for animation.
  2. JavaScript significantly reduces performance. For instant, on a page load if there is a large JavaScript file to be loaded for animation, it would hamper performance.
  3. Use both (CSS3 and JavaScript) blended together carefully for animation.
  • Animate the most performant properties
  1. Opacity
  2. Scale
  3. Rotation
  4. Position
  These four properties are adequate for most of the animations needed on your site.    While conducting performance impact analysis, we notice how many properties in a web page are getting animated when the page is loaded. If there are 20 elements animated on a page during the page load, the browser needs to load all those animations in the background and before the page loads.   Another way to go about it is to delay the animation. The page loads and only the most important elements on the page are animated first. While in the background the rest of animations gradually load. This principle is called OFFSET ANIMATION START TIMES.   ANIMATION IN DRUPAL Drupal being a CMS, the content displayed on website should be animated, for effective presentation. And there are countless ways we can implement animation in Drupal. Drupal 7 has these modules developed:
  • Animate.css
  • Block Animation
  • Wow.js
  • Fullpage.js (sandbox)
  For Drupal 8
  • Either contribute
  • Use relevant .css or.js files

For a demo on how to implement animation in Drupal please visit: https://www.youtube.com/watch?v=G2KF6wcjnDw

 

Categorieën:

Faichi.com: <a href="/blog/eu-cookie-implementation-in-drupal-8">EU cookie implementation in Drupal 8</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
In this blog we are going to talk about one such functionality. We were required to implement EU cookie functionality in Drupal 8. EU cookie is mandatory for all European websites. There are many solutions available online to implement this feature, I used JavaScript for this task and it worked like a charm. This is how it works.   First we need to get the required JavaScript code from https://cookieconsent.insites.com/ as per our required consent popup. Once the code is retrieved, we need to convert this plain JavaScript into the Drupal 8 format.   For our implementation we needed to create a configuration form for settings. Along with that we were also required to add configuration to change scroll length after which the cookie popup would disappear. To make it EU specific we had to get the continent code from the API.   Step 1: Create form.php in src/form containing form of settings in your module: <?php /** * @file * Contains \Drupal\module\Form\SettingsForm. */ namespace Drupal\module\Form; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; /** * Form builder for the module basic settings form. */ class SettingsForm extends ConfigFormBase { /** * {@inheritdoc} */ public function getFormId() { return 'module_settings_form'; } /** * {@inheritdoc} */ protected function getEditableConfigNames() { return ['module.settings']; } /** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state) { $config = $this->config('module .settings'); $form['activate'] = array( '#type' => 'checkbox', '#title' => $this->t('Activate Cookie Consent'), '#default_value' => $config->get('activate'), '#description' => $this->t('Cookie consent notification for site can be enabled or disabled from here.'), ); $form['eu_consent_pop_msg'] = array( '#type' => 'textarea', '#title' => $this->t('Set message for cookie consent popup'), '#default_value' => $config->get('eu_consent_pop_msg'), '#description' => $this->t('Cookie consent pop up message can be set from here.'), ); $form['eu_consent_pop_scroll'] = array( '#type' => 'textfield', '#title' => $this->t('Set scroll length (pixels)'), '#default_value' => $config->get('eu_consent_pop_scroll'), '#description' => $this->t('Set after scrolling how many pixels the popup should disappear. Ex: 500'), ); return parent::buildForm($form, $form_state); } /** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { parent::submitForm($form, $form_state); $config = $this->config('module.settings'); $config->set('activate', $form_state->getValue('activate')); $config->set('eu_consent_pop_msg', $form_state->getValue('eu_consent_pop_msg')); $config->set('eu_consent_pop_scroll', $form_state->getValue('eu_consent_pop_scroll')); $config->save(); } }   Step 2: Define a controller in module/src/controller. This will have functions that retrieve country code from API. The config setting determines if EU cookie is enabled or not: <?php /** * @file * Contains \Drupal\module\Controller\EuCookie. */ namespace Drupal\module\Controller; use Drupal\Core\Controller\ControllerBase; use Symfony\Component\HttpFoundation\JsonResponse; use GuzzleHttp\Client; /** * Class EuCookie. * * @package Drupal\module\Controller */ class EuCookie extends ControllerBase { /** * Autocomplete. */ public function continent() { $ip_eu_consent = \Drupal::request()->getClientIp(); $config_status = \Drupal::config('module .settings')->get('activate'); if($config_status == 1) { $continent_code['consent'] = $this::eucookie_get_country_code($ip_eu_consent); if (\Drupal::currentUser()->isAnonymous()) { $continent_code['isanon'] = true; } else { $continent_code['isanon'] = false; } } return JsonResponse::create($continent_code); } /** * Get continent code from external free service for eu consent. */ function eucookie_get_country_code($ip_eu_consent) { try { $uri = 'http://www.geoplugin.net/json.gp?ip=' . $ip_eu_consent; $client = \Drupal::httpClient(['base_url' => $uri]); $request = $client->request('GET', $uri, ['timeout' => 5, 'headers' => ['Accept' => 'application/json']]); if ($request->getStatusCode() == 200) { $response = json_decode($request->getBody()); if (empty($response)) { return []; } else { return ($response->geoplugin_continentCode); } } else { return []; } } catch (\GuzzleHttp\Exception\ClientException $e) { $message = $e->getMessage() . '. Make sure you provided correct IP to get country code .'; \Drupal::logger('module_get_country_code')->notice($message); return []; } } }   Step 3: Add hook page attachment alter to get variables defined in config and send them to js: <?php function hook_page_attachments_alter(&$page) { $ip_eu_consent = \Drupal::request()->getClientIp(); $config_status = \Drupal::config('module.settings')->get('activate'); $mesage_consent = \Drupal::config('module.settings')->get('eu_consent_pop_msg'); $scroll_length = \Drupal::config('module.settings')->get('eu_consent_pop_scroll'); if($config_status == 1) {     $page['#attached']['library'][] = 'path to library'; $page['#attached']['drupalSettings']['message_eu_consent'] = $mesage_consent; $page['#attached']['drupalSettings']['eu_consent_pop_scroll'] = $scroll_length; } } ?> Step 4: Routing file, with route to retrieve settings form and get the continent code via ajax: module.admin_settings: path: '/admin/config/eucookie' defaults: _form: '\Drupal\module\Form\SettingsForm' _title: 'EUCookie settings' requirements: _permission: 'administer site configuration' module.ajax_continent: path: '/ajax/continent' defaults: _controller: '\Drupal\module\Controller\EuCookie::continent' _title: 'ajax continent' requirements: _permission: 'access content' Step 5: Add js below in custom/js as condition for scroll, get defined variables from config and display EU cookie popup. (function($) { 'use strict'; Drupal.behaviors.moduleeuconsent = { attach: function(context, settings) { $(document).scroll(function() { var scroll_len = drupalSettings.eu_consent_pop_scroll; var scrollBottom = $(window).scrollTop() + $(window).height(); scrollBottom > scroll_len ? $('.cc-window').fadeOut() : $('.cc-window').fadeIn(); }); var msg = drupalSettings..message_eu_consent; $.ajax({url: "/ajax/continent", success: function(result){ if (result['consent'] == 'EU' && result['isanon']==true) { window.cookieconsent.initialise({ palette: { popup: { background: '#252e39' }, button: { background: '#14a7d0' } }, content: { message: msg, dismiss: 'Close', link: 'Show Cookie Policy' } }); } }}); } }; }(jQuery));   Step 6: External js needs to be defined in libraries.yml which creates popup module_lib: version: v3.14 css: theme: //cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.1/cookieconsent.min.css: { type: external } js: //cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.1/cookieconsent.min.js: { type: external, scope: footer } js/module.js: { scope: footer } dependencies: - core/jquery - core/drupal - core/drupalSettings   And hence the EU Cookie functionality will be implemented in your Drupal 8 website. Please do comment if you have any feedback or if this code does not work for you.  
Categorieën:

Faichi.com: <a href="/blog/building-a-chatbot-using-aiml-parser-in-drupal">Building a Chatbot using AIML parser in Drupal </a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
  Introduction AIML Parser module lays down the foundation for introducing AIML in Drupal and creating Chatbots. As you may know, Chatbot is a program that chats with users automatically. In this blog I will introduce and highlight basic concepts that have been used for building this module.   Things you need to know before you start using this module:   1) What is AIML? AIML (Artificial Intelligence Markup Language) is an XML-compliant language that is easy to learn, making it possible for you to customize a Chabot (Drubot) or create one from scratch within minutes. AIML pattern syntax is very lucid, significantly less complex than regular expressions. To compensate for the simple pattern matching abilities, AIML interpreters could provide pre-processing functions to expand abbreviations, remove misspellings, etc.   2) What is a Chatbot? A chat robot (Chatbot) is a conversational agent. A computer program designed to simulate an intelligent conversation with one or more users via auditory or textual medium. This Chatbot can pose as a knowledge agent in place of an FAQ or can be used as a call-center agent.   3) What is an AIML file? AIML file is similar to an xml file with its own tags. AIML files are open source, and can be found over the web for free. We have uploaded a few of them here, (Download Sample AIML files).   Let’s take a look at an example. WHAT ARE THE LAWS OF THERMODYNAMICS? I'm not a physicist, but I think this has something to do with heat, entropy, and conservation of energy, right?   In the above example the pattern is: "WHAT ARE THE LAWS OF THERMODYNAMICS?" And the template is: "I'm not a physicist, but I think this has something to do with heat, entropy, and conservation of energy, right?"   If you upload this AIML file through an AIML parser module, module will parse the file and store respective tags in database. Later you can access them through a query and your Chatbot answers the question:     "WHAT ARE THE LAWS OF THERMODYNAMICS" Answer: "I'm not a physicist, but I think this has something to do with heat, entropy, and conservation of energy, right? Here are some Basic Tags which are present in an AIML file and can be parsed by this module.   AIML - defines the beginning and end of a AIML document. Category - defines the unit of knowledge in knowledge base. Pattern - defines the pattern to match what a user may input to an Drubot. Template - defines the response of an Drubot to user's input   Who creates AIML tags?  These tags are open source, with a number of communities and companies contributing to enhance them.   Now that we know all about Chatbot and AIML, you must be wondering how Chatbot works? Chatbot needs AIML files as knowledge source, a database from where Chatbot can retrieve responses for the asked pattern.   Use Case of this module: After the AIML tags are parsed and stored in the database, you are ready to create a Chatbot,   We are working on a Chatbot called Drubot.   Steps to create a Chatbot using AIML parser:   Step1: Create a custom block. Step2: Add a robot image to the block. Step3: Create a form in the block with a text-field. Step4: This text field will accept input from user.   This accepted input is the pattern, which when queried in Drupal database, gives you the response. Referring to the example stated above, if user types: ‘WHAT ARE THE LAWS OF THERMODYNAMICS?’ into the text field.   It displays ‘I'm not a physicist, but I think this has something to do with heat, entropy, and conservation of energy, right?’ as the response.   How does AIML parser module empower the Chatbot to learn?   There are open source AIML files available that serve this purpose. For example- science.aiml, sports.aiml, love.aiml.   AIML files have questions and answers related to each category. If you want to educate your Chatbot about science, then upload science.aiml and Chatbot can then use the responses stored in the database to answer science related questions.   We are currently working on a Chatbox in Drupal download link which uses AIML parser as a dependent module.   Now use all this information to create your own chatbot. Feel free to connect with us for any assistance.

 

Categorieën:

Faichi.com: <a href="/blog/drupal-8-from-omnichannel-content-strategy-to-omnichannel-digital-experiences">Drupal 8: From Omnichannel Content Strategy to Omnichannel Digital Experiences</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
Omnichannel Content Strategy

In today’s digital world, users are always at the center. All the systems with which users interact need to be in sync with each other to serve a unified user experience. Various touch points from which user accesses information or content or products to buy has significantly increased. Ensuring uniformity and consistency of content across multiple devices and social channels becomes a challenge.

Omnichannel content strategy is a way to describe the unified experience across all the channels and touchpoints. With respect to omnichannel, users have become demanding. Irrespective of how and where the content or products are being accessed or bought by the user, complete consistency and a unified experience is expected. For instance, in ecommerce, a customer may view products on multiple channels such as Facebook, Instagram or Website, Mobile App or even the brick and mortar store. To make a sale via this customer, companies these days need to be able to complete the checkout process from any of the channels or touch points.

Addressing the User Journey to Bridge the Gaps

Any gaps or inconsistencies in user’s experience eventually leads to a lost customer and hence lost sales. To better understand and cater to the user’s needs, entire ecosystem accessed by the user needs to be thoroughly architected. All the steps user would take, all the multiple touchpoints and channels the user can access to consume the content or information or products need to be mapped out and properly executed for consistency in user information, product information and all content.

Omnichannel Digital Experiences

With the advent of technologies such as Machine Learning, IOT, Virtual Reality, Augmented Reality etc., web is just not limited to sites, apps or social media channels. Hence, omnichannel is now bound to go beyond content strategy, omnichannel is now about the entire digital experience of the user.

Identifying the same, Dries mentioned some Drupal 8 implementations in his keynote at DrupalCon Dublin where Drupal 8 has been leveraged to create amazing digital experiences.

  • Drupal 8 is going to power the Digital Kiosks of New York Subway system
  • Vodafone’s in store kiosks would be all centrally managed powered by Drupal. In Europe alone they have thousands of such kiosks
  • Lufthansa’s in-flight entertainment system would be powered by Drupal 8

In future, traditional web is going to be replaced by conversational computing, virtual and augmented reality. For Drupal to be able to keep up with these developments, Acquia has launched an R & D division which will be led by Dries himself.

Drupal 8: Built to support Omnichannel Digital Experiences

There are multitude of features shipped with Drupal 8 in core that make it a perfect fit to cater to the current needs of creating omnichannel digital experiences. Some of the features are highlighted below

API First Publishing

Drupal 8 has web services in core. What that means is that any system can be integrated with Drupal 8 via APIs. Drupal’s core content management features can hence be extended to other systems via APIs or services layer. Omnichannel’s basic capability, to be able to integrate with all the systems that interact with user, can easily be built in Drupal 8.

Mobile first and Out of the Box Responsive

Omnichannel content needs to be accessible via devices of any form factor. Drupal 8 beautifully caters to this. Drupal 8 has been designed with mobile first strategy. Its responsive design ensures that content and layout are scaled based on the viewport size available. Drupal 8 core ships with two modules that ensure mobile first behavior – Breakpoint and Responsive Image.

Conclusion

Omnichannel digital experiences are soon going to be a norm rather than an exception. As and when other technologies ensuring best digital experience scale up, Drupal needs to be ready. Web, as we know it today, is not going to be limited to just pages (on laptop or mobile). To ensure that Drupal and CMS in general remain relevant, it is crucial to scale the core architecture. Gladly, Drupal 8 is a step in the aforesaid direction and we would see many other features in Drupal 8 in future releases that would make Drupal 8 a robust backend to create omnichannel digital experiences. 

Categorieën:

Faichi.com: <a href="/blog/open-social-drupal-8-distribution-building-social-communities-with-drupal-8">Open Social Drupal 8 Distribution-Building Social Communities with Drupal 8</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
Introduction Welcome to the third post in the series of Drupal 8 and Distributions. In the first post we discussed about what Drupal Distributions are and what are some of the prominent distributions available in Drupal 8. In the second post, we explored Lightning Drupal 8 distribution by Acquia. We discussed about how Lightning can be leveraged to create amazing publishing experiences and how it proves to be an ideal distribution to get started with Drupal 8 development.   About Open Social  Open Social is a distribution built in Drupal 8 to create social communities and intranets. It comes with an array of features and functionalities useful in building any social framework. In the Drupal community, Open Social is positioned as a successor of Drupal Commons. Drupal Commons is a Drupal 7 distribution that is an out of the box community collaboration website.   Since Open Social is built in Drupal 8, it wraps in itself an array of possibilities leveraging the features of Drupal 8. It is interesting to see that the distributions built in Drupal 8 in general are much more light weight as compared to the distributions built in Drupal 7. Hence, if we compare Open Social with Drupal Commons, the latter is relatively a heavier distribution and ships with many modules that the user may not really need while building the website. Open Social on other hand is a platform that is generic yet useful.   With the advent of Drupal 8, Drupal is evolving into a product and Open Social is an apt use case of the same. We also, at Faichi, believe in using Drupal as a product development framework. We have leveraged Drupal to build a product that helps you expedite project estimations. We plan to continue to use Drupal to build products.    Out of the Box Features in Open Social User Profiles and Signup
  • Signup – Open signup or Closed Signup are easily configurable
  • Profile Setup – You can add your full name, image, interests and biography along with location, address etc.

 

 
  • User Roles – There are four user roles available, namely, Authenticated User, Administrator, Content Manager and Site Manager. This is the perfect recipe to build a community in which you require a team to manage the content and other sections of the community platform. 
 

 

User Groups
  • Group module of Drupal 8 – This module has extensively been used. Conceptually it is a replacement of Organic Groups module available in Drupal 7.
  • Ability to create an Open Group for discussions, add members, create events and topics.  
    Content Types and Structure
  • Two content types – Events and topics. Taxonomy has been used to create different topics. This architecture makes Open Social light weight to install and use.
  • Blogs, News etc. are all same content type as topic but have different taxonomy.
  Stream (or Timeline) and Commenting
  • Users can create posts on the timeline (or stream) which is then visible to all other users. Currently just text can be posted on the stream. We can expect the ability to add media as a post on Stream in future.
  • All the recent activities by the user such as creating an event, enrolling in an event, joining a group etc. are showcased in Stream. 
  • Commenting is available on events, posts and user groups too.

 

  Media Management
  • Ability to add images wherever needed such as profile and events.
  • File System, Images Styles and all other media configurations needed to add, resize and adjust images in built.
  Notifications and Search
  • Extensive notification center has been built by messaging feature.
  • Ability to search for Content, Users and Events.
    Events Management
  • Ability to Create, Publish, Un-publish events. Groups specific events can also be created.
  • Users can enroll for events and be notified about it.

 

  Responsive and Multilingual Support    Main Contributed Modules Used Many contributed modules have been used to build Open Social, some of the prominent Drupal 8 modules used are as follows
  • Group 
  • Address
  • Bootstrap
  • Messages
  • Composer used heavily and is needed for installation and updating the platform
  Future Product Roadmap Open Social is constantly evolving and following are some of the features which are there in the product roadmap and can be expected in future.
  • Closed and Secret Group. Currently only Open Group is supported
  • Aggregating the notifications to enhance the user experience
  • Mention – To be able to tag or mention a user with @.
  • LDAP Integration
  • Progressive Web App – For push notifications, offline usage capability
  Conclusion Open Social has the right blend of features needed to build a social community and is surprisingly quite light weight to use. There are many features which the users may require while building a social community but shipping the distribution with all of them is probably not the right approach. Hence, Open Social proves to be an apt platform to get started with building your community or intranet and add more features as and when needed.    
Categorieën:

Faichi.com: <a href="/blog/everything-about-dries%E2%80%99s-keynote-at-drupalcon-dublin-2016">Everything about Dries&#039;s Keynote at DrupalCon Dublin 2016</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
Introduction by Megan Sanicki The Executive Director at Drupal Association Megan Sanicki began the keynote. She emphasized on Drupal Association’s mission and said that she would further be working to unite the community so that we build and promote Drupal.   Individuals and Businesses together making Drupal great She told about how individuals and businesses are working together to make Drupal great. There are many instances that support this  
  • Hubert Burda Media based out of Germany fell in love with Open Source and Drupal. They came together with competitors and created Thunder, a Drupal 8 distribution for professional publishers and made it available for everyone in the community
  • Appnovation has funded the development of Composer
  Top 30 Contribution Sponsors Megan talked about how in drupal.org now the contributors can attribute their contribution(s) to their employer, agency or client. Ever since this data has been tracked, interesting insights have been revealed. The following is the graph of top 30 contribution sponsors and we are proud to see Faichi’s name at the 9th position there.   Matthew Tift from Lullabot and Dries studied the data and found that 69% of contributions are sponsored. Also, 21% of contributions are sponsored by these 30 companies.       Journey to Drupal – Contribution and/or Adoption Megan highlighted that Contribution or Adoption are the two ways in which one steps into Drupal. She said both the journeys need to be strong. Drupal Association has been helping in both sides of the journey by following methods.    
  • Contribution Side
    • DrupalCon – Mentors, Sprints, Core Conversations
    • Drupal.org – Always On, Improved tools
  • Adoption Side
    • Future proof, an entire community is present to back on
    • Users are finding the information they need – testimonials, case studies etc. but could not find that on Drupal.org earlier, changed UI and UX of drupal.org would be helpful
    • DrupalCon is a great way to adopt Drupal via various training sessions targeted to beginners as well as experienced developers
  Dries’s Keynote Dries was welcomed on stage by Drew Gorton, Director of Community and Agency Outreach at Pantheon. As usual Dries taking over the stage was followed by loud applauds. Dries’s keynote was primarily categorized in two areas
  • Drupal 8 and Update
  • The WHY
  Drupal 8 and Update Dries announced that Drupal 8.2 is set to be released on 5th Oct 2016. It would come with a lot of new features.
  • Block Placements – Till Drupal 8.1 one had to identify the region in which the block needs to be placed, then go to the backend, identify the block to be placed and specify the region there and go back to homepage again to see the changes. In Drupal 8.2 no need to go through this entire process, just identify the region on the page itself and place the block right there.
  • Changing a Menu – In Drupal 8.2 we have a settings tray that provides an Outside In experience of editing the menu. Settings Tray appears right on the page and the changes done in the menu can be seen right there. This will be a real game changer in terms of usability.
  • REST API Improvements – Making them more robust and easy to use. 
  • Migration Improvements- Migrate path from D6 to D7 and D7 to D8 has been improved significantly. In an example Dries migrated his own D7 site to D8 in just 10 minutes. Interesting to see that this migration leaves D7 site intact. The UI provided migrates all the configurations and the content to D8. It does not migrate any legacy tables.
  Dries talked about certain implementations where Drupal 8 is leveraged to create amazing digital experiences 
  • Drupal 8 is going to power the Digital Kiosks of New York Subway system
  • Vodafone’s in store kiosks would be all centrally managed powered by Drupal. In Europe alone they have thousands of such kiosks
  • Lufthansa’s in-flight entertainment system would be powered by Drupal 8
  Strategic Initiatives Based on the survey data there have been certain areas that have been strategically chosen to work upon
  • Blocks and Layout
  • Migrate
  • API First
  • Workflow
  • Settings Tray
    How did we achieve this much progress?
  • Scheduled releases – A new release every 6 months
  • Semantic versioning – New features and easy upgrades
  • Experimental modules – Idea -> Alpha -> Beta -> Stable [Easy upgrade path for new modules]
Some new ideas
  • Default content to be available once Drupal has been installed
  • Settings tray to be used in different parts of Drupal
  • Media initiative – Building prototype to improve assets management in Drupal
  • Field Layout or Content Type Layout for enhanced experience
  • Refreshless – Reduces UI gap between native and web apps.
  The WHY Dries mentioned about his recent holiday to Tuscany. This holiday without internet for a week gave him time to reflect on the journey so far. Code was Dries’s passion and motivation initially to work on Drupal, over the years it has definitely changed, “My passion evolved beyond Code to include People and Impact”.   Dries recollected some of the meaningful moments in his life
  • Knowing that Drupal has changed people’s life, “When people find Drupal it gives them a better career path”
  • Seeing Drupal used for Aid Relief: DrupalCon Portland 2013 - People building Drupal to be used to provide aid for people hit by tornado
  • Keeping the web open – Drupal and the community’s contribution to this
  • Some other meaningful moments
    • Fund raising after the Great Server Meltdown
    • When Dries had to ask individuals to leave the project
    • The development of Drupal 8 – Hard work of many people across 4.5 years
  Dries talked about how we find meaning when our work results in life changing outcomes for others. He explained this in context of the Happiness Hypothesis as illustrated below.   How do we scale the impact of the project? Towards the end Dries also mentioned about some initiatives that are highly appreciable and are working towards scaling the impact of Drupal
  • India’s Drupal Campus Ambassador Program – A program to have one or more Drupal Ambassador in universities to represent and promote Drupal and eventually help the students get a job in Drupal.
  • UK Drupal Apprenticeship Program – A program to provide Drupal boot camps to people who want to learn Drupal and very quickly get into Drupal workforce. They also have an in depth training program to train the disadvantaged but talented young people and place them in Drupal companies.  
  Dries highlighted that “Collective purpose is what sets Drupal apart”. As we all say, “Come for the code, stay for the community.”

 

Categorieën:

Faichi.com: <a href="/blog/faichi-at-drupalcon-dublin">Faichi at DrupalCon Dublin</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
Opening Reception   Date: 26th Sep 2016 Time: 17:00 to 19:00   Room: Forum Hall, Dublin Convention Centre   Faichi is sponsoring the Opening Reception from 17:00 to 19:00 today i.e. 26th Sep 2016, located in Forum of the Dublin Convention Centre. Please join us for  some snacks and refreshments and have some amazing discussions around creating incredible digital solutions in Drupal.   Animate Your Site   Date: 28th Sep 2016 Time: 17:00 to 18:00   Room: Liffey Meeting 2 | Amazee Labs    Nikhil and Vidit are presenting this session on the third day of DrupalCon. Animation is skeuomorphism. It is a custom created illusion that makes the websites highly user friendly and creates the perception of a highly dynamic website. It helps in grabbing the attention of visitors and hence results in increased ‘time on site’ as compared to non-animated sites.   In this session Nikhil and Vidit will discuss about the following
  1. What is Animation?
  2. Where to use?
  3. Types of animation
  4. 12 basic rules of Animation
  5. How can we make it interesting?
  6. How can we achieve animation across the devices?
  7. Performance impact and how can we avoid
  8. Animation in Drupal
  9. Demo of animation in Drupal 8
Be there to begin your own experiments with animate.js and many other front end js and CSS libraries.    Project Estimation Tool In this DrupalCon we are showcasing our Project Estimation Tool powered by Platform.sh and built in Drupal. Meet us to know everything about it and how it can help you expedite your project estimates. You may also click here to sign up for your 45-days free trial.         Hope you have a great DrupalCon!
Categorieën:

Faichi.com: <a href="/blog/optimize-your-implementation-costs-with-salesforce-drupal-integration">Optimize your implementation costs with Salesforce-Drupal integration</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
Business Challenge Consider a use case in which you have your business website in Drupal and you have a lot of customer support requests to cater to. Now, the methods of capturing that information is by the Contact Form on your Drupal website, support email ID that you have provided to customers and also the toll free phone number that has been provided.   Solution   Users Mapping We would integrate your Drupal website with the Salesforce CRM in such a way that both the systems identify the user(s) being referred to when a support request is raised. Basically we will map your user profiles in Drupal to the user objects in Salesforce.    Support Tickets Mapping We would integrate Drupal with Salesforce in such a way that any tickets that are raised in Salesforce are replicated in Drupal and vice versa.   Methods of raising the support tickets
  1. Contact Form: Customers can fill out their support request on this form present on Drupal site. This would create a support request on Drupal as well as on the Salesforce real time. 
  2. Email ID: Salesforce will be directly integrated to this mail Id and hence each mail from this mail ID will be a support request raised in Salesforce which eventually will also be created in Drupal on cron run syncing.
  3. Toll Free Number: this will be integrated to your Salesforce account and hence all the calls will be mapped to create the support tickets in Salesforce. Again these tickets will then be replicated in Drupal too.
  Benefit Since all support tickets are available in Drupal along with user profiles of your customers, your support team (consisting of many engineers based on your business needs) works on Drupal enabled system and addressed those support tickets (without an account on Salesforce).    You only require one Salesforce developer license in this implementation.
Categorieën:

Faichi.com: <a href="/blog/creating-amazing-publishing-experience-with-lightning-a-drupal-8-distribution">Creating amazing publishing experience with Lightning, a Drupal 8 Distribution</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
About Lightning  Lightning accelerates Drupal 8 development and streamlines authoring experience for business users. It enables developers to create great authoring experiences and is easy for non-technical users to create and manage content.    Although Lightning is focused towards creating authoring and publishing experiences, it can also be leveraged as a starter kit for Drupal 8 development. It brings together critical functionalities needed for scaling enterprise business solutions.   Modular development, adding more features via other custom and contributed modules can also be done. By using Lightning to get started on Drupal 8 development reduces the development time by 20% (as per Acquia).     Features of Lightning Lightning helps organizations in customizing the four key components of digital experience that any marketing or editorial team requires. Following are the details:   Drag and drop layout  Lightning enables non-technical users to create flexible and responsive layouts for creating pages and other content without any developer intervention.   Media Management There is no need of installing the media related modules and configuring them to build a library for media management. Entire media management including ready to use media library pre-exist. Users can directly start uploading images and videos to the platform either from URL or from their laptop.   Content Workflow Business users can easily configure content workflows to streamline review and ensure editorial quality. Since the basic content workflow is already available, adding governance to publishing by adding some additional states to the workflow is effortless.   Experience Preview  Lighting showcases publishing prowess with ability to conduct comprehensive review of entire content consisting of text, images, videos etc. before publishing. This is a crucial and highly beneficial feature for publishing process.   Let’s consider a Business Use Case Marketing team requires constant content publishing, consisting of text, images, and videos. It also requires managing marketing campaigns and cross channel experiences. The team consists of Content Writers, Editing Manager, Content Publisher, and Marketing Manager. With the use of Lightning distribution and Faichi’s Content Creation Publishing framework  one can create a seamless publishing solution.  Compared to building a solution ground up, this combination saves 30% of development / release time. Faichi’s framework handles multi-channel publishing and cross channel experiences inherently.   Layout Content publisher or Marketing manager can easily create a different layout needed for a specific marketing campaign with available layouts or creating a new layout  with the drag and drop functionality.      Media Content writer or the Editing Manager can add images or videos for marketing campaign. They can also select the previously used images or videos from the media library, ensuring re-usability of media assets.     Workflow It ensures seamless flow of content among Content Writer, Editing Manager, Content Publisher, and Marketing Manager. This workflow ensures seamless collaboration across different stages for e.g. Draft, Needs Review, and Send to Marketing Review.

Preview Marketing manager can preview content and conduct comprehensive reviews on various devices before publishing.    Benefits Lighting provides you sheer peace of mind due to the following merits.   Constant Development Support  Since it is a Acquia released distribution, it will constantly be supported with bug fixes, security patches, suite of automated tests etc.; reducing the maintenance burden for developers.   Enhanced Security All the stable releases of Lightning are scrutinized by Drupal’s Security Team. There is a dedicated security team constantly working towards making Lighting more secure.   Test Driven Development and Automated Testing Lightning focuses on automated testing, with a test-driven development approach for the modules added to the distribution. Automated testing has been used including unit tests, behavioral testing with Behat, and Selenium testing, ensuring that modules work cohesively.

 

Categorieën:

Faichi.com: <a href="/blog/drupalcon-dublin">DrupalCon Dublin is here</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
Among the usual session tracks such as Business, Coding & Development and others, two session tracks have interestingly caught our attention are Being Human and Symfony. Symfony had 5 sessions in DrupalCon New Orleans while it was absent in DrupalCon Asia. In DrupalCon Dublin , Symfony has 5 sessions. Such sessions would help  leverage Drupal 8 to create enterprise oriented applications. It would also open Drupal 8 towards standardization in the tech world.     Sessions accepted in the Being Human tracks are quite interesting and have been introduced in DrupalCon for the very first time. With sessions talking about burnout, happiness, healthy teams etc. we are sure these sessions would ignite interesting debates.   We, at Faichi, are equally excited about DrupalCon Dublin. We are happy to announce, out of the three sessions we submitted, one session has been selected. Details of the sessions  are as follows. We congratulate all the 130 selected sessions, from a record number of session submissions mounting to 621.    Title: Shunya – A Circular Theme Track: Front End   In this session we are going to introduce the “Shunya” theme. We will talk about the use cases applicable for this theme and how it makes a difference to create sites using this theme for those use cases.   Implementing Motion animation to load the content is also there in the roadmap. The main circular pane which has the content could then be rotated via motion animation for an enhanced User Experience. If the content goes outside the Shunya shape, we dynamically convert it into pages and provide the pagination which then works as a gallery slider in the content region.   Title: Varnish – Journey from Beginner to Proficient Track: Performance and Scaling   Performance has always been a challenge that every new site faces irrespective of the technology in which it has been built. Performance of the site is of paramount importance because the website will not receive the desired visibility among its audience if it is slow. As an industry standard and based on statistics we already know that Loading time is a major contributing factor to page abandonment. Page abandonment increases upwards from 25% as the page load time increases from 4 seconds.   This session will explain how Varnish can be leveraged to load  sites faster. Starting from the basics of  Varnish, the session would cover the configurations of  Varnish and would also explain how Varnish can be used as a load balancer.   Title: Animate Your Site [Selected Session] Track: Front End   Animation is skeuomorphism. It is a custom created illusion that makes the websites highly user friendly and creates the perception of a highly dynamic website. It helps in grabbing the attention of  visitors and hence results in increased ‘time on site’ as compared to non-animated sites. In this session we will discuss about types of animation, basic rules of animation, impact of animation on performance and lastly implementing animations in Drupal   We hope this DrupalCon turns out to be a great experience for all the attendees.
Categorieën:

Faichi.com: <a href="/blog/drupal-8-and-distributions">Drupal 8 and Distributions</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
What is a Drupal distribution? Drupal distribution is an installable package consisting of Drupal core, set of Drupal contributed modules, themes, libraries and installation profiles. Mostly every Drupal distribution caters to a specific business use case such as ecommerce, intranet, social media, community website etc.    Tell me more about Drupal distributions Well, Drupal Distributions have been around since Drupal 4. The very first distribution was built in Drupal 4.6 called CivicSpace. Ever since a lot more Drupal distributions have been built by the community and sponsors. Now, there are 1055+ Drupal distributions available on drupal.org. So, no matter what you are trying to build, chances are, that you should be able to find a distribution for it to begin with.   Drupal distributions in Drupal 8 Drupal 8 has been around since November 2015 i.e. close to 7 months now. The community has already started working on distributions in Drupal 8 and so far, 39 distributions are available in Drupal 8 including both the ported and the new ones. It is interesting to see that there are around 16 distributions that have been built in Drupal 8 itself and not ported from Drupal 7. Some of the distributions that have already gained popularity in the community are:   
  1. Lightning: It’s a distribution for enterprise authoring. It provides amazing authoring experiences and hence empowers the editorial teams. Lightning makes extensive use of Layout, Preview, Workflow and Media to create seamless experience for authoring.
  2. Thunder: It’s a distribution built for professional publishing. It has in built support for the latest publishing technologies such as Facebook Instant Articles, Riddle Interactive Content and has many other modules from the industry partners such as Nexxt.tv, Acquia, Valiton etc.
  3. Open Social: This distribution is an ideal choice if you are building a social community platform or an intranet solution. It is often seen as a successor to widely popular Drupal Commons which will not be ported from Drupal 7 to Drupal 8. It has all the features that a social community website is expected to have such as Timeline, Notifications, Groups, Events, Follow etc.
  4. LISSA Kickstart: It’s a technology stack for real time messaging in second screen applications. It enables the media companies to publish live and on demand video streams and push relevant notifications to clients.
In our next blog, we will explore the use of these and some other distributions in the Media and Publishing industry. With the same thought process that a distribution has, we have created various Drupal based solutions that solve multiple business problems.   Benefits of using Drupal distribution?  There are many benefits for using Drupal distributions, some of them are as follows
  • Expedited development and hence reduced time to market
  • Community support for issues and bugs
  • Highly extensible for integration with other systems due to REST API in core
  • Empowers and executes software reusability
  • With Drupal 8, the solutions are mobile first and out of the box responsive
Categorieën:

Faichi.com: <a href="/blog/automating-project-estimation-process">Automating Project Estimation Process</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
Challenges in Software Project Estimation

Estimation of software projects has been a pain point for the IT industry over the years. Gartner states, failure rate among software development projects is 30%. A recent Harvard Business Review article revealed, one in six IT projects incur a cost overrun of 200%.

Since Agile methodology has gained popularity, estimation of projects has become an arduous task.

There are many challenges associated with the estimation process. Many times, the projects to be estimated are similar and hence creating estimates from scratch is redundant and time consuming. High level sprint planning with complexity and logic calculations is also a challenge.

  Solution

We at Faichi have built a tool that expedites the estimation process but also assists in automating sprint planning.

The knowledge, expertise, and experience gained by working on diverse projects, we have leveraged it to build this tool. Most of you, who have estimated Drupal projects, would realize the advantage Drupal brings to the table with respect to estimation. The project can be split into

Drupal elements such as content types, views, taxonomy requirements, menus, blocks, panels, services, SOLR etc.

Extensive experience with these elements, equips us with ample proficiency in estimating projects. So, over a period of time, this tool enables you to learn from past estimates and improve estimations in near future. Essentially, we are reducing guess-timation based on past experience and execution. It will be based on Drupal elements mentioned earlier.

  Features of Project Estimation Tool
  • Provides you an easy to use interface to select a project type, with a list of (editable) generic tasks pre-listed for you to configure
  • Ability to add all tasks of the project via simple form with estimated number of hours for each task
  • Accommodates for the confidence level for each task which enables you to choose low and/or high time and cost estimates
  • Once all tasks have been added, the tool automatically generates sprint plans based on the resources’ information entered
  • Ability to export project estimation details in CSV format which can then be imported in project management software’s such as JIRA, ASANA etc.

 

Benefits

To conclude, following are some of the benefits that our solution provides:

  • Faster project estimations due to readily available project templates
  • Automated sprint planning and resource loading plans generated
  • Ensures reusability of the project’s task list in project management phase
Categorieën:

Faichi.com: <a href="/blog/varnish-caching-mechanism-to-make-your-website-fly">Varnish: Caching mechanism to make your website fly</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
Client: Make my site load at lightning speed!   Developers:  It will take time; there are several features on the site and a lot of content    Client: I want pages to load quicker.   Isn’t this ask familiar? Every client expects and demands their website to launch faster, and nothing wrong with it. There are a various methods to tackle this situation. To name a few:   (I) Cache everything   Drupal is inherently equipped with caching. Caching speeds up page load time considerably.    It essentially caches anonymous pages and allows memcache enablement for authenticated users. Aggregating CSS and JS, caching the blocks and the anonymous pages; significantly improves the site load time.    This standard caching method is known to be a good solution for slow loading sites if the number of users is low. However, over a period of time, number of concurrent users increase. This significantly impacts the site’s performance, and the number of failed requests starts piling up!    The immediate recommendation from any developer would be to tweak the existing servers or replicate the servers and shop for dedicated load balancers. This results in complex setup and significant increase in infrastructure cost.    A better and cost effective solution is to use Varnish Cache. It is a web application server that significantly facilitates high performance for websites.   (II) Implement Varnish Cache   Varnish acts as a caching layer between user and backend of the site. It stores a copy of the page served by the web server when a visitor accesses a page for the first time, so that next time they access that same page, Varnish will simply serve the copy directly from its cache instead of the web server having to do it. Naturally, this takes a big load off from the server. Response times become faster, and the server is freed up to serve more requests per second.     HOW DOES VARNISH HELP TO SPEED UP YOUR WEBSITE?    a. Enhanced Performance Varnish not only speeds up your website by caching a copy of a page served by the web server. It also ensures that your web servers need to handle less traffic which in turn improves your website’s performance and scalability.  It also provides an enriched experience to the customers, with a faster and reliable website. From an implementation perspective, Varnish offers flexibility with the Varnish Configuration Language, ease of extended functionality (Varnish Modules), content compression, etc.   b. Load balancing Varnish can also acts as a powerful HTTP load balancer (reverse proxy),  which can be used when there are more than one origin server. It can efficiently distribute incoming network traffic across a group of backend servers. This makes websites to serve hundreds of thousands of requests from users or clients and respond with the appropriate matter in a fast and reliable way. Varnish routes the client/users requests across all servers capable of fulfilling those requests in a manner that maximizes the speed and utilization.It can also act as a failover server: If a single server goes down, the load balancer then redirects the traffic to the operational servers.     Varnish supports load balancing using both the methods i.e. round robin as well as random director. Both are available with a per-backend weighting. A basic health check of backend is also available to quickly and consistently evaluate the status of load balancing.     c. Edge Side Includes (ESI)  Varnish supports ESI. ESI are tags that are placed into HTML that helps include fragments in your pages such as Server Side Includes (SSI) or PHP include statements. ESI enables you to decide the cache policy for each fragment individually.. It can be used on your pages, directing Varnish to cache an include for a shorter time than the main document, or even not cache the include at all.   WHO BENEFITS FROM USING VARNISH? Varnish is beneficial for businesses that value security, and who rely on their online presence for revenue. It improves user experience and customer conversion, through speed, scalability and security.  It not only enhances website performance but also maximizes the bottom line of your business.   Conclusion Varnish is an open source HTTP reverse proxy accelerator. You install it in front of any server that speaks HTTP and configure it to cache the content. Varnish Cache is really, really fast. It typically speeds up delivery with a factor of 300 - 1000x, depending on your architecture.    Varnish is used by high-profile, high-traffic websites including Wikipedia, online newspaper sites such as The New York Times, The Guardian, The Hindu, Corriere della Sera, social media and content sites such as Facebook, Twitter, Vimeo, and Tumblr. Of the Top 10K sites, around a 1/10th use this software.

 

Categorieën:

Faichi.com: <a href="/blog/use-of-drupal-in-product-companies">Use of Drupal in Product Companies</a>

Planet Drupal - wo, 2016/12/07 - 1:14pm
Drupal is seen as a framework for building solutions to the complex business problems. Product companies have been using Drupal for quite a while now for numerous use cases such as Intranet, Developers’ Discussion Forum, Corporate Blogging Platform etc.   E-commerce Vertical  Product websites whether selling physical products or virtual products are dependent on seamless shopping experience; this happens via seamless user experience in the site. Drupal commerce has significantly been used by both the small companies as well as the enterprises and it clearly delivers just the kind of digital shopping experience that these product companies intend to create. Moreover, ecommerce product companies are also using Drupal for optimizing their day to day operations with solutions such as PIM (Product Information Management) or a multichannel publishing platform, built in Drupal. Enterprises in ecommerce that are already using solutions such as Demandware, Magento or BigCommerce are sometimes integrated with Drupal system to manage all of their internal processes and operations.   Collaboration Platform for Developers Drupal is widely used by the hi-tech product companies to create a collaboration and discussion platform for their developers. Some of the very well-known tech companies have adopted Drupal for creating such a platform. Prominent ones are eBay Developers Programme, Twitter Developer Community, Intel Developer Zone, Nvidia Developer Community and many others. Many of the Drupal’s out of the box features such as Organic Groups, Forum features, Taxonomy along with the ability to integrate with the third party softwares makes it an ideal framework to build such a platform.   What makes Drupal a good fit for Product Companies? Drupal comes with an array of features and out of the box functionalities that make it an ideal fit for the requirements of the product companies.   Highly Scalable While delivering the world’s greatest digital experiences for the users it is also critical for the web platform to be able to handle the high traffic situations. Drupal has been trusted by the likes of Weather.com, Grammy and Time Inc. to handle Traffic Spikes in the times of acute weather change or Grammy awards etc. Whether it is traffic spikes of constant high traffic, Drupal has the ability to scale such traffic situations and keep the show going.   Mobile First Drupal is out of the box responsive. Hence, it has the ability to create beautiful and seamless mobile experiences. Mobile web services such as REST are in core and hence Drupal has the ability to integrate with the mobile apps on the front end whilst managing the content, media, users etc. all at the backend. Now with Drupal 8, even the Admin interface is out of the box responsive. This gives the ability to carry out all admin related tasks easily via mobile.   Flexible Content Architecture Drupal gives the ability to create the right content architecture using the Admin Interface itself. What this means is that even the non-tech product or program managers can easily use Drupal to create the content architecture as needed. Drupal’s wide array of Display Tools such and Views ensure that the content appropriate for each context only is displayed. Drupal includes a variety of media types (images, video, pdfs, etc.) and content types, pretty much everything a product company may require to build a robust content platform. Customizable menus create a comfortable user experience, creating paths to content across multiple devices.   Integrate with the Digital Ecosystem Drupal has the ability to integrate with a wide variety of third party applications, business solutions and other digital marketing technology products too. Use of such disparate kind of software systems to create a robust digital ecosystem, now-a-days is a norm in the product companies. Drupal easily integrates with this ecosystem.   Conclusion Above discussed are just some of the many features that Drupal provides that make it a preferred framework among product companies to build their digital solutions. Moreover, with the advancements that Drupal 8 has brought along, we believe, Drupal’s adoption in product companies spread across numerous industries is just going to increase with time.  
Categorieën: