Drupal

Flickr: Drupal Heart Camp 2017 - CxO day

Drupal Talk - Fri, 2017-05-19 06:54

srcehr posted a photo:

U Srcu je 18. 5. 2017. održan pretkonferencijski dan Drupal kampa - CxO dan.

Categories: Drupal

Flickr: Drupal Heart Camp 2017 - CxO day

Drupal Talk - Fri, 2017-05-19 06:54

srcehr posted a photo:

U Srcu je 18. 5. 2017. održan pretkonferencijski dan Drupal kampa - CxO dan.

Categories: Drupal

Flickr: Drupal Heart Camp 2017 - CxO day

Drupal Talk - Fri, 2017-05-19 06:54

srcehr posted a photo:

U Srcu je 18. 5. 2017. održan pretkonferencijski dan Drupal kampa - CxO dan.

Categories: Drupal

Flickr: Drupal Heart Camp 2017 - CxO day

Drupal Talk - Fri, 2017-05-19 06:54

srcehr posted a photo:

U Srcu je 18. 5. 2017. održan pretkonferencijski dan Drupal kampa - CxO dan.

Categories: Drupal

Flickr: Drupal Heart Camp 2017 - CxO day

Drupal Talk - Fri, 2017-05-19 06:54

srcehr posted a photo:

U Srcu je 18. 5. 2017. održan pretkonferencijski dan Drupal kampa - CxO dan.

Categories: Drupal

ThinkShout: Skipping a Version - Migrating from Drupal 6 to Drupal 8 with Drupal Migrate

Drupal Planet - Fri, 2017-05-19 05:30

I recently had the opportunity to migrate content from a Drupal 6 site to a Drupal 8 site. This was especially interesting for me as I hadn’t used Drupal 6 before. As you’d expect, there are some major infrastructure changes between Drupal 6 and Drupal 8. Those differences introduce some migration challenges that I’d like to share.

The Migrate module is a wonderful thing. The vast majority of node-based content can be migrated into a Drupal 8 site with minimal effort, and for the content that doesn’t quite fit, there are custom migration sources. A custom migration source is a small class that can provide extra data to your migration in the form of source fields. Typically, a migration will map source fields to destination fields, expecting the fields to exist on both the source node type and destination node type. We actually published an in-depth, two-part blog series about how we use Drupal Migrate to populate Drupal sites with content in conjunction with Google Sheets in our own projects.

In the following example, we are migrating the value of content_field_text_author from Drupal 6 to field_author in Drupal 8. These two fields map one-to-one:

id: book label: Book migration_group: d6 deriver: Drupal\node\Plugin\migrate\D6NodeDeriver source: key: migrate target: d6 plugin: d6_node node_type: book process: field_author: content_field_text_author destination: plugin: entity:node

This field mapping works because content_field_text_author is a table in the Drupal 6 database and is recognized by the Migrate module as a field. Everyone is happy.

However, in Drupal 6, it’s possible for a field to exist only in the database table of the node type. These tables look like this:

mysql> DESC content_type_book; +----------------------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------------------+------------------+------+-----+---------+-------+ | vid | int(10) unsigned | NO | PRI | 0 | | | nid | int(10) unsigned | NO | MUL | 0 | | | field_text_issue_value | longtext | YES | | NULL | | +----------------------------+------------------+------+-----+---------+-------+

If we want to migrate the content of field_text_issue_value to Drupal 8, we need to use a custom migration source.

Custom migration sources are PHP classes that live in the src/Plugin/migrate/source directory of your module. For example, you may have a PHP file located at src/Plugin/migrate/source/BookNode.php that would provide custom source fields for a Book content type.

A simple source looks like this:

namespace Drupal\custom_migrate_d6\Plugin\migrate\source; use Drupal\node\Plugin\migrate\source\d6\Node; /** * @MigrateSource( * id = "d6_book_node", * ) */ class BookNode extends Node { /** * @inheritdoc */ public function query() { $query = parent::query(); $query->join('content_type_book', 'book', 'n.nid = book.nid'); $query->addField('book', 'field_text_issue_value'); return $query; } }

