emGee Software Solutions Custom Database Applications

Share this

Drupal CMS

Matt Glaman: Goodbye 2017, Hi 2018

Drupal.org aggregator - Tue, 01/02/2018 - 13:51
Goodbye 2017, Hi 2018 mglaman Tue, 01/02/2018 - 15:51

I spent the last 8 days of 2017 not touching my computer. Except for one night, after a few old fashions in, I decided to upgrade my MacBook to High Sierra "for the hell of it." Then New Years came, and we are riding into 2018. I'm going to also try to focus more on blogging. This was my goal for the end of 2017, but I did not stick to it. However, a tweet sent out by Dries resonated that goal and is something I plan to work more on.

Categories: Drupal CMS

Acro Media: How To: Add a Product Taxonomy Category in Drupal Commerce 2

Drupal.org aggregator - Tue, 01/02/2018 - 08:00

In the Urban Hipster Drupal Commerce 2 demo site, the catalog is made of up of a number of products grouped by taxonomy terms. These terms (Women, Men, Hats, Special, Clearance etc.) are grouped into Vocabularies (Category, Brand, Artist, Special, etc.), which can be referenced within a product in order to categorize it. A product can be assigned to multiple terms in multiple vocabularies, which allows us to create a variety of cataloging options.

We already have the catelog functionality configured using Apache Solr. So, in this Acro Media Tech Talk video, we quickly cover how to add new taxonomy terms and then add a product to the new term. It's easy!

Also, it's important to not that ANY content can be organized in this way, not just products. News, blogs, resources, videos, images, you name it! If it's content, it can be organized and filtered with taxonomy and Solr.

Urban Hipster Commerce 2 Demo site

This video was created using the Urban Hipster Commerce 2 demo site. We've built this site to show the adaptability of the Drupal 8, Commerce 2 platform. Most of what you see is out-of-the-box functionality combined with expert configuratoin and theming.

More from Acro Media Drupal modules in this demo

Categories: Drupal CMS

LevelTen Interactive: Using DrupalVM for Drupal Development

Drupal.org aggregator - Mon, 01/01/2018 - 22:00

Over the past couple years, there has been a lot of improvements in developer tools and workflows for building new Drupal projects. As Drupal has grown over the past few years, we have seen added frameworks such as Twig and Symfony, workflow related tools like Composer and Drupal Console, and even new virtual environments. With added tools came increased complexity in development environments, and sometimes, even more issues if you’re building on more than on type of framework for client projects.

  In the past, we as developers were...Read more
Categories: Drupal CMS

Gizra.com: Have Your Cake and Eat it Too: Elm Apps in Drupal Panels

Drupal.org aggregator - Mon, 01/01/2018 - 22:00

I tell my kids all the time that they can’t have both - whether it’s ice cream and cake or pizza and donuts - and they don’t like it. It’s because kids are uncorrupted, and their view of the world is pretty straightforward - usually characterized by a simple question: why not?

And so it goes with web projects:

Stakeholder: I want it to be like [insert billion dollar company]’s site where the options refresh as the user makes choices.

Me: [Thinks to self, “Do you know how many millions of dollars went into that?”] Hmm, well, it’s complicated…

Stakeholder: What do you mean? I’ve seen it in a few places [names other billion dollar companies].

Me: [Gosh, you know, you’re right] Well, I mean, that’s a pretty sophisticated application, and well, your current site is Drupal, and well, Drupal is in fact really great for decoupled solutions, but generally we’d want to redo the whole architecture… and that’s kind of a total rebuild…

Stakeholder: [eyes glazed over] Yeah, we don’t want to do that.

But there’s is a way.

Continue reading…

Categories: Drupal CMS

Doug Vann: Easily Install Drupal 8 on Pantheon for FREE

Drupal.org aggregator - Mon, 01/01/2018 - 16:24
It's been 19 months since my last blog!What better way to break the silence than with a new blog post with a video!?!?! My goal for 2018 is to create a couple Drupal 8 videos a week and announce them with a blog post here at DougVann.com. Module reiews, How-tos, Demos, & MORE. I'm also taking REQUESTS! What do you want to see? Be sure to let me know!

 

