Turning complexity into clarity.

fluffy.pro. Drupal Developer's blog: Drupal tester: docker image for testing Drupal projects

News from Planet Drupal - Sun, 06/18/2017 - 10:19
Recently I set out to make a simple instrument for running simpletest tests without having LAMP stack installed on your local environment. I needed this for two reasons:
  1. for running tests locally
  2. for running tests on CI server
I've decided to use Docker and create monolith container with Drupal and all the LAMP stuff inside and here what I've got: docker-tester.
Read more »
Categories: Drupal

Mainland Chinese VA - Looking for help with a variety of tasks. - Upwork

WordPress Work From UpWork - Sun, 06/18/2017 - 04:48
I'm looking to hire a Native Chinese VA living in Mainland China to help me with a variety of tasks. The workload will vary but will probably be between 0-5 hours per week. Some things that I want help with initially are...

- Taking content from books and turning them into word documents. (use a scanner app and proofread - both in English and Chinese). Will have to buy the book off taobao but I'll pay for it.
- Recording yourself reading short stories in Chinese. Need to have a standard accent and if you have a mic or something to record with, that'd be better.
- Translations (good English)
- Experience with Wordpress is preferred.
- General IT knowledge may be helpful.

Ideally, this will become a long-term position.

Candidates who submit a short audio recording (less than one minute) introducing themselves in English and Chinese will be preferred.


Posted On: June 18, 2017 10:42 UTC
Category: Admin Support > Personal / Virtual Assistant
Skills: Chinese, English, Virtual Assistant
Country: United States
click to apply
Categories: WordPress Maintenance

[DISCUSSION] Business Card Designer Plugin - Woocommerce Integration

Talk about plugins - Sat, 06/17/2017 - 23:54

Does any such plugin exist? Any wordpressers have any experience with any plugins like this?

We have been trying to expand our product portfolio https://www.budgetfolders.co.uk/ and whilst we do already print business cards, we would like a system that allows our customers to design them

submitted by /u/spudd01
[link] [comments]
Categories: WordPress Maintenance

Custom Wordpress Theme Development - strong JavaScript/PHP knowledge required - Upwork

WordPress Work From UpWork - Sat, 06/17/2017 - 21:05
Looking for assistance with an ongoing custom wordpress theme development project. Site is approximately 30% complete by the previous developer, though there is basic architecture development still needed. You will need to be competent with JavaScript and PHP for this.

The overall framework is complete, there is some debugging required and customization/replication of existing code solutions to flesh out the site.

There are many pages that need to be built as well, although they are nearly identical and the content is prepared and organized.


Posted On: June 18, 2017 01:10 UTC
Category: Web, Mobile & Software Dev > Web Development
Skills: CSS, HTML, JavaScript, jQuery, PHP, Website Development, WordPress
Country: United States
click to apply
Categories: WordPress Maintenance

Create Wordpress theme from wireframe - Upwork

WordPress Work From UpWork - Sat, 06/17/2017 - 16:28
Looking for a flexible wordpress designer who is able to programm and design a responsive template based on a given wireframe mockup.

Task is to design the homepage, 1 page layout, 1 blog entry and a special content type for podcasts.

Modifying an existing template is an option, if done as a child theme.

No frameworks like Divi should be used.

Installation on the website is done by myself.


Posted On: June 18, 2017 01:10 UTC
Category: Web, Mobile & Software Dev > Web & Mobile Design
Skills: CSS, HTML, HTML5, Web Design, WordPress
Country: Germany
click to apply
Categories: WordPress Maintenance

Evolving Web: Migrating Content Translated with "Content Translation" from Drupal 7 to Drupal 8

News from Planet Drupal - Sat, 06/17/2017 - 15:55

Since the release of Drupal 8 with a standardized way of managing translations, many sites running Drupal 7 are making a switch to Drupal 8. In Drupal 7 there are two ways to translate content:

  1. Using the content_translation module. The D7 core way of translating content, where every translation is a separate node.
  2. Using the entity_translation module. Maintains one node with a unique nid, while translations take place at the field level.

In this article we will discuss how to migrate content translations created with the content_translation module from Drupal 7 to Drupal 8. You can find our tutorial about migrating translations that use Entity Translation here.