As you can see, we are using our migration source to modify the query the Migrate module uses to retrieve the data to be migrated. Our modification extracts the field_text_issue_value column of the book content type table and provides it to the migration as a source field.

To use this migration source, we need to make one minor change to change to our migration. We replace this:

plugin: d6_node

With this:

plugin: d6_book_node

We do this because our migration source extends the standard Drupal 6 node migration source in order to add our custom source field.

The migration now contains two source fields and looks like this:

id: book label: Book migration_group: d6 deriver: Drupal\node\Plugin\migrate\D6NodeDeriver source: key: migrate target: d6 plugin: d6_book_node node_type: book process: field_author: content_field_text_author field_issue: field_text_issue_value destination: plugin: entity:node

You’ll find you can do a lot with custom migration sources, and this is especially useful with legacy versions of Drupal where you’ll have to fudge data at least a little bit. So if the Migrate module isn’t doing it for you, you’ll always have the option to step in and give it a little push.

Categories: Drupal

Jeff Geerling's Blog: Call for Sessions is open for DrupalCamp St. Louis 2017 - come and speak!

Drupal Planet - Thu, 2017-05-18 19:13

DrupalCamp St. Louis 2017 will be held September 22-23, 2017, in St. Louis, Missouri. This will be our fourth year hosting a DrupalCamp, and we're one of the best camps for new presenters!

If you did something amazing with Drupal, if you're an aspiring themer, site builder, or developer, or if you are working on making the web a better place, we'd love for you to submit a session. Session submissions are due by August 1.

Categories: Drupal

Brian Osborne: Keeping a view of upcoming events fresh in Drupal 8

Drupal Planet - Thu, 2017-05-18 16:34

Imagine you have a view that lists upcoming events on your Drupal 8 site. There's a date filter that filters out any event who's start date is less than the current date. This works great until you realize that the output of the view will be cached in one or many places (dynamic page cache, internal page cache, varnish, etc). Once it's cached, views doesn't execute the query and can't compare the date to the current time, so you may get older events sticking around.

Categories: Drupal

Dries Buytaert: Friduction: the internet's unstoppable drive to eliminate friction

Drupal Planet - Thu, 2017-05-18 16:02

There is one significant trend that I have noticed over and over again: the internet's continuous drive to mitigate friction in user experiences and business models.

Since the internet's commercial debut in the early 90s, it has captured success and upset the established order by eliminating unnecessary middlemen. Book stores, photo shops, travel agents, stock brokers, bank tellers and music stores are just a few examples of the kinds of middlemen who have been eliminated by their online counterparts. The act of buying books, printing photos or booking flights online alleviates the friction felt by consumers who must stand in line or wait on hold to speak to a customer service representative.

Rather than interpreting this evolution as disintermediation or taking something away, I believe there is value in recognizing that the internet is constantly improving customer experiences by reducing friction from systems — a process I like to call "friduction".

Open Source and cloud

Over the past 15 years, I've watched open source and cloud computing solutions transform content management into digital experience management. Specifically, I have observed open source and cloud-computing solutions remove friction from legacy approaches to technology. Open source takes the friction out of the technology evaluation and adoption process; you are not forced to get a demo or go through a sales and procurement process, or deal with the limitations of a proprietary license. Cloud computing also took off because it also offers friduction; with cloud, companies pay for what they use, avoid large up-front capital expenditures, and gain speed-to-market.

Cross-channel experiences

Technology will continue to work to eliminate inefficiencies, and today, emerging distribution platforms will continue to improve user experience. There is a reason why Drupal's API-first initiative is one of the topics I've talked and written the most about in 2016; it enables Drupal to "move beyond the page" and integrate with different user engagement systems. We're quickly headed to a world where websites are evolving into cross­channel experiences, which includes push notifications, conversational UIs, and more. Conversational UIs, such as chatbots and voice assistants, will eliminate certain inefficiencies inherent to traditional websites. These technologies will prevail because they improve and redefine the customer experience. In fact, Acquia Labs was founded last year to explore how we can help customer bring these browser-less experiences to market.

Personalization and contextualization