I still run into A LOT of people who could use assistance creating there 1st Drupal site. So, for them I am starting my 2018 series with a short and sweet video on launching a FREE Drupal 8 site on Pantheon. It is free, It is easy. And it is my primary preference for all of my Drupal clients. Follow along and see how easy it is to get a Fully Functional Drupal 8 site up and running.

Future topics will range from more Beginner topics as well as Intermediate and Advanced. So don't worry if this first offering doesn't apply to you.

YouTube Link --> http://www.youtube.com/watch?v=wu8kFna-wmA

Or enjoy this embedded video player:


If you're not new, then share this with someone who is. And stay tuned for more videos!

 

VideosDrupal Planet

View the discussion thread.

Categories: Drupal CMS

Behind the Screens with Jim Birch

Lullabot - Mon, 01/01/2018 - 00:00
Xeno Media's Web Strategist, Jim Birch, has been melding the front-end with the back-end in his module, Bootstrap Paragraphs. Come on out to MidCamp in March to hear all about it!
Categories: Drupal CMS

Enzolutions: My 2017 Recap

Drupal.org aggregator - Sat, 12/30/2017 - 16:00

It’s been awhile since I wrote a blog post. Actually, this is only the third one in 2017; a bit of a change from 2016 when I wrote almost 200 posts. If you are wondering why, let me explain with a quick recap of my milestones for this year.

Is there anybody else who has never seen snow before?

This is something difficult to understand or believe for some people, but after 40 years I had never seen snow before. This is the price that comes with living in tropical countries like Colombia and Costa Rica, but hey, even paradise has a downside!

I decided that I needed to check off this item from my bucket list, and in a big way. Fortunately, the Drupal community always helps me in my crazy travel adventures, and in this case the community of Iceland stepped up to the challenge.

To accomplish this goal and at the same time contribute to the local Drupal community, I attended the first Drupal Northern Lights at Reykjavik, Iceland, which by the way is a remarkable event organized by Baddy Breidert, Hilmar Hallbjörnsson, and the rest of the amazing open source community in Iceland.

Back to the snow, I tried to prepare as much as possible for this visit, but it seems you can never be ready enough for snow in Iceland. In the second day of my visit, we got the biggest snowfall since 1952, 51 cm in just a few hours.



After having experienced that, anything less than 51 cm of snow doesn’t feel like a proper snowfall to me :P. I guess that’s the problem when you set high standards!

In 2017 I also visited these places:

  • Metz, France
  • Ghent, Belgium
  • Brussels, Belgium
  • Berlin, Germany
  • Copenhagen, Denmark
  • Malmo, Sweden
  • Rome, Italy
  • Camberra, Australia
  • Sunshine Coast, Australia
Down Under

During my tour in Europe, I was notified that my family and I qualified to emigrate to Australia. So from Italy, I flew to Australia to arrange all the details for the arrival of my family, typical things like finding a place, buying some furniture, setting up the school for the kids, and a long etcetera.

But why move so far away? This is a recurrent question, since the common impression for most people is that Australia lays at the end of the world (well maybe not for people in New Zealand, Indonesia, and Papua New Guinea, our closest neighbors).

The answer is simple. My wife and I wanted our kids to pick up a close-to-native command of the English language, while at the same time have access to a better education system. Australia offers both, and although the immigration process is tough, it is also clearly stated, and if you read the fine print carefully it can actually be a straightforward process.

Is the *AMP stack dead?

I have been a Drupal Developer for many years, but before that, I was a straight-up PHP developer, Sysadmin, and even an Oracle Developer, among others in a long list of technologies that I’ve used in my professional career.

In addition, as CTO of Anexus (now weKnow), my role includes to constantly evaluate new technologies in order to improve the approach and solutions we offer to our partners. As a result, this year I decided to push myself to learn something new and far away from Drupal.

For years in our company we’ve had a gap between what the market offers and our requirements related to time tracking, HR, accounting, and capabilities. We tried many tools and SaaS platforms, but none of them truly fulfilled our needs.

After playing around with NodeJs and ReactJs, I decided to build a professional application, something that could fill this gap and finally resolve our problems.

After some analysis I decided to build this platform leveraging the following technologies:

Although the learning curve was a bit steep, we were able to release our first version after two and a half months of development.

We are still in the process of improving the tool, but so far we have exceed our initial needs. Right now we are at the stage of innovating and adding new functionality to extend the platform’s abilities.

