All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
OPTASY: How to Get Gatsby to Work with Drupal: Building a Gatsby Site with a Decoupled Drupal Back-End
Just imagine: putting together the powerful UI creation tools of a static site generator — more of a modern front-end framework rather — built for high speed, like Gatsby.js, with Drupal 8's content modeling and access system! Putting their powers together into a blazing-fast website! But how to get Gatsby to work with Drupal?
How do you build a plugin that fetches data from API-first Drupal? In short: a static, conveniently simple, yet robust Gatsby site powered by a powerful, decoupled Drupal back-end?
You've got the questions, we've got the answers...
In some case, you can have a huge editorial content and you would like navigate into for easier reading or highlight some sections.
In this case, usualy you create a specific text field marked as hX and create tour navigation with JS.
This module are an implementation of this generic solution plus some configurable link on end of the navigation
Back in March, I was in a position I didn’t expect to be in. I was doing a lot of pre-work to have actual play and live streams of my new version of Iron Edda live for when the Kickstarter launched in July. (It’s live now, go check it out!) I’d run online games before, but there’s a set of play components that all of the players, and the GM need to interact with. Specifically, the holdfast map.
The Holdfast Map is an integral part of this game. Everyone answers a randomly determined question and then draws something on the map to represent their answer. As you play through multiple sessions, you add to the map, using it to reflect how the world changes due to the actions of the characters.
In a face-to-face game everyone can grab the piece of paper you use and draw on it, but in an online game, that’s trickier.Enter Google Drive
I’m a huge fan of the suite of tools Google offers in Drive. I do most of my initial writing there. I’d used game-specific online tools like Roll20, but I knew the play space and map could be really fiddly and I didn’t want to have to mess with object permissions during a stream. I knew that Drive had a drawing option with some decently robust tools, but the problem was that it’s limited to a single workspace. In addition to needing the holdfast map, Fate works best when you can “physically” pass fate points, and when you can easily track zones for combat and such.
Then I happened to open up Google Slides. Holy cow.
click the images to embiggen
The setup is simple: make as many slides as you think you’ll need. Each slide is a specific workspace. You can then add as many boxes, shapes, or other objects as you need. You can add text to any object, with all of the font sizes and styles you’d have if you were typing a document. You can change the colors of any of them to keep easy track of them. And you can switch to any one of them as needed.
This is the best part: a quick share and anyone you want to have access to the document has access. Give them the ability to edit it, and you and your players can access any part of it at any time. No other permissions to set, and the interface is one that most people can figure out very quickly and easily.How it Worked in Use
If you want to see how this setup works, you can check out this recording of one of the streamed games that I ran to promote Iron Edda Accelerated:
The setup we used had the producer sharing the presentation in the middle while we all interacted with it as needed. Our producer changed to the slides we wanted to show the audience, as needed, and we could look at whatever slides we wanted on our own computers because we all had individual access. Reader, it has been magical.
I’ve used this setup for all of the online games I’ve run, and I’m pretty sure I’ll be using it for any future online games, regardless of system. Not only that, but I’m using it for my home game as well. Too often I’ve been trying to flip through stacks of index cards to find the notes I want. With each slide being a separate space for specific information, I can find what I need really quickly. It rocks.
It may sound like I’m overstating the value of this tool. I can tell you that I’ve not encountered a setup that’s easier to use for both me and the players I had in the games. In a few cases I was pressed for time and didn’t have a chance to brief anyone on the setup we were going to use until right when we started the video call. In each case, my players only needed about 2 minutes to figure out how to use the slide setup. It’s lovely.The Closing Montage
Online gaming can be intimidating and there’s no one solution that works for everyone. That said, this setup is so easy and so intuitive that I can’t recommend anything else more right now. It puts all of the game information front-and-center for every player. I can even imagine a setup where each player is given a slide to use as their own character sheet so they can organize the information in ways which make sense to them while the GM has their own slide to keep track of their stuff. Basically, you have theoretically infinite page-sized digital index cards with a ton of options for information presentation.
If you want a good starting point for this, you can access a read-only copy of the set of slides I used to run the Iron Edda Accelerated game I played in for She’s a Super Geek (it provided the screenshots you’re seeing in this article). Link’s right here. Also, if you want to follow along, you can find the first episode of that series over here.
Have you used a setup like this? Something similar? Let me know in the comments! Also, if you give this a shot, I’d love to hear about your experiences.
There might be instances where an editorial team comes across challenges in the process of publishing its content. These include:
- Living a number of articles at the same time.
- Sending the final copy of approval on a website to different people but not living it.
- Publishing a number of articles on different websites/subdomains.
Luckily, the Drupal Deploy module allows content staging and publishing without the user requiring to log into the target site. This is very handy when there are a number of people involved or multiple sites, in case of media and publishing websites especially.
What is Content Staging?
Content Staging is an in-house development environment where a team is involved in creating various kinds of content. This includes all the stages a piece of content has to go through before actually going to the production site.
The Deploy module allows users to easily stage and preview content for a Drupal site in different environments. The module automatically manages dependencies between entities and is designed to have a rich API which can easily be extended to use in a variety of content staging situations.
- Cross-site content staging
To stage content between different Drupal sites.
- Single-site content staging
Provide a workspace preview system for single-site content staging.
- Fully decoupled site
Create a decoupled Drupal site.The Deploy module is designed to allow users to easily stage content from one Drupal site to another. How To Use Drupal Deploy Module? Installation
Deploy module has various Drupal and PHP dependencies so the best way to install it, is by using composer.composer require 'drupal/deploy:^1.0' Exploring Deploy Suite
Once we run this command in our Drupal website we get all the modules and PHP libraries required to run the Deploy suite. Let’s have a quick look at all of the modules:
- Conflict: It provides resolution for conflicts which merge due to changes in translatable fields in non-edited content entity translations, changes in fields to which the user does not have access, fields with no edit access, fields not part of the entity form display, changes in entity metadata, revision ID, changed timestamp.
- Key-value Extensions: A very important module which helps in speeding up the Deployment process. It extends the core key-value API with a backend for lists and sorted sets that you can do range queries on.
- Multiversion: Multiversion will convert all core content entities on your site to be revisionable. Since Deploy suite is built around the revisionable entities, it is an important module in the process of Deployment.
- Replication: This module provides the functionality and services to assist with replicating content between workspaces on a single site (using the Workspace module) or between workspaces across different sites (using the Relaxed Web Services module).
- Workspace: Provides the ability to have multiple workspaces on a single site to facilitate things like the full-site preview and content staging.
The Distributed Management of Content deals with the workflow involved in the content creation with a decentralized approach. The process can be very complicated and requires different levels of managerial checks. Deploy module, in that case, can turn out to be the best solution.
To use the Deploy content staging we have to enable the Deploy module which automatically installs all the required contributed modules, perform database operations and supply required default configurations for the modules.
To use Deploy it is worthwhile to check its out-of-the-box configurations and plan Deployment strategy for your website, accordingly.
- Go to Admin → Structure → Workspace to check the workspaces provided by default. This becomes important later during the content transition stages. We have a Live and stage workspace and also functionality to add more of the workspaces as per our requirement. By default, the Live workspace is active and Stage inactive. It means that all the content added will be available on the Live Workspace.
We also have an ability to set target workspaces on content updation as well which content entities to replicate.
- Following settings can also be accessed via admin toolbar on any page of the website. To continue with the deployment process, go ahead and select ‘Stage’ as the active environment from workspace switch option in the admin toolbar.
- Now since we are currently on Stage workspace, all the content added will only be visible to those with access to View content in a particular workspace.
- Go ahead and add 10 articles via Node → Add → Article interface. As soon as all the articles are added they start appearing on Homepage for the user with access to the content. If we check website anonymously we won’t be able to see any of those articles and will get a 'Page Not Found' error.
At this particular time, all the content editors and stakeholders can have a look at the content, modify it or even remove it.
- To deploy all articles on Live workspace go to Admin → Structure → Deployment → Start New Deployment.Provide a Deployment title and a description to keep a track record of all the Deployments.
Once we Deploy to Live, all the articles are available on the Live workspace after the next cron run.Advantages
- Publish multiple articles at the same time, without accessing them individually.
- Deploy provides various kinds of permission such as Access content on a particular workspace.
- It also detects for changes done on the Live workspace directly and provides an interface for conflict resolution and content synchronisation between various workspaces.
- You can create workspaces as per your requirement, For example, providing workspace for each content editor and then comparing the overall impact. Based on that you can very easily deploy content from various workspaces to the Live Workspace.
Deploy module can be used with the Relaxed module to extend all the capabilities of Deploy suite for multiple websites. We can configure as many remotes as we want and then Deploy content on various websites.
- Relax module can also be installed via composer using the following command.
- After enabling the module, the relaxed remote endpoint can be configured from Admin → Config → Relaxed → Settings.This endpoint will be used by the remote websites to interact with the workspaces available in your local.
- To interact with remote endpoints they have to be configured in Admin → Config → Services → Relaxed → Add.
- Once you have set up the Remote, you can then Deploy content to remote workspaces as well.
Drupal allows Distributed Content Management strategy to be applied to large volumes of content to facilitate efficient workflow. Specifically, the system allows different content and editors to be part of the same system without much replication, and Deploy module just helps build the architecture right.blog banner blog image Blog Type Tech Is it a good read ? On
This week's highlights include impressions of the much-pivoted We Happy Few, hands-on with the vaunted Magic Leap AR glasses, and lots more besides. ...
This module contains a field type for nodes to update the moderation state of some contents via a cronjob.Usage
- Enable the workflow for your content type.
- Add a field of the type "Scheduled publish" to a node bundle.
- Specify the moderation state and date.
- Make sure to run the cronjob of Drupal at desired date.
Multilingual user interface enhancements for content editors and translators
People often ask about the free software tools Agaric uses to manage our cooperative business. In this article, we share some of the free software tools we use for office tasks and administration as well as communications. These are Agaric's chosen resources -- the tools we use today for our daily business operations.
Agaric uses free software whenever possible. We build websites using Drupal, a free software content management system, and we are long time participating members of the Drupal Community. When we cannot use free software, we actively search for and contribute to groups working towards solutions.
Here is our reasoning behind the choice to use Free Software whenever possible:
The Need for Accountable Technology - Part 1
You may also wonder why we say "Free Software" and not "Open Source" since the code in both instances is essentially the same. We use the term "Free Software" because it includes the ethical principles about respecting user's freedom. Free software ethics say that users deserve control over the code they use, whereas using the term "Open Source" cites only the goal of letting users participate in the development. We support the ideals of software protecting your rights and not leaving you vulnerable.What is Free Software?
A program is free software if the program's users have the four essential freedoms:
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1).
- The freedom to redistribute copies so you can help others (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3).
Access to the source code is a precondition for this. To determine whether the source code is free, see what license it carries and then check the GNU project's list of licenses.
We do a few tasks that we do not have free software for. So, we use non-free programs for them. Sometimes we use specific non-free software that a client insists on including in the web site. By using non-free programs we sacrifice some of our freedom; some activists would refuse to do that. We do not like the compromise, so we help develop free replacements for those programs. Whenever possible we use software that reflects our values.GNU/Linux OS
Free operating System - similar in features to Windows and Mac.
We have chosen to use GNU/Linux as our default system for our local development. When we take on a new student we install a GNU/Linux distribution. We always give the option of installing a different distribution, or if a student wishes to do so, they may. These are the favored GNU/Linux distributions in use by our cooperative team *members:
These are not the best versions of GNU/linux in regards to being completely free, you should consult the list of free distributions on the Free Software Foundation website.
* Currently one team member is using the proprietary but BSD-based Mac OS X, which is compliant with the Unix 03 / POSIX standard which GNU/Linux distributions also meet.
Firefox: As developers we have to test client sites in all browsers, but for working and building sites, we use Mozilla FireFox. Although the source code of Firefox is free software, they include some icons, trademarks and logos in the download that make it non-free. You can easily remove these as has been done with IceCat, the GNU version of the Firefox browser. It has great performance, developer tools and community. The plus side of having a community around the software we use is having access to a large pool of people with experience and guidance as we learn and build together.
Tor Browser: As citizens we are not fond of being tracked so we use a free anonymizing web browser that does not allow tracking. It is called Tor.File Storage and Calendar
- document and file storage
- image galleries
- desktop and phone document synchronization
- document editors
GNUcash: Accounting software that we use for our bookkeeping.
You can see a review of GNUcash vs Quickbooks and decide if it works for you. We have found a few bookkeeping cooperatives that do accounting!
As a team we rely on different tools to communicate with each other and with clients about daily activities and long term project goals. We have a distributed team at locations around the world and must maintain contact especially when pair-programming or during a migration which calls for all-hands-on-deck, as well as sharing some long informational text notes and documents that include administrative information.
FreeNode: IRC - Internet Relay Chat - Realtime Text Chat: Yes, we still use IRC and you can find us on irc.freenode.net server in the #devs-r-us channel
Our preferences here are as varied as our team members: some use irssi via a remote, always-on virtual server, many use desktop clients, such as HexChat or Konversation, and still others prefer the web-based solution "The Lounge".Email
MayFirst.org hosts Agaric.com email
Email Client: Thunderbird: An email client from Mozilla, which also makes Firefox, and is available for your phone. It also has an encryption plugin called EnigMail that works well and is not super tricky to get set up.
Hosted Email: RiseUp: Encrypted services run by anonymous volunteers and you must be invited to have a membership.
Mayfirst offers three web-based email solutions.
- Roundcube which has a friendly and simple web interface, making it the easier of the two programs to use.
- Horde, on the other hand, offers more than just email - you can share calendars, to dos and more with other members of your group.
Protonmail: An email service that is hosted and encrypted.Email Lists:
We use email list servers for mailing lists based on groups and topics. It allows group mailing to people that sign up for a specific list.
Mastadon: Publish anything you want: links, pictures, text, video. All on a platform that is community-owned and ad-free.
Social.coop: A community similar to Twitter, the main difference is that it is owned by the members. For as little as $1 a month you can become an owner/member and take part in shaping the future of the platform. You can find and follow Agaric in social.coop, a coop-run corner of the fediverse, a cooperative and transparent approach to operating a social platformLive Streaming
MayFirst Live Streaming: MayFirst membership includes live streaming.Conference Calls and Online Meetings
Some Agaric team members are using Jitsi recognizing that it is a work in progress and there may be technical failures at times - such as we have also found using Google Hangouts - lag time, cut-offs, poor sound quality and issues with screensharing... At times we have found that we need to use a proprietary solution that seems to work reliably as we continue to support development efforts and bug fixes with Jitsi. At the heart of Jitsi are Jitsi Videobridge and Jitsi Meet, which let you have conferences on the internet, while other projects in the community enable other features such as audio, dial-in, recording, and simulcasting.
You can self host an instance of Jitsi or choose a hosted version. You can use http://meet.jit.si or an instance is also available for public use at https://meet.mayfirst.org We do encourage you to become a MayFirst member and have access to all of the free software tools they offer. The Jitsi project needs volunteers to use and test Jitsi so it can get better swiftly!
Currently Agaric is using, and paying for, the proprietary Zoom audio/video conference call service and software. We would love a recommendation to another stable choice that is free software.Phone Calls and Text Messages
Signal: Agaric uses signal to encrypt SMS Text messages and Phone calls. Encrypted Phone and Instant messaging found to be secure and recommended by Edward Snowden as the only truly encrypted messaging app that is not able to be decrypted by anyone. Note that security is an arms race and this could become false at anytime.Collaborative Note Taking
Etherpad: When hosting an online meeting we usually open a shared note pad so that everyone may contribute to getting the important bits logged. Etherpad text is synchronized as you type, so that everyone viewing the page sees the same text. This allows you to collaborate on documents with large or small teams seamlessly! We use the hosted version, but you are welcome to host it yourself. We have tried a few online pads and settled on Etherpad as the most reliable.Collaborative Ongoing Discussion
With some collaborators, particularly people involved with the Drutopia initiative, we use Mattermost rather than IRC. Mattermost can be more useful for ongoing discussions; it is similar to Slack and offers a threaded conversation. The community version is free software.Notes and ToDo Lists
TomBoy A tiny app that lets you take note while it conveniently makes hyperlinks out of titles and allows synchronization over SSH and more.Password Management
KeePass A password management system that takes most of the worry, distraction and thinking out of storing and retrieving your login information for multiple projects and sites.Text Document Editing, Spreadsheets and Presentations
Libre Office: A suite of office tools similar to Microsoft Office, Documents, Spreadsheets, Slides. We use LibreOffice tools that come as core software in the distributions of GNU/Linux we are using. You may have heard of OpenOffice, it is now called LibreOffice. It consists of the basic publishing and calculating software for doing office tasks. These are the ones we use most often:
1. LibreOffice Calc - Similar features and functions of a calculating software to make spreadsheets, such as MicroSoft Excel
2. LibreOffice Writer - Similar features and functions of a word processor such as MicroSoft Word
3. LibreOffice Impress - We use this tool to build slide decks and presentations using text/graphics and videos, it is similar to Microsoft PowerPoint in features.
*GitLab: This tool is a web-based and self-hosted Git-repository manager with wiki and issue-tracking features. We also use Gitlab for cooperative development on our projects.
*Although GitLab isn't fully free software, it does offer a self-hosted version that is. The Enterprise hosted version has extra features and is proprietary.
Redmine: A free program that you can run locally or on your own server for use as a project management and issue tracking tool. Before finding GitLab we used a self hosted instance of Redmine which is free software.Resources and Free Software Directories
- Free Software Directory
- Awesome-list of self-hosted applications
- You can search for Free software alternatives. - be sure to search for Free/Open Source, not the free trial software, and LOOK at the license.
You can contribute to groups working towards solutions, there are many roles and you do not have to be a developer. As an example, *IndieWeb and Jitsi are projects that we make time to support with development, testing, outreach and feedback.
*With IndieWeb, you can take control of your articles and status messages can go to all services, not just one, allowing you to engage with everyone. Even replies and likes on other services can come back to your site so they’re all in one place.Tools we love and sometimes use Decision Making and Voting
Loomio: A hosted service available at http://loomio.org
Loomio offers distributed decision making system where you can make groups that can have discussions and make decisions without an in-person meeting. Decide yes or no, or that you need more information.
Note that Loomio also has built a great cooperative resource on at their other URL - http://loomio.coop
civiCRM: Agaric is working with the developers at MyDropWizard to take a look at civiCRM with Drupal 8.
civiCRM is a free software to manage client relationships and memberships. We have not deployed it yet.
Framasoft: A large collection of free software tools where we use the calendar and polling software most often. We are experimenting with several other FramaSoft tools and may adopt them in the future.
If this has been a helpful read, please pass it on and let us know in the comments how it helped you. A follow-up post will list the tools we use for development purposes. Please be sure to mention any free software you have found and are using now.
>> Get on the mailing list to receive invites, or share this link with a friend Show and Tell Mailing List
So simple - Just install and enamble and that's it! There is no step 3.
So simple - Just install and enamble and that's it! There is no step 3.
Provides advance crawler for Drupal 8 Feeds module using Node.js as backend server | Developed in GSOC'18
This module depends on https://github.com/dbjpanda/advance_crawler.
The Cambey & West Authentication module provides user authentication
integration with the Cambey & West web service.
The D7 version of this module uses the core PHP SOAP library so there are
no external dependencies.
Webform GOV.UK Elements builds upon the Webform module to provide GOV.UK Design System Webform elements.Purpose
GOV.UK Webform Elements provides reusable GOV.UK Design System compliment composite elements for use on webforms. These composites can be customized via a provided ui and be used like standard composites across multiple webforms.Requirements
The D8 Webform module https://www.drupal.org/project/webform
This module is necessary for Contenta JS to function properly. It will create a configuration endpoint that the nodejs application can read for automatic bootstrap.
This module is part of the Contenta CMS installation profile.