Drupal
more_horiz
close

on 17th December 2018 / by webmaster
Slick view Slick view is a module which provides new display style to views called Slick Carousel. For this, ‘Views UI’ module is not required. If we need to customize slick slider then we can use Views UI. Installation Slick views: Composer requires drupal/slick_views This will install Slick views Slick (core slick module) Slick UI Slick UI is for providing UI for slick configuration, Slick Views requires slick. Go to extend and install Slick views and slick. If we need to configure slick then we need to install Slick UI module. After installing this module we get an item ‘slick’ in configuration page under media tab. Creation of slider using slick view To create slider using view. Add needed fields for slider in the ‘fields’ section. Now we need to configure the slick carousel We already selected ’slick carousel’ in ‘format’. Click on settings. Now we are going to discuss basic settings. Vanilla slick: Check only if we selected ‘Content’ in Format >Show section. This can be used when slick features cannot satisfy the needs. Now we keep it unchecked. Option set: We can select predefined option sets from this drop-down. Option sets are sets of configurations which are created and saved. Option sets can be created under Admin > Configuration > Slick. This increases re-usability of a set of configurations. This will also provide a large number of options for customizing the slider. Keep it as default. Skin main: Here we can select different skins for the slider. Skins are layouts for sliders with CSS. Some options depend on skins. We are now selecting ‘default’ skin for getting a simple basic slider. Main stage: select the main background or image field. Select the image field. Title: Select the title field. Layout: layouts can be used to specify the slide and caption alignment. Captions fields: Check needed caption fields. We are selecting ‘title’. Override main optionset: If we checked this box, then we can override some features which are configured in main option set like dots, arrows, autoplay, infinite loop etc. Place view in a region. Go to Admin>Structure >Block layout Place our block into a region. Checkout the slider, it should be working.. Drupal Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 17th December 2018 / by webmaster
Slick Carousel   Slick can be used to create a slider. We can create a slider with views and paragraph types or multiple value fields. Slick carousel has many features. Responsiveness is the main feature, that is the ability to scale according to its container. It provides advanced settings for breakpoints. The slick slider can be scrolled using the auto scroll, mouse wheel scroll, swipe, desktop mouse dragging etc. It provides settings for customizing arrow keys and its navigation also provides settings for dots under the slider for slide selecting. Slick has different skins like Full width, Full-screen Split, Grid and multiple-row carousel. Installing slick Composer requires Drupal/slick For creating a slider with multiple value fields, we need the following modules Slick Slick UI For creating a slider with the view, we need the following modules Slick Slick views Creating a slider with multiple value fields or paragraph types Go to extend menu, then install and enable the slick module and slick UI (Provides slick carousel configuration UI). Now we are going to create a slider with a paragraph type and a multiple value image field. Steps: Now we need to configure slick slider. Click on the settings icon in manage display tab. Set ‘OptionSet’ and ‘Skin’ to any predefined one will generate a basic slider. OptionSet is already selected with ‘default’ OptionSet. Other fields and advanced configurations All fields are displayed with a tooltip which contains information about the field. Now we are going to discuss some of the fields. Display style: Use either CSS3 Columns or Grid Foundation. Difference: Columns are best with irregular image sizes (scale width, empty height), as it affects the natural order of grid items. Grid is good with regular cropped ones. Unless required, leave empty to use default formatter, or style. CSS3 Columns is best with adaptive height, non-vertical. Will use the regular carousel as default style if left empty. OptionSet main: Here we can select option set which we can create in the slick configuration page. OptionSet is a set of configuration which we can create and save. This increases the re-usability of a certain configuration. ‘Default’ option set is selected as default. OptionSet creation is going to be discussed in the next topic. Skin main: Skins allow various CSS layouts. Slick provides some predefined skins. Selecting OptionSet and a skin is enough to generate a simple slider. Image style: Select image style. This is the main image style option. Selecting any image style will help to change the image style like ratio, crop etc. OptionSet thumbnail: Select only if we needed thumbnail customisation using optionset. Skin thumbnail: Select only if we needed thumbnail for our slider. Thumbnail style, Thumbnail effect, Thumbnail position: These can be used to specify the thumbnail image style, effect and position. If thumbnail options have been provided then thumbnail for slider images can be displayed as below. Media switcher: We can select appropriate media switching option like switching to content, link to smaller slick etc. Use CSS background: Check this to turn the image into css background. Aspect ratio: Select any aspect ratio for image slider. Grid large: Set this option only for larger displays if needed. Layout: This option can be used for selecting a layout that specifies the slider and caption position etc. Thumbnail caption: Here we can decide what should be displayed as thumbnail caption among alt and title text of the image. Caption fields: Here we can tick alt and title field for displaying as a caption for each slide. Cache: If we need to cache our slider data, then we can select an appropriate time period for caching data. Override main optionset: If we checked this, some settings of selected optionset can be overridden. The settings which can be overridden will be displayed after selecting this checkbox. Over-ridable options are: Arrows - check if slider next and previous arrow need to be displayed. Autoplay – check if the slider needs to be auto played. Dots – check if the slider bottom dots needs to be displayed. Draggable – makes the slider draggable. Infinite – allow the slider slide infinitely. Mousewheel – allow the slider to slide when mouse scrolls. Randomize – for random sliding. Variable width – select if each slide needs to be displayed as variable width. Settings for responsiveness: Leave Breakpoints empty to disable multi-serving images. If provided, lazyload applies. This is ignored if core responsive image is provided. It uses max-width, not min-width. Here we can set breakpoints as we needed. The above listed are fields of slick configuration. This configuration is enough for creating a slider. If we need to customize more then we can create option set and use it. Option set increases the re-usability of configurations. Now let's discuss how to create a new optionset. Creating option set Go to the configuration page, under media, select slick. On this page, we can see the default option set. This cannot be edited, but we can create its duplicate and edit. Here we can configure our slider from the basic, like slider arrows, autoplay, dots, variable width or height etc. Click on duplicate and give a name to option set. There are two tabs one is settings and other is responsive display. Settings tab for specifying the needed configuration for the slider and responsive display tab for specifying the responsive design. Now we are going to discuss the fields in the option set. Optimized: Check to optimize the stored options. Anything similar to defaults will not be stored, except those required by sub-modules and theme_slick(). Breakpoints: Here we can specify the number of breakpoints which is needed for the responsive design. After adding the number of breakpoints, we can specify configuration for each breakpoint in ‘responsive display’ tab. Skin: Here we can select a skin for this particular option set. Mobile first: This is used for specifying mobile first responsive display (taking min-width instead of max-width). asNavFor target: Can specify ID or class for navigation to other sliders. Accessibility: Enables tabbing and arrow key navigation. There are many fields for specifying variable height or width, autoplay, dots for the slider, next and previous icons, slide speed, fade draggable infinite loop of slides, etc.. After creating slick configurations, print the field for displaying the slick slider. Slick is an easy way to create a slider with large options for customization. Read 'How to create Slider using Slick View in Drupal' Drupal Leave a reply Your email address will not be published. Required fields are marker *
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
I had a requirement to add a multi-level responsive drop down menu in a Zyxware theme. Please do refer the below reference links to know more about responsive themes and free Drupal themes. So for that I had to edit page.tpl.php, page--front.tpl.php, style.css, template.php etc. First I added the following code to template.php of my theme. The steps that I followed here are, Added the following code to the function themename__preprocess_page(&$vars) to make the menu as a tree. //Setting menu in a tree structure $main_menu_tree = menu_tree(variable_get('menu_main_links_source', 'main-menu')); $vars['main_menu'] = $main_menu_tree; // Get the entire main menu tree $main_menu_tree = menu_tree_all_data('main-menu'); // Add the rendered output to the $main_menu_expanded variable $vars['main_menu_expanded'] = menu_tree_output($main_menu_tree); Added css class to main menu using the function, function themename_menu_tree__main_menu(&$vars) { return '<ul class="nav navbar-nav">' . $vars['tree'] . '</ul>'; } Added css class to inner part of main menu using the function, function themename_menu_tree__main_menu_inner($vars) { return '<ul class="dropdown-menu">' . $vars['tree'] . '</ul>'; } Added the following function to display the links in main menu tree, function themename_menu_link__main_menu($vars) { $element = $vars['element']; $sub_menu = ''; if ($element['#below']) { foreach ($element['#below'] as $key => $val) { if (is_numeric($key)) { $element['#below'][$key]['#theme'] = 'menu_link__main_menu_inner'; // 2 level <li> } } $element['#below']['#theme_wrappers'][0] = 'menu_tree__main_menu_inner'; // 2 level <ul> $sub_menu = drupal_render($element['#below']); } $output = l($element['#title'], $element['#href'], $element['#localized_options']); $element['#localized_options']['attributes']['class'][] = " dropdown-toggle "; $element['#localized_options']['attributes']['role'][] = "menu"; $element['#localized_options']['attributes']['data-toggle'][] = "dropdown"; $element['#localized_options']['attributes']['aria-expanded'][] = "true"; $output = l($element['#title'], $element['#href'], $element['#localized_options']); return '<li class="dropdown">' . $output . $sub_menu . '</li>'; } Added the following code to make inner <li> tag - links function themename_menu_link__main_menu_inner($vars) { $element = $vars['element']; $sub_menu = ''; if ($element['#below']) { $sub_menu = drupal_render($element['#below']); } $output = l($element['#title'], $element['#href'], $element['#localized_options']); return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . '</li>\n'; } Then I added the code ' print render($main_menu); ' to the page.tpl and page--front.tpl for display menu with necessary <div> tag and css styles based on the theme that were downloaded from http://getbootstrap.com/components References : https://www.drupal.org/node/1178784 http://getbootstrap.com/components/ http://www.zymphonies.com/metro-responsive-theme Bootstrap Drupal Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 17th December 2018 / by webmaster
To implement push notification for a project, we first created a new custom plugin to push messages into a custom table. When the cron runs, the messages stored in the queue table will be processed and saved to the custom table. For this, create a new directory "push" in message_notify/plugins/notifier/ and use it just like email or sms. The directory may contain 2 files: push.inc MessageNotifierPush.class.php In push.inc, create a plugin with class and view modes $plugin = array( 'title' => t('Push'), 'description' => t('Send Message as notification.'), 'class' => 'MessageNotifierPush', // A notifier must define its own view modes. // Those view modes are later going to be rendered and sent. 'view_modes' => array( 'message_notify_push_body' => array('label' => t('Notify - Push body')), ), ); The MessageNotifierPush.class.php extends MessageNotifierBase class and can be structured as: class MessageNotifierPush extends MessageNotifierBase { public function deliver(array $output = array()) { $notification_text = strip_tags($output['message_notify_push_body']); $message = $this->message; // Get the message object and the notification text and pass it to the custom function return abc_push($message, $notification_text); } } In our custom function, abc_push function will fetch the details of message in the queue table. function abc_push($message, $notification_text) { $wrapper = entity_metadata_wrapper('message', $message); $field_value = $wrapper->{field_name}->raw(); // Rest of the code here... } These field values are then saved to our database table. We can display these field values wherever needed. Drupal Drupal 7 Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 17th December 2018 / by dhanyamol.kv
In Drupal, usually the date field value is saved in the database in UTC timezone format. One of our requirements for a project was to show the date in the site's timezone format. So we generated a general function to convert date in UTC timezone to any required timezone and format it. Just use the below function to convert date in UTC timzone to a given timezone and the format date using a valid timestamp, /** * Function to get date/time on user's timezone * @param int $timestamp * Timestamp to be converted to date * @param string timezone * Timezone to which date is to be converted * @param string $format * Format to which date to convert * @return string * Formatted date. */ function get_date_on_given_timezone($timestamp, $new_timezone, $format = 'd/m/Y H:i:s') { if (!empty($timestamp)) { // Database timezone. $db_timezone = 'UTC'; $date_object = new DateObject($timestamp, new DateTimeZone($db_timezone)); // Convert from the database time zone to site's time zone. $date_object->setTimezone(new DateTimeZone($new_timezone)); $new_date = date_format_date($date_object, 'custom', $format); return $new_date; } } Hope this snippet is helpful for you. Drupal Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 01st November 2017 / by harikrishnan.v
Drupal and Shopify are best of two worlds. Drupal is one of the most popular and robust content management systems on the planet. Immense digital marketing capabilities of Drupal make it widely acceptable among digital marketers. On the other hand, Shopify is one of the best cloud based ecommerce system for SMB. Leveraging the strengths of these two can bring in great results. Here we will describe the advantages of developing a hybrid Drupal-Shopify store. Let’s explore the use case we conceptualized in Quick implementation of ecommerce store with Drupal and Shopify: John’s boutique has a Drupal website and an ecommerce site catering to US audience. As part of his market expansion strategy, John decides to open up stores catering to Australian and French audience. He would love to continue with the existing model of listing products on Drupal platform and placing orders through Shopify. By doing so, he will be able to utilize the digital marketing capabilities of Drupal and order management capabilities of Shopify. But while moving forward, to make this job easy, he needs a more integrated model where Drupal will take care of product catalogue listing for all countries and Shopify used only for checkouts. The Strategy Content in Drupal + Checkout in Shopify = Enhanced user experience and improved store management Drupal-Shopify Hybrid Store Platforms In this model, Drupal and Shopify will be implemented side by side with deep integrations between them. Drupal will be the customer experience platform and Shopify will be the ecommerce system. Three Shopify licenses will have to be purchased for the same. Implementation Model The current Drupal implementation continue as it is. New country specific websites will be created in it using Multi site capabilities of Drupal. Johnsboutique.com will continue to serve international audience and customers from US. The two newly created websites will be hosted in 2 separate domains: Johnsboutique.com.fr and Johnsboutique.com.au. Drupal and Shopify will be tightly integrated to facilitate exchange of customer data and order details. The product catalog for all countries will be displayed on the corresponding Drupal platform and customers will be diverted to concerned Shopify platform during checkout process. After checkout and payment, they will return back to the Drupal platform. Customer data from Shopify will get stored on Drupal platform and customers can use Drupal for viewing their order details. Country specific landing pages and product pages will be created in Drupal platform to ensure personalized content delivery based on customer location. Customer Journey Johnsboutique.com built for US customers will also serve for international audience. Johnsboutique.com.fr and Johnsboutique.com.au will cater to the customers from France and Australia. Based on the Geo IP of customers, customers will visit the country specific portal to view products and place the order. Alternatively, customers can also be prompted to access country specific stores directly. For instance, when a customer from France lands on Johnsboutique.com , there he will see a message prompt that this is a global store and if he wish to visit the store for France, click a button. Once he does that, he will be taken to the newly created website Johnsboutique.com.fr, created using multi site capabilities of Drupal. He can explore the product details there and when he proceeds to checkout, he will be taken to Shopify store of France for payments. Once the order is completed, he will be taken back to Drupal platform itself. Thereafter, he can login to the Drupal platform to access his order details. Technology Ecosystem Drupal will act as the backbone of this system where all product and customer data will be stored. Different counties will have concerned landing pages and product pages. Shopify stores will be established for all countries. However, customers will use Shopify only during checkouts. Country switcher will be enabled on Drupal platform to divert users based on their countries. Payment gateways will be integrated to Shopify stores as checkout happens here. Each country will have separate payment gateways. Shipping providers will be integrated to Drupal system from where orders are passed. Personalization and Marketing Automation systems will be integrated to Drupal to deliver a personalized marketing experience. Store Management Inventory and Product Catalog Management Inventory across different Shopify stores can be synchronized as well as maintained separate. Usually the product SKU’s will be different for different countries. Product catalog details like description, features, images etc. needs to be updated on Drupal platform. Pricing and tax rules will be configured on Shopify platform. Order Management As soon as the order is confirmed, the Shopify will send that order to Drupal system. It is from the Drupal system, the orders are passed to shipping providers. Customer Management Customers can be provided dashboards on Drupal system. This will help all users to access from a single point and it ensures unified customer experience across all countries. Marketing Management As all the data is available on Drupal platform, marketing automation systems and personalization systems can be integrated to Drupal. Advantages of Drupal Shopify model Less go-to-market time As there are not much developmental efforts when compared to traditional implementation, e-commerce portal can be made live in short span of time. Low upfront investment As Shopify delivers its service as a monthly subscription and there is not much developmental efforts needed, upfront investments are on the lower side. Reduced infrastructure risks As the ecommerce system is handled by Shopify and is a proven one, merchants no longer have to worry about it. Up-to-date ecommerce system As we are using SaaS based ecommerce system, all the updates made by Shopify team will be applied to the system instantly. Digital marketing enabled system Using Drupal for product display will help to strengthen the digital marketing capabilities of Drupal. Informative dashboards As Drupal serves the purpose of a customer experience platform, the customer data will be displayed on Drupal dashboards. Since the inventory management happens on Shopify, the Shopify dashboards will display inventory and sales data. The model described above can be used for implementation of Multi Country portal when the budget and go-to-market time are on the lower side. Want to know about other ecommerce platform possibilities?Shopify is a generalized ecommerce system that is built for the masses. If the ecommerce features needs to customized based on business needs, we recommend to go with Drupal commerce itself. Even though the upfront investment and go-to market time are on the higher side, it delivers a scalable and customizable platform that will be a true asset for any growing business. Zyxware Technologies from its inception in 2006 has built scores and scores of ecommerce stores for our clients worldwide. We design and build sites customized to each business requirement, giving visibility to their unique value proposition and the audience they are catering to. To know more get in touch with us. Ecommerce Drupal Shopify Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 24th October 2017 / by harikrishnan.v
If you own a business that has an online presence, there are chances that you may be thinking of adding an e-commerce functionality to your website at a minimum upfront investment and less go-to-market time. In this article, we will explain how it is possible to quickly add an e-commerce functionality to your product listing website using Shopify. Consider this use case. John runs a boutique business in New York. His business does have a website (say johnsboutique.com) built on Drupal that has a reasonably good listing on search engines. His website lists products available in his store. John gets about 30-50 product inquiries a week. So he figures he will open up an online store. But, being new to this domain, he wants to keep his investments low to lower business risks. He is also working on a tight time frame. The store needs to be launched in 3 weeks, ie before the next festive season. He also needs to preserve his good listings on Search Engine Result Pages(SERP). Combination of CMS, E-commerce and SaaS Platforms As the solution needs to be implemented in a short span of time, it’s better to go for a CMS-E-commerce-SaaS combination. Continuing with Drupal will ensure that the digital marketing capabilities of the platform are utilized to the maximum possible extent. SaaS Platforms will ensure that initial investments are on the lower side. He can scale later on according to his need. Shopify, one of the most preferred SaaS e-commerce system for SMB can be used. Shopify comes with a handful of features that are needed for an online store. Implementation Model Implementing Shopify and Drupal side-by-side is the best option that can be adopted by John. He can use his Drupal website as a Digital marketing platform. The products can still be listed on the Drupal platform. This will preserve existing listings also. Shopify ‘Buy Now’ buttons can be integrated on Drupal website. Once a user clicks on the ‘Buy Now’ button, he will be taken to the product page in Shopify. From there, the customer can add the product to cart and complete the purchase. Store Management In this model, the product portfolio management will be done on the Shopify platform itself. Product details updated in Shopify will get synchronized to Drupal product pages. The new Shopify store will be configured to meet country-specific requirements like currency, shipping service, language etc. Advantages of this model Less go-to-market time: As there are not much developmental efforts, e-commerce portal can be made live in few weeks. Low upfront investment: As Shopify delivers its service as a monthly subscription, there is no need to invest a big amount upfront for development. Scalable system: Shopify platforms can be scaled according to business growth. To start with, Shopify basic can be subscribed. Later can be upgraded to higher plans. This model also facilitates launching new stores in short span of time. Maximizes the value of both platforms: This model will help to get the best of both Drupal and Shopify. Drupal for Digital Marketing capabilities and Shopify for E-commerce SaaS feature. Like two sides of a coin, this model has advantages as well as disadvantages. However, if you are just starting to sell online, this model can be adopted. Once you have reached a considerable scale, you will have to consider a more advanced implementation using Drupal and Drupal Commerce. It gives you the freedom for advanced e-commerce customizations. If you are considering on a multi-country e-commerce portal, read "building a multi-country e-commerce portal using Drupal and Shopify". Are you looking for an expert e-commerce agency to boost up your online business? Talk to our experts today itself. Ecommerce Drupal Shopify Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 14th September 2017 / by webmaster
Dries Buytaert the founder of Drupal acknowledged the contributory work of the key individuals and companies that make Drupal a strong and vibrant Open Source community. Dries named Zyxware technologies as the top tenth contributor globally to Drupal. As an update to last year’s study, Dries acknowledged in his recent blog contributions of 2017: Contributions in terms of “who develops Drupal, how much work is sponsored, and where that sponsorship comes from”. The top 30 contributing organizations based on the number of Drupal.org commit credits. Source Drupal is secure and robust due to the large scale contributions from the Drupal Community be it code contributions, translations, documentation, design etc. Drupal.org acknowledges contributions from the community to Drupal by giving credits. Issue credits are awarded by maintainers of Drupal modules, themes, and distributions to those who help in it. Accumulating credits provide individual contributors and companies a way to showcase their expertise and visibility. A key point that Dries mentioned in his blog is the increase in the number of people contributing and the number of organizations contributing. Drupal.org received code contributors from 7240 different individuals and 889 different organizations this year. This is a testament to Drupal’s growth and potential. Another exciting new development is the increase in digital marketing agencies that deliver beautiful experiences using Drupal. Dries has also mentioned that “A variety of traditional Drupal agencies have been involved with Drupal for 10 years and... These organizations are typically recognized as Drupal experts and are sought out by organizations that want to build a Drupal website.” Zyxware Technologies, founded in 2006 is one of the oldest Drupal development companies from India and we have delivered over 170 projects successfully. We were in the top 30 contributors to Drupal in 2016 too! Dries Buytaert's blog News Drupal Dries Buytaert Leave a reply Your email address will not be published. Required fields are marker *
more_horiz
close

on 05th September 2017 / by webmaster
Second year Computer Science Engineering students of IIT- Palakkad did a short stint at the Kochi branch of Zyxware Technologies as part of their summer internship. Here are some excerpts from a talk with Adrian McDonald and Anish Mathew. We also got a chance to hear from their professors after they did a presentation about it at their college, which we have added at the end. Q. First let’s start with some casual questions on life at IIT Palakkad, how do you relax? We have extra curricular activities. We have tennis and football other than that we spend our time with friends. So that is our main form of relaxation. Q. Anish, you are from Kerala but Adrian, how do you find Kerala different from Kolkata? Kerala is a beautiful place especially Kochi. Culture is different but yes, it is really scenic. Q. Have you been to any other part of Kerala? Kochi and Palakkad so far. Q. Why did you choose to intern with Zyxware? How long was it? Anish: We were actually looking for internships and we wanted to target companies where the number of employees were small in the office, so we could get a more real life experience. And then our professor told us about Zyxware that they had come there to the college and might be working on our website. We heard about it and we read that you were working on Drupal: Drupal Open Source , so I got interested in that. That was the reason. Adrian: The main reason was that because it was Open Source. Our professor did tell us that since we were working in a small group, the focus that we would get will be more concentrated than anywhere else. That was why we choose Zyxware. We had another offer from a company in Bangalore but they said that your evaluation will be done weekly but here we get evaluations every single day. So I think this is more focused and it is much better this way. So we made the right choice. We are at the tail end of our 6 week internship. Q. What were your first thoughts and observations when starting the internship? Anish: This is my first interning experience. I thought the atmosphere would be more strict but then after coming here I found out it was much more pleasant and people are more supportive. The expectations are that I would learn something new and would be able to contribute to Drupal. So we have been going through the course. I find that I can contribute with some more effort. Adrian : It is the same. Q. What were some of your internship responsibilities? So the first responsibility that was given was more of an examination, more of a test. We were given a list of a few of the things that were needed to be done over Drupal, over the site builder. And then we started understanding how Drupal works from the inside. Q. Were you both familiar with Drupal before or Open Source? No, we weren’t. About a week before we came for the internship, we received a link to a site to catch up with the site builder. That is what we did. Q. What was the most interesting thing that happened while you were interning here? Anish: Honestly, it was the treats that we got on Friday. The atmosphere here is almost like a college. There during intervals and lunch break, people are like shouting. At lunch time here people are talking and interacting. That is fun. Q. What was the favorite part of your internship experience with Zyxware? Adrian: We had sessions with our mentor. He told us about his experiences and about how Open Source Software developed and what were the other applications of Open Source. That was also good. Q. As your time at Zyxware comes to a close, what has it been like or what did you learn from your overall experience at Zyxware? The experience was very good. We got more than what we expected. We had more mentor time. We had two mentors. Vimal and Mishal. They explained to us a lot which was much more than we expected. It meant a lot to us. And then whenever we sent a mail we got a reply whether it is good or not. That was also good. We are planning to maybe come back in December during our winter break, we have not finalized it yet. Adrian: Well, that is a request we are trying to make actually. Q. How would you describe our company culture? Everyone is co-operating with the interns. Helping each other. So when anyone has a doubt, we can always see them asking others. So it is not one person that answers but everyone comes and gives their input. Q. What about you, Adrian? The same thing because we had a doubt on a particular project and we were stuck for a while. Our mentors guided us through and helped us solve it. Q. How would you describe your experience working on Drupal? We actually were not trying to make a website. That was only the first week. Then we started learning how Drupal works. We were reading Drupal code and all that. So actually we are working on Drupal 8. Since it is object oriented it is actually challenging to find out how Drupal 8 works. But then over the weeks, we have come to a good understanding. Q. Adrian, would you like to add something? I think the community is very vibrant in Drupal. So while we were learning to contribute to the pipeline, we saw a lot of people were contributing. What is a contribution, to add a particular feature or not, the discussion went into all of this. We had to read through that. Then we had a chance to collaborate with people that were experienced in Drupal and all that. Q. Did you find Drupal a steep learning curve? Steep learning curve definitely. Cause we were not used to so much object oriented programming. Q. What are your future plans concerning contributions to Drupal? When you asked us what have been our responsibilities for internship, what we mentioned was what we did for the first week. After that we made a presentation. We made a slide for the presentation on Drupal . We will be making the presentation this weekend. And then we started searching the Search 404 module and giving patches for it. So we have started contributing to the contributed modules now. So after this internship, during the coming months we will be continuing to contribute to Drupal. We are interested in doing that. Q. What did you learn in your internship that you can now apply to the classroom setting or to your future? I think firstly it is writing proper codes. Our mentor stressed on following the style guide and writing the code according to that. That is one thing we are going to take away from here. Q. What about you, Anish? The same thing of course and working on Open Source has been a good experience. So we will be definitely writing that on our CV. Plus this internship. We came here because we were interested. Q. What skills did you acquire or what did you learn during your internship that you will be able to highlight in your resume, cover letters, and/or interviews? We got the opportunity to work on Open source. That is the main highlight. Plus what we said earlier. Before this, we had done lab courses so we could do coding ourselves. Working on a single project by ourselves. Here we saw, other people are working on team projects so we know how they collaborate. Vimal gave an extensive talk on how to manage a team project on a Git environment and all that. So that is something we will be taking away from here. When we work on group projects we will be making use of that. So I think more than what we are going to put on our resume, Zyxware helped us to use this information to make something else and then apply that on our resume. Q. What will be a word of advice you will give to those who seek internship? What are its benefits? One major thing that our professor actually told us, while trying to choose internship was to focus on places where you will get a personalized atmosphere. So when we chose Zyxware, one of the main reasons was that apart from the Open Source part we were informed that the set up was small. So whenever someone is trying to get an internship our advice to them is to try to go to a startup or a small place where you will get personalized attention rather than going into a big company just for the name of it. And the experience has been very nice at Zyxware. Q. Do you have any suggestions on how we could improve the internship programme of Zyxware? If it is possible to work with a team. We have been directly mentored, but if we could work on a project that they were working on. And also if we could work on something called pair programming. If we could be allowed to work on something like that. That would help. So we now know how the software works. But we would also like to know how the software is used. It was kind of like a crash course. We would like to know all about it. How to build a website using Drupal and all that. We can always learn it. But getting a personalized experience is much better. This is pure learning, having more interns would have been nice. Feedback from the Professors "One of the major objectives of the internship is to get hands on training for our students with real life experience and working in a professional software development environment. This gives them the familiarity to deal with live projects instead of the experimental ones done in our labs. With regards to the presentation that they did at the institute, this was one of the best in terms of quality. The regular feedback the students got from their mentor in Zyxware really helped in their internship learning. Based on the presentation and the input from the students we would love to send more students to Zyxware as part of our internship program.” Dr. Jasine Babu, IIT-Palakkad "The presentation of our students who came to Zyxware for internship was well structured and informative. Many internship presentations tend to loose the audience because the students focus only on what was learnt and do not put enough thought on how to convey that effectively in a 15 min presentation. We are also happy that the students could get to work on a complex problem and familiarize themselves with the issues of scalability and maintainability. This exposure that they got in Zyxware cannot be replicated in a college setting and really benefited the students." Dr. Deepak R., IIT-Palakkad Drupal Internships Leave a reply Your email address will not be published. Required fields are marker *