All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
Chocolate Lily: Managing Shared Configuration Part 6: Packaging Configuration with the Features Module
Our main focus has been updating configuration from distributions--specifically, the question:
How can I update my site so that I have all the latest configuration changes from a distribution--while still retaining any customizations I made?
Updates are well and good. But before packages of configuration can be updated, they need to be produced and managed in the first place. In Drupal 8 as in previous major versions, that task is the domain of the Features module.
The Drupal 8 version of Features is a complete rewrite with major improvements over previous versions. If you're familiar with previous versions but haven't used Features in Drupal 8 this backgrounder will bring you up to speed.
Despite being a development-focused tool, Features is in the top 40 or so most installed contributed Drupal 8 modules. Features is used in building and maintaining several of the more-used Drupal 8 distributions including Open Social, Varbase, Open Church, and Quick Start. It's a key build tool for the Gitlab-hosted Drutopia project.
In this installment we'll cover Features in Drupal 8, including how to use it to produce a distribution.
A tool only performs as good as it’s configured and handled.
This post gives detailed insights into the important touch points of the Drop Guard actions you need to configure in order to benefit from a smooth and individual update pipeline.
Fetch cryptocurrency prices from https://coinmarketcap.com/ API
We create custom entity, revisionable, translatable but not bundable. Then data from CMC is fetched and stored in this entity on each cron run.
Best used with views for displaying and filtering fetched data.
-price change 1h
-price change 24h
-price change 7days
Culture. It's the only truly sustainable competitive advantage for a Drupal business. But what does that look like in action? I've seen firsthand how that culture extends far beyond Mediacurrent's business and customer service approach, shaping the way we network.
We have all been to a party, lunch, or even coffee and cookies with a vendor trying to make a connection with you or your company. You can separate all of these into two basic categories: those that you walk into and have fun and those you walk into defensively because you know the goal is to pitch a sale to you.
Hosting a networking event can be a costly endeavor for your company and there is no guarantee that you will receive a high percentage of return on your investment. Between your time investment, activities, and potentially cost of a space, expenses can begin to pile up quickly.
Hitting that optimal zone where customers or potential clients will feel relaxed and are open to conversation is key to reaching your maximum potential for ROI for your event. There are several ways you can do this, but it all starts with one word.
Passion for what you love is the difference between just hosting an event and connecting with the community in your field of business. The goal is to show your passion for what you do, and the community you are in -- in our case, the open source and Drupal communities.
Take the Dave and Paul approach for example. Over DrupalCon 2018, they threw an amazing after party hosted by Mediacurrent. Everything down to the invites was inclusive to all (not just those with purchasing power) with the message of “Hey, we are throwing a party, come to hang out! Hope to see you there.” Every single person was treated like a friend.
While at the party, the sales team focused on just interacting, listening to people’s experience and thanking the community for showing up. This approach made people feel so comfortable that if they had a sales question, they would just ask.
When a person feels welcomed, unpressured and a part of the group, then it's easy for them to make the leap from conference attendee to a potential client. Remember: you and everyone who attends your function is a part of the same community. If you view them as just potential sales, then this will be translated into your body language and verbiage.
In closing, being a part of the Mediacurrent team has reaffirmed for me the value of networking with authenticity. Hosting your event with the passion you have for the community you are a part of will shine through to everyone who attends and solidify you in their mind as the right partner for their project.
I’m really interested in the types of ways games make me FEEL. In general, I’m less concerned with the plot of a game session, the world it’s in, or even the types of characters I might be able to play, and more invested in whatever kinds of feelings it allows me to play with and analyze after the fact. I interact with most media this way! I feel the same way about movies, tv shows, music, fine art, theater… the most impactful art is the stuff that makes me feel things. Arguably, I think its the most important art.
So how do you design a game toward the feels? Almost all my games have this agenda in them somewhere, but my most recent game that is currently on Kickstarter (til Oct 4th) Something Is Wrong Here is specifically designed to create an emotion based experienced. How did I do this, I know I know you’re on the edge of your seat. Well let me tell you a few tricks I’ve learned along the way, as well as some touchstones for emotional play I’ve experienced in the past.Emo Games
I’ve played a lot of games in the past ten years or so that have delivered amazing emotional experiences. When I say emotional, I truly mean the full range of emotions, from joy to love to sadness. An obvious one is Monsterhearts! Monsterhearts doesn’t have specific emotional mechanics that go “feel this thing!” but they do encourage emotional play by mimicking the emotional behaviors that arise from those feelings. So if you’re feeling overwhelmed, you might try to Run Away, or Lash Out, two move options in the game. The unspoken thing these moves encourage you to do is roleplay the emotions first, prompting the move. Share2Tweet1+11Reddit1Email The unspoken thing these moves encourage you to do is roleplay the emotions first, prompting the move. I find that even on this level of emotional roleplaying, if play is focusing on feelings, and my character is feeling them, I tend to feel them too!
A LARP I played a long time ago called Mad About The Boy encouraged emotional play by pairing personality types of the player with the character. This causes a fair bit of bleed, because when roleplaying your character you’re thinking a lot like you’d normally think in everyday life. It’s also an incredibly emotional game, and the most emotional moments tended to arise through guided meditation sequences, where they would ask you to imagine what you would do in the real world if all the men were gone from your life. The concept of this game itself drives emotional experiences… it’s a fantastical feminist thought experiment that posits, what would the world look like without patriarchy? (There’s some gender issues with this thought experiment but that’s already been thoroughly covered elsewhere). It made me look at the world differently after I left. Sometimes all it takes is engagement with a heavy concept.
Most recently, a LARP I played by Brodie Atwater called Here Is My Power Button has an incredible emotional impact on everyone who plays it! Almost everyone cries at the end of the game, and there’s a lot of psychological tools at work in the game to make that happen. Specifically the use of sad music at key moments in the game, the fact that it moves between group scenes of about five people to one on one scenes with individuals, and the specific scenario of giving someone power and then taking it away. It’s brilliantly emotionally manipulative, in the way a good movie can push and pull your feelings toward a sad scene.Mechanics Of Emotions
I took what I learned from these emotional game experiences (and even more I’m not mentioning here!) and tried to utilize my favorite ones in Something Is Wrong Here. The main techniques that create the most emotion in the game are:
Intentional Bleed. You’re encouraged to play close to home, the facilitator will sometimes switch between calling you your real name and your character name, and before the game begins you’re asked to think about things you’re afraid of in your own life and dreams. What this does is make thin the veil between your character’s experiences in the game, and your own. While it’s up to each player how deep they want to dive into this emotional playing field, the option is there to correlate the character’s feelings with your own.
Emotional Music. I curated the game’s soundtrack to be particularly manipulative at different times in the game. The music plays in the background at key times, sometimes repetitive, sometimes grating, to enhance the feelings those scenes are about. David Lynch famously has done the entire musical landscapes of many of his films, and I’m incredibly influenced by music in the media I watch! I sometimes joke that I like something at least 50% based on the excellence of it’s music.
Safety Mechanics. There’s an emphasis on safety both before and after the game. This is a trick that’s used in kink play as well, where basically, if you create a space that is safer to explore a certain type of vulnerability, people are more likely to explore! If you know that at any time you can stop a scene if it gets too intense, ask for support, or remove a specific topic that’s personally difficult for you, you’re going to trust the environment a little more and get emotionally heavy if you want to. Saying “this is a space to talk about heavy emotions if you want to, and we’re gonna be here for that and you” is a powerful statement that allows people to play more emotionally than they normally would.
Character Connection. While each character is an archetype of something in a David Lynch type uncanny Americana world, there’s room for each player to inject ownership of that character on the character sheet. Specifically, the player determines what past trauma they’re trying to deal with, and naming which other character they think can help them. In creating the trauma, a player can easily insert themes that are important to them, consciously or subconsciously, therefore playing through issues with their character they care more about.
Emotional Cues. Each scene is literally focused around the goal that players have to portray a specific emotion associated with that scene. Since emotions are the goal of each scene, that becomes more the focus of play than whatever the literal plot is.Uncanny Feels
The second goal though was to communicate an Uncanny Game Feel. So similar to the uncanny feel you’d get watching a David Lynch gig, but more like something you’d feel in game media. Where does this feeling happen? How do we encourage it to happen? I looked at the tools that horror games used, and plugged em in, as well as some similar inspiration from other uncanny media, specifically film.
Disturbing Music. Half of what gets ya in a horror film is the sound scape. Having the right sounds to create tension, discomfort, or suspense are key to invoking that sense of the uncanny. I got some great electrical sounds for the most uncanny parts of the game.
Pacing. Pacing is KEY, KEY!!!! You have to build suspense to something scary, and waiting, not seeing the monster, knowing that… something is wrong here, can be the most potent tool in creating an uncanny or scary feeling. I deliberately paced both acts and the scenes within them, creating repetition, making sure the timing is all meticulously kept by the facilitator, creating rituals that are later to be broken in the second act… these all have subtle impacts on us as we experience a narrative.
Buy in. In any horror game, the most important thing is to get everyone involved to COMMIT to being scared. Really, no matter what the game is doing, the commitment to being scared is what’s gonna scare people the most. They have to be ready to have fun being scared, like they’re walking into a haunted house, or sitting down with a scary movie. I tell the facilitator to just outright ask players to commit to this! No side talking, try to stay in character and immerse as much as possible. This will get you the scariest experience.
Atmosphere. Creating the room feeling is essential to uncanny game feel. Lower the lights, start with some moody music, add a few freaky in game props. Ask people to costume if they want to. With roleplaying games, we have the unique ability to influence the space around our play.
These might seem like simple mechanics, and in a sense, they are! It’s all how they’re remixed and utilized that makes the most impact in a game. Since my design goals for Something Is Wrong Here were to create an emotional, uncanny experience, I’ve leaned heavily on the ones that make that impact the most. Have you ever experienced these mechanics in a game before? Do you love experiencing emotional game play as much as I do? Let me know in the comments!
-- SUMMARY --
The Bulk Form Extended module enables additional options for changing the
display of the form and checkboxes of Views Entity Bulk select field.
The module overrides the Node operations bulk form, Bulk update (User), Bulk
update (Entity) to allow additional options on these fields.
-- REQUIREMENTS --
Drupal Views, Drupal Node, Drupal User
The goal of this module is to present users with the best possible image derivative (thumbnail, crop, size, etc.) depending on the actual client side context.
This module acts like Drupal's responsive images formatter on steroids.
This week's highlights include analysis of adventure title Unavowed, a cover story on Fortnite streamer Ninja, & detailed impressions of Rockstar's Red Dead Redemption 2. ...
Software and the internet have metamorphosed the world and its industries ranging from shopping to entertainment to banking. It is no longer something that just supports a business. Instead, it has become an integral part of every part of a business. Organisations interact with their customers through software that is delivered in the form of digital service or application and on all kinds of devices. They also leverage software to enhance operational efficiencies by transforming every part of the value chain. This is where DevOps plays a key role.
Evolution of DevOps
DevOps is having an astronomical role to play in the rapid IT service delivery mechanisms. And when it comes to Drupal development, DevOps can be instrumental in streamlining project delivery involving Drupal. Before we traverse deeper into how Drupal can benefit from DevOps, let’s look at this terminology called DevOps.
People like Patrick Dubois, Gene Kim and John Willis pioneered the evolution of DevOps model
Sometime between 2007 and 2008, when IT operations and software development communities were vocal about some of the calamitous level of dysfunction in the industry, DevOps started to coalesce.
Developers and IT/Operations professionals had separate goals, separate department leadership, separate key performance indicators, and, most often than not, they worked on separate floors. As a result, isolated teams were only concerned about their own fiefdoms, long hours, botched-up releases and dissatisfied customers.
‘There must be a better way’ was the notion that propelled the two communities coming together and talking about betterments in software deliveries. People like Patrick Dubois, Gene Kim and John Willis pioneered this conversation.
Therefore, what began in online forums and local meet-ups is now a significant theme in the software zeitgeist which is probably what brought you here!
DevOps constitutes Dev which refers to software application development and Ops which denotes IT operations. DevOps is not a framework or a workflow but a culture that is overtaking the business world.
Gartner states that “DevOps represent a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach. DevOps emphasizes people (and culture) and seeks to improve collaboration between operations and development teams. DevOps implementations utilize technology — especially automation tools that can leverage an increasingly programmable and dynamic infrastructure from a life cycle perspective”.
Development and operations teams are not siloed under a DevOps model. Sometimes, these two are teams are combined to form a single team where the engineers work across the entire application lifecycle ranging from development and testing to deployment and operations. Thus, engineers wind up developing a range of skills which are not limited to a single function.
Quality assurance and security teams may become more firmly incorporated in some DevOps models with development and operations and throughout the application lifecycle. When security becomes the point of focus for everyone on a DevOps team, this is sometimes called as DevSecOps.
These teams leverage practices for automating processes that have been, historically, manual and sluggish. They make use of tech stack and tooling which assist them while operating and evolving applications rapidly and reliably. These tools also help engineers autonomously accomplish tasks like deploying code or provisioning infrastructure thereby enhancing team’s velocity.Benefits of DevOps Source: Algoworks
Incorporating DevOps into the business workflow brings in a lot of merits.High velocity
Using DevOps, move at high velocity so that you can build digital innovations faster, adapt to altering markets better and grow more efficacious at driving business results. For instance, microservices and continuous delivery allow teams to take ownership of services and then swiftly release updates.Scalability
Infrastructure and development processes can be operated and governed at scale. Automation and consistency assists in governing intricate and changing systems effectively and with less risk. For instance, infrastructure as a code assists in handling the development, testing and production environments in a repeatable and more efficacious manner.Faster delivery
Enhance the frequency and pace of releases so that you can build innovate and improve your projects quicker. The faster you can release new features and fix bugs, the quicker you can respond to needs of customers and develop a competitive advantage. For instance, continuous integration and continuous delivery are the practices that can automate the release process right from the build stage to the deployment phase.Reliable delivery
Quality of application updates and infrastructure alterations can be ensured so you can reliably deliver at a faster pace, thus, providing a positive experience to the end users. For instance, continuous integration and continuous delivery can be leveraged for testing each of the alterations and ensuring that it is functional and secure. Monitoring and logging practices assist you to be apprised of performance in real-time.Security
DevOps model can be adopted without compromising on security by using automated compliance policies, fine-grained controls and configuration management mechanisms. For instance, defining and then tracking compliance at scale is possible using infrastructure as code and policy as code.Collaborative efforts
More effective teams can be built as the DevOps model stresses on values such as ownership and accountability. Developers and operations team collaborate closely, share responsibilities, merge their workflows.Best practices for the adoption of DevOps model Source: Cygnet Infotech
There are significant practices that help businesses to implement DevOps model in the best possible way and get the most out of it.Performing small updates frequently
These updates are more incremental in nature in comparison to the occasional updates performed under traditional release practices. They assist teams to address bugs quicker as the teams can easily identify the last deployment that resulted in the error. Even though the cadence and size of updates may vary, the DevOps model helps in deploying updates more often than the firms who use traditional software development practices.Using microservices architecture
Making use of microservices architecture helps firms in making their applications more pliable and allow faster innovation. Decoupling large, intricate systems into simple, autonomous projects is possible with microservices architecture. Applications are divided into many individual components or services where each of the services are scoped to a single purpose or function. They are operated independently of its peer services and the applications as a whole. Such an architecture minimises the coordination overhead of updating applications. When each of the services is paired with small, agile teams, businesses can move more swiftly.Leveraging continuous integration and continuous delivery
Combination of microservices and enhanced release frequency might lead to numerous deployments which can pose operational hurdles. Hence, DevOps practices like continuous integration and continuous delivery help in resolving these issues and allow businesses to deliver faster.Making use of infrastructure as code
Infrastructure automation practices like infrastructure as code and configuration management allows you to keep computing resources elastic and responsive to frequent alterations.Monitoring and logging the workflow
Use of monitoring and logging allows the engineers to track the performance of applications and infrastructure thereby reacting swiftly to the issues.Implementing DevOps model for Drupal development DevOps Dashboard Template | Source: Smartsheet
The DevOps movement is leading the way forward for higher quality Drupal projects, quicker delivery, happier team members, and satisfied clients for projects of any scale. A digital agency used a Drupal development process to outline key pieces to a reasonable, DevOps-based workflow irrespective of the hosting platform or the different tools you choose to use.The DevOps movement is leading the way forward for higher quality Drupal projects, quicker delivery, happier team members, and satisfied clients for projects of any scale
The agency maintains a pre-configured Drupal 8 install profile that lives on Github which is also mirrored on Packagist. This helps in kickstarting all the new projects with a working theme, pre-configured content types, Media bundles, Paragraph bundles and other elements.
A solid local development workflow is integral to any continuous workflow environment. Developers build new features or fix bugs on their local machines and the alterations are pushed to Github for triggering several actions. The agency experimented with DrupalVM and Lando which offered easy, repeatable processes for enabling developers and contractors to easily spin up a local environment matching production environment.
For this agency, the build code for each project like composer.json and any custom modules or theme reside in Github. Every time a pull request is made, their code is automatically deployed to a continuous integration server and to a live web environment.
For incorporating modern DevOps techniques, it needed a programmable hosting platform to let developers and other systems like continuous integration server to automate and interact with the platform. It worked extensively with both Acquia and Pantheon hosting which offered a different set of tools.
It leveraged continuous integration server called Circle CI for automatically spin up and test a new version of the site every time the developer introduces a new functionality or a bug fix to the git repository.
Automated functionality tests are another important part of DevOps strategy which this agency used to a great extent. Each time a commit is pushed, a complete version of the site spins up on CircleCI which runs through a series of automated Behat tests for verifying key functionality. CircleCI automatically notifies the hosting environment if the tests pass thereby spinning up a new branch and a new copy of the site. When the Github pull request is submitted on that branch, the final CricleCI build is triggered. When the tests are successful, the code is automatically combined with the production site.Future of DevOps
According to a Capgemini report, 60% of the companies have opted for DevOps model or are planning to do so eventually. That means DevOps is being widely accepted as a key component of a business strategy. As DevOps continues to grow, some of the future possibilities that are expected to transpire along with the increase in DevOps adoption is being outlined here.Perpetual growth of DevSecOps
Much in the same way, DevOps has the objective of inculcating continuous delivery in the business workflow, DevSecOps expands this to include security. Looking forward, this trend of incorporation of security into the DevOps pipeline will make businesses more inclusive with security tools and practices becoming part of the early development cycle.DevOps and IoT
Increasingly, hardware manufacturers working on IoT devices would see software as a significant component of their project. This comprises the integration of DevOps into their business workflow making it absolutely compulsory to have people perpetually work on both hardware and software designs.Monitoring to become the new testing
At the current and future scale, it is a formidable task and impractical to test all conceivable scenarios at the end of the product cycle. Rather than doing this, it is much more worthy to monitor for live issues and rectify them in short cycles. Testing puts a limitation on what you may find as it required you to think of certain problems to look out for.
But, monitoring will bring up issues as they happen. Adoption of monitoring will permit companies to understand the way their software runs in real situations thereby offering quick information about their systems.Kubernetes to become standard for cluster computing
More companies will join the project and offer services on top of their operating systems. Moreover, extensions will be made for running applications in the cloud. Many of the major cloud providers are starting to provide Kubernetes as a service. Even a serverless Kubernetes will be on offer where nodes are managed by the cloud provider thereby creating another level of abstraction and simplicity for the developers. This general advancement within Kubernetes will lead to an enhanced adoption of advanced monitoring, logging and metric studying within companies.Removal of (server) operating systems as we know them
This trend links back to Kubernetes becoming a main operating system for the cloud and clusters/containers that means operating systems would be replaced by the ones that can run containers in a Kubernetes cluster. Furthermore, operating systems for hosts will face implications from containers as in these new environments they will no longer have a host.Conclusion
Continued growth of DevOps into new industries is opening doors for incorporating new departments such as security, enhancement in product monitoring and the standardisation of Kubernetes for cluster computing. DevOps and its accompanying benefits will become the norm as the integration of more departments into the beginning of the product pipeline would transpire and a rise in monitoring would improve solutions and designs.
DevOps strategy would have a positive impact on Drupal development as well and improve the project timeline and delivery. Opensense Labs strongly believe in the digital innovation and can help you provide amazing digital experiences through Drupal development.
Tell us how you want us to be part of your digital transformation journey at email@example.com banner blog image DevOps Drupal DevOps Blog Type Articles Is it a good read ? On
This is the second post about the latest developments regarding the editorial experience in Drupal 8 based on a couple of presentations at Drupal Europe 2018.Gutenberg editor
One project that could make a huge difference in the way the editors perceive Drupal could be Gutenberg.
Gutenberg can be enabled on a per content type level and replaces the node edit form with a blank canvas where the editor can create content using Gutenberg blocks as shown in the demo.
By default, various types of blocks are available to the editor, such as headings, text paragraphs, images and Drupal blocks (like the ones for example provided by the Views module). Other Gutenberg blocks can be custom made and the authors are about to launch the Gutenberg Cloud, a library from where blocks via a UI in Drupal can be installed on your website.
What remained unclear form the presentation was how Gutenberg blocks are being stored in the database and whether the individual blocks can be retrieved in a structured way for example to expose it as a REST resource.
The plan is to launch Gutenberg at the end of this year.
The full presentation is available on Youtube:Improve Paragraphs with lesser known features
More and more site builders implement Paragraphs to let the users build structured content in a very flexible way. Therefore it was great to see Milos Bovan of MD Systems demonstrate at Drupal Europe-about a couple of lesser known features.
Using the following features you can make Paragraphs even better than it already is.
- Use the style plugin to give each paragraph a specific style that can be used for CSS styling. The style can be chosen from the node edit form.
- Add paragraphs to a library so you can reuse them elsewhere in the site. A listing is available to show all the paragraphs that are available in the library. You can promote a paragraph to the library and change it once to have it automatically updated everywhere in the site. If you dont want that then unlink it from the library so that the changes do not affect the paragraphs elsewhere.
- Use the drag and drop mode to make it easier to order the paragraphs on de entity edit form. In combination with the collapse mode you can drastically improve the paragraphs UI which, often can be quite messy.
- Organize a long messy list of paragraph types creating type groups. In the UI these groups will become available as separate tabs and by using icons for the types you can make the UI a bit more intuitive.
- Convert paragraph types. This will allow you for example to convert an existing unstructured text field into a structured card paragraph type.
Multi Step forms are an important feature of a website or application as it gives users a much better experience when submitting their data. It increases the users motivation to finish filling in the form leading in the end to a much higher conversion rate.
The contrib module form steps seems to to a good job in managing the complexity of the multistep form.
Several contributed modules among them Webform, allow building a multistep form but they are often limited in scope, hard to customize or are simply only available for Drupal 7. Alternatively a multistep form can be achieved by writing your own custom code which could at some point lead to an unmaintainable situation.
The form step module on the other allows creating multistep forms by leveraging the new Drupal 8 core feature of form modes. Much like view mode, form modes are different ways of presenting a drupal form (for example a user profile form or a node edit form).
The Form steps modules, as demonstrated at Drupal Europe by the Drupal agency Actency , lets you create workflows where that are collections of different form modes so that you can present the user with a multistep form. Each step in the workflow is linked to a particular form mode of a specific content type. As a result the user creates several nodes (possibly from different content types) when he follows the steps of the multiforms.
The workflow also manages the progress bar of the multistep form, giving the user the option to navigate through the different steps of the form.
The form step seems to provide a robust solution to a feature that many of us would like implement or should starting to implement in our Drupal websites.
HubSpot provides a powerful combination of customer relationship management (CRM) features and insights that can help organize and maintain business processes tied to customers. Drupal is a key digital platform for businesses, especially for inbound customer engagement, marketing initiatives, and 3rd party integrations. The two systems are highly complementary and deserve consideration for logically separating the responsibilities of digital engagement and customer relationship management. Additionally, both HubSpot and Drupal are very flexible and customizable. As an example, both systems support extensible data structures through custom fields in HubSpot and through the entity system in Drupal that allow for implementation-specific data to be stored and maintained.
Per bundle serial number for entities.
The difference with the Serial module is that the field value is not stored but computed.
The sequence is preserved if entities from the bundle are being deleted.
When a sequence within a bundle is needed (e.g. invoice number, ...).Configuration
Add the field to an entity type bundle (e.g. Article content type). Set the serial id to start from and the node id that will be used as the first entity to count from.