A by-product of this project - at least 15% of our developers have become proficient in the technologies we used to build this tool, and are prepared to tackle any project that uses this stack. Our goal for 2018 is to increase that number to at least 50% of our company.

A sabbatical year? Maybe...

A sabbatical year is generally understood as a period for relaxing, pursuing academical or spiritual interests, and often traveling. In my case it is a bit of the opposite, as I’ve decided to avoid traveling outside Australia for a year to stay with my family a much as possible, starting in August 2017.

Why this harsh move? Well, for the last nine years I’ve been traveling almost non-stop, especially in the last couple of years. It definitely feels like I could use some “detox” from traveling, which while always interesting, is also extremely energy-consuming. That said, after two months without any traveling I started to feel a little anxious about not having a next trip to prepare. Talk about first-world problems!

At this point I’m completing four and a half months of staying put in Australia, and I don’t have plans to travel abroad in the first quarter of 2018, so I may be able to complete my goal after all... Or not. We’ll see!

This Time Next Year

This might sound geeky, but I think it would be interesting to use a Radar chart to graph the main aspects of our lives, where each variable could be an element such as love, professional life, family, financial wellbeing, health, and so on.

Maybe all is related with each one personality factors, below my personality factors described using a Radar Chart created using https://personalityfactors.com

The reality is that maintaining a balance with all these elements is really difficult, and each one constantly pulls from the other to gain more relevance. In my personal analysis, Health has been the aspect that has been neglected the most in the last decade. Fortunately I do not suffer from any condition, but I can definitely feel how my health has started to slowly decline. Nothing major, but it’s time to take precautions.

In order to incorporate some healthy changes, I made a challenge with Jesús and Omar, to see who can lose more weight in approximately a year, starting in August 2017. The end date is not set in stone because we live in different cities and countries, so the winner will be confirmed when we see each other again…. and in front of a neutral scale.

Let me share a baseline for reference. At the start of the challenge my weight was 102.8 kg (226 lbs), which equals to Grade II Obesity, definitely not very healthy. Back home I set up a diet plan and enrolled in a gym with the goal to attend at least six days/week.

After four months and two weeks I’ve lost 17.2 (37.91 lbs) kg and my new weight is 85.6 Kg (188.7 lbs), and I’ve finally started to feel more healthy. Though I’m still about 6 kg from my personal goal, I’m happy with the results so far and am confident I’ll be cashing that prize, so watch out Omar & Jesús!

Have a happy 2018!

Categories: Drupal CMS

Entity Pilot: A new year brings a free tier!

Drupal.org aggregator - Sat, 12/30/2017 - 14:48

In response to regular requests for trial accounts, we've added a free trial tier.

Categories: Drupal CMS

mark.ie: Integrating a Drupal Text with Image Paragraph Bundle with Patternlab

Drupal.org aggregator - Sat, 12/30/2017 - 06:25
Integrating a Drupal Text with Image Paragraph Bundle with Patternlab

Let's get to grips with having a text with image paragraph bundle set up with PatternLab, including having options for left/right for the image/text.

markconroy Sat, 12/30/2017 - 14:25

It's a fairly common design pattern for clients to request - upload an image, place text beside it, and choose whether we have the image on the left with the text on the right or vice versa. You can see my PatternLab version of it here (I also have an added option to set a dark theme for the background).

This is an example of the pattern with the image on the left and the text on the right.

Okay, first off, in my twig file, I have the following:

{%
set classes = [
  'image-with-text',
  'layout-contained',
  paragraph.field_p_it_alignment.value,
]
%}


 

   
      {{ content.field_p_it_image }}
   

   
      {{ content.field_p_it_text }}
   

 