This article would not have been possible without the help of my colleague Dave. ¡Gracias Dave!

The problem

We have a Drupal 7 database containing article nodes, which might have translations in English, Spanish and French. Some of these nodes are language-neutral, i.e. non-translatable. Our target is to migrate the Drupal 7 nodes into a Drupal 8 website, preserving the translations.

Before we start
  • Since this is an advanced migration topic, it is assumed you already know the basics of migration. If are new to migrations in Drupal 8, I recommend that you read about migrating basic data to Drupal 8 first.
  • If you'd like to run the migrations in this example yourself, see the quick-start documentation in our drupal migration i18n example repository.
  • The source website used in this example is Drupal 7.54.
  • The destination website used in this example is Drupal 8.3.x. However, an alternative solution for earlier versions is included towards the end of the article.
The module

To write the migrations, we create a module - in our case, migrate_example_i18n. There's nothing special about the module declaration, except for the dependencies:

  • migrate_plus and migrate_tools provide various features for defining and executing migrations.
  • migrate_source_csv: Will be used for demonstrating migration of translated content from non-Drupal sources in an upcoming article.
  • migrate_drupal: This module provides tools for migrating data from older versions of Drupal. It comes with Drupal 8.x core. Since this migration uses a Drupal 7 site as a source for its data, we need the migrate_drupal module.
