Drupal 8
more_horiz
close

on 17th December 2018 / by akhila.vn
To load a node details using its id in Drupal 8 use the following syntax: $node_details = Node::load($nid); $node_details->field_FIELD_NAME->value; We can load multiple nodes in Drupal 8 using loadMultiple() function. Note that the parameter should be array of ids. $nodes = Node::loadMultiple($nids); foreach ($nodes as $node_content) { $title = $node_content->getTitle(); $created_by = $node_content->getOwner(); $type = $node_content->getType(); $field1 = $node_content->field_FIELD_NAME->value; // Get necessary fileds like this. } If it is a node page, then we can get $node_content = \Drupal::routeMatch()->getParameter('node');. Similarly we can load file by id and get its contents like this: $file = File::load($file_fid); $file_url = $file->url(); $file_name = $file->getFilename(); $url = Url::fromUri($file_url); $file_user_entity = $file->getOwner() $file_user_id = $file->getOwnerId() $size = $file->getSize(); // Getting all other details of the file goes here. We can load multiple files like node using File::loadMultiple($fids). For taxonomy term loading we have to pass its target id Term::load($keyword_name->target_id);. We can use getName(), getVocabularyId(), getDescription() etc. For vocabularies we can use, Vocabulary::load($vid). If there is an object for vocabulary then we can get the vocabulary hierarchy by using $vb_obj->getHierarchy(). Note that we have to use the entity class for appropriate load use Drupal\node\Entity\ENTITY_NAME;. For example: use Drupal\node\Entity\Node; use Drupal\taxonomy\Entity\Term; use Drupal\file\Entity\File; --------------------------- Hope this helps. Drupal Drupal 8 Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 17th December 2018 / by akhila.vn
In Drupal 8, the usage of database operations such as select, update and delete are slightly changed from Drupal 7. The db_query() is deprecated in Drupal 8. To fetch a field we can use : $query = \Drupal::database()->query('SELECT myfield from my_table where field1 = :value1 AND field2 = :value2', array( ':value1' => $condition1, ':value2' => $condition2, ) ); $data = $query->fetchField(); Now we can checkout the select, update, and delete operations in Drupal 8. For a field selection use, $query = \Drupal::database()->select('table_name', 'alias') ->fields('alias', ['field1', field2]) ->condition('field3', $condition); $results = $query->execute(); while ($content = $results->fetchAssoc()) { // Operations using $content. } For a single field selection we can use $last_paper_id = $last_paper->fetchField(); For update query execution in Drupal 8, we can use, $table = 'table_name'; \Drupal::database()->update($table) ->fields(array('field1' => $value1, 'field2' => $value2)) ->condition('field3', $condition1) ->condition('field4', $condition2) ->execute(); For content deletion, $query = \Drupal::database()->delete('table_name'); $query->condition('field1', $condition1); $query->condition('field2', $condition2); $query->execute(); Now checkout other database statements in Drupal 8 from this link! Drupal 8 Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 17th December 2018 / by akhila.vn
For upgrading any of your contributed Drupal 7 modules, you just need to follow the few steps shown below. First of all you have to make sure that Drush is installed. If not installed, follow the steps from here. Now install a fresh Drupal 8 in your system using Drush commands or directly download from Drupal.org. You must be aware that Drupal 8 has changed its structure from Drupal 7 in configuration, theming, folder structure etc. So now we can find the contributed and custom modules in the modules folder in the root directory. It is also better to create a contrib folder in modules folder for both DMU (Drupal Module Upgrader) and your Drupal 7 module for migration. And now let's have a look at DMU. Drupal Module Upgrader is a script that scans and upgrades the source code of your Drupal 7 module, it also generates a list of new fixes with information links to Drupal.org as an upgrade-info.html file that will be available in your upgrading module directory. Also note that, this DMU scripts will run using Drush and Composer. Now get into your Drupal 8's contrib folder using the terminal (For example: cd public_html/d8/modules/contrib) and follow the steps : Download DMU using the drush command drush dl drupalmoduleupgrader. For example : xx@xx:~/public_html/d8/modules/contrib$ drush dl drupalmoduleupgrader Project drupalmoduleupgrader (8.x-1.2) downloaded to [success] /home/xx/public_html/d8/modules/contrib/drupalmoduleupgrader. Now get into your Drupal module upgrader folder and install Composer. For example: xx@xx:~/public_html/d8/modules/contrib$ cd drupalmoduleupgrader/ xx@xx:~/public_html/d8/modules/contrib/drupalmoduleupgrader$ composer install Loading composer repositories with package information Installing dependencies (including require-dev) from lock file - Installing cebe/markdown (dev-master f89dc1d) Cloning f89dc1da1fc6823f0286d6cad736a642efd0f59e - Installing phpdocumentor/reflection-docblock (2.0.4) Loading from cache - Installing grom358/pharborist (dev-master 0db9e51) Cloning 0db9e51299a80e95b06857ed1809f59bbbab1af6 - Installing symfony/filesystem (2.6.x-dev 823c035) Cloning 823c035b1a5c13a4924e324d016eb07e70f94735 - Installing symfony/finder (2.6.x-dev 203a10f) Cloning 203a10f928ae30176deeba33512999233181dd28 - Installing mikey179/vfsstream (v1.5.0) Loading from cache - Installing phpunit/php-token-stream (1.4.8) Loading from cache - Installing symfony/yaml (v2.7.4) Loading from cache - Installing sebastian/version (1.0.6) Loading from cache - Installing sebastian/global-state (1.0.0) Loading from cache - Installing sebastian/recursion-context (1.0.1) Loading from cache - Installing sebastian/exporter (1.2.1) Loading from cache - Installing sebastian/environment (1.3.2) Loading from cache - Installing sebastian/diff (1.3.0) Loading from cache - Installing sebastian/comparator (1.2.0) Loading from cache - Installing phpunit/php-text-template (1.2.1) Loading from cache - Installing doctrine/instantiator (1.0.5) Loading from cache - Installing phpunit/phpunit-mock-objects (2.3.7) Loading from cache - Installing phpunit/php-timer (1.0.7) Loading from cache - Installing phpunit/php-file-iterator (1.4.1) Loading from cache - Installing phpunit/php-code-coverage (2.2.3) Loading from cache - Installing phpspec/prophecy (v1.5.0) Loading from cache - Installing phpunit/phpunit (4.8.9) Loading from cache phpdocumentor/reflection-docblock suggests installing dflydev/markdown (~1.0) phpdocumentor/reflection-docblock suggests installing erusev/parsedown (~1.0) sebastian/global-state suggests installing ext-uopz (*) phpunit/php-code-coverage suggests installing ext-xdebug (>=2.2.1) phpunit/phpunit suggests installing phpunit/php-invoker (~1.1) Generating autoload files Get back to your contrib folder and clone your Drupal 7 module to it. You can find its cloning commands from its Drupal.org version control page. Here for example: commerce_techprocess is used as Drupal 7 module for migration. xx@xx:~/public_html/d8/modules/contrib/drupalmoduleupgrader$ cd .. xx@xx:~/public_html/d8/modules/contrib$ git clone --branch 7.x-1.x http://git.drupal.org/project/commerce_techprocess.git Cloning into 'commerce_techprocess'... remote: Counting objects: 23, done. remote: Compressing objects: 100% (22/22), done. remote: Total 23 (delta 6), reused 0 (delta 0) Unpacking objects: 100% (23/23), done. Checking connectivity... done. Get back to your site root directory and enable drupalmoduleupgrader. xx@xx:~/public_html/d8$ drush en drupalmoduleupgrader The following extensions will be enabled: drupalmoduleupgrader Do you really want to continue? (y/n): y drupalmoduleupgrader was enabled successfully. [ok] Now start analysing your module using the upgrader, it will list out the fixes and generate an html info file. xx@xx:~/public_html/d8$ drush dmu-analyze commerce_techprocess --path=modules/contrib/commerce_techprocess/ Indexing...done. Generated a report at [success] modules/contrib/commerce_techprocess//upgrade-info.html After all, you can upgrade your module using the command, xx@xx:~/public_html/d8$ drush dmu-upgrade commerce_techprocess --path=modules/contrib/commerce_techprocess/ Indexing...done. It will automatically create some of the Drupal 8 supporting files (for example: .info.yml, .routing.yml etc) and update some of your module codes, and other main functionalities will be commented and provide a @FIXME comment along with it. So that you can easily findout the necessary fixes that the DMU can't do. Now enable your module and fix the issues in Drupal 8 syntax. Also note that your .info or other Drupal 7 supporting files will be there which can be easily removed after fix(if it has no use) and completely upgrading your module codes. Now test your code. Happy Coding! Drupal 8 Drupal 7 Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 17th December 2018 / by wellme.m
For one of my project, I have implemented the Redis module in Drupal 8. I have used the following configurations as follows: First I download Redis module for a Drupal 8 environment and stored it in 'modules/contrib' directory and enabled the same. For the working of Redis module we need its libraries, so first you have to download the phpredis php extension library from https://github.com/nicolasff/phpredis. Extract the entire contents of the archive into the 'libraries/' folder. For the working of Redis in local server we have add php extension to our local server. For this follow the steps for seting up Redis Server After that update the settings.php file with the following code: $settings['redis.connection']['interface'] = 'PhpRedis'; // Host ip address. $settings['redis.connection']['host'] = '127.0.0.1'; $settings['cache']['default'] = 'cache.backend.redis'; // Redis port. $settings['redis.connection']['port'] = '6379'; $settings['redis.connection']['base'] = 12; // Password of redis updated in php.ini file. $settings['redis.connection']['password'] = "password"; $settings['cache']['bins']['bootstrap'] = 'cache.backend.chainedfast'; $settings['cache']['bins']['discovery'] = 'cache.backend.chainedfast'; $settings['cache']['bins']['config'] = 'cache.backend.chainedfast'; Create services.yml and add the below code in it. services: # Cache tag checksum backend. Used by redis and most other cache backend # to deal with cache tag invalidations. cache_tags.invalidator.checksum: class: Drupal\redis\Cache\RedisCacheTagsChecksum arguments: ['@redis.factory'] tags: - { name: cache_tags_invalidator } # Replaces the default lock backend with a redis implementation. lock: class: Drupal\Core\Lock\LockBackendInterface factory: ['@redis.lock.factory', get] # Replaces the default persistent lock backend with a redis implementation. lock.persistent: class: Drupal\Core\Lock\LockBackendInterface factory: ['@redis.lock.factory', get] arguments: [true] # Replaces the default flood backend with a redis implementation. flood: class: Drupal\Core\Flood\FloodInterface factory: ['@redis.flood.factory', get] Hope this is useful. Drupal 8 Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 17th December 2018 / by vinod
Most often we may want to show our custom forms in blocks. Here are the simple steps to accomplish this. In the below code we will create a form called “MymoduleExampleForm” and this form will be placed in a custom block called “MymoduleExampleBlock”. Step 1 – Create a custom module say 'mymodule'. For details on how to create a custom module in Drupal 8 See here Step 2 – Create a php file named MymoduleExampleForm.php in mymodule/src/Form and place the following code. <?php namespace Drupal\mymodule\Form; use Drupal\Core\Form\FormBase; use Drupal\Core\Form\FormStateInterface; /** * Class MymoduleExampleForm for demostration. */ class MymoduleExampleForm extends FormBase { /** * {@inheritdoc} */ public function getFormId() { return 'mymodule_example_form'; } /** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state) { $form['user_mail'] = [ '#type' => 'email', '#title' => t('Email ID:'), '#required' => TRUE, ]; $form['actions']['#type'] = 'actions'; $form['actions']['submit'] = [ '#type' => 'submit', '#value' => $this->t('Subscribe'), ]; return $form; } /** * {@inheritdoc} */ public function validateForm(array &$form, FormStateInterface $form_state) { // Nothing. } /** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { drupal_set_message($this->t('@user_email ,Your email-id has been sent !', ['@user_email' => $form_state- >getValue('user_mail')]));} }   Step 3 – Create a php file named MymoduleExampleBlock.php in mymodule/src/Plugin/Block and place the following code. <?php namespace Drupal\mymodule\Plugin\Block; use Drupal\Core\Block\BlockBase; /** * Provides a 'MymoduleExampleBlock' block. * * @Block( * id = "mymodule_example_block", * admin_label = @Translation("Example block"), * category = @Translation("Custom example block") * ) */ class MymoduleExampleBlock extends BlockBase { /** * {@inheritdoc} */ public function build() { $form = \Drupal::formBuilder()->getForm('Drupal\mymodule\Form\MymoduleExampleForm'); return $form; } }   Drupal 8 Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 17th December 2018 / by akhila.vn
In Drupal 8 we can load an image using image style in a custom function using the file id of the image. For this first, we have to create an image style by configuration or create a config file for the same (Example below: image.style.sample_image_style.yml). Note that we can generate the below file after creating an image style and export the same from config synchronization in Drupal 8. uuid: 4fcc87d8-09cd-40c7-96c7-af51690757ea langcode: en status: true dependencies: module: - image_effects name: sample_image_style label: 'Sample Image Style' effects: 439fd8f0-4d9a-4450-a3e7-af51690757ea: uuid: 439fd8f0-4d9a-4450-a3e7-af51690757ea id: image_effects_set_canvas weight: 1 data: canvas_size: relative exact: width: '160' height: '160' placement: center-center x_offset: 0 y_offset: 0 relative: left: 0 right: 0 top: 0 bottom: 0 canvas_color: '#646464FF' Now we can use this image style to load the image using its file id by passing to a function. Don't forget to use the controller of the image style along with your function use Drupal\image\Entity\ImageStyle; ................................... .................................... public function MyFunction($image_id) { global $base_url; $style = ImageStyle::load('sample_image_style'); $images = array(); if (!empty($image_id)) { $photo_file = file_load($image_id); $image_url = $style->buildUrl($photo_file->uri->value); } return $image_url; } The variable $image_url will generate the url of the image from the image style folder. The image style should be loaded using the machine name of the image style. Hope this code snippet is useful. Happy coding! Drupal 8 Leave a reply Your email address will not be published. Required fields are marker *
close

on 16th April 2018 / by Nisha.Oommen
In today’s digital world, one size fits all marketing is no longer relevant, instead, the focus is on contextual marketing and personalized customer experience across the entire sales funnel through digital platforms. Many businesses are working hard trying to build their customer engagement, but often fail because they are focused on any and all kind of interactions without considering the value that is added through the relationship. When a business uses Drupal 8 as its platform of choice, it takes ownership of the experience that is being delivered to customers. Drupal is in the forefront of digital platforms that foster deeper ties with the customer through the buyer journey. Drupal empowers you to create content to delight visitors, and capture their experiences and insights. The features of Drupal 8 platform that significantly improves customer relationship experience are Responsive design Easy content workflow management SEO friendly Ease to develop and manage microsites Multilingual Multi-sites customized delivery Cloud ready Omnichannel experience Google Analytics It is also possible to automate your Drupal site experience, dynamically render special offers displayed through the web and mobile channels, and provide closed-loop marketing by gathering and measuring interactions on the web. By listening, measuring, and analyzing customers across channels and even siloed marketing and relationship systems, these customer insights drive not only the content presented, but offer digital marketers an opportunity to drive business strategies across organizational boundaries. Here is a good representation of the various digital marketing aspects like a tube map. Source To accelerate the solution process, Drupal offers deep integrations with leading web analytics platforms as well as CRM, email campaign, and marketing automation systems to ensure customer insights are captured, measured, tested and optimized for the next interaction. Integrations with Drupal based website Drupal offers many systems of engagement to deliver captivating front end experiences across sites, channels and devices. Marketing automation tools: Act-on, Marketo & HubSpot Marketing Hubs Social media channels: Facebook, YouTube, Twitter, Google+ & others Web Analytics: Google Analytics, Omniture & PPC Email marketing tools: YMLP & Chimp Content Syndication: RSS CRM Integration: Salesforce, SugarCRM ERP & ECM: SAP Drupal offers a single, easy to use system for marketers to deliver content, community, and commerce seamlessly to customers. Drupal offers backend integration to leading systems such as CRM, ERP, marketing automation and other systems of record. For a detailed cheat sheet on the various capabilities of Drupal, check this infographic on Drupal Capabilities. By leveraging these digital solutions on the Drupal platform, you create rich experiences, connect more deeply with customers and convert more prospects into buyers. These digital experiences are delivered seamlessly across web, mobile, and social channels, all while layering in and integrating with existing systems of record that are already working well in your environment. Here are a few case studies of how clients are using the Drupal platform in their digital marketing initiatives: Translation helps in attracting foreign visitors: The case study is an example of how multilingual capability of Drupal helped in bringing in more footprints in the awareness stage of their digital marketing endeavor. 62% boost in coversion through performance optimization: This case study is a good example of how Search Engine Optimization(SEO) helped in conversion. Improving the speed of processing and sending personalized emails: Even while this client wanted to send personalized emails, speed was equally crucial. Handling traffic spikes: This case study is a prime example of how we helped a client cope with traffic that their site’s architecture was not designed for. The success of digital marketing is when you stand apart from the crowd by delivering personalized, tailored campaigns and content. And finally, it requires increasing your digital footprint by offering fulfilling experiences across all digital channels and devices that the customers want to use to consume content and interact with the brand. Are you still not sure? Get in touch with our solutions expert! Drupal 8 Digital Marketing Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 10th April 2018 / by jithin.prabhakaran
Patternlab is a dynamic organizational and prototyping tool for Drupal theming. By theming with pattern lab, your custom theme allows us to manage and build components in accordance with the required workflow using atomic design concepts1. Using Pattern Lab for Drupal 8 Theming Instead of rendering default Drupal templates, we can introduce pattern lab to include twig files using atomic concepts. It allows us to include external twig files by overriding the specific templates. Steps for Installing Pattern Lab Install Node and NPM versions using NVM Initially we need to get the software packages from our Ubuntu repositories that will allow us to build source packages. sudo apt-get update sudo apt-get install build-essential libssl-devOnce these packages are installed, we can download NVM installation scripts from project’s github page. curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh-o install_nvm.shNow inspect the installation script with nano nano install_nvm.shRun the script with bash bash install_nvm.shIt will install the software into a subdirectory of your home directory at ~/.nvm. It will also add the necessary lines to your ~/.profile file to use the file. To gain access to the nvm functionality, we have to run the following command: source ~/.profileNow we have installed NVM, our next step is to install isolated Node.js versions. To find out the available version you can type nvm ls-remoteIn the output window, we can see the latest version as v8.9.4.We can install that by typing nvm install 8.9.4Usually NVM will be switched to latest installed version or you can tell NVM to use the just downloaded version by typing nvm use 8.9.4The current version of Node can be checked by running the code node -vIf you have multiplied Node-js version, you can see what is installed by typing nvm lsIf you wish to set one of the version as default, you can type nvm alias default Create Custom Theme (my_theme) NOTE: It is recommended to refer Emulsify (serves as a starter kit for Drupal 8 theme) for getting the exact folder structure and architecture of the Drupal 8 theme. Emulsify Drupal 8 It is necessary to include the JS, CSS and the fonts of the dist folder into the libraries file in the custom theme. NPM Install Output: NPM- Start Output: When NPM start is completed, node packages will be installed to the custom theme and compiles the SASS files to CSS and JS added in the patterns, which is required for the generation of theme will be saved in the dist folder. Get in touch with us for your Drupal 8 Theming requirements! References: 1. Atomic Web Design by Brad Frost Pattern Lab Drupal 8 Drupal Theming Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 05th April 2018 / by harikrishnan.v
Drupal is undoubtedly one of the most versatile and Open Source Content Management Systems available now. Drupal became an enterprise-grade Content Management Framework with the launch of Drupal 8. In true sense, it’s equipped with all the necessary feature needed for an enterprise. The long list of reputed organizations including MTV, Oxford, MIT, The Economist, CBS who use this CMS is the proof of its capability. For delivering value to our clients as the technology partner, Zyxware helps make the best possible decisions. While participating in brainstorming sessions with our clients, for better understating, we present Drupal's capabilities in the graphic form. We have compiled those into an infographic and is now available here. If you are a Drupal enthusiast, business owner, consultant or anyone one who loves web technology, this infographic will be useful for you. It explains the capabilities of Drupal in various aspects like types of project, integration capabilities, database choices, and interoperability. This infographic can be used as a quick check sheet for driving conclusions on technology choices. View as PDF Zyxware Technologies has been delivering Drupal-based web solutions for more than a decade. We are one of the leading code contributors for Drupal from India. For delivering value to our clients, we partner with our clients and help make the right technology decisions for their organizations. Get in touch with us to know more. */ Drupal 8 Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 07th February 2018 / by webmaster
Authors: Anoop John, Vimal Joseph, Thomas P. Thomas E-governance has grown and developed rapidly reflecting the social, economic and cultural changes happening. The increased usage of the web by the citizens, the ease of use, the ubiquity of digital connectivity, IoT have allowed for the emergence of a number of applications for Government to Citizen, Government to Government and Government to Business Services. Leveraging the web for citizen engagement, delivery of government services to citizens, businesses and inter-government departmental services is key to strengthening the e-governance capability of a government. This necessitates an appropriate web tool. In the current state of affairs, the choice narrows down to a distribution built on a powerful, scalable and adaptive Web Content Management System (WCMS). From amongst the Open Source alternatives given, Drupal stands out as a superior choice, as a tried and tested alternative. Drupal is specifically adopted as the technology platform for building websites of federal institutions in US and many other nations. The govCMS initiative of the Government of Australia is another prime example of using Drupal for e-governance initiatives on the web. Primary reason for this is, Drupal offers scalability to build websites ranging from simple to complex and customised websites. FEATURES IN DRUPAL OPTIMIZING E-GOVERNANCE INITIATIVES Notwithstanding the fact that there are a lot of CMS available out in the market, Drupal stands out from others due to its security, robustness, customizability and its ability to evolve with emerging trends in the digital technology space. Here are some of Drupal’s features that make it especially suitable for e-governance. Citizen Engagement APIs: Generate APIs for third party websites so that Agency details reach the citizens through multiple ways. Integrate third party APIs for offering services from other authorised sites. Social Media Integration: Merely publishing on website is not enough. The Drupal CMS platform provides all major social media integrations so that citizens receive updates instantly on social media. Custom Modules: Grievance Redressal module, RTI submission, SMS notifications, Polls etc are some custom modules designed to meet citizen needs on the website. Web Content Publishing Easy to Use Workflow: No matter who all are in charge of the website administration, user roles and permissions can be set to decide who publishes a content. By default there will be draft moderation, review, publish and unpublish states offering finite levels of control. Custom workflow can be created to suit the organisational needs. Built in Content Types: Whether the need be publishing of Government Orders, Gazette notifications, Events, News, Tenders, or Careers, specific content types can be incorporated for each of these. Along with this, revision and archiving helps to keep track of changes. Multilingual: Leveraging on the multilingual module of Drupal, the portal will enable easy publishing and dissemination of content in English and the official language(s) of that particular country/province/state. Role Based Content Access: Some contents/files can be made private and accessible to only those who have a particular role in the CMS. Media and Digital Asset Management: This feature helps to organise various media files to display them and reuse them in various formats like slideshows, image gallery and videos. Custom Theming and Modular Layout: Front end can be customised to suit the organisation branding while content blocks can be configured with simple drag and drop to suit the needs. Guarding Government/Citizen Data and Web Infrastructure Security: More than any other website, Government websites are vulnerable to security threat. Drupal 8 lines up a series of security features like Twig templates, no PHP input to core, exportable site configuration, hardened user sessions etc limiting penetrability to core through various actions. The dedicated community also identifies new threats and creates patches to ensure that vulnerability is restricted. DRUPAL 8 AS THE DIGITAL TECHNOLOGY PLATFORM Drupal 8 (D-8) is the latest offering from the community and it is a highly scalable platform that can create websites to handle millions of hits without affecting speed and performance. It is flexible to adding various functionalities and in handling large data. The architecture is designed for mobile first and it has excellent content authoring features with built in WYSIWYG editors. Flexible content delivery suits the API economy and D-8 offers seamless integration with the best-of-breed technologies to give the best digital experience. Advantages for Building and Maintenance of CMS platform on Drupal 8 for Government Agencies The CMS platform for government built on Drupal 8 comes with the following advantages that make it powerful and robust. No licensing cost on account of Drupal 8 being Open Source. No vendor lock in- as there is no mandatory lock in agreement with the provider. Since the source code is open, the Government has the option to develop a team to enhance the features on their own. Easy to upgrade and update given the vibrant community that backs Drupal and their practices of quick releases of updates and patches and commitment to roadmap. Agility is offered by the scalable and highly modular nature of Drupal making it easy to maintain, integrate with other systems and build additional features. Reusability is possible by coding as per Drupal coding standards making integration with other custom made Drupal applications extremely easy. Civic centred through simplifying website management and maintenance and cutting down expensive investments into those areas. Consistent brand experience using Atomic Design where design components are prepared at the atom level of the layout. Templates created out of these components ensures that the brand uniqueness is maintained. Further the components are reusable to create new layouts. This can generate an experience of familiarity with icons and layouts while visiting multi sites of a department or a ministry making site access convenient. Reduced complexity and effort duplication through modular components which is designed considering the typical content publishing needs of a Government agency. Quick onboarding of content publishers through a user friendly dashboard that enables easy content updating. Modification is easy without the need of any particular technical skill set. Easy management of a portfolio of sites using Multisite Feature of Drupal. Removes duplication of content updating efforts while maintaining data consistency. Reduced risk with common site architecture and validated code-Automated deployment of new modules and functionalities. Enhanced Security Capabilities of Drupal 8 for Government Agencies In built Drupal 8 security features ensures privacy. Clickjacking, XSS attacks, SQL injections, are prevented in core. Presentation layer and data is separated to prevent intrusion. Core Security of Drupal 8 takes care of basic security requirement. Development of best practises enhance the security of the site. Community contributions: Highly active community to detect threats and do patching. Data privacy is secured by building with high standards of security ensuring citizen's rights to privacy and protecting the government site from external attacks. Citizen Experience High-end User Experience-People are culturally more tech savvy, expecting quicker and interactive services and the framework is designed considering these new technical culture. Rich Citizen Engagement features including the following Multilingual Mobile first-Making the services reach the growing ‘mCitizens’ Location based content delivery-District based notifications Web Content Accessibility Guidelines (WCAG) compliant-Ensuring inclusiveness by enabling accessibility for differently abled as well Social Media sharing-Ensures the policy awareness reaches the citizens quickly and directly High uptime leveraging on Drupal 8's core modularity and inherent strengths Due to these very same reasons, we recommend to design the CMS for governments using the latest version of Drupal. Drupal 8 platform is the most advanced in open source technology and offers a host of features to create the best user experience. By building a base version of a distribution in Drupal, it can be expanded in scope to suit the purpose of various government organisations. Zyxware Technologies has helped and is in the process of helping various governments in their e-governance initiatives. To know more, get in touch with us. (Edited by Nisha Oommen) Drupal 8 Egovernment Leave a reply Your email address will not be published. Required fields are marker *