The only thing that is anyway special here is the paragraph.* variables. I have named them like so because this is what Drupal is going to give me back (since the machine name of those fields is p_it_alignment (I namespace all my entity fields with the first letter of the entity type - in this case the name stands for Paragraph Image (with) Text Alignment). This then allows me to have options in PatternLab for alignment and background style (light/dark). To achieve this, I have the following in my pattern's .yml file:

paragraph:
  field_p_it_alignment:
    value: left
  field_p_it_style:
    value: light

And in my image-with-text~right.yml file, I just need to override those variables like so:

paragraph:
  field_p_it_alignment:
    value: right

Following that, I have variables named content.field_p_it_image and content.field_p_it_text. Again, these are deliberately named like so, because this is what Drupal will give us back after I create a field with those machine names. Again and again, I try to keep my pattern variables in PatternLab the same as what I will get back from Drupal so when I come to adding the Drupal template, it's just one line of code to say "Hi Drupal template, you'll find the code for this file over here!". So, you can decide in PatternLab what the machine name for the Drupal fields is going to be and then get your site-builders to create fields with matching names, or you can ask your site-builders what machine names are being used in Drupal and then use those in PatternLab.

In my pattern's .yml file, I then set those variables like this:

content:
  field_p_it_text: 'A Short Heading

Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

'
  field_p_it_image: ''

Finally, in our paragraph--image-with-text.html.twig file we have just one line of code:

{% extends "@building-blocks/image-with-text/image-with-text.twig" %}

You can probably guess what the sass looks like:

.image-with-text {
    display: flex;
    &.left {
      flex-direction: row;
    }
    &.right {
      flex-direction: row-reverse;
    }
}

The images with text above and below this post are examples of this pattern in use on a Drupal website.

This is an example of the pattern with the image on the right and the text on the left.

Categories: Drupal CMS

Aegir Dispatch: Helmo's year of Aegir 2017

Drupal.org aggregator - Fri, 12/29/2017 - 16:00
What have I done? It turns out a lot of Aegir. Anarcat inspired be to write about the time I’ve spent. And now that the Aegir project has a proper blog … why not. 190+ hours of community Aegir time (23 full 8 hour days) as per my hamster. According to Drupal.org “Credited on 61 issues fixed in the past 1 year” Within Aegir I worked all over the place:
Categories: Drupal CMS

Freelock : Getting hands on with Drupal Commerce 2 - Onsite payments and Sales Tax

Drupal.org aggregator - Fri, 12/29/2017 - 14:29
creditcard.jpeg

We're nearing launch of two new Drupal Commerce sites, one of them being this one. It turns out Freelock.com has some relatively sophisticated commerce needs: some taxable products, some non-taxable products. Recurring subscriptions. Arbitrary invoice payments.

We previously blogged about Commerce 2 Price Resolvers. Now, let's get into some of the details of payment gateways and taxes.

Drupal 8Drupal CommerceDrupal PlanettaxCustom Development
Categories: Drupal CMS

Agiledrop.com Blog: AGILEDROP: This is Boštjan, our Development director

Drupal.org aggregator - Thu, 12/28/2017 - 17:17
Today we will present Boštjan, Development director of AGILEDROP. Let's see what he said in the interview.   When did you start working at AGILEDROP and what were your initial responsibilities? I’m at AGILEDROP almost from the beginning when Iztok and Marko invited me to join the newly established company. At the beginning, there was just a couple of us, so we were all working on the projects. I was doing development, mainly back-end but some front-end work was also needed.   What are your responsibilities as Development director? My responsibilities can mainly be described as being a… READ MORE
Categories: Drupal CMS

Platform.sh: Backup and Forget

Drupal.org aggregator - Thu, 12/28/2017 - 12:59
Backup and Forget Crell Thu, 12/28/2017 - 20:59 Blog

Platform.sh allows users to create a byte-for-byte snapshot of any running environment, production or otherwise, at any time with a single button click or command line directive. That's great for one off use, like preparing to deploy a new version or run some large batch process, but what about for routine disaster recovery backups? Can we do those?

Believe it or, not, it's possible to automate yourself! And it's only a 3 step process.

The basic idea is that the Platform.sh CLI can be triggered from any automation tool you'd like... including cron from within the application container. It just needs an authentication token available in the environment.

Step 1: Get a token

Create an authentication token for your user or a dedicated automation user. That's easily done through the UI.

Set that token as a variable on your project, like so:

platform project:variable:set env:PLATFORMSH_CLI_TOKEN <value> Step 2: Install the CLI

The Platform.sh CLI can be installed as part of a build hook within your project. Simply add the following line to your build hook:

curl -sS https://platform.sh/cli/installer | php

Now the CLI will be available in cron hooks, the deploy hook, or when logging in via SSH. It will use the token you provided a moment ago, and will automatically pick up the project and environment name from the existing environment variables.

Step 3: Snapshot on cron

You can now add a new cron entry to your .platform.app.yaml file, like so:

crons:
    snapshot:
        spec: '0 5 * * *'
        cmd: |
            if [ "$PLATFORM_BRANCH" = master ]; then
                platform snapshot:create --yes --no-wait
            fi

That will run the cmd once a day at 5 am UTC. (Adjust for whenever low-traffic time is for your site.) Then if and only if it's running on the master environment (production), the platform snapshot:create command will run and trigger a snapshot, just as if you'd run the command yourself. Poof, done.

Of note, though, are the --yes --no-wait flags. The first skips any user-interaction, since the command is running from cron. The second is extra important, as it tells cron to not block on the snapshot being created. If you forget that, cron will block on the snapshot which means so will any deploy you happen to try and trigger. That can result in extra-long deploys and site downtime. You don't want that, we don't want that, so make sure not include --no-wait.

That's it that's all, you're done! Rejoice in daily automated backups of your production environment.

Larry Garfield 3 Jan, 2018
Categories: Drupal CMS

Agiledrop.com Blog: AGILEDROP: Why you should exceed your users expectations

Drupal.org aggregator - Thu, 12/28/2017 - 03:27
We covered three aspects of what is to be considered as ambitious digital experiences. The first blog post of the series focused on defining the integral parts of such experiences, the second post dug a little deeper into interaction channels of digital experiences and the third post dealt with integrations and Drupal. The fourth post in the series will refer to how important is to also address the challenge of user experience in the process of delivering an ambitious digital experience. UX should definitely cover more than just branding and design. In my opinion, the engines which are… READ MORE
Categories: Drupal CMS

Hook 42: Field Notes: UI Patterns Module

Drupal.org aggregator - Wed, 12/27/2017 - 06:44

When it comes to Atomic Design systems in Drupal 8, there’s hardly a shortage of solutions to choose from. Pattern Lab and KSS Node are certainly among the most popular and the recently released Mannequin looks incredibly exciting. However, in all these aforementioned solutions, exposing that component data to Drupal has never been particularly straightforward.

Here at Hook 42, we’ve just finished developing a brand-new Drupal 8 site for a client that utilizes UI Patterns, Paragraphs, and Display Suite to allow content users to construct complex but consistent user interfaces. What follows is our “field notes” from implementing UI Patterns in a production site.

Categories: Drupal CMS

Tandem's Drupal Blog: How To Stop An Intelligent Spambot

Drupal.org aggregator - Tue, 12/26/2017 - 16:00
December 27, 2017 Most sites are susceptible to spam bot attacks regardless of what you may have installed. This little trick will aid in preventing bots from swarming your site. This article focuses primarily on stopping spammers via PHP and Drupal. However, the same principle can be applied to any language and CMS. What are Bots Spambots are...
Categories: Drupal CMS

WeKnow: A first taste of Drupal theming using Pattern Lab

Drupal.org aggregator - Tue, 12/26/2017 - 14:37
A first taste of Drupal theming using Pattern Lab

A few months ago I had the pleasure of starting a new journey in my professional career, joining the weKnow family. This was a natural step after collaborating in the last couple of years with Jesús and Enzo in open source projects like DrupalConsole. Right from the start, working to reach our projects’ milestones has been a really fun adventure, with lots of new knowledge and lessons learned along the way.

One of my first projects was leading the effort to rebuild weKnow’s new site. Most of you can probably relate to the fact that 'you are your toughest client', which is why we needed to strategize intensely before deciding on what approach to use, we treated this project as a functional prototype for the implementation of our new workflows in future projects with our clients and partners.

omers Tue, 12/26/2017 - 22:37
Categories: Drupal CMS

DrupalEasy: Drupal Career Online, Fall 2017 Graduates!

Drupal.org aggregator - Tue, 12/26/2017 - 07:39

We'd like to introduce the Fall, 2107 graduates of Drupal Career Online (DCO), DrupalEasy's exclusive 12-week, live online Drupal training program. This is our 11th graduating class and the first of our recently updated all Drupal 8 curriculum.

Class members include (from top, left):

  • Michael Anello (instructor)
  • Adrian Nolt
  • Lisa Streeter
  • Jared Nolt
  • John MacDonald
  • Steve Versteeg
  • Alona Kotliar
  • Evrim Campbell
  • Donald Sangster
  • Madeeha Kahn (not pictured)

While many of this semester's graduates have pre-existing full-time jobs, several are aspiring Drupal contractors and consultants, so if you're looking for a junior level Drupal developer or intern, don't hesitate to let us know

This semester's class included Drupal 7 site builders looking to learn Drupal 8 workflows and module development, a WordPress developer and a self-taught Drupal 8 developer looking to learn best practices, as well as several Drupal hobbyists looking to learn professional development techniques.

Our always-being-updated curriculum dropped support for Drupal 7 with this most recent class. The curriculum now teaches Drupal 8 best practices around using Composer to manage site codebases, Drupal Console for module development, and proper use of Drupal's settings.php and settings.local.php files. 

The next semester of Drupal Career Online begins March 26 - learn more about it.  

We're also offering our Mastering Professional Drupal Developer Workflows with Pantheon class starting February 27. This 6-week, 3 half-day per week, live online class is for those with previous Drupal development experience who are looking to learn professional Drupal 8 workflows focusing on Composer and Pantheon. In addition, there are dedicated lessons about Drupal information architecture, using Search API and Solr, and utilizing advanced Pantheon hosting features. 
 

Categories: Drupal CMS

Acro Media: How To: Add a Solr Datasource Field for Product Searching in Drupal Commerce 2

Drupal.org aggregator - Tue, 12/26/2017 - 07:00

Apache Solr is a powerful search engine used by many of the largest websites on the planet. It's highly customizable, alowing you to configure content catalogs and search results by any content datasource (such as title, brand, colour, price, keyword, taxonomy, etc.). You can also assign priority levels to each datasource so that your users are more likely to find the content that they're looking for right away.

Our Urban Hipster Drupal Commerce 2 demo site uses Solr for product catalog functionality and as a product search. In this Acro Media Tech Talk video, we'll show you how you can make a new datasources searchable to your users. 

We've built this demo site to show the adaptability of the Drupal Commerce platform. Most of what you see is out-of-the-box functionality combined with expert configuratoin and theming.

Urban Hipster Commerce 2 Demo site

This video was created using the Urban Hipster Commerce 2 demo site. We've built this site to show the adaptability of the Drupal 8, Commerce 2 platform. Most of what you see is out-of-the-box functionality combined with expert configuratoin and theming.

More from Acro Media Drupal modules used in this video Additional resources

Categories: Drupal CMS

DrupalBASE: Communicate with your audience, make your content visual and interactive

Drupal.org aggregator - Mon, 12/25/2017 - 14:29

For content managers as well as developers Drupal provides a lot of tools and approaches to create content of different types and flavours, from simple text to structured layouts with much of graphics and media. Though still there is enough uncertainty and complexities with authoring experience. Some tasks are even hardly accomplishable without coding or require a sensible effort to. Here to the rescue comes VisualN. The VisualN module brings a generic approach to carry out many of those "painful" and daunting tasks with ease and fun. What is important, it hides the complexities from user to make interaction intuitive and joyful.

The drawing above as any other drawing in the article is fully created and configured via UI with no single line of code or extra modules. To embed drawings into content VisualN provides a rich set of approaches and their combinations so that user wouldn't be limited in his content structuring strategies and could stick to the preferred ones. For the examples in the article we've chosen to use visualn token functionality to embed drawings via simple tokens of [visualn:embed:drawing:id] format. Though you can choose to use Paragraphs or even embed drawings via iframes (which generally is more suitable to embed drawings into third-party sites content).

So what is a drawing and how it works

There is practically no limit on what a drawing can be. For purposes of the article though we can say that a drawing is basically a piece of content or markup with styles, scripts and settings attached generated by a drawer plugin or fetched by a fetcher plugin (which commonly relies on a drawer). Drawer may also need some data to generate drawings, e.g. maps need a list of points with geodata, charts may need some kind of statistics in which case data can be provided for it. Data can be provided as files or retrieved from many other types of sources, even generated on the fly - VisualN provides all required tooling and infrastructure.

Categories: Drupal CMS

Pages