We are always innocent, unless, from laziness or for convenience, we decide to overlook the novelty of the moment.
Have been worked on many Drupal projects these years. Even though, most of the projects have version control system. But everyone has different ways. Today, I want to share one of them that I think is great. Because of it, there was no accident in the over 5 deployments during a half year period.
The biggest headache for Drupal deployment is the conflict between the configuration and the content. Content is moving downward from product to staging to development. But the configuration is moving upward from development to staging to production. Both of configuration and content are existing in a same database and same tables sometimes. So, we can not separate them and move the configuration only upward to production. We used features module and packed most of the configurations into several features. But there was some manual configuration we had to do. The CTO did not want developers to have administrator access to the production server. I agree that it is a good idea, since it helps stabilize the production environment. But they had to have someone know Drupal to configure the production site. So, they appoint me as configuration manager position to do that job. Well, the good news is Drupal 8 have moved configuration into code. Hopefully, that will solve the problem gracefully.
It was a typical Drupal website for a small content publisher. We had 5 Drupal developers, 2 QAs, a project manager and a business analyst. We had a group of in-house editors who would be very upset if our system had something wrong during deployment. We needed a good strategy to make sure successful deployment within the maintenance window. Usually, the downtime was 2 hours.
We used Jira for the issue queue. There was a Jira expert helped us set up the process. Issue went through various stakeholders according the designed process. Project manager would decide whether to approve each ticket for next release. Developers would see all the approved tickets in a working pool. After solve the problem, developers marked the ticket as done. It would then in the queue of the configuration manager. In the end, configuration manager would make a quick snapshot of the dev branch and mark all the related tickets as QA ready. He then worked with system admin to push the code to staging and did any necessary manual configurations. We were using features module extensively. It kept the manual configuration at minimal. We also put all the necessary manual configuration steps in Jira tickets. QA then got onto the staging server and verified and approved each ticket. Ticket had failed to pass QA will be disapproved, and dev team had to deal with it again. The whole process was reiterated until every ticket passed QA. Then QA marked all the tickets as passed.
At last, configuration manager used the latest release tag and merged the Git dev branch into the production branch. Make a release version tag on production. Also after that, merge back all the hotfix branch back into the dev branch. There is a great article about Git branching model. I think it worthy of time to read it for every developer.
I am pleased to welcome to the Drupal community:
They are students in my Udemy pilot course Start Successfully; Install Drupal Easily & Quickly. Why not stop on by their pages and send them a warm welcome through their contact forms?
This module integrates the Mexican Payment Gateway Conekta into Drupal Commerce
Conekta supports three types of payment methods:
- Direct credit card payment
- Cash payment in OXXO stores
- Split into months without interest rate Credit card payment
Note: For now only the direct credit card payment is implemented, probably I will implement OXXO payment soon but no plans for the split into monts payment method so if you want to help just ping me.
A few timeless game postmortems, written by pioneering designers like Warren Spector and Dr. Ray Muzyka, that detail the trials and triumphs of developing games like Deus Ex and System Shock 2. ...
While seeing the Driesnote is always a highlight of every DrupalCon, this year's other keynote speakers are guaranteed to please as well. We are excited to announce one of the keynote speakers for DrupalCon Los Angeles: on Wednesday morning, expect to hear from Matt Asay, a seasoned open source professional and regular tech columnist.
In honor of integrating frameworks with Drupal, here's some fun code snippets to get you adding classes without using Sass.
Once you have an awesome new framework how do you make the buttons match the awesomeness?Read more
To use or not to use: The benefits and challenges of offering early access during game development - by Thomas Coghlan
Provides ability to hide submit or next button until all required fields are filled.
By default there are three options to handle the behaviour for the webform action button. After installing the module, please visit the webform node edit page and choose the preferred option:
Display button — Default behaviour, button will be displayed as usual
Disable button — Button will be displayed but disabled until all required fields are filled
Hide button — Button will be hidden until all required fields are filled.
The combined company will bring together more than 350 extremely talented people, and assemble one of the most formidable, independently-owned creative agencies in the world.
"We have been building a big list of books about video games. It features more than 150 books dealing with the history of videogames, biographies, Game Design, Serious Games, videogames studies & analysis..." ...
This module is an add-on for the CAPTCHA module to provide a mathematical equation challenge as a CAPTCHA. The question presented is an image instead of text to prevent auto-crawling and parsing via robots. Images are created on the fly much like the Image CAPTCHA module that comes with CAPTCHA.
** This module used Image CAPTCHA as a foundation and was modified from that. So all due credit to the creators of CAPTCHA for providing that starting point **
Colorized gmap module allows to create blocks with google map.
This module provides UI there you are able to:
-colorize any elements of the map
-hide unnecessary controls (such as zoom) or change position
-customize marker image and some other features
Created by ADCI solutions team
A bunch of Lullabots headed towards the equator in early February to attend DrupalCon Latin America in Bogotá, Colombia. In this episode Addi chats with Joe Shindelar, Chris Albrecht, Mike Herchel, and Daniel Dalgo about the main themes that emerged from the sessions, some of their top picks, and how awesome Bogotá was to explore.
I recently completed a few months of public play that went far better than I’d imagined.
On Wednesdays last fall, we played D&D Encounters. At my table, I had a drop-in-group of 4 or 5 pretty consistent players, with several more who showed up for a session or two. They completed the Encounters storyline in early December, then travel and holidays reared their head–along with confusion as to what we’d tackle next.
When we broke, the GMs were divided on the next step since we had run through the storyline. Each GM had players that congealed into a core group that showed up most weeks, and a few floaters and new players. One GM was was prepared to continue the adventure into Episode 4 of Hoard of the Dragon Queen, encouraged by a player who really wanted to experience high level play. After committing to the campaign, life reared up and that player was rescheduled at work, unable to attend Wednesdays at all.New Year, New Characters
In the new year, the three GMs began with a common plan. We each broke out Lost Mines of Phandelver and started to run. Attendance was light at first; the holiday break had weakened the association of D&D with Wednesday. The first week I had five brand new players and a veteran from the previous season. (I never saw that group of players again; I hope roleplaying proved to be a fun experience.) The next week a few more veterans attended, forming a core of three.
They drew characters with bold lines and bright personalities. Therian was a hard drinking, pious, and very earnest Paladin; Belmont was a deadly archer with a strong reluctance to close, while Crichett was a warlock who drove men mad. The first big twist was their reaction to defeat at the hands of a goblin ambush… the result of terrible die rolls. Their resulting drive to prove themselves drove interesting characterization for weeks. Mau Hock joined them the next evening, a tough barbarian who scoffed at his new allies’ lack of wilderness survival skills and tracked the goblins to their lair. Other heroes, Grumpkin, Oryn, and Rinn, joined them in the ensuing weeks.
After many sessions, they had forged a bond–as characters, but also as players. As the interlude game wound to its end, they got serious about continuing together as players. One of the players volunteered to GM and sent out some background information; the other players are working on back-stories to fit his custom world.The End of the Beginning
Wednesday night was the finale for these characters; they hit Cragmaw Castle hard. The characterization was bold, their feats daring… a great ending for a fun batch of characters.
Next week we’ll build characters for the new season of Encounters: Princes of the Apocalypse. New heroes will stride forth, ready to embrace adventure. I wonder what groups will form from next season’s mix.Play and Recruiting
It seems like a truism, but playing games gives you the players you need to build a group. How do you prefer to recruit new players these days? Have you had any luck recruiting from meetups and cons, or does it take repeated play to really forge a group? Tell us about how players came together to form your current game groups.