Articles

/themes/custom/zyxpro_light/images/placeholder.png
17th December 2018 Technical Solution , MAC OS
close

on 17th December 2018 / by smitha.vn
Most of the projects that we work on involve either development or testing on MAC. It is, therefore, essential to know the keyboard shortcuts for MAC. Often the novices find it extremely difficult to garner the required information (in the case of PC Keyboard for MAC), so to make things easy the commonly used MAC commands are compiled and listed in this section. Before moving on to the shortcuts, the user should be familiar with the keyboard equivalents. The PC equivalent of the MAC keys are as follows : Windows Control Key > MAC Command key Windows Alt Key > MAC Option key Windows Enter key > MAC Return key Windows Backspace key > MAC Delete key Now let's go through the commands. Command-X -> Cut the item to remove it. Command-C -> Copy the selected item. Command-V -> Paste the contents. Command-Z -> Undo the previous command. Command-Shift-Z -> Redo action for reversing the undo command. Command-A -> Select all items. Command-F -> Find items in a document. Command-N -> Open a new window. Command-S -> Save the current document. Command-Q -> Quit the app. Option-Command-Esc -> Choose an app to force quit. Shift-Command-3 -> Take a screenshot of the entire screen (The screenshot will saved as a .png file on your desktop). Control-L -> Center the cursor or selection in the visible area. Option-Command-I -> Show or hide the inspector window. Shift–Left Arrow -> For extending the text selection one character to the left. Shift–Right Arrow -> For extending the text selection one character to the right. Shift–Up Arrow -> For extending the text selection to the nearest character at the same horizontal location on the line above. Shift–Down Arrow -> For extending the text selection to the nearest character at the same horizontal location on the line below. Command–Up Arrow -> For moving the insertion point to the beginning of the current document. Command–Down Arrow -> For moving the insertion point to the end of the current document. Command–Left Arrow -> For moving the insertion point to the beginning of the current line. Command–Right Arrow -> For moving the insertion point to the end of the current line. In order to rename an item, select the item and click Enter key and type. Hope this helps! Technical Solution MAC OS Leave a reply Your email address will not be published. Required fields are marked *
/themes/custom/zyxpro_light/images/placeholder.png
17th December 2018 Application Development , Business Solution
close

on 17th December 2018 / by jake.rheude
Next time you’re in a crowded location, count out ten people. Eight of them will have used a mobile device for online shopping, and at least three will do all their online shopping solely on that mobile device1. If you’re an e-commerce store owner, the eight are great news. However, those three might be giving you some anxiety because you’re not sure the best way to reach them. You’ve heard about the promise of mobile apps and the benefits of a responsive website but aren’t sure where to put your development dollars. Not to worry, we’ll look at the core features of each and give you some suggestions that’ll make the choice a bit easier based on your brand and target markets. What’s Up with Native Apps? You’re probably familiar with apps on your phone, whether they’re called mobile or native apps. A native app is one that was built specifically for an operating system and sometimes is adjusted for an individual device. Such development enables the app to use the specific hardware and features of the mobile device, like its accelerometer, GPS, email, social apps, camera, and more. For an e-commerce brand, an app can be both an online store and a way to view a customer account. Your user will fire up the app and have access to their order history, current order status, and be able to shop your store, among other things. It can be anything from Amazon’s app to your local veterinarian’s app that allows you to refill your pooch’s flea prevention with just a click. The wonderful thing about an app is that you can completely control it. You get to set up the entire user interface, options, notifications it delivers, and so much more. Because an app is downloaded and tied to a specific account, it means you can collect a lot of customer data and show that individual user the offers and coupons most relevant to them. Personalization is at the heart of this interaction, which could increase your chance of sales. The other major benefit is that apps can automatically deliver information to your users, such as deals. Notifications are easy to view, and a single click gets them right to your content. Plus, if you combine this with email marketing, you get multiple chances to reach someone with a personalized offer. The big downside with an app is that you must create multiple versions for different operating systems, and sometimes different phones. There’s a whole lot of testing, and it is continuous. You must ensure the app works on all platforms whenever you make an update and review it across impacted devices whenever there is an update to a major operating system. Two requirements for an app to be successful are: It has to work whenever the user clicks, andYou have to make a compelling enough offer that they open your app consistently.Does a Responsive Website Make Sense? Responsive design is among the most favored design styles right now because it allows you to create once for any screen size. In this architecture, your website automatically arranges itself based on the width of the browser. It prioritizes content and moves things around when you’re working on a mobile device and makes the layout appear as clean and useful as possible. The great news here is that this is automatic once your site is live. You use rules to define how this all reacts, and the site takes care of the rest. It allows you to build once for use on any browser of any size. It’ll even respond when someone on a PC has their browser window maximized or smaller. Dynamic movements can be difficult to plan out, so there’s plenty of testing before your site goes live. The good news is that you don’t have to do much testing and reconfiguring once you’re happy with it. The main testing elements are when you decide to incorporate additional content, plugins, or pages with your website — you want to make sure that new chatbot doesn’t block photos on the mobile version while also isn’t too small to be seen on a desktop browser. For today’s apps, there are a variety of plugins that you can use for things like shopping carts. However, in general terms, it will usually be easier for you to add new features and support for third-party tools on a website because there’s less custom code. Shoppers will appreciate the fact that they don’t have to download a specific app to see your content and that they can buy however they want. If they see something on their phone but aren’t comfortable using a credit card on it, they can simply navigate to your site on their laptop and make a purchase. If you’ve got customer accounts where they can sign in and save a shopping cart or items to a wish list, you’ve just made it that much easier to make a purchase on a preferred platform. The major downside for a website is that it isn’t as interactive as an app and you can’t always support things like gestures or advancement movements through the accelerometer. You’ll also have to get people to sign up for emails to broadcast to reach them; there’s no inherent messaging like you get on an app. How Do You Pick What’s Best? Two factors guide the decision for a responsive website or an app: money and audience. If you can afford the development of a custom app, and you have an audience that has demonstrated a desire to shop on an app, then that’s definitely a good reason to go for it. The cost for developing your own app will depend on your requirements. Beyond that initial cost, there’s another thing to consider about your app: not everyone is going to download it. If one of your brand’s core cultural aspects is exclusivity, then that’s great. If not, you’ll have to get a website anyway, and it’ll most likely be responsive. Responsive websites are relatively inexpensive and, today, there are plenty of tools and services you can use from third parties to do things like improve your shopping cart, add lookbooks, link to CRM and order management tools, and much more. For your app, some partners have APIs that you can use, but you’ve got more custom development here too. A responsive website is always a must-have in today’s environment. A great app is a perfect way to maximize sales through direct personalization if you can afford that development pricing and have a hungry audience. Reference 1. https://www.statista.com/topics/1185/mobile-commerce/ Application Development Business Solution Ecommerce Native Apps Leave a reply Your email address will not be published. Required fields are marked *
/themes/custom/zyxpro_light/images/placeholder.png
17th December 2018 Technical Solution , iOS Simulator
close

