Dmitry Beloglazov's blog

Leveraging Headless Drupal for High-Performance E-Commerce Sites

In the ever-evolving landscape of web development, the concept of a headless CMS (Content Management System) has gained significant traction, especially within the e-commerce sector. A headless CMS decouples the frontend and backend, offering unparalleled flexibility and performance benefits. For high-traffic e-commerce sites, this architectural shift can lead to remarkable improvements in user experience and operational efficiency. In this blog post, we will explore the advantages of leveraging headless Drupal for e-commerce, and how it can revolutionize your online store.

What is Headless Drupal?

Headless Drupal refers to using Drupal as a backend CMS while utilizing a separate frontend framework or technology to handle the presentation layer. Unlike traditional Drupal setups where the frontend and backend are tightly coupled, headless Drupal uses APIs to serve content to any frontend framework such as React, Angular, or Vue.js.

Unlocking the Power of Custom Drupal Development for Your Business

In today’s digital age, having a robust and scalable web presence is crucial for business success. Drupal, a powerful content management system (CMS), offers unparalleled flexibility and customization to meet diverse business needs. At Code Your Dream, we specialize in delivering custom Drupal development solutions that drive growth and innovation.

WooCommerce issue fix

Although we don't specialize in WordPress development, sometimes we receive the support requests for WP.

For those who have troubles with this error in WooCommerce:

> PayPal error (2): An error (2) occurred while processing your PayPal payment. Please contact the store owner for assistance.

The fix that worked in our case (WordPress version 5.3.2, WooCommerce version 3.9.0 with Jetpack version 8.1.1) was enabling Jetpack plugin, not just on the plugins page, but on the Jetpack page itself:

yoursite.com/wp-admin/admin.php?page=jetpack#/dashboard

You should follow the registration procedure (there's a free plan).

Also
1. You should have PayPal Checkout enabled on your "Payments" tab in WooCommerce config:

yoursite.com/wp-admin/admin.php?page=wc-settings&tab=checkout

2. In PayPal Checkout settings you should see "Payment Email" field in "API Credentials" section - you should put your PayPal email address there:

yoursite.com/wp-admin/admin.php?page=wc-settings&tab=checkout&section=ppec_paypal

If you follow these instructions it should work, at least it worked for us.

What makes a project successful

Code Your Dream team has been successfully working with customers all over the world since 2008. Before CYD I worked for another company who did outsourcing in IT as well (in other technologies).
I worked directly and indirectly with large companies like Xerox, adidas, Stanley Black & Decker, Teresis Media.
Now here's what I learned from 12+ years of managing and developing IT projects.

The clear, prompt and organized communications are the main key to success

Everything else can be outsourced or delegated, the communications must be handled clearly and efficiently between someone from the provider's end and the customer's end.
The clearer the communications are, the more chances for success. And vice versa: bad communications lower the chances to succeed.

The quality of specifications

How to run multiple PHP versions with Apache on one Linux machine using Docker

I guess many PHP developers would love to have an easy way of switching between different versions of PHP on one machine. Or even having all required versions available in parallel.
Whether you work on multiple projects that require different versions of PHP or if you'd like to test a website on different PHP versions, it would be really nice to do this quickly without having to run multiple virtual machines or dealing with packages downgrade.
So, there's a really powerful tool that can be used to achieve this and its name is Docker.

Our goal was: elaborate a "magic command" that would run all local websites on multiple ports working on different versions of PHP, like so:
http://localsite runs with the currently installed PHP
http://localsite:8053 runs with PHP 5.3
http://localsite:8055 runs with PHP 5.5
http://localsite:8056 runs with PHP 5.6
http://localsite:8070 runs with PHP 7.0

Can't install PhoneGap app to iPhone 4 (iOS 7.1.2)

We ran into another issue with our PhoneGap / DrupalGap / Cordova app.
Just around a week ago (mid December 2016) we could successfully install it on our oldest iPhone with iOS 7.1.2.
But now the app won't install, even on the same code base and the same settings.

We use PhoneGap Build for building our apps.
And it looks like they updated Cordova version recently, so the minimum supported iOS version is 8.0.

We posted a forum topic asking for help: https://forums.adobe.com/thread/2253844
And today we found the solution here: http://stackoverflow.com/questions/36768548/cordova-ios-how-to-change-mi...

It appears that it's possible to deploy the app built with current Cordova if you explicitly specify the iOS version in the configs like so:


<preference name="deployment-target" value="7.1.2" />

[PhoneGap] [DrupalGap] How to resolve "the app's Info.plist must contain an NSPhotoLibraryUsageDescription key" issue

Today we encountered an issue while trying to submit a DrupalGap app to Apple store:

We have discovered one or more issues with your recent delivery for "TheVine | Fresh Showcase". To process your delivery, the following issues must be corrected:
This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

According to brief Internet research, this is a known recently appeared issue of PhoneGap, Ionic, Cordova apps.

Our app uses cordova-plugin-camera, and the plugin page says:

Since iOS 10 it's mandatory to add a NSCameraUsageDescription and NSPhotoLibraryUsageDescription in the info.plist.
NSCameraUsageDescription describes the reason that the app accesses the user’s camera.
NSPhotoLibraryUsageDescription describes the reason the app accesses the user's photo library.

Why Drupal is great for start-ups

When you’ve got a start-up business and you’re looking to impress with a stunning website, then it can get quite daunting. CMS platforms are all the rage these days because you no longer need to rely on a webmaster to make quick edits to your site, but you can do them yourself. CMS platforms allow those who do not know how to code to manage basic pages and posts themselves. The leading CMS right now are Drupal, WordPress and Joomla, with people giving different pros and cons about each one. This article discusses the benefits of Drupal and why it should be your CMS of choice for your start-up.

1. Drupal is flexible

The latest version of Drupal has addressed all the issues seen in previous versions. Many users complained of the shortcomings and these have now been addressed. It now allows users to keep their options open, which makes it ideal for start-ups, as they may not know which direction your business will go in. But Drupal will allow for expansion and future scaling and integration.

2. Responsiveness

How do you quote your projects?

This article is based on a recent communication with one of our prospects.
The customer provided us very high-level requirements, and we elaborated a very high-level quote based on the requirements: 4 - 5 man / months.
The customer then asked why there's such a big "difference" (meaning 1 man/month fork).

And I thought that this is actually a very deep and interesting question that I'm asking myself in many projects in the initial analysis phase.

Here's the problem.
Your customer doesn't know what he/she wants exactly, he can only provide a rough outline, BUT they want it within a fixed budget. Can you see the mismatch between the unknown expectations and the fixed price here?
And of course, the provider who implements the project doesn't want to do the unknown work (which usually grows down the road, as the customer begins to realize what he/she really wants) within the fixed budget and time.

We implemented our first DrupalGap/PhoneGap app!

Code Your Dream is glad to present a new portfolio item - a cross-platform mobile application based on DrupalGap (and PhoneGap).

Pages

Subscribe to RSS - Dmitry Beloglazov's blog