Full Text Searching with Postgres
At Forestry, we use Postgres as our primary data store. In this article I’ll show you how we used tsvectorto improve searching for documents in the CMS.
The tsvector Type Postgres has a data type called tsvector that is used for full text search. A tsvector value merges different variants of the same word and removes duplicates to create a sorted list of distinct words called lexemes.
SELECT to_tsvector('pg_catalog.english', 'Never gonna give you up.
Introducing Site-based permissions and Teams
We are introducing changes to improve the way you manage collaborators on your sites.
Our previous model had a few limitations that we wanted to address:
Adding a user to an organization gave each of your members access to all organization sites. The only way to give users “developer” or “admin” permissions on a site was to make them a “developer” or “admin” across the entire organization. Guests on an individual site were restricted to “editor” permissions (No access to edit front matter templates or site settings) Site-specific access levels The available roles for users within an organizations are now “Member” or “Owner”.
Use Forestry With Azure DevOps Repos
Azure DevOps is a suite of code collaboration and deployment tools provided by Microsoft. Azure DevOps includes cloud hosting for git repositories, similar to Github, GitLab, and Bitbucket.
As of today, you can now import Azure DevOps repositories into Forestry! Forestry will sync the contents of your Azure DevOps repository by importing changes when they’re pushed to the repo, and committing content updates that you make in Forestry.
Importing Azure DevOps Repos to Forestry Our OAuth-based Quick Setup is not currently available for Azure DevOps repositories, so you must use our manual setup option when connecting to Azure DevOps.
Gulp and Webpack: Getting the Best of Both Worlds
Full Speed Ahead in 2019
We have a big update to share with you today! Today’s release marks the culmination of a lot of feature work, with one major goal in mind:
We wanna go fast.
Today, we’re launching:
Instant Previews, which will enable your previews to build faster; Git LFS support for media which will speed up Git operations on image-heavy sites; and Gatsby Support, allowing you to use Forestry with a “blazing fast” Gatsby frontend.
Versioning Large Files with Git LFS
I’ve written before about the advantages of keeping content in version control. A quick recap of the benefits:
Content is portable - just git clone Full content history is available; can rollback changes and recover earlier revisions Content updates can take advantage of the same workflows popular with code: pull request→review→merge While the benefits are signficant, one of the major pain points of this solution arises when large non-text files are introduced to your content.
How I reduced my Jekyll build time by 61%
At the time of writing, Jekyll’s performance is still actively being worked on by the Core Team for an upcoming version 4 release. One of the main complaints about Jekyll for users is often the build times of larger websites. I want to take this opportunity to see just how much I can expect to improve my current site’s build times by using the latest master branch.
Sound good? Let’s get started.
Announcing Image Handling with S3 🖼️ + Update Billing Contact Information 💵 and more
Happy New Year! We’re starting into 2019 with an exciting new feature.
Today we can announce support for S3 as an image storage provider for Forestry. The S3 integration makes it possible to efficiently store, organize and deliver images while keeping the editing experience in Forestry simple and clean.
Editors, marketers and writers can continue to use the Forestry Media Library without even knowing that they are using S3 in the backend.
Is it Time to Move on From WordPress?
WordPress 5.0 has been released, and with it comes their much-hyped new editing experience, Gutenberg. The inclusion of Gutenberg in this release has caused no shortage of acrimony in the WordPress community. The new editor is opt-out as opposed to opt-in (and opting out requires installing yet another plugin), and is such a significant departure from their original content editor that it is guaranteed to cause major issues with third-party plugins and themes (Gutenberg, for example, does not support WordPress’ meta box API, an essential component of customizing the current editing interface used by countless plugins.
Data Files, Directories, and Duplicating Pages
The lumberjacks have been busy lately! Here’s what we’ve been up to:
Agnostic Data File Handling We have removed support for our old way of handling data files. Previously, we used some heuristics to automatically discover data files in your Jekyll and Hugo projects. Data files must now be manually configured by creating sections for them.
VuePress Now Out of Beta Abstracting data file discovery in our content manager has paved the way for more easily supporting other static site generators.