With each veil pierced, exponentially shrinking numbers of increasingly enlightened people are deemed insane by exponentially increasing masses of decreasingly enlightened people.
Code Server provides a framework for calling PHP functions on a Drupal site from code running on a different Drupal site.
When Savas built a custom Drupal 8 theme, we needed to include a grid framework and chose Bourbon's Neat for its ease of use, its light weight, and the library of useful Sass mixins provided by Bourbon. In this post I detail how to set all of this up and use Compass to compile SCSS.
Responsive design is a watchword for many web design gurus, and it has become a kind of unspoken rule for online experiences: If your website can’t respond to users on every device, then it is an affront to those users. This rule, which maybe doesn’t have to include such unforgiving terms as “affront,” has to be acknowledged well before a user even has a chance to set their eyes and cursor on a website.
Responsiveness is arguably the first barrier to creating good user experiences. So if it’s such common knowledge, then why are we all still talking about it?
How do you prepare for the inevitable, yet moving target of Drupal 8 when you’re busy with client work? Join Four Kitchens Web Chefs as we take the plunge with a practice group.
Acquia Developer Center Blog: Five Ways to Leverage Third-Party APIs: The Drupal-Zendesk Integration
When Acquia’s Global Support Team outgrew their ticketing system in 2013, it was time to make a change. An outdated ticketing system was taxing their team and compromising their ability to support customers. In addition to lacking the core functionality required to meet increasing customer expectations, the third-party vendor lacked visibility and integration with existing systems like JIRA and Toggl, reporting was slow, and SLA was waning.
The Global Support Team decided to look for a new, flexible API that would deliver tight integration with existing systems and generate responsive channels for quick, direct and clear communications. Reporting needed to be real-time and fast, and the customer and agent UX needed to be streamlined. Acquia needed a new system.In Walks Zendesk
After systematic vendor vetting, Acquia’s Global Support Team quickly determined that Zendesk’s documented API provided the flexibility needed to do things the Acquian way. Zendesk is a customer service platform that provides the ideal framework for an enterprise environment. Zendesk offers an out-of-the-box solution, which provides a front-end customer interface and a back-end agent UX. Instead of just “drinking their own champagne,” Acquia decided to split a bottle with Zendesk’s REST API and develop the front-end of their Acquia Help Center in Drupal.Drupal-Zendesk Integration
With a Drupal-Zendesk solution, Acquia built a powerful ticket request system that provides unparalleled support to their customers and internal teams. Here are five ways Acquia’s Support team leveraged a third-party API to build a new ticketing system.
1. Using Zendesk’s API to create customer requests in Acquia’s Help Center on Drupal
Acquia needed to migrate nearly 100k pre-existing tickets into Zendesk. This kind of overhaul required some reconciliation. Reorganization consisted of deleting completed tickets, cleaning up the open ticket queue, and configuring data into Zendesk.
The new Acquia Help Center was built using Zendesk’s REST API in Drupal, providing a Customer UX that is easy to navigate. The Agent UX, utilized internally by the support team, is outfitted with all of Zendesk’s built-in functionality. Zendesk also offered Acquia’s Global Support Team the ability to customize their apps to guarantee top performance.
2. Additional Info Block Application
The flexibility of the Zendesk Apps Framework allows companies to extend the capabilities of the framework to leverage tickets, users and knowledgebases. Acquia customized their solution with an Additional Info Block Application, embedded in the Agent UX. The info block provides a global and integrated view of the customer.
The info box displays information such as the product the customer is using, the number of application support tickets their subscription enables them to register, what networks they are connected to, special handling notes and their account management team.
“This heightened customer visibility allows diverse members of Acquia’s Global Support Team to best support the customer’, says Jeannie Finks, Director of Global Support Systems and Programs at Acquia. “This supplementary ticket data is a necessity for our team to provide customers with the personalized assistance they need and now expect”.
3. Time Tracking App
By leveraging the flexibility of the Zendesk Apps Framework, Acquia was able to aggregate all of their systems in one place. Existing systems like JIRA and Toggl are essential to Acquia’s workflow, and needed to remain accessible in the Agent UX. Toggl is a time tracking app that allows you to sync your entries in real time. Toggl’s cloud based framework is Acquia’s default time tracking interface. Acquia’s custom Toggl-Zendesk app pushes ticket time to a central repo of daily agent activity:
Additionally, Zendesk’s partnership has enhanced the view of the customers through expert reporting. The Zendesk toolkit allowed Acquia to track tickets rolled in by account, customer backlog, and a root cause report. The introduction of expert reporting offers support teams a comprehensive overview of the customer. Real-time reporting provides Acquia’s Support Leadership with the resources needed to proactively identify critical issues and solve them quickly. This Info Block increases customer visibility, allowing Acquia to see what their customer needs, right when they need it.
4. Custom SLA Monitoring and Notification within Zendesk
The ticketing system also monitors the status of tickets based on a customer’s Service Level Agreement. Acquia continues to take advantage of Zendesk’s flexibility by configuring SLA data from a central customer data warehouse. This customization generates alerts that flow into all key communication channels, such as mail and chat. This custom monitoring system notifies teams when SLA expiration time is appended to a ticket, providing support teams with the visibility needed to best assist the customer.
5. JIRA and Zendesk Linked Tickets
In addition to Toggl, JIRA is a ticketing system that Acquia’s Global Support Team utilized internally. It was a workflow necessity to have continued access to JIRA, and Zendesk’s robust API enabled Acquia to do so. Acquia further customized their API with a mini app that linked tickets filed in JIRA and Zendesk.
The system scans Zendesk ticket comments, subject, and internal URL fields. After scanning, it will match any Acquia JIRA project keys. The system will then display the JIRA key, subject, status, time created, updated time, reporter and assignee. Comment links can also be added to any JIRA ticket.
“The benefit of these customized applications is that all of Acquia’s support systems are connected in one place”, says Finks. “The convenience of having JIRA, Toggl and a customer info block in the Agent UX relieves the major pain points that were taxing our internal teams. Through our integration with Zendesk, Acquia’s Help Center is able to offer unparalleled global support to customers 24/7”.
The next installment of our series will examine best practices when integrating with a third-party API.Blog series: Integrating Drupal and ZendeskWorkflow: PendingFeatured: NoTags: acquia drupal planetDrupal 8 related: NoAuthor: Georgianna Anderson
Over the last couple of years, I've seen one module appear on almost every high profile Drupal site.
That module is Advanced CSS/JS Aggregation, or AdvAgg, for short.
Here are two videos that will help you install and configure AdvAgg:
Global Home Court Advantage: Yes, eSports is a global phenomenon, and no, its not going away - by Ian Sharpe
By now, if you have been using Drush for a while I assume you are comfortable with all the basics. (I consider the basics to be things like downloading modules or updating a site.) I also assume you are aware that Drush has plenty of other features built in, but you probably don't take advantage of them. In this article I want to show you a few things that are just as easy to use as the “basics” and only require a little upfront setup to use them. Once you learn them, they will quickly find their way into your daily workflow.Shell Aliases
Consider how much time you spend typing out commands. Now think of all the commands you type over and over again. Next, think about all the commands that have a lot of options and how often you refer to help resources to remember which options you need to use. Wouldn’t it be better if we simplified those things? Conveniently, Drush allows you to do exactly that: create shortcuts or aliases in a file called drushrc.php. I'll refer to it as the command file later in this article.
Let's start with an easy example: the clear cache command. This command isn't very long but we can still improve on it. Plus, it's probably one of the most frequently used.
Edit your drushrc.php file; if it doesn't exist create it. It's typically in your home folder at:~/.drush/drushrc.php
Add this line to the bottom of this file and save it:$options['shell-aliases']['ca'] = 'cache-clear all';
We just added a shell alias. Now instead of typing this:$ drush clear-cache all
You only need to type:$ drush ca
That wasn't too hard, right? That was one line of code, and you just improved on an already very simple command.
An Endzeitgeist.com review
This expansion for the tinker clocks in at 7 pages, 1 page front cover, 1 page SRD, leaving us with 5 pages of content, so let's take a look!
As the pdf observes, this pdf offers options for lower levels tinkers - though this time around, a minimum of 3rd level to get properly started. It should also be mentioned that this pdf links up with rules in the SUPERB tinker-expansion Happy Little Automatons, which every fan of the class should have.
We have three new invention types herein - compartments and fireworks. Compartment inventions are introduced to streamline the compartment-questions provided in previous installments that featured some sort of fuel/etc. Fireworks-inventions are special inventions that occupy space in a given compartment as though they were goods - they thus need compartment space and may, important, NOT be launched by hand, only by the respective invention. Fireworks have a range of 30 ft., max 150 ft. and they are executed against grid intersections (AC 5) and may target occupied and unoccupied intersections, thus deviating from splash weapons, though occupied intersections are treated as ranged fire into melee, including potential for penalty negation via Precise Shot. Intersections sans walls etc. also have their AC increased. On a miss, we determine how it missed, also providing concise rules for determining z-axis issues when shot into the air (or into a pit).
Finally, there would be propellant inventions, which modify all fireworks in a given compartment at the time of deployment; only one propellant can be added per compartment.
All right, got that? We thus gain 3 new innovations: One that negates the chance of fireworks exploding when going unlaunched, one that increases capacity of all compartments by +1 as though they were improved compartments for the purpose of holding different substances and one that lets you break the "only one propellant"-rule and allows you to add 2 in a single compartment.
And then, we have inventions - and at this point, anyone who has ever made a tinker starts cackling with glee, mainly because the by now beautifully customizable system benefits from the expansions made so far: Take e.g. Alphas that contains vast amounts of fireworks that furthermore has an increased propellant capacity, increasing the value of the fireworks stored by the alpha.
The base for fireworks would be firework tubes or hot pockets, reloading from a chosen compartment as a move action, launching them as a directed attack, with potential options to fire multiple fireworks and synergy with Rapid Reload and Rapid Shot. Hot Pockets may be used to prime fireworks and fire them all at once as a directed attack, though primed fireworks continuously decrease their maximum range and may even explode in the automaton if the tinker fails to direct the attack, making the base system work essentially like a pretty interesting game of action-economy conversion and set-ups. And yes, e.g. The Late Bloomer can be used to increase the radius of launched fireworks, while a propellant may be added to increase the range of fireworks - a potential synergy with another range-increasing tube-modification.
Even general fireworks end up having something interesting going for them, with AC-penalizing caustic fireworks, propellants that may dazzle those adjacent to the flight or fireworks that contains hundreds of angry spiders (!!!)?
Want something cooler? What about a propellant that makes it hard for undead to cross the exhaust-line left by a rocket for smart terrain control? Or ones that contain entangling good? What about a glitterdust-y emission of tracer particles? Have I mention condition stacking, damage to adjacent creatures in the flight path? Oh yeah!
Oh, and btw. - yes, the pdf has a list of which inventions get the compartment-subtype. Kudos!
Editing and formatting are top-notch, I noticed no glitches. Layout adheres to Interjection Games' two-column b/w-standard and sports thematically fitting b/w-artwork. The pdf has no bookmarks and does not necessarily require them at this length.
The last Remedial tinkering-expansion by Bradley Crouch was absolutely AWESOME in that it not only provided great low-level tricks, its combo-set-up potential was thoroughly inspired. Now, one can say pretty much the same for the content herein, with one minor gripe on my end: It quite frankly took me longer than I would have liked to piece together how exactly fireworks are launched - a slightly more concise explanation in the beginning would have certainly helped here.
That being said, not only do the fireworks here work how they should and in a mechanically distinct way, they also sport a damn cool array of combo potentials. Now I might grumble a bit here, but then there's one more thing to consider: This is FREE. It costs zilch, zero, nada, nothing - and who am I to nitpick on a quality, fun and simply interesting expansion that is free to boot? All in all, I'm glad I can now add this cool array of options to my tinkers, though I certainly wished that a) this was longer and b), it explained the process of launching fireworks in a slightly more concise manner. That being said, this is still a great expansion and one that requires literally zero investment from you - well worth a final verdict of 5 stars +seal of approval.
I don't remember the last time I had a client happy with the way a Drupal admin/menu looked. Even current revisions in Drupal 8 are not getting rave reviews. This module solves a large problem very simply, use a tried and true menu/navigation.
Views mobile module provides a mechanism to switch the display of a view when in a mobile device.Usage
In order to the module work you need to clone the display you want to provide a mobile version and update the display machine name to add the "_mobile" suffix.
e.g: If you have a block display named "featured". You have to clone the "Featured" display and update the machine name of the cloned diplay to "featured_mobile".
Having the mobile display set the module will take care of switching the display when the user is using a mobile device.