In the 90s, personalization meant that websites could address authenticated users by name. I remember the first time I saw my name appear on a website; I was excited! Obviously personalization strategies have come a long way since the 90s. Today, websites present recommendations based on a user's most recent activity, and consumers expect to be provided with highly tailored experiences. The drive for greater personalization and contextualization will never stop; there is too much value in removing friction from the user experience. When a commerce website can predict what you like based on past behavior, it eliminates friction from the shopping process. When a customer support website can predict what question you are going to ask next, it is able to provide a better customer experience. This is not only useful for the user, but also for the business. A more efficient user experience will translate into higher sales, improved customer retention and better brand exposure.

To keep pace with evolving user expectations, tomorrow's digital experiences will need to deliver more tailored, and even predictive customer experiences. This will require organizations to consume multiple sources of data, such as location data, historic clickstream data, or information from wearables to create a fine-grained user context. Data will be the foundation for predictive analytics and personalization services. Advancing user privacy in conjunction with data-driven strategies will be an important component of enhancing personalized experiences. Eventually, I believe that data-driven experiences will be the norm.

At Acquia, we started investing in contextualization and personalization in 2014, through the release of a product called Acquia Lift. Adoption of Acquia Lift has grown year over year, and we expect it to increase for years to come. Contextualization and personalization will become more pervasive, especially as different systems of engagements, big data, the internet of things (IoT) and machine learning mature, combine, and begin to have profound impacts on what the definition of a great user experience should be. It might take a few more years before trends like personalization and contextualization are fully adopted by the early majority, but we are patient investors and product builders. Systems like Acquia Lift will be of critical importance and premiums will be placed on orchestrating the optimal customer journey.

Conclusion

The history of the web dictates that lower-friction solutions will surpass what came before them because they eliminate inefficiencies from the customer experience. Friduction is a long-term trend. Websites, the internet of things, augmented and virtual reality, conversational UIs — all of these technologies will continue to grow because they will enable us to build lower-friction digital experiences.

Categories: Drupal

Lullabot: Modernizing JavaScript in Drupal 8

Drupal Planet - Thu, 2017-05-18 15:00
Mike and Matt host two of Drupal's JavaScript maintainers, Théodore Biadala and Matthew Grill, as well as Lullabot's resident JavaScript expert Sally Young, and talk about the history of JavaScript in Drupal, and attempts to modernize it.
Categories: Drupal

Third & Grove: Using the Batch API and hook_update_N in Drupal 8

Drupal Planet - Thu, 2017-05-18 14:07
Using the Batch API and hook_update_N in Drupal 8 ed Thu, 05/18/2017 - 17:07
Categories: Drupal

agoradesign: How Drupal Commerce 2.x improved my skills

Drupal Planet - Thu, 2017-05-18 13:59
Being one of the first early adopters of Drupal Commerce 2.x by starting our first project in early 2016 (on alpha2 version) and soon after a second one, I originally planned to write a blog post soon after beta1 gets published. Unfortunately I was too busy at that time....
Categories: Drupal

Blair Wadman: End of life of Mollom. What can you use instead?

Drupal Planet - Thu, 2017-05-18 08:57

Acquia has announced that they will be ending the life of Mollom. As of April 2018, they will no longer support the product.

You have over a year to find a replacement. I am currently using Mollom and planning on changing mine now. Chances are, if I don't, I'll forget to change it closer to the time!

Categories: Drupal

Promet Source: Supporting Global Accessibility Awareness Day

Drupal Planet - Thu, 2017-05-18 05:43
Thursday, May 18 2017 marks the sixth annual Global Accessibility Awareness Day (GAAD). The purpose of GAAD is to get everyone talking, thinking and learning about digital (web, software, mobile, etc.) access/inclusion and people with different disabilities. Promet Source is proud to support GAAD as we help our clients achieve equal access for all across their digital properties.
Categories: Drupal

Agiledrop.com Blog: AGILEDROP: DrupalCon sessions about Project Management