How do translations work?

    Before jumping into writing these migrations, it is important to mention that Drupal 7 and Drupal 8 translations work very differently. Here's the difference in a nutshell:

    • Drupal 7: When we translate a node, a new node is created with a different ID. This translated node has a property named tnid, which stores the ID of the original node, linking the two nodes together. For language-neutral or untranslated content, the tnid is set to 0.
    • Drupal 8: When we translate a node, no new node is created! The translation is saved in the fields of the original node, but with a different language code.

    So just like we do when migrating translated content from Drupal 6 to Drupal 8, we create two migrations:

    • The example_dog_base migration will migrate the original content of each node, untranslated.
    • The example_dog_i18n migration will migrate only translations and associate them with original content created by example_dog_base.

    We group the two migrations using the example_dog migration group to keep things clean and organized. Then we can execute both migrations with drush migrate-import --group=example_dog --update.

    Step 1: Base migration

    We start with example_dog_base to migrate all base data or non-translations. Described below are some noteworthy parameters:

    Source source: plugin: d7_node node_type: article key: drupal_7_content constants: uid_root: 1 node_article: 'article'
    • plugin: Since we want to import data from a Drupal installation, we need to set the source plugin to d7_node. The d7_node source plugin is introduced by the migrate_drupal, module and it helps us read nodes from a Drupal 7 database without having to write queries manually. Since Drupal 8.3.x, this plugin supports translations created with the content_translation module. If you are using an older version of Drupal 8, then check the alternative solution provided towards the end of this article.
    • node_type: This tells the source plugin that we are interested in just one particular Drupal 7 node type, namely article.
    • key: Our Drupal 7 data doesn't come from our main Drupal 8 database - instead it comes from a secondary database connection. We choose a key to identify each such connection and we need to tell the source which such key to use. The keys themselves are defined in the $databases variable in our settings.php or settings.local.php. See the example settings.local.php file to see how it's done.
    • constants: We define some hard-coded values under this parameter.
    • translations: Notice there is no translations parameter here. The default value (false) tells the source plugin that we're only interested in migrating non-translations, i.e. content in the base language and language-neutral content.
    Destination destination: plugin: 'entity:node'
    • plugin: Since we want to create node entities in Drupal 8, we specify this as entity:node. That's it.
    • translations: Again we do not define the translations parameter while migrating base data. Omitting the parameter tells the destination plugin that we are interested in creating fresh nodes for each record, not translations of existing nodes.
    Process type: constants/node_article langcode: plugin: default_value source: language default_value: und uid: constants/uid_root title: title body: body field_one_liner: field_one_liner sticky: sticky status: status promote: promote

    This is where we map the old node properties to the new node properties. Most of the properties have been assigned as is, without alteration, however, some noteworthy properties have been discussed below:

    • nidThere is no nid parameter here, because we don't care what nid each new node has in Drupal 8. Drupal can just assign a new nid to each node in the normal way.
    • type: We specify that we want to create article nodes.
    • langcode: The langcode parameter was formerly language in Drupal 7, so we rename it here. Also, if a Drupal 7 node is language-neutral, the language property will have no value. In that case,  we default to und.

    This takes care of the base data. If we run this migration with drush migrate-import example_hybrid_base --update, all Drupal 7 nodes which are in base language or are language-neutral will be migrated into Drupal 8.

    Step 2: Translation migration

    We are halfway through now! All that's missing is migrating translations of the nodes we migrated above. To do this, we create another migration with the ID example_dog_i18n:

    source: plugin: d7_node node_type: article translations: true # ... destination: plugin: 'entity:node' translations: true process: nid: plugin: migration source: tnid migration: example_dog_base langcode: language # ... migration_dependencies: required: - example_dog_base
    • source:
      • translations: We set this to true to make the source plugin read only translations.
    • destination:
      • translations: We set this to true to make the destination plugin create translations for existing nodes instead of creating fresh new nodes.
    • process:
      • nid: In this case, we do care what the Drupal 8 nid is for each node. It has to match the nid for the untranslated version of this content, so that Drupal can add a translation to the correct node. This section uses the migration (migration_lookup) process plugin to figure out the right nid. It tells Drupal to check the previously-executed example_hybrid_base migration for a D6 node that has the same tnid as this D6 node. It will then then reuse the resulting nid here.
      • langcode: We define the language in which the translation should be created.
    • migration_dependencies: Since we cannot add translations to nodes that do not yet exist, we tell Drupal that this migration depends on the base migration example_dog_base. That way, the base migration will run before this migration.

    That's it! We can run our translation migration with drush migrate-import example_dog_i18n --update and the translations will be imported into Drupal 8. Alternatively, we can use the migration group we defined to run both these migrations at once - the base migration will automatically be executed first and then the i18n migration. Here's how the output should look:

    $ drush migrate-import --group=example_dog --update Processed 7 items (7 created, 0 updated, 0 failed, 0 ignored) - done with 'example_dog_base' Processed 7 items (7 created, 0 updated, 0 failed, 0 ignored) - done with 'example_dog_i18n'

    You can check if everything went alright by clicking the Translate option for any translated node in Drupal 8. If everything went correctly, you should see that the node exists in the original language and has one or more translations.

    Article migrated from Drupal 7 to Drupal 8

    Alternate Solution for Drupal 8.2.x and Older

    The example code for this article works out of the box with Drupal 8.3 or higher. However, it will not work with earlier versions of Drupal 8. For Drupal 8.2 or older, we need to use a custom source plugin (inspired by the d6_node plugin). All we have to do is use the D7NodeContnentTranslation source plugin included in the code for this example, like source: d7_node_content_translation. This custom source plugin adds support for the translations parameter, which in turn makes the migration of content translations work correctly.

    Next Steps + more awesome articles by Evolving Web
    Categories: Drupal

    Themeforest WP Template Customization & Data Entry - Upwork

    WordPress Work From UpWork - Sat, 06/17/2017 - 15:42
    Hello,

    - We have a WordPress template that we would like to modify and customize as needed.
    - Copying contents from old website is required too. Visuals will be available later.
    - Training on using the new theme is required also


    Posted On: June 18, 2017 01:10 UTC
    Category: Web, Mobile & Software Dev > Web Development
    Country: Saudi Arabia
    click to apply
    Categories: WordPress Maintenance

    Evolving Web: Migrating Content Translated with "Entity Translation" from Drupal 7 to Drupal 8

    News from Planet Drupal - Sat, 06/17/2017 - 15:39

    Since the release of Drupal 8 with a standardized way of managing translations, many sites running Drupal 7 are making a switch to Drupal 8. In Drupal 7 there are two ways to translate content:

    1. Using the content_translation module. The D7 core way of translating content, where every translation is a separate node.
    2. Using the entity_translation module. Maintains one node with a unique nid, while translations take place at the field level.

    In this article we will discuss how to migrate content translations created with the entity_translation module from Drupal 7 to Drupal 8. You can find our tutorial about migrating translations that use Content Translation here.

    This article would not have been possible without the help of my colleague Dave. Merci Dave!

    The problem

    We have a Drupal 7 database containing article nodes, which might have translations in English, Spanish and French. Some of these nodes are language-neutral, i.e. non-translatable. Our target is to migrate the D7 nodes into a D8 website, preserving the translations.

    Before we start
    • Since this is an advanced migration topic, it is assumed you already know the basics of migration. If you are new to migrations in Drupal 8, I recommend that you read about migrating basic data to Drupal 8 first.
    • This article assumes that you have read our previous article on how to migrate content translations from Drupal 7 to Drupal 8 or have the relevant knowledge.
    • To execute the migrations in this example, you can download the drupal migration i18n example repository from GitHub. The module should work without any trouble for a standard Drupal 8 install. See quick-start for more information.
    • To see the example migrations in action, you need:
      • A Drupal 8 site.
      • The relevant D7 database, since we are migrating data from a Drupal 6 site.
      • Drush will be required to execute migration commands.
    The module

    To write the migrations, we create a module - in our case, it has been named migrate_example_i18n. Just like migrating content translations from D7 to D8, we create 2 YML files to define:

    • The example_creature_base migration will migrate all base data or non-translations.
      • The source/translations parameter is omitted or set to false.
      • The destination/translations parameter is omitted or set to false.
    • The example_creature_i18n migration will migrate all translations.
      • The process/nid is configured to use the migration plugin to lookup the node in the base language.
      • The source/translations parameter is set to true.
      • The destination/translations parameter is to true.
      • The migration_dependencies parameter declares example_creature_base as a dependency.

    We group the two migrations using the example_creature migration group to keep things clean and organized. Then we can execute both migrations with drush migrate-import --group=example_creature --update.

    How to migrate Entity Translations?

    Entity translations! Drupal 7 content translations are supported since Drupal 8.3. At the point of writing this, there is no standard method for migrating entity translations to Drupal 8. In this example, we will migrate D7 nodes translated with the entity_translation module, however, the procedure should be similar for other entity types as well. Before we start, here are some notes about what's so different about entity translations:

    • All translations have the same entity_id. So, for a translated node, the entity_translation module will result in only one entry in the node table.
    • Translation information, certain metadata and revision information for entities is stored in the entity_translation table.

    So if an English node with ID 19 has translations in Spanish and French, the entity_translations table has the following records:

    An extract from the entity_translation table. entity_type entity_id revision_id language source uid status translate created changed node 19 1 en   1 1 0 1485800973 1487198982 node 19 1 es en 1 1 0 1485802336 1487199003 node 19 1 fr en 1 1 0 1487185898 1487198969

    The above data structure is significantly different from the content translation structure. In fact, Drupal 8 handles translations much like the entity translation module! Hence, to handle entity-translations, we must take the entity_translation table into consideration, which the core d7_node source plugin does not do at the time of writing this article. Hence, we override the d7_node source with a custom source plugin named d7_node_entity_translation.

    class D7NodeEntityTranslation

    This is where we jump into code! We override certain methods of d7_node source to add support for the entity_translation table.

    class D7NodeEntityTranslation extends D7Node { // Determines if the node-type being translated supports entity_translation. protected function isEntityTranslatable() {} // Depending on the "source/translations" parameter, this method alters // the migration query to return only translations or non-translations. protected function handleTranslations(SelectInterface $query) {} // This method has been overridden to ensure that every node's fields are // are loaded in the correct language. public function prepareRow(Row $row) {} // This method is called by the prepareRow() method to load field values // for source nodes. We override this method to add support for $language. protected function getFieldValues($entity_type, $field, $entity_id, $revision_id = NULL, $language = NULL) {} // Since all source nodes have the same "nid", we need to use a // combination of "nid:language" to distinguish each source translation. public function getIds() {} }

    Here's a quick look at the changes we need to make:

    • function getIds() tells the migrate API to use one or more source properties which should be used to uniquely identify source records. When working with entity translations, all translations have the same entity_id, but they have a different language. We override this method to tell Drupal to consider both the entity_id and the language properties to uniquely identify source records. So, the source records are uniquely identified something like 19:en, 19:es, 19:fr instead of using just 19.
    • function handleTranslations() is the method which adds support for the translations parameter we use in the source plugin. The translations parameter tells Drupal whether to migrate entities in their base language or to migrate translations. We override this method to:
      • See if the node type being migrated supports entity translations.
      • If the node type supports entity translations, then we INNER JOIN entity_translation and read translation data and some entity metadata, like date of creation, date of updation, etc from that table.
    • function prepareRow() as the name suggests, prepares a row of source data before it is passed to the process plugins. At this stage, field data is also attached to the source data. However, it does not load field data in the language specified in the source row. To overcome this problem, we override the getFieldValues() method and make sure it loads the field data in the same language as specified in the source row.

    That's it! You should now be able to run the migration with drush migrate-import --group=example_creature --update. The output should look something like this:

    $ drush mi --group=example_creature --update Processed 9 items (9 created, 0 updated, 0 failed, 0 ignored) - done with 'example_creature_base' Processed 9 items (9 created, 0 updated, 0 failed, 0 ignored) - done with 'example_creature_i18n'

    Note: Keep an eye out for Drupal core updates. If the drupal_migrate module adds support for entity translations, migrating entity translations might become much easier.

    Next Steps + more awesome articles by Evolving Web
    Categories: Drupal

    New Website - Upwork

    WordPress Work From UpWork - Sat, 06/17/2017 - 03:11
    "Hello fellow freelancers,

    I am looking for wordpress website developer that would create a simple, yet up-to-date website for my 20 sub-domains. The website would contain only 7 sections:
    - Home page
    - Services
    - Success stories
    - Media
    - About us
    - Contact us
    - Blog

    It would have a total of roughly 25 pages per subdomain (without the blog section). Each subdomain must have the same website structure with different content, which will be provided by me. What I'm expecting is for an up-to-date design to be made for my main website, then the same design used for all subdomains with different content. I'm not looking for a different design for each subdomain. My website should have "request a quote" form on the homepage, newsletter subscription form (on the footer of my page), contact form, Google map integration (different locations for each subdomain), client testimonials with star ratings and everything else is pretty much basic.

    What I'm essentially looking for is someone who has developed simple wordpress service websites before and has a portfolio of websites to showcase. Please do not apply if you don't have experience working with WordPress platform."


    This job was posted from a mobile device, so please pardon any typos or any missing details.


    Posted On: June 17, 2017 04:12 UTC
    Category: Web, Mobile & Software Dev > Web Development
    Skills: Search Engine Optimization (SEO), SEO Backlinking, SEO Writing
    Country: United States
    click to apply
    Categories: WordPress Maintenance

    Refreshing a Wordpress Site - Upwork

    WordPress Work From UpWork - Sat, 06/17/2017 - 00:52
    Hello,

    I have an existing Wordpress site but I'm looking to make a couple changes. Mainly:
    - Move the content from a blog-centered site to a site with different articles/static pages
    - Improve the look and feel
    - Move a knowledge base to a separate Wordpress instance on a subdomain

    I don't need a theme designed from scratch but you can recommend one (or two, if you include the knowledge base) that I can purchase. I want to make sure that the themes perform well (they don't load a tons needless of resources) and that they look good with the content I have (some themes look nice but only if you have a professional photographer to take pictures for each page). I'm also fine with purchasing some stock photography at your discretion.

    Additional I'm looking for someone who:
    - Can provide links to 2-3 other sites they've worked one, please briefly list which parts of the website you were responsible for
    - Pays attention to details (start your cover letter with the name of the current month)
    - Has knowledge of e-commerce or Shopify (not required but preferred)

    I'll send additional details to any promising replies and we can go from there. Thanks!


    Posted On: June 17, 2017 04:12 UTC
    Category: Web, Mobile & Software Dev > Web & Mobile Design
    Skills: WordPress
    Country: United States
    click to apply
    Categories: WordPress Maintenance

    Healthcare IT SEO Content Writer - Upwork

    WordPress Work From UpWork - Sat, 06/17/2017 - 00:52
    As a start-up cloud computing company in the Healthcare IT Industry we are looking for a SEO Content Writer to embellish our company website. Experience with creating Dell EMC data protection website SEO content in the Healthcare IT industry is ideal. The type of SEO content wanted includes SEO backlinking, service offering pages, blogs, articles, lists, guides, pictures, videos, infographics, slideshows, glossaries and directories.


    Posted On: June 17, 2017 04:12 UTC
    Category: Sales & Marketing > SEO - Search Engine Optimization
    Skills: Content Creation, Content Marketing, Content Strategy, Content Writing, Google Analytics, Internet Marketing, Link Building, Marketing Strategy, Off-page Optimization, On-Page Optimization, Search Engine Optimization (SEO), SEO Audit, SEO Backlinking, SEO Keyword Research, SEO Writing, Technical Writing, Website Analytics, WordPress
    Country: United States
    click to apply
    Categories: WordPress Maintenance

    Front-End Web Developer - PayByPhone Technologies Inc. - Vancouver, BC

    NodeJS jobs - Sat, 06/17/2017 - 00:24
    *About The Company* PayByPhone is one of the fastest-growing mobile payment companies in the world. We process over five million parking, tolling, transit,...
    From Indeed - Sat, 17 Jun 2017 00:24:30 GMT - View all Vancouver, BC jobs
    Categories: NodeJS

    Drupal core announcements: Sprint with the migrate team at DrupalCamp Montreal

    News from Planet Drupal - Fri, 06/16/2017 - 18:42
    Start:  2017-06-15 (All day) - 2017-06-18 (All day) America/Toronto Event type:  Sprint

    Several key contributors to the Migrate Initiative will be at the sprint at DrupalCamp Montreal on Sunday (and to some degree on earlier days as well). Join contributors Adam G-H (phenaproxima), Maxime Turcotte (maxocub) and Dave Vasilevsky (vasi) in person. Initiative coordinator Mike Ryan (mikeryan) is also planning to join remotely on Sunday.

    Among the most important Migrate critical issues on the table that are planned to be worked on is auditing for potential ID conflicts before upgrading from older versions. This is the most thorny outstanding issue for the initiative. Use cases and feedback in general is welcome. Further migrate issues are categorized and tracked in the Migrate triage spreadsheet (update regularly). These include handling import of private files, adding back support for incremental migrations, redirecting for obsolete content translations when they are merged in the migration, etc. All of those need helping hands and this is a great time to get experienced with help from the most well versed people in the field.

    If you cannot join the sprint this time, your involvement is more than welcome anytime. The migrate team has weekly meetings on every Thursday at alternating meeting times. See https://www.drupal.org/node/2735059#meet for the upcoming meetings.

    Categories: Drupal

    [help] Public stats app?

    Talk about plugins - Fri, 06/16/2017 - 17:07

    I want to add a page to my website where people can go to view the stats of downloads / website visits of companies that I'm currently growth hacking. Does anyone know of a plugin that does this? I know there are plenty of solutions for the backend but what about front end?

    submitted by /u/AdiNinjaStarr
    [link] [comments]
    Categories: WordPress Maintenance

    Need SEO Specialist (Content writing skill is a plus) - Upwork

    WordPress Work From UpWork - Fri, 06/16/2017 - 16:39
    I run a small financial consulting business and I have a website built on wordpress(http://invexstar.com).

    I need the following things done as part of this job.

    - On page SEO fixes
    - Yoast SEO plugin optimization
    - SEO optimized content

    Keywords to optimize: financial analysis, financial modeling

    Please give some sample sites on which you have worked with proven results. (Change of google search ranking before and after SEO optimization).


    Posted On: June 16, 2017 18:10 UTC
    Category: Sales & Marketing > SEO - Search Engine Optimization
    Skills: Content Writing, Off-page Optimization, On-Page Optimization, Search Engine Optimization (SEO), SEO Audit, WordPress
    Country: India
    click to apply
    Categories: WordPress Maintenance

    Ben's SEO Blog: Why Amazon.com Just Bought Whole Foods and What That Means for Drupal

    News from Planet Drupal - Fri, 06/16/2017 - 16:21

    Two of the biggest retailers in the world are getting together. This morning, Amazon.com, the juggernaut that continues to put massive pressure on brick-and-mortar retailers, announced that it is buying Whole Foods, the popular, high-end organic foods grocer.

    Both companies are major stakeholders in the Drupal ecosystem: Amazon made an investment in Acquia in 2014, and much of Acquia’s hosting infrastructure relies on Amazon Web Services. Whole Foods, for its part, has used Drupal for its web presence for at least five years—if not much longer—and holds Acquia as a key partner. Acquia Drupal is a significant part of the Whole Foods DevOps story. (I can just imagine that email from the Whole Foods Accounts Payables department to Acquia: “Send the bill to Amazon.”)

    From a presentation at an Acquia event:

    So why would Amazon jump out and make this purchase? The answer is complex and multi-faceted.

    For Amazon, it's all about the data.

    First, Amazon is, at its core, a data company. They use shopping history and patterns to sell us things we need before we even know that we need them. With all the newly acquired data from Whole Foods upper-end clientele, Amazon can make more efficient stock decisions in both the retail and physical stores. In February, Whole Foods Chief Executive John Mackey said that they would retain the services of Dunnhumby, a customer data and insights company, to inform merchandising and services (in other words, help us stock our shelves and get our prices down). I can’t help but think that Amazon could do even better.

    Distribution

    Second, this acquisition gives Amazon access to a grocery distribution network that enhances their own. It creates more markets for home grocery delivery. Nomura Instinet analyst Anthony DiClemente recently said that the grocery industry remains one of the largest and most under-penetrated markets for Amazon. Well, that just changed.

    How convenient could Whole Foods home delivery be? As Dries has demonstrated in recent keynotes (blog post: http://buytaert.net/cross-channel-user-experiences-with-drupal), I can envision a future where I ask my Echo Dot for some free-range chickpeas and organic shampoo and a Whole Foods van shows up at my door an hour or two later with my products (and as of today, with a sizable charge on my debit card).

    The Whole Foods brand - a trip down memory lane

    Third, it gives Amazon a very strong brand that is associated with organic groceries and high-end shopping experience.

    I’m from Austin, and I’ve been shopping at Whole Foods since there was a single store in the early 80s. My family lived in nearby Temple so once a month we’d drive to Austin so Mom could shop at Whole Foods while us kids ran around the nearby Book Stop (Look it up. It was ahead of its time.), and eat at a fancy restaurant called Chilis.

    So, maybe my brand recognition and a lifelong love of the grocery chain is stronger than most. There's no denying that it looms large over the health-food industry and is super-popular with upper-middle class soccer moms and those avocado-on-toast loving millennials we hear so much about (joke). How will Amazon leverage that loyalty? Could we see Amazon Fresh become “Whole Foods from Amazon”?

    It's Go time.

    The fourth and perhaps most compelling upside for the acquisition lies with Amazon Go, a recent experiment with automated retail stores.

    Go is a frictionless shopping and checkout experience for physical stores. According to their website, you just “browse and shop like you would at any other store. Then you’re on the way: no lines, no checkout.”

    Convenient.

    It's currently only open to Amazon employees in a single Seattle store but the idea is as simple as the implementation is complicated: use advanced scanners and trackers to automate checkout. But what does this do to labor cost? In their commercial, the lone store employee is making sandwiches. That's hyperbole, but it makes that point: this is what Amazon wants. Any labor that doesn’t directly enhance the customer experience is suspect and should be eliminated as soon as possible.

    Yesterday, outgoing CEO of GE Jeff Immelt scoffed that robots were not going to take over factory jobs in the next five years. Perhaps, but in retail, it has already begun. Many retailers from grocery stores to Home Depot offer self-checkout. If Amazon leads the way to friction-free checkout in supermarkets, retailers that do not follow in their footsteps will find that they’re the next Borders, CompUSA, or Radio Shack.

    The Go technology isn't ready for real world use yet but let's say it's at most 36 months away from being ready for prime time. That means that in relatively short order, Amazon can dramatically reduce one of the biggest expenses Whole Foods carries today: labor. They'll still have the cheese guy and the bread lady—those personal interactions are why people shop at a high-end grocer after all. Still, no more jockeying for the shortest checkout lines. It's hugely convenient, and it will happen.

    With Go, Amazon can now tackle Whole Foods’ biggest issue for most people: price. As much as I love it, my family doesn’t do our grocery shopping at Whole Foods. I have a great experience, but I need a second job just to pay the bill. In fact, I walk around with my iPhone out looking up pricing and even placing one-click orders on Amazon. Now, if I could get that Whole Foods experience at Amazon prices? Sign me up.

    Amazon will continue to do what they do best: leverage technology to remove inefficiencies in established industries, give customers the best possible experience along the way, and provide a shortcut to the things I want to do. This combination is their killer app.

    The Drupal Opportunity

    The opportunity for Drupal companies could be limited or could be huge. It seems unlikely that Amazon will continue to use Drupal to power their Whole Foods infrastructure in the long run. In the short run, however, Whole Foods will continue to operate as an independent, wholly-owned subsidiary—just with a lot more coverage and support from the most technically-savvy retail company around.

    Outside of the immediate timeframe, it could open opportunities to build closer ties to Amazon through the use of headless Drupal for backend data storage, retrieval, and integration. As much as retailers suffer from Amazon’s dominance, manufacturers benefit from frictionless distribution and additional sales channels that will be created. That gives us, the Drupal community, more opportunities to do what we do best with Drupal 8 and beyond. We can continue toward building voice interactions that tie into Amazon’s Alexa infrastructure in unique ways; Tech stacks that better integrate e-commerce platforms into Amazon’s listings and sales engine; and possibly even recruiting opportunities for top Drupal talent that may be winding down their tenure with Whole Foods.

    And that’s not even to mention the retailers that want to compete with Amazon head-on. They need what Drupal has: vision, community, and a platform for building world-class, sustainable, and expandable solutions. They need technology that allows them to meet and beat the Amazon at their own game. They need a shortcut to success, and that’s Drupal 8.

    Opportunities for Drupal from a mega merger of Drupal community companies.Planet Drupal, amazon.com, whole foods, drupal news
    Categories: Drupal

    Build My Website - Upwork

    WordPress Work From UpWork - Fri, 06/16/2017 - 16:17
    I have all the content....all the photos...I already have hosting set up.

    I just need someone that is comfortable enough in WordPress to put it all together.

    I'd also like each page SEO optimized with H1 title tags and meta data. I will need about 5-6 total pages.

    This is a job that honestly should take someone less than 1hour to complete. I have other similar projects if this one works out well.

    Send me some of your previous projects.

    http://towingservicelexington.com/


    Posted On: June 16, 2017 18:10 UTC
    Category: Web, Mobile & Software Dev > Web Development
    Skills: WordPress
    Country: United States
    click to apply
    Categories: WordPress Maintenance

    Customize Wordpress Functions, CSS and The Events Calendar - Upwork

    WordPress Work From UpWork - Fri, 06/16/2017 - 15:38
    Need to edit this sites theme and The Events Calendar Plugin: http://www.thenorthernseasons.com

    Specifically,  I need to share category taxonomy with The Events Calendar. I need you need to do this: https://wordpress.stackexchange.com/questions/104254/how-to-share-category-taxonomy-with-custom-post-type-the-event-calendar-plugin

    Also, Need to customize the posts and events on the home page. Need to edit what content is displayed in the post list ie. title, date, venue, category, etc..

    We also would like to see if it was possible to change the color of the tiles listing on the homepage by category. Example a category 1 tile would have a blue background or outline, and category 2 would be red. There would be approximately 5 different category types/colors.


    Posted On: June 16, 2017 18:10 UTC
    Category: Web, Mobile & Software Dev > Web & Mobile Design
    Skills: CSS, HTML, PHP, Website Development, WordPress
    Country: United States
    click to apply
    Categories: WordPress Maintenance

    [help] Best youtube plugin.

    Talk about plugins - Fri, 06/16/2017 - 14:39

    Looking for something very clean with a sub button

    Thanks.

    submitted by /u/dangioffre
    [link] [comments]
    Categories: WordPress Maintenance

    Promet Source: Drupal Texas Camp Presentation: Harnessing Human Connection to Achieve Marketing Success

    News from Planet Drupal - Fri, 06/16/2017 - 14:16
    This blog post is transcribed from the session "More Social, Less Media: Harnessing the power of Human Connection to Achieve Marketing Success" presented by Molly Nelson at Drupal Texas Camp in Austin, TX - June 2017 More Social, Less Media
    Categories: Drupal