To help editors understand the purpose of each block, we just shipped a new field called Help text that you configure to shown some human-friendly description on the content editing side.
As a bonus, if the field starts with an image URL, it will be shown alongside the help text. Quite handy, isn't it? ๐
Today we launched a series of UI changes to the schema editing area that we hope will make it clearer and quicker to make changes, especially regarding blocks.
First of all, models can now be filtered with a handy search bar:
The biggest changes, however, are related to blocks. A new Blocks Library section is now visible on the sidebar, giving you an overview of all the blocks your project has defined:
You can also quicky find which Modular Content/Structured Text fields are using a specific block, and move to the field in a single click:
The inverse operation โ that is, moving from a Modular Content/Structured Text field to one of its blocks โ is one click away too:
To specify which blocks can be used in a Modular Content/Structured Text field, head over to its settings, under the Validations tab:
A long overdue update on all the UI improvements we've recently released:
Now you can set alt and title in images within the multiline string with the HTML editor:
We've been receiving feedbacks around our SEO fields that were suggesting that we had validation rules that were too strict. So now we've added the option to pick whatever minimum or maximum length for the slug, SEO title and SEO description. You can customize those per field:
And also, you can now customize the validation rules for the slug field, so that you can set your custom regular expression, if our default one is too strict for your use case:
You can now specify in which locale the record filter applies:
We have removed the limit of 30 records that you could batch update. This was particularly annoying when doing batch action across pages, almost a bug fix :)
And finally... you can now close modals pressing the Escape key!
With the latest v0.1.0 release of the Plugin SDK we've added a couple methods:
selectItem(itemTypeId, { multiple })
- Plugins can use this method to show a modal dialog to select one or multiple existing records
selectUpload({ multiple: boolean })
- Plugins can use this method to show a modal dialog to select one or multiple uploads
editUpload(uploadId)
- Plugins can use this method to show the modal dialog to edit an upload
editUploadMetadata(uploadMetadata)
- Plugins can use this method to show the modal dialog to edit an upload metadata.
These new methods will allow the creation of plugins for the link fields. You can read all the details in the SDK reference.
Then, related to the media fields, we've released v3.2.0 of our JS client which:
adds support for aborting createUploadPath
, uploadFile
and uploadImage
through uploadPromise.cancel
adds additional option arguments to createUploadPath
, uploadFile
and uploadImage
adds options.onProgress
for tracking the upload progress of createUploadPath
, uploadFile
and uploadImage
adds options.filename
for renaming files uploaded with createUploadPath
, uploadFile
and uploadImage
These new methods will let you create plugins for the media fields and manage the uploads from your end.
You can see the client docs for more details and examples.
On the Ruby gem, we've added the method #lqip_data_url
, which lets you access the SVG blurred up version of your images, like so:
blog_post.cover_image.url(w: 800, h: 600, fm: :jpg)# => "https://www.datocms-assets.com/123/12345-heart.png?w=800&h=600&fm=jpg"blog_post.cover_image.lqip_data_url(w: 800, h: 600, fm: :jpg)# => "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoHBwgHBgoICAgXFQoLDhUSDhUXDh0eDRUVGRYZGBYTFhUaIi0jGh0oHRUWJDUlKC0vMjIyGSI4PTcwPCsxMi8BCgsLDg0OHBAQHDsoIig7Lzs7Ozs7Ozs7LzsvLy8vLy8vLzsvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL//AABEIAA0AGAMBIgACEQEDEQH/xAAYAAEAAwEAAAAAAAAAAAAAAAAAAwQFAv/EABwQAAAHAQEAAAAAAAAAAAAAAAABAgMEBRESQf/EABUBAQEAAAAAAAAAAAAAAAAAAAMB/8QAHREAAQMFAQAAAAAAAAAAAAAAAQAREgITITFCA//aAAwDAQACEQMRAD8AqPMJiF1o6jvlILkhlWU11aMMTU6j50UPHKcCmTJa1aXEnvoBdy3GmTNPgAwfTkpbNJ2F/9k="
For more details on what you can do, please have a look at this blog post.
On the Plugin SDK, we've added a new method plugin.disableField(...pathChunks, disable)
that will let you disable a field so that the editors will be prevented to make changes.
Read all the details on the SDK reference.