on 17th December 2018 / by aswathy.s
Running multiple iOS Simulator instances is very helpful for testing purposes. This is helpful in testing same application on different devices simultaneously or with different user credentials simultaneously. The default behaviour does not allow to run more than one simulator instance from XCode. But it is possible to do it from the command line.   For this change the directory into Developer/Applications in XCode.app package and run simulator with the "open" command.   cd /Applications/Xcode.app/Contents/Developer/Applications open -n Simulator.app open -n Simulator.app When the second simulator instance launches you’ll get an error message saying “Unable to boot device in the current state: Booted”. Dismiss the error message and proceed with the test. Device hardware type can be changed from "Hardware >> Device" menu of the iOS Simulator. Technical Solution iOS Simulator XCode 7 Leave a reply Your email address will not be published. Required fields are marked *
/themes/custom/zyxpro_light/images/placeholder.png
17th December 2018 Drupal Technical , Drupal 7
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 Technical Drupal 7 Module Upgrader Leave a reply Your email address will not be published. Required fields are marked *
/themes/custom/zyxpro_light/images/placeholder.png
17th December 2018 Technical Solution , Custom Plugin
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. Technical Solution Custom Plugin Notifier Leave a reply Your email address will not be published. Required fields are marked *
/themes/custom/zyxpro_light/images/placeholder.png
17th December 2018 Drupal Technical , Drupal 8
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 Technical Drupal 8 Redis Leave a reply Your email address will not be published. Required fields are marked *
/themes/custom/zyxpro_light/images/placeholder.png
17th December 2018 Drupal Technical , Date Format
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 Technical Date Format Leave a reply Your email address will not be published. Required fields are marked *
/themes/custom/zyxpro_light/images/placeholder.png
17th December 2018 Business Solution , E-Governance
close

