Dig deep in your soul and find yourself, ‘cause mind control could turn y’all to someone else so fast your head’ll probably spin the fuck right off.
Image Raw Formatter for Drupal 8. This formatter return URLs absolute of original images or image style if is configured. The default formatter for image doesn't work for REST services because return HTML tags for images.
Install using Drupal Console project$ cd path/to/drupal/8/modules/contrib
$ drupal module:download image_raw_formatter
$ drupal module:install image_raw_formatter
Drupal 8 has builtin migration paths from Drupal 6 and Drupal 7 - this module will extend the core support for migration from Drupal 5. The initial goal is simply getting the most basic site content - terms, users, and nodes - into Drupal 8, and we will refine from there.
Wouldn’t it be cool if you could use Rules to periodically set, change or modify certain Drupal site configurations and variables?
Yeah, it would be cool and nowit is totally do-able with "Rules Set Site Variables”
Below is my use case and a simple recipe on how to use Rules (and a few helper modules) to change site configurations periodically. I imagine you can use it for all kinds of other craziness on your Drupal site.Use Case: Modifying Node.Js Host Configuration Variable on Schedule
We are huge fans of Drupal and Node.js and use it on multiple integration projects. Combined together, Drupal provides powerful information handling and Node.js handles real-time scalability.
We use Heroku to handle our free, node.js Chatroom Demo site. Unfortunately, Heroku is ending its policy of forever free dyno and moving towards a limited free usage of 18 hours per day. It’s an understandable, business change. For our free Drupal, Node.js chatroom demo, this means I’d need to pay $7 per month to keep the site up and show the [amazingness of Drupal and Node.js](http://int3c.com/tags/nodejs OR shut down the site.
So, instead of paying this (I’m cheap), I decided to setup two Heroku, Node.js instances and simply use a Drupal cron process to flip my node.js server twice a day.
The end result is that twice a day my Drupal site will change which node.js server it is using and thus prevent me from overusing my free, 18 hour daily limit.
Technically, I could have written some custom code, but being a lazy Drupal developer and site builder, I figured there had to be some way to do this with Rules.
Unfortunately there wasn’t at the time. The only similar solution was Conditional Variables, which would only set a session variable and not a permanent change to the configuration.
My solution was to create "Rules Set Site Variables”, which provides a custom reaction where you set any Drupal site variable. You can read more about that module in "Announcing: Rules Set Site Variables Module.”
In order to solve my use case to switch Heroku Node.js server, the final solution involved using Rules, Rules Once Per Day and "Rules Set Site Variables” as well as a couple of site and rules configurations.
Let’s take a look at how.Which Modules? Rules, Rules Once Per Day and Rules Set Site Variables
In order to accomplish this task of periodically changing a site configuration, I used three modules (besides whatever else I’m using for Node.js and other parts):
I could have used a different triggering method but Rules Once Per Day was the easiest. Rules Once Per Day creates a Drupal event, which you can control and set to a specific time and which you can use as the triggering event with Rules.
Using "Rules Set Site Variables”, you then have the option of creating a Rules Reaction to set a Drupal variable.
After enabling these modules, there were only a few simple configurations.Cron and Rules Once Per Day
In order for this to work you are going to need a functioning cron task on your server. This article won’t go into how to configure cron. But essentially for this to work, your server needs to run cron periodically in order to trigger rules and other things. In general you want cron to run every few minutes.
Rules Once Per Day provides a simple configuration setting page where you can configure when you want it to run according to your site time. This means that once a day this event will be triggered and your rules accordingly.
In my case, I use Rules Once a Day to change the site configuration to one of the Node.JS servers, create a future scheduled event in 12 hours and send me an email that the whole thing happened.Configuring Rules to Change a Variable
Once you have created the event side of the rule, your next step is configuring the relevant action in this case “Set Drupal Site Variable”:
As you can see there are just two parts here: pick the variable you want to change and what text it will be set to.Setting Up an Additional Rules Scheduled Component
Since I need to have this change every 12 hours, I need two scheduled events. The first scheduled event is from Rules Once a Day. The second event gets scheduled from the first one via a Rules Component.
A Rules Component is basically a conditional action you create that can then be trigger by other things. In this case, it gets scheduled via our original rule.
In order to add this to our original rule, we first need to create a new component and add your reaction events. In this case, I created another “Set Drupal Site Variable” action and another reaction to send me an email.Packaging it all together
Using Rules, Rules Once a Day, Rules Components and Rules Set Site Variable, the final result is a series of configurable items that work together to switch my heroku node.js site server twice a day.
The rule configuration looks like this:Conclusion: You can use rules to change site configuration
With "Rules Set Site Variables”, you change site configuration according various site events. In our case we use scheduled cron events to switch our heroku server and save some money.
On a wider level, any site builder can now use rules to modify their site’s configuration. Using a bit more configuration and some helper modules, you can make these changes according to a set schedule.
Live long and prosper Drupal Site Builders.Tags: drupalDrupal PlanetPlanet DrupalNode.jsRulesSite Builder Mark Koester @markwkoester Mark has worked on Drupal since the early days of D6. He is passionate about open source as well as entrepreneurship. When he isn't building, he enjoys traveling and speaking one of his many foreign languages. Chengdu, China
This module is a replacement for the Drupal 8 core module 'Responsive Image'. While the core module is very flexible, it requires a lot of configuration for each image style to be setup and used effectively. This module makes a lot of assumptions and is opinionated about creating variants of a single image for used in responsive design.
One nice thing during Drupal 7/8 development is the ability, thanks to the devel module, to get a list of all SQL queries ran on a page. As I've been working quite a bit on MongoDB in PHP recently, I wondered how to obtain comparable results when using MongoDB in PHP projects. Looking at the D7 implementation, the magic happens in the Database class:<?php
// Start logging on the default database.
// Get the log contents, typically in a shutdown handler.
$log = \Database::getLog(DB_CHANNEL);
With DBTNG, that's all it takes, and devel puts it to good use UI-wise. So is there be an equivalent mechanism in MongoDB ? Of course there is !
This module provides the ability to delete multiple webform results at once using checkboxes, you can either select all or few as per your need.
How it is different from other modules:
1. It provides ability to select from the submission that you want to delete.
2. It provides ability to select all and delete all results at once.
How to install:
1. Login as admin.
2. Enable the module as explained here.
We recently had to debug a site for customer who was using Apache Solr and that wonderful Drupal module combo that goes with it: Search API and Search API Solr.
We were pleased to find that these components have continued to evolve over the past years, much to the benefit of their users . Setting up Apache Solr for Drupal is now easier than ever before, whether you use the command line or the newish Solr user interface.
In the steps below we've gone mostly for the point and click install.
2) Once downloaded unzip the .tgz or .zip and move it to your favourite application folder. I have fallen in the habit of abusing /Applications for this on my Mac, but you can use almost any folder that works for you.
3) Now cd into the epicentre of your Solr installation. When reading further documentation this is where it is assumed that you execute your Solr commands from:
4) A quick smoke test is to launch Solr in standalone (as opposed to cloud) mode
$ bin/solr start
Yay! Our Solr is up and running!
5) Let’s hook it up to Drupal by giving it a Search API configuration to work with. In your solr-5.2.1/server/solr directory create a new directory drupal-search and inside that a directory conf. Then drag all the files residing in /sites/all/modules/search_api_solr/solr-conf/5.x into drupal-search/conf.
Or using the command line:
$ mkdir server/solr/drupal-search
$ cp -r [DocumentRoot]]/sites/all/modules/search_api_solr/solr-conf/5.x server/solr/drupal-search/conf
6a) Now open a browser window and visit localhost:8983/solr and click the No cores available — Go and create one menu option in the bottom left. See the screenshot at the top of this article.
6b) Verify by picking "drupal-search" in the core selector drop-down. You should see something like this:
No errors? Great!
7) Revisit your Drupal site on the Search API config page, at admin/config/search/search_api and fill it out as shown below.
Press "Save settings" and you should see lots of green, like the screenshot below.
Check and tweak the configuration if necessary via the Edit tab at the top.
8) Made a mistake? You can delete your Solr core like so:
$ bin/solr delete -c drupal-search
Then try again from step 5) or 6).
* * *File under: Planet Drupal
The bad performance module purposely decreases the response time and increases the CPU load of any Drupal site it's installed on.
For reasons that are hopefully obvious, it requires the Bad Judgement module.
This module was written for Drupal Systems Administrator training hosted by Coldfront Labs Inc. to give new administrators a consistently slow Drupal site to optimize with supporting technologies like memcache and Varnish.
For a small Drupal shop or an individual Drupal consultant, how to grow up? It seems that small Drupal shops face a glass ceiling when they want to move upward. They are not able to find a larger project because they not big enough. It is not trustworthy or not give the stack holder a confidence if there are not a team of developers. Should we solve this problem by working together in a partnership? The Drupal developer is a very technical intensive. Let us follow the way lawyers did in their practice. We get together and build a strong team.
What is the benefit to run a Drupal shop in a partnership?
1) It is easy to setup unless we want to form an LLP partnership. As a professional Drupal Freelance, we may have some client already. Initial partners sign an agreement and form a partnership with some existing customers already.
2) A good size team gives confidence to customers. It is going to be easier to win a bigger project.
3) Having a partnership formed, we can recruit more junior developers and train them.
The challenge here is we never did it before. We do may not have any ways to follow. A comprehensive partnership agreement is needed. Here are some important things that we need think through before we form a partnership:
1) Types of Partnerships (General Partnership or Limited Liability Partnership)
2) Governance and Decision-Making
3) Partner Compensation
4) Capital Contribution
5) Overhead and Liabilities
6) Parental Leaves and Sabbaticals
7) Retirement and Termination.
Professional Drupal developers will benefit by practicing partnership in professional service. A reputable good size team is capable of catch and deliver bigger and more profitable projects.
Drupal developers provide highly skilled professional service. Lawyers give professional service related law. Lawyers have lawyer office to provide their service in a decent way. Why not copy the way how they did it to provide our Drupal service.
Referred document: http://www.cba.org/cba/PracticeLink/WWP/agreement.aspx
If you’re considering a switch to Drupal 8, why not become an early adopter? Becoming an early adopter has some risks — and Acquia will work with you to mitigate those risks — but it also has huge benefits.
In this post, I want to talk to you about those benefits and also share with you my experience with Examiner and its early adoption of Drupal 7.
If you’re not familiar with it, Examiner is a news company powered by thousands of self-contributing writers. Currently, it’s read by 22 million people a month. But back in 2009, the company was having problems with its ColdFusion CMS, and those problems were hampering its growth.
Examiner decided to move away from the legacy homegrown platform to Drupal. So they acquired NowPublic, a citizen-journalism company I founded, for its Drupal expertise and leadership. That’s how I became the CTO of Examiner (I later joined Acquia in 2012).
Moving ahead, the big question we faced at Examiner was: Do we go with Drupal 6, a stable but mature technology? Or do we take a bold leap and implement the yet-to-be-released Drupal 7? Ultimately, we chose to become early adopters, going with Drupal 7.
Here are the reasons that powered that decision:
1) You stay in front of the technology wave
While a good product at the time, there was no denying that Drupal 6 was closer to its end of lifecycle, while Drupal 7 was just taking off. We already understood the costs involved in supporting a legacy product. And we knew any extra investment early on would be offset by things like a longer lifecycle.
As a side note, unlike previous versions of the platform, Drupal 8 releases will come out every six months. So if you plan to become an early adopter of Drupal 8, not only are you taking advantage of the latest and greatest today — but you will continually upgrade to the latest features over the lifecycle of the product.
2) You differentiate yourself from the competitors
At Examiner, we wanted to set ourselves apart from the competition and we knew D7 would give us that edge. AOL was starting to invest in Patch at that time. And we felt that if we wanted to grow our audience and draw the best journalism to our site, we needed best-in-breed tools.
3) You can attract the top talent
Great developers want to be on the cutting edge. Who wouldn’t want to jump on an opportunity to work full-time on their passion and be able to contribute back to Drupal? When we brought in a great platform at Examiner, we attracted the best Drupal developers in the world. Very quickly, we hired 15 of the top 50 developers in the Drupal community.
4) You have the opportunity to shape your investment
Getting in on Drupal 7 earlier put us in the driver’s seat with the technology. That was important. We weren’t looking to adopt just any set of tools. We wanted an opportunity to shape the next generation of a platform. And we knew Drupal was going to meet our needs better than anything else out there. Plus, it’s a lot less risky than building your own CMS, because you are not going it alone. You’re going in as part of a community.
5) It forces you to develop best practices
Being an early adopter forces you to use best practices with respect to software development. At Examiner, we were able to participate in the community and contribute code to the platform. So for us, being an early adopter forced us to do things the right way — and that set a standard within the company moving forward.
After a year of work, Examiner moved to a new platform built on Drupal 7. Thanks to Drupal 7, Examiner went from not being able to meet the needs of its users to exceeding them. We were able to deliver new features on a faster cadence. We had the best-in-breed platform, the easiest to use interfaces, and ultimately those features accelerated the growth of the company.
Examiner launched on Drupal 7 six months before the official release of the platform. We started developing on it almost a year and a half before the release. So we were really early adopters. Examiner faced tremendous risks, because at that time, Drupal 7 was nowhere near as put together as Drupal 8 is today, but we still decided to do it — and it paid off. Today, Examiner is a top 60 website.
Being an early adopter is definitely an investment. It will cost more to be an early adopter of Drupal 8, but as Examiner has demonstrated, those costs are set off by several factors. And if you are concerned about the risks, keep this in mind: more than 400 sites are already running Drupal 8. And Acquia has already announced we are ready to support anyone with Drupal 8.
What are your thoughts? Do you have any experiences on being an early adopter of Drupal 7? And how do you feel about the risks/benefits of being an early adopter for Drupal 8? We’d love to hear back from you and get the conversation going.Workflow: PendingFeatured: NoTags: acquia drupal planetDrupal 8 related: YesAuthor: Michael Meyers
Relation Extras is a simple suite of modules which add additional functionality to the Relation module.
- Relation Creation: Adds a new tab on node pages for adding relations.
- Relation Extra Fields: Provides additional field formatters for the Relations endpoints field and extra fields on relations targetable entities for displaying fields from the relations that point to them.
When projects get hectic around the office, we remind ourselves “We’re just pushing pixels.” We’re geeks. We sit in an air-conditioned office and play with cutting edge technologies on shiny MacBooks, drinking aeropress coffee. At the same time, we choose to work with nonprofit clients - experienced organizers and passionate advocates working on diverse issues in environmental protection, human rights, early childhood education, access to health care, and community building. We cannot do what they do; but it is wonderful to help them tell their stories and meaningfully engage their constituents online.
Over the last year, we’ve been particularly inspired to have had the chance to collaborate with the Southern Poverty Law Center (SPLC) on the redesign of its website. At the same time, our work with them brought further attention to our team about the many human rights challenges that our country has faced over the last year.
Our initial conversations with SPLC took place days before the death of Eric Garner. And over the year that we’ve been working with the Center, 16 unarmed Black people have been killed by police in the U.S. The Southern Poverty Law Center has been at the forefront of the national conversation about this issue.
If you don’t know SPLC, it is a leading advocacy and educational organization dedicated to fighting hate and bigotry and seeking justice for the most vulnerable members of society. Since 1971, SPLC has been using litigation to fight for civil rights. So hated by the Ku Klux Klan, SPLC’s offices were burned to the ground in 1983 by Alabama Klansmen. Then, in 1987 SPLC won a historic $7 million verdict against the United Klans of America for the 1981 lynching of Michael Donald - effectively bankrupting the KKK and crippling their organization.
In addition to its fight against hate and extremism, SPLC works on a range of human rights issues, such as children’s rights, immigrant justice, economic justice, mass incarceration, and LGBT rights. And so, fortunately, in addition to watching SPLC weigh in tirelessly on the police’s deadly use of force this year, we have also been able to celebrate with its staff over the landmark win over gay marriage bans, as well as the 50th Anniversaries of the March on Selma and the Passage of the Voting Rights Act of 1965.
Again, we have nothing to do with the success of this organization, but to collaborate with this team and to be close to their work has been incredible. We couldn’t be more proud of the website that we designed and implemented along with SPLC’s incredible communications team. Over the next few weeks, we will be writing about the many technical and process innovations we had the chance to implement with the SPLC team. In the meantime, we hope that you will take some time to explore their new site and to join us in celebrating and supporting their mission.
As a contrib module developer that is starting to delve into Drupal 8 I wanted to share my experience working with Drupal 8. This is a video of me going through the process of re-creating the contrib module Token Conditions that I had created the week before. Along the way I delve into some new systems in Drupal 8 and give examples of how to figure out how to add functionality to this vastly changed version of Drupal.
Second Life creator Linden Lab is hard at work creating its next virtual world, "Project Sansar" - a virtual reality platform that aims to "democratize VR as a creative medium". ...
Gen Con was a just a few weeks ago, marking the height of the convention season. This year, I was fortunate to play in a number of games, run by some great GM’s. But as with other years, I heard numerous complaints from people about games that were less enjoyable, and in some cases downright painful. After talking to different people about the games they played, and talking about what worked and did not work, I realized that a number of the issues that caused so much pain were only issues because the game was being run at a con, and would have been perfectly fine at a home game. This lead me to the thesis of…Your Con Con Game Is Not A Home Game
The most common mistake people seem to make when designing games to be run at conventions is that running a convention game is the same as running a home game. It is not. You may be an established GM at your home game, but convention games are different creatures, and require emphasis on different skills. Now don’t get me wrong, there are plenty of GMing skills that are forged at your home table that work when you are in a convention, but you have to acknowledge the unique constraints of a convention game. Some of which are:
– Time – Convention games are typically four-hour slots, but don’t be fooled, you don’t get four hours to run your game. That four hours covers everyone coming to the table, picking out characters, asking questions, taking a break, packing up. In truth you really have three hours of good gaming time. This makes story structure and pacing key.
– Unknown Players – In most cases you will not know any of the gamers for which you are running the game. This means you cannot anticipate, with any accuracy, what they are going to do, how they will react, etc. This means that your session has to have a strong hook and a clear direction.
– No Group Cohesion – Because you are working with strangers, there is no immediate group cohesion, which is key for getting a group to be effective and productive. This means that even simple things will take them longer, because they are not comfortable working as a group.
Understanding those constraints, you have to design the game you are going to run to deal with those issues. The better you handle the above constraints the better your game will be.Elements of a Good Con Game
So let’s take a look at some (not nearly all) of the ways that you can structure a convention game to deal with the above constraints and make it an all-around enjoyable experience.Straight to the Action
Time is precious, and your three-hour clock of usable game time is ticking away, so have your game open up with action and get those players rolling some dice and taking out some opposition. Avoid starting your game with a lengthy exposition about the world, the setting, etc. If you need to do that, flashback to it after you have some action. Also, consider a handout as a tool for providing more information without saying it.
My preference when designing a con game is to use the in media res technique of starting right in the middle of a conflict. This is the fastest jump into the action and it does a good job of capturing the players attention, and setting the tone for the rest of the game.Simple Plot
Because you do not know the players and time is short, the plot for your convention game needs to be simple (i.e. get the McGuffin, kill the vampire in his lair, survive until morning). In the first scene or two the players should know exactly what they are doing for the rest of the game. All of your major scenes in the session should drive to this point.
Anything more complex than this is going to take too much time to develop and for the players to digest. Convoluted or obscured plots are also a bad idea, convention gamers are often operating on less sleep, and may not be as quick to pick up on your subtle clues ,which may result in them figuring things out too late. Avoid multiple objectives in your plot, as it can lead to analysis paralysis in the players, burning valuable gaming time.It’s About the Players
When using homebrew games or designed worlds, there is a temptation to have the session be about showing the players how cool your world is and how awesome your NPC’s are. This is the wrong approach. Your goal in a convention game is to give the players a great and memorable experience. So when you design your game, avoid making it a travelogue of your world, and do not go into deep detail on facets of your world or NPCs. Seed your game with some interesting parts of your world, but use the rule of spice: a little goes a long way.
The only information you need to provide is what is pertinent to the session, and will assist the players in completing your Simple Plot. If the players have a great time in the session, they will be interested in your world afterwards. After the game, feel free to get a drink and tell them all about the world.Make the Characters Shine
As an extension to the point above, your goal as the GM is to make every character shine during the game. If you are creating pre-gen characters, then gear them to all be awesome within the game you are creating. Create backgrounds (simple and short) that give the player a few things to grab onto and use in play. Design the adventure such that every character has a way to give a meaningful contribution during the course of the game. If you make a pre-gen that is loaded in social skills you had better write a scene where the characters need to use social skills to progress.
When you are running the game, make sure that you are moving the spotlight from character to character throughout the game. When a character does something awesome in the game, make a point of acknowledging it. I like to replay those moves with exaggerated gestures and sound effects.Nothing Exists Except This Session The convention game exists unto itself. There is nothing of importance that happened before it, and nothing after the game matters.
If I have a personal peeve in a convention game it is this right here, and the reason I have made it last in the list. The convention game exists unto itself. There is nothing of importance that happened before it, and nothing after the game matters. I have heard stories of players getting into games where the GM is planning on running multiple sessions for the next few years, and that the outcome of the game will stretch on for years to come. In most cases (and I will explain some exceptions below), the players who play the game are not going to come back, and so if they have a mediocre time in the game because this was rising action to a conclusion that is coming in the next session, then you have done it wrong.
The same is true about the events leading up to the session. Avoid spending a lot of time talking about the things that happened before this session. If it is directly connected to the adventure, then put it in a handout and make sure the players have it nearby. Put all the focus on what is happening in this game. Think of a con game like a movie, it is the most important day of those character’s lives.
Now the few exceptions to this point, because they exist. Dedicated groups who meet annually for the game, can have lengthy plots that span sessions. If you are running multiple games in the same con, you can get away with this a bit, but factor into your design that not everyone is playing all the sessions. If you are a large organized play group who sponsors events to create outcomes for your larger meta-plot, then you know what you are doing. If you are not any of these, then see the start of this section.Designed for Convention Play
Gaming conventions are awesome. They are a chance to play new games, play with people you have never met, and forge new friendships. Designing a convention game should be a deliberate process, and one that is much different than designing a home session. If you use some of the tips above, you will make a more enjoyable game for your players, and they will be more apt to seek you out in future conventions.
What do you do in your convention games that is different from your home games? What are some things you have put into convention games, that should have stayed at your home table? What is your secret ingredient for a good convention game?
Created and powered by InternetDevels Drupal development company
If your website could speak, there’s one most important thing you would probably hear. And this thing is “Please send me to DruDesk!”. Such a silent request can come up in many cases — let’s see when.Read more
My Mac spends the majority of the day running at between one and a dozen VMs. I do all my development (besides iOS or Mac dev) running code inside VMs, and for many years I used VirtualBox, a free virtualization tool, along with Vagrant and Ansible, to build and manage all these VMs.
Since I use build and rebuild dozens of VMs per day, and maintain a popular Vagrant configuration for Drupal development (Drupal VM), as well as dozens of other VMs (like Ansible Vagrant Examples), I am highly motivated to find the fastest and most reliable virtualization software for local development. I switched from VirtualBox to VMware Fusion (which requires a for-pay plugin) a year ago, as a few benchmarks I ran at the time showed VMware was 10-30% faster.
This project aims to cover a gap in panel page (page manager pages) translation.
There are different approaches like https://www.drupal.org/project/mlpanels and i18n_panels but they can't be used for translating panels in a way of nodes translation.
Current approach adds ability to have different pages templates and content for different languages with URI translated as well.
Jay Epstein (jeppy64), Senior Developer with TrakTek joins Mike, Ted, and Ryan to talk about his Relativity Data Model and why he feels it is a superior method for architectuing Drupal sites with a limited number of modules and no custom code. We dive into the techniques, contrib modules, and benefits of the model before our weekly roundup of Drupal news and events.