All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
This year saw the return of Drupal Mountain Camp in Davos, Switzerland, with people from all over the world attending this three-day camp. I was joined by my fellow colleagues, Victor, Daniel, Maria, Bastian, and Michael.Vijay Dubb Thu, 03/14/2019 - 17:52 Day one
The weather was snowy and cold and caused some transportation delays. Though I arrived later than planned, I was able to attend afternoon workshops and work on some Drupal Contribution projects. The day finished with an Apéro, where everyone gathered for good drinks and great conversations. To finish the night, the Amazee team left to have dinner together.Day two
The 2nd day of Drupal Mountain Camp began with a discussion by a panel made up of Nick Veenhof, Imre Gmelig Meijling, Yauhen Zenko and Vincent Maucorps, to discuss the future of Drupal communities. The panel was moderated by Rachel Lawson. They took questions from the audience members, which included:
- How can we attract young talent?
By targeting students, as they have the most time. Having a DrupalCamp in a university shows them what the community has and can to offer. This can also be achieved by getting Universities to add Drupal to the course curriculum. Another way is offering a training initiative or talking to agencies.
- What can we do about International collaborations?
Related to the previous question, maybe offer a base camp or training day. This allows those who wouldn’t be able to attend a larger event to learn. Live streaming is a good option for those not able to attend in person.
- What are the benefits of sponsoring events, such as Drupal Mountain Camp?
Sponsoring is a great way to find talent and increase brand recognition, particularly to companies that are new.
This session was presented by fellow colleague Maria Comas, as a beginner’s guide to GraphQL. Throughout the presentation, it became clear why GraphQL is so powerful. I really liked the abbreviation WYGISWAF (What You Get Is What You Asked For), because that is essentially what GraphQL does. It will return only the data that you need. Maria showed us how this is achieved through demo code, before letting people know that this is already available in Drupal through the GraphQL module. As it was International Women’s Day, it was fitting that Maria ended the session with the following quote by computer scientist, Grace Hopper.
The most damaging phrase in the language is "We’ve always done it this way!"
- Grace Hopper
Next was Daniel Lemon, whose session was all about mob programming. Having already introduced a scrum team to mob programming, Daniel wanted to share the experience. This presentation gave a broad overview of mob programming. What impressed me most about this session was that Daniel didn't just want to explain to the audience what mob programming is, but got members of the audience to participate in a live mob session. This meant that those involved and those watching could see how mob programming works.
Participants were tasked with creating a gallery page and menu to the Drupal Mountain Camp site, within 15 minutes, taking turns of 2 minutes each, being the driver or navigator. After introducing the task, the 5 participants were able to create a basic implementation of the gallery page. The session ended with a quick retrospective, in which participants were truly motivated to try this within their own company. Many felt it was a nice switch from the ordinary single-developer experience, but some observed it could be difficult to keep up especially in the role of the driver.Splash awards, fondue, sledding, and drinks!
The Splash Awards is about awarding the best Drupal projects of the year. Amazee Labs won an award for Zuerich.com in the category of Design/UX.
During the awards, Jeffrey McGuire treated us to sounds from the Alphorn, which I, personally, had never heard before. The sound produced was truly beautiful. After the awards, everyone made their way to the funicular station to collect their sleds and made their way up to the Belle Epoque restaurant. I was unable to go sledding as I didn’t have the right footwear, so I went to eat fondue with fellow colleagues Victor, Bastian, and Michael. There really is nothing better than ending the day with fondue.Day three
It was clear that this was still a work in progress but nonetheless, it was nice to hear the latest update about the initiative. After the session, everyone was invited to the group photo. Say “Drupal”!Current state of the Drupal Admin UI Redesign
The next session was again about the Drupal Admin UI, however, this time about the design. This was given by Sascha Eggenberger and Cristina Chumillas, they both explained and showcased the new design system, wireframes, and the current state of designs the initiative is proposing. It was clear that the design process was long and opinionated after they explained that designing a button wasn’t as straightforward as expected, due to many states and types. The team are hoping for a release in Drupal 8.7. but it was clear, after someone asked, that it seems to be a slow process, that this might not happen in time. It was noted that they also need help from contributors.
- Saša Nikolić
This was my favourite session of the day in which I learned about the opinions of Christina Chumillas, Miro Dietiker, Kevin Wenger, Michael Schmid, and Lukas Smith about everything to do with open source. This was an open forum, moderated by Josef Dabernig, in which an audience member was encouraged to ask a question they had about open source.
- What motivates you to contribute to open source?
It is concrete, you can see what you have done. People will code review, this will not only help make it better but will make oneself better. On a side note, people should just work together, join forces, this is the mindset of Drupal.
- What is the advantage of open source software over proprietary software?
Not only does it help with the maintenance of the code, but having different backgrounds, helps with the innovation of the code. Proprietary software means being on your own, which sometimes is not productive.
- What is a good way to avoid maintainer burnout?
Having a coach is a good way to let them, and other people, know of any problems and get help from them. Avoid those that don't have your best interest at heart. Share the knowledge, don't let one person do everything, and don’t let yourself be only one to complete someone just for the credit.
It was really nice to hear those answers and I couldn’t agree more. As someone who loves to contribute to open source, I think the biggest benefit is that your code will only become stronger if you share your code with others. After all, two heads are better than one.Closing
Lukas Smith gave a very thought-provoking and inspiring closing session titled "Diversity & Inclusion: Why and How?". Lukas shared personal insights into becoming active in improving diversity and inclusiveness. He challenged the audience with some shocking statistics on the low amount of female to male programmers across Switzerland and the United States and then revealed that in open-source this percentage is even lower.
What can we do to better ourselves and improve Diversity? He also finished off the session with several tips to improve Diversity, some of which I find important to highlight:
- Challenge your cognitive biases.
- Consider following specifically people from marginalized communities in your chosen field.
- Believe when members of marginalized communities point out issues with bias even if you have never encountered them.
- Work on using inclusive language.
While talking about inclusion, I, along with everyone who attended, was happy to see that there were three sign language interpreters at the event. This meant that those who are deaf or with hearing difficulties were not excluded from the camp. This was another reason why this camp was exceptional.
If someone points out an offensive statement, make an effort to not become defensive. Listen, learn, move on.
- Lukas Kahwe Smith
After the closing everyone was invited for the ice hockey match between HC Davos and Rapperswil. This was my first time watching an ice hockey game, so it was wonderful to attend. It was a great match, with both a great atmosphere and great people. With that ended the great weekend that was Drupal Mountain Camp. I can honestly say that I had such a great time, especially spending time with my team and the Drupal community.
Finally, you hear it all the time, “thank you to all the sponsors”, but honestly, it cannot be expressed enough. Without them, great camps like Drupal Mountain Camp wouldn’t be possible.
Using Drupal as your default CMS undoubtedly has advantages, however it also comes with its negative sides. The price you have to pay for its customizability, is the complexity and steep learning curve. Here at Sooperthemes, we have thought of you and developed an easy-to-use solution for you: Glazed Builder. With this visual Drupal page builder, you and your team of content creators and marketeers will be able to create rich content and beautiful web pages for your business, without having to touch a line of code.
In this article, I present to you 8 ways through which a visual page builder like Glazed Builder can further create value for your business.1. Cut in half your landing page costs and time-to-market
Having a good landing page is paramount to the success of your business. However, it takes plenty of time and money to find the right people and tools to do it. With Glazed Builder as your Drupal 8 page builder however, creating a landing page has never been easier, cheaper and faster. Content creators and marketeers will be able to to create a visually stunning landing page in a matter of minutes, without having to rely on the IT department.2. Stress less: Reduce employee turnover in your content team with true WYSIWYG
Are your employees stressed that the webpage they are building is going to look completely different than they imagined? Well, with Glazed Builder, your content creators will experience true WYSIWYG (what you see is what you get). That means that whatever they have imagined for your webpage is going to be their final result. No more senseless stress for your content creating team.3. Get twice as much Drupal site-building work done by your most expensive staff: Developers
Developers, they are the most expensive members of your staff. However, they do not get work done as fast as you would like. The way to increase productivity is to have developers use Glazed Builder as your default Drupal page builder to build dynamic pages and dashboards that leverage drupal's block and views systems. This way, you will make their job easier while also increasing their productivity.4. Same-day web design and publishing by using the pre-built templates
You need to launch a webpage in a matter of hours and you don’t have the inspiration necessary to design a layout? Fret not, Glazed Builder, the Drupal page builder, has you covered. With a plethora of templates available, you just have to select the right template for your business, insert your content, and post it. It has never been easier.5. Content creators will produce better, more effective content than your competitors.
Do you want to stand-out from your competition in terms of content creation? Glazed Builder can help you and your content creators unleash their creativity. With an endless amount of customizability, Glazed Builder is sure to provide the right tools and power for your content creators to achieve their wildest dreams. When it comes to customizability, with Glazed Builder, the sky's the limit.6. Reduce onboarding time and training costs: Reduce Drupal’s steep learning curve for content creators and marketeers
Every time there is a new tool introduced to your business, you have to pay a large amount of money for training your employees. The same is applicable for Drupal, since it is a highly complex CMS, it has a steep learning curve and requires highly skilled developers to be able to make it truly shine. However, Glazed Builder was engineered to be able to be used by even the most non-tech savvy of its users. This way, your staff will be able to quickly understand how to operate the visual builder and you will be able to reduce the time and money spent on training your personnel.7. Save thousands on cloud hosting costs with a frontend tool that runs in your browser, not in your cloud
If you're thinking that a Drupal 8 website with the additional features of Glazed Builder requires a beefy server, you're wrong! 90% of Glazed Builder's magic is happening in the browser. Even our Drupal 8 demo sites with hundreds of demo content items run perfectly fine on affordable shared hosting solutions like our favorite Drupal hosting A2Hosting.8. Better performance attracts a bigger number of visitors on your webpage
Even if you have top-notch content on your website, it’s irrelevant when it takes a long time to load. Most site visitors don’t have patience when it comes to loading a webpage, they would simply exit and visit the next one if it takes too much time. However, Drupal is the fastest out of the bunch when it comes to speed. It takes the least amount of time to load a page, which means that the likelihood of visitors leaving significantly drops.Conclusion on Drupal Page Builder
Now that you know all of this, what are you waiting for?
Start improving your business today by using our visual page like Glazed Builder.
Freport(Functional Report Generation Helper) Module helps us in creating the technical documentation in an easy way by displaying all the modules, themes, fields, plugins etc in a single page.
It is useful for developers, project managers and product managers.
TEN7 is a full-service digital firm, and our tagline is “We create and care for Drupal-powered websites.” Creating and building a website is the sexy visible part, but caring for a website over time is the just-as-important maintenance work. Keeping your site code updated, backed up, secure and performing well is the job of a support team.
Entity storage methods are an often used, yet easily overlooked tool for improving data retrieval and code architecture.
Drupal comes with its own built in cron. This means that you can add your own job to the list of jobs that are executed when the Drupal cron runs.
There have been a lot of people that are very much interested in the “DevOps” concept and when I sat down with some of these, the direction of the conversation went down to many interesting paths.
They started talking about deployment best practices, rollbacks, hot deployment etc.
But, when there were some mentions about “Blue-Green Deployment” - complete silence.
Therefore, this gave me an idea to tell the rest of the world that with all the microservices, native cloud and what not technology, blue-green deployment is not a silver bullet, but it is an element to usefulness.
Well, you got to read ahead.What do we understand by blue-green deployment?
A blue-green deployment is a management approach for releasing software code.Two identical hardware environments are configured in the exact same way in Blue-green deployments, which is also known as A/B deployments
Only one of the environments is live at a single time, where the live environment serves all the production traffic. For example, if blue is currently live then green would be idle and vice-versa.
Blue-green deployments are usually utilized for consumer-facing applications and the applications which have critical uptime requirements. The new code is delivered to the inactive environment, where it is completely tested.
How it reduces the risk?
Achieving automation and continuous delivery at any level of production is a holy grail, and avoiding downtimes and risks are high up on the list of priorities. Blue-green deployment provides you with simple ways of achieving these goals by eliminating risks that are witnessed in the deployment.
- You will never encounter surprise errors
When you fill a particular form online, what all credentials do you fill? Your name, phone number, address, street and probably your bank details if you are making an online purchase. Right?
You press the “pay now” button and check on the “receive spam emails” but unfortunately, your order wasn’t able to get processed as you desired. If you are lucky enough you get an error message equivalent to “application is offline for maintenance” all your efforts and time goes in vain. But with blue-green deployment, you never have to worry about this maintenance screen.
There is a list of item’s upon one click and upon next click, you are eligible to see the new menu that you add. This would keep furious emails about error screen from flooding your inbox.
- Testing the production environment
Ensuring that your pre-production environment is as close to your production environment as possible is not only important but essential too. With the help of blue-green deployment, this task is easily achievable. The user can test any application while it is disconnected from the main traffic. The team has the eligibility to even load the test if they desire too.
- Makes sure that the traffic is seamless
Customer needs and desires are more global than ever and there is no longer an essential good time to do deployment, especially if you work in an enterprise where the business needs to be running around the clock. If you have a customer facing application then there are chances that they might switch their platform to some other website, if they don’t find what they desire. This means a decrease in sale and business.
Blue-green deployment assures that your traffic never stops. That customer can place their order just fine without disruption. Which means that the employees overseas continue to do their job without any interruption, saving companies money.
- Easy Recovery
You might witness times where you would get introduced to bugs and viruses. We can either spend a lot of money on its fix or we can inevitably find them and recover them. With the help of blue-green deployment, we have our older and more stable version of our applications to come back online at a moment’s notice by evading the pain to roll back a deployment.Source: Martin FowlerHow does this process work?
As we know that blue-green deployment technique involves running two identical production environments where they are configured in the same way, therefore, let us assume that the current deployment is in the green environment in 2.3 release. The next deployment which would take place would be in a blue environment that would be in 2.4 release.
The environment would then be tested and evaluated until it is confirmed to be stable and responding. Once it is in production the server would be redirected, thus becoming the new production environment that the users are routed to.
The entire design is used to provide fast rollbacks in a case a deployment fails or does not pass a QA. When deployment fails or critical bugs are identified, a rollback to the green environment will be initiated. Once the bugs are fixed the version is re-deployed to the blue environment and the traffic is rerouted back the moment it is stable.
While deploying the preceding version i.e version 2.5, the deployment would switch to the green environment and would be extensively be tested and evaluated. Traffic would be rerouted to the green zone once it passes the quality assessment.
This way both green and blue environment are regularly cycled between live versions and staging to the next version.
Let us imagine that you constructed a website with the help of Drupal, now you are getting high traffic in it. Normally for developing, updating and testing a website (without risking the live integrity), you follow these steps:
Development: The development process starts with developers working on new features, bug fixes, theming and configuration in the local environment. It makes it possible to easily roll back to the previous stage of development.
Testing: Typically this environment is not available for client viewing and it is intended for testing developmental work against a lateral host.
Staging: This stage is used for presenting the changes to the client for approval. QA (quality assurance) and UAT (user acceptance testing) are most often carried out on the staging stage.
Production: This is the live site on the web available visitors. It contains new features that have been proven safe to go live.
As you can see that this process can be long and time-consuming, maintaining and constructing site can be irritating therefore blue-green deployment rescues you at times like these.
It would provide near to zero downtime and would present easy rollbacks capabilities. The fundamental idea behind blue/green deployment is to shift traffic between two identical environments that running differently in different applications.
Blue-Green Deployment for Drupal websites with Docker
Drupal Deployments are hard. The user has to make sure that that the code is deployed, composer dependencies are pulled, schema updates are pulled, scheme updates are performed and all the caches are cleared.
All with keeping the website up and responsive to the users. But if anything goes wrong and you wish to rollback? Do you stop the deployment? Well, no blue-green deployment is the answer to it.
Docker makes it easy to build, shift and run applications. On the EC2 instance, there are always two raised docker containers of “blue” and “green”, and ngnix works as a reverse proxy on the same instance. The user can build a Drupal site that is running parallelly in the “blue” and “green” environment and serve both from MySQL database. we install Apache, PHP, and Drupal in baseimage-docker.
Drupal with Blue-Green Deployment in AWS Beanstalk
Within the help of ECS, the user can create task definitions, which are very similar to a docker-compose.yml file.
A task definition is a collection of the container, each of which has a name, the Docker image runs, and have the option to override the image’s entry point and command. The container definition is also where the user can define environment variables, port mappings, volumes to mount, memory and CPU allocation, and whether or not the specific container should be considered essential, which is how ECS knows whether the task is healthy or needs to be restarted.
The Amazon web service solution allows the user to quickly and easily manage the deployment and scalability of web platforms. The deployment helps in configuring a high-availability environment that seamlessly runs a Drupal website. Running a DB instance that is external to Elastic beanstalk decouples the database from the lifecycle of the environment, and lets the user connect to the same database from multiple environments, swap out one database from another and perform a blue-green deployment without affecting the database.
The below image shows how green-blue deployment work in AWS environment.
Now that we understand how blue-green deployment works, let’s cover some of the best practices that are related to it:
Load balancing helps you to automatically set a new server without depending on any other mechanism, without depending on the DNS mechanism. The DNS record will always point to the Load Balancer and the user would only modify the servers behind it. This way they can be absolutely sure that all traffic comes to the new production environment instead of the old one.
To avoid downtime the user can execute rolling update which means instead of switching from all blue server to all green server in a single cut-off you are eligible to work with an integrated environment. This indicates that rather than switching from all blue servers to all green servers in a single cut-off, the user can control with an integrated environment
Monitoring the environment
Monitoring the productive as well as the non-productive environment is important. Since the same environment can play both as production and as non-production, all you would need is to toggle the alerting between the two states.
The user can script as many actions as possible in the witch process, instead of doing a manual set of actions. This brings huge benefits. The process becomes quicker, easier, safer and enables self-service.
Deployment in cloud
If your servers run in the cloud, there is an interesting variation of the Blue-Green method in which instead of going back and forth between two static environments, you can just create the next environment from scratch.
This process is also valuable for avoiding the danger of servers becoming snowflakes, which are servers that have a unique configuration set that isn’t documented anywhere. Once these snowflakes get erased for some reason, you have no easy way to properly recreate them. Whatever may be the choice it is important to keep the newest test and release technology to ensure that the release is smooth.
Deployments are one of the most important parts of the software development lifecycle, therefore all the activities involved should thoroughly be researched and tested to ensure that they are a perfect fit for your system architecture and business.
At OpenSense Labs, we have a pool of Drupal developers and experts that work on technologies that use these tools and services. Contact us now at firstname.lastname@example.org, our experts would guide you with the queries and questions that are related to this topic.
About a year ago, I only just learned about the principles of IndieWeb, which in a way is a bit of a shame. Fast forward to now, and I'm proud to announce the first stable release for Drupal 8. Together with this milestone, I also pushed a new version of Indigenous so that both are aligned feature wise.
It's been a great journey so far, and while there's still a lot to do for both projects, the stability and feature set warrants a stable tag. It has changed the way I interact with (social) media day to day now since the last half year, both in reading and posting, being in full control of every aspect. It's great, everyone should try it!What's next?
I've been thinking the last few weeks to raise funding, but after much consideration, I'm not going forward on that path. Even though my public GitHub profile lists over 1300 contributions the last year (about 3.5 per day), which somehow is simply crazy, I still have more than enough spirit and motivation to keep on going. Just a little slower from now on, since many features for both projects are not mission critical - even though they are awesome. Of course, I won't mind if someone would suddenly feel the urge to sponsor me.
Slowing down now you think, that can't be true ? Right. As already announced a few weeks ago, the next focus will be writing an Activitypub module for Drupal so you can communicate with your site on the Fediverse. I'm currently using Bridgy Fed for this, but, in the IndieWeb spirit, it's time to bring this home!
But first, time to make sure I don't mess up my tryouts of the Moonlight sonata. No commits until after March 31st - I promise :)
We’re back with an overview of the top Drupal blog posts from last month. Have a read and get yourself up to speed on the most recent goings-on within the Drupal community!READ MORE
This blog has been re-posted and edited with permission from Dries Buytaert's blog.
Three stars will align and the Open Web will win.
Today, the world wide web celebrates its 30th birthday. In 1989, Sir Tim Berners-Lee invented the world wide web and changed the lives of millions of people around the globe, including mine.
Tim Berners-Lee, inventor of the World Wide Web, in front of the early web.
Milestones like this get me thinking about the positive impact a free and Open Web has had on society. Without the web, billions of people would not have been able to connect with one another, be entertained, start businesses, exchange ideas, or even save lives. Open source communities like Drupal would not exist.
As optimistic as I am about the web's impact on society, there have been many recent events that have caused me to question the Open Web's future. Too much power has fallen into the hands of relatively few platform companies, resulting in widespread misinformation, privacy beaches, bullying, and more.
However, I'm optimistic that the Open Web has a chance to win in the future. I believe we'll see three important events happen in the next five years.
First, the day will come when regulators will implement a set of laws that govern the ownership and exchange of data online. It's already starting to happen with GDPR in the EU and various state data privacy laws taking shape in the US. These regulations will require platforms like Facebook to give users more control over their data, and when that finally happens, it will be a lot easier for users to move their data between services and for the Open Web to innovate on top of these data platforms.
Second, at some point, governments globally will disempower large platform companies. We can't leave it up to a handful of companies to judge what is false and true, or have them act as our censors. While I'm not recommending governments split up these companies, my hope is that they will institute some level of algorithmic oversight. This will offer an advantage to the Open Web and Open Source.
Third, I think we're on the verge of having a new set of building blocks that enable us to build a better, next-generation web. Thirty years into the web, our data architectures still use a client-server model; data is stored centrally on one computer, so to speak. The blockchain is turning that into a more decentralized web that operates on top of a distributed data layer and offers users control of their own data. Similar to building a traditional website, distributed applications (dApps) require file storage, payment systems, user data stores, etc. All of these components are being rebuilt on top of the blockchain. While we have a long way to go, it is only a matter of time before a tipping point is reached.
In the past, I've publicly asked the question: Can we save the Open Web? I believe we can. We can't win today, but we can keep innovating and get ready for these three events to unfold. The day will come!
With that motivation in mind, I want to wish a special happy birthday to the world wide web!
There's a smorgasbord of great career-building opportunities available to you at GDC 2019, including the popularÂ Game Career Seminar and the Career Development Stage! ...
Download zip of a single webform submission files in just one click.
- operation link to download the zip
- PclZip integration
- gather all managed files in a webform_submission and zip them
Inspired by Download module