Ansible / Checklvst Integration

Anisble and Checklvst communicatingChecklvst, https://checkvist.com, is a web-based list editor (I like its keyboard-driven user experience). Given some of my Ansible playbooks generate to-do lists and Checklvst has an API, I wondered how hard integration could be?

Ansible Impressions

Ansible thoughtsAfter using Ansible as a personal DevOps tool for a couple of months, here are some impressions.

Context

  • Outside of work (web development) I look after six Drupal 7 and WordPress sites on shared hosting
  • My local development is done on a MacBook using apache (with some dabbling in Lando/Docker). I've done some wildcarding with dnsmasq and vhosts to streamline local dev site configuration. CMS code is in git repos.
  • My Ansible work is a personal project and I'm the only stakeholder
  • I learned Ansible doing this work

Avoid the Changing Ansible Timestamp Gotcha

Tagged:

Ansible variables are evaluated each time they're used. This means the following playbook vars declaration will always return the current time where ever it's used in the playbook!:

vars:
  timestamp: "{{ lookup('pipe', 'date +%Y-%m-%d-%H%M') }}"

This is not the desired situation if the timestamp is used as part of a filename. For example: filename: "backup-{{timestamp}}.sql".

Fortunately, there's an easy solution.

Ansible Starter Setup

Ansible LogoAnsible is an open source IT automation tool. I tend to describe it as a task-runner with a host database (which Ansible calls the inventory). A big selling point is no agent software is needed on managed remote hosts. Details at the Ansible website: https://www.ansible.com/use-cases

tl;dr: If you're just beginning with Ansible this might help: https://github.com/dale42/ansible-starter

Drupal Site Reset BASH Script

I'm experimenting with Drupal 8 and some its new features like migration and configuration management. A reset script is a convenient timesaver and many people have shared their techniques for doing so. Having benefited from other's generosity I wanted to return the favour by sharing my current work-in-progress.

This script:

H5P - Portable Interactive Content in Drupal

H5PH5P is an open source platform-independent authoring and display system for interactive content. Presentations, quizzes, and other interactive content can be created and displayed using building blocks known as H5P content types (different from Drupal content types). Once a piece of content is created it's easily exported to another H5P system. The development environment is open and well documented, allowing the creation of custom H5P content types.

VanDUG April 2017 Meeting

No more performance anxiety encore!

At our April 2017 meeting Renée Stephen gave the Vancouver Drupal User Group (VanDUG) an encore of her Pacific Northwest Drupal Summit (PNWDS) presentation: No more performance anxiety! The presentation walked us through the formal process of server load testing.

Adding and Controlling TinyMCE Fonts in Drupal

Customizing the TinyMCE editor's font selection is straight forward thanks to a hook provided by the Drupal Wysiwyg module. The hook_wysiwyg_editor_settings_alter() function allows a module to update the settings passed to the editor. The programming is simple. Discovering and understanding the values of the settings can be a challenge.

Creating A Personal E-Book

Penguin holding ebook readerEver since I bought my first electronic book reader I've wanted to create my own e-book1. Not because I want to self-publish a book, because I want move the notes and cheat-sheets I have on paper to something I can reference on my e-book reader.

My first experiment was with PDFs. They're easy to create but the results are underwhelming. While there are exceptions, PDFs generally don't display well on e-book readers, especially technical documents. It was clear that I needed to produce an ePub document.

I've noodled around with different options. Last week I decided to give it a concerted effort.

My criteria was:

  • Ability to have source chapters or sections in individual files
  • Ability to have the files readable on a website as well in ePub format
  • Easy to update the ePub document (i.e., as simple a workflow as possible)
  • Have the source formatting as straight forward as possible

Creating URL Redirects with Migrate Module

New versions of websites often have new content organizations with new URL patterns. When old content is assigned a new URL it's almost always desirable to redirect traffic from the content's old URL to its new URL. The redirect preserves external links to the site content (i.e., prevents "link rot") and helps maintain search engine page ranking.

Pages

Subscribe to Group 42 RSS