Drupal Planet - Thu, 2017-05-18 01:04
Last time, we gathered together DrupalCon Baltimore sessions about Case Studies. We promised that we will also look in some other areas. Therefore, we will this time explore the sessions from Project Management. Project Managers ARE the new Content Strategists by Lynn Winter from August Ash The session is about Project Managers being a content strategist. They become so because nobody has money to pay for a content strategist. Therefore, a session walks you through the discovery, design, and build phases of a website redesign sharing tips, tools, and examples of steps you can take to… READ MORE
Categories: Drupal

Flickr: 10% off on CMS web development services:

Drupal Talk - Thu, 2017-05-18 00:12

Bliss Web Solution posted a photo:

10% off on CMS web development services:

Today in this arena of cut throat competition, it's a challenging task for every business to keep all the information of their website updated, as outdated content on the website will not only cost business but will also affect its reputation. Maintenance of the updated information constantly requires full time devotion. But, now you can overcome this problem, with the content management system.

Bliss Web Solution is one stop shop for your complete web solution. Whether, you are looking for the brand building of your business website or you are looking for a strong online appearance of your business, we are here to help you with our exclusive services.

Offer valid on:

Wordpress Development
Joomla Development
Drupal Development

Why to choose us:
- High quality and economical e-commerce solutions.
- Impeccable and innovative web designing.
- Customer focused approach.
- Reliable services.
- Trained customer support staff.

Visit us for get the offer:
www.blisswebsolution.com/cms-website-development-and-desi...

Categories: Drupal

Kalamuna Blog: Lessons from Our Drupal 8 Blog Migration

Drupal Planet - Wed, 2017-05-17 14:29
Lessons from Our Drupal 8 Blog Migration Shannon O'Malley Wed, 05/17/2017 - 14:29

Late last year, we upgraded our blog from Drupal 7 to Drupal 8. Our main objective was to invest in our skills within Kalamuna so we could, in turn, better serve our clients. We have a lot of Drupal 8 migrations lined up over the course of the next year or so, and we foresee many more coming down the pipeline. This gave us a chance to learn the ins and outs of Drupal 8, with the added value of sprucing up our very own blog. This post is a summary of takeaways from our experience that I hope will help you on your own Drupal 8 adventures.

Categories Articles Drupal Git Guidance Information Architecture Responsive Design
Categories: Drupal

myDropWizard.com: Drupal 6 security update for Legal

Drupal Planet - Wed, 2017-05-17 07:29

As you may know, Drupal 6 has reached End-of-Life (EOL) which means the Drupal Security Team is no longer doing Security Advisories or working on security patches for Drupal 6 core or contrib modules - but the Drupal 6 LTS vendors are and we're one of them!

Today, there is a Moderately Critical security release for an Access Bypass vulnerability the Legal module.

The Legal module displays your Terms & Conditions to users who want to register, and requires that they accept the T&C before their registration is accepted.

It had a bug where a specially crafted URL could allow anyone to login to a user account that hadn't yet accepted the terms and conditions. This is mitigated by the fact that an attacker must have a way to obtain the URL, possibly by snooping on web traffic that isn't protected via HTTPS or a man-in-the-middle attack.

(A note about the timing of this release: per our agreement with the Drupal Security Team, we were unable to release this patch until the same vulnerability was fixed for the Drupal 7 Legal module, or two weeks went by after that module was unsupported, if it appeared it wasn't going to be fixed. The fix for Drupal 7 was released today.)

Here you can download the Drupal 6 patch.

If you have a Drupal 6 site using the Legal module, we recommend you update immediately! We have already deployed the patch for all of our Drupal 6 Long-Term Support clients. :-)

If you'd like all your Drupal 6 modules to receive security updates and have the fixes deployed the same day they're released, please check out our D6LTS plans.

Note: if you use the myDropWizard module (totally free!), you'll be alerted to these and any future security updates, and will be able to use drush to install them (even though they won't necessarily have a release on Drupal.org).

Categories: Drupal

Code Positive: Easy & effective testing for Drupal 8 sites with Behat 3

Drupal Planet - Wed, 2017-05-17 04:13

The easiest way to effectively test your Drupal 8 site - Behat 3 with the Behat Drupal extension is an incredible tool for keeping your project out of trouble.

READ MORE

 

Categories: Drupal
Syndicate content

Powered By