on 17th December 2018 / by webmaster
We are a 11 year old digital solutions consulting and implementation service provider with a global clientele. Our brand has been present in North America for over a decade. With Drupal as the centre piece of our digital solutions, we have been a technology partner for many businesses in North America. We are a recognised company in the global Drupal community with us being one of the top contributors to Drupal in the world. We also have one of the largest Drupal teams in India. We have now set up operations in New Jersey, USA for greater engagement with our clients and deepening our footprint in the continent. We are now looking for a Sales Manager who can join us at our New Jersey office to lead our growth initiatives. The person will be responsible for identifying and reaching out to potential clients, build relationships and generate business from new and existing relationships. The person will also be responsible for building a sales team under him/her. Responsibilities Manage sales team and achieve sales targets Contribute towards building the sales strategy for the US market and operationalize the strategy Attend industry events representing the organization and establish relationships with new contacts Build and operationalize the sales team in the US Engage with clients build relationships and generate new business opportunities Prepare and report to senior management on sales activities and their outcomes Candidate profile Degree in business administration or a related field Experience in working in IT services sales in global delivery environments Proven ability to run sales activities independently Prior experience in Drupal and Digital sales would be an added advantage Experience in working in Media, Ecommerce, Government and Education sectors Business Solution E-Governance Leave a reply Your email address will not be published. Required fields are marked *
/themes/custom/zyxpro_light/images/placeholder.png
17th December 2018 Drupal Technical , Drupal 7
close

on 17th December 2018 / by jijimol.john
As part of a project requirement, we needed to notify users whenever an entity got created, updated, rated or reviewed. Drupal's 'message' module fulfils this requirement. We can log and display messages and can even customize the notifier plugins. For creating notification, we need to install the following modules: message message_notify message_subscribe The dependent modules are: Flag Ctools Entity API We can add message types in admin/structure/messages. In message types, we can add fields with the fields type. When the event is triggered, the rule action is processed for the corresponding messages and it will be saved to the queue table. While cron runs, the message notify plugin processes the messages and delivers it. Message notify module provide us with email and sms notifier. Message This module is at the core of message stack. This module help us to create message types. Message subscribe This module helps us to register the notified content when an event is triggered. This messages will get stored in the queue table. For preventing looping of messages in the queue system, apply the following patch to the message_subscribe.module . Message notify This module is used for sending or viewing messages via notifier plugin. Message notifier has 2 default plugins- email and sms. Hope this article helps! Drupal Technical Drupal 7 Message Module Leave a reply Your email address will not be published. Required fields are marked *
/themes/custom/zyxpro_light/images/placeholder.png
17th December 2018
close

on 17th December 2018 / by syam.mohan
Introduction An international multilateral development financing institution needed a digital platform to share their dynamic contents. Being a global entity they needed to distribute content in multiple languages. Challenge The financial institution needed an editorial content workflow customized to each department. The system needed department based content type permissions. For Instance: Department 1 has Article and News Department 2 has Article, Blog and Events Content workflow will vary for each department and each content type. Example: Article workflow for Department 1 is Draft -> Needs Review -> Published Article workflow for Department 2 is Daft -> Needs Review -> Needs Approval -> Published Most media websites use editorial workflows for publishing their contents. Different review processes are conducted to publish a content onto the website. The most common editorial workflow is Draft -> Needs Review -> Published We can add or modify the workflow. For example Daft -> Needs Review -> Needs Approval -> Published Common editorial website features are: Drag and Drop Layouts Configure page layouts and digital experiences with drag and drop tools that anyone can use. Media Management Embed images, videos, social media and more from Drupal or other sources into content and pages. Flexible Workflows Configure workflows that keep content moving through review and approval stages, easily. Experience Preview See how content and experiences look to visitors before you publish. Empower Self-sufficient Content Authors We can make it easy for business users to create and manage content with enterprise authoring tools. Approach We decided on Acquia Lightning, a popular Drupal distribution. Acquia Lightning is a great Open Source solution to build website for an editorial team. Lightning distribution provides a starter kit to build sites and digital experiences more quickly. Lightning provides some default workflow like Draft -> Needs Review -> Published. We can also, add or modify the workflow. We added Group module to accomplish the departmental content workflow. Group module allows you to create groups. Users of the system can add/join members of a Group. You can then decide the membership of the group they are entitled to since access to content is restricted to the members of that group. There can also be different levels of membership to a group: for example, you can have administrative members who can create content and basic members who can only view content within the Group. Here we have treated groups as departments. Installed Workbench Moderation Group module in order to integrate the Group module with Workbench moderation module. This way you can add content workflow for each of the content types for each department. Created group type and named it as Content Department. Installed and configured necessary content types to department via group type configuration page. Then created departments. For customizable workflow, go to group role permission page and set content moderation transition permissions as needed. See the below workflow configuration for Article creator Created a dashboard page for editorial team to show a unified and simplified user interface for users who ONLY have to work with content. Created custom views for each editors such as Creator, Reviewer, Approver and Publisher. We can create multiple blocks in dashboard such as My Assigned Tasks Contents I’ve Edited Recent Contents etc. Thus the entire editorial workflow was customized for each department easing the whole process of publishing.
Subscribe to