Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
contentful-ui-extensions-sdk
Advanced tools
The UI Extensions SDK allows you to customize and extend the functionality of Contentful Web Application's entry editor. The editor itself is a container for many components that enable editors to manipulate the content stored in content fields. Extensions can be simple user interface controls, such as a dropdown, or more complex micro web applications such as our Markdown editor. They are decoupled entities from field types, and can be reused (for example using a dropdown to edit number or text fields).
Previously, the Contentful Web Application only offered our core platform components to manipulate fields' content. Now, with the UI Extensions SDK it is possible to personalize this Web App based on your needs. Core components and custom extensions are both built on top of the same API, leading them to follow the same approach. The main difference resides in the fact that custom extensions are rendered inside a secure iframe. The next step in our roadmap is to open source our core components to extend them or give more insights on how to build custom extensions.
Every Contentful user has access to this feature, it is enabled by default, and all requirements to start using it are simply to follow the instructions contained here.
This SDK overview introduces you to the concept of custom extensions and lists concrete usage examples. The extension API documentation, on the other hand, provides in-depth information on what the API exposes to the consumer.
You can also refer to the following FAQ for questions related to hosting, or limitations.
The most convenient way to upload and manage extensions through our API is via the
contentful
command line tool. You can install it with
npm install -g contentful-cli
Including the compiled version of the extension client library is as simple as adding the following line to your application.
<script src="https://unpkg.com/contentful-ui-extensions-sdk@3"></script>
To get an overview over the API, have a look at the reference documentation.
Check out our example UI Extensions to get a deeper understanding of the SDK's capabilities.
Conceptually, there are two main categories of custom extensions:
Extensions applied to single fields are great for circumstances where you just want to customize how you edit a particular field type. Examples of single field extensions are:
If you need more than a single field, you can try multi-field level extensions. Currently we have two approaches for this:
The first is a simple approach is to use a JSON object field type and construct any complex field type that is not provided out of the box by Contentful, along with its UI and logic. However, there is a tradeoff when using this approach. Data inside of a JSON field cannot be used to query or filter entries in our APIs.
This approach involves creating a single field custom extension that can use our CMA to perform operations on other fields within the entry. Examples of multi-field-level extensions are:
Sidebar extensions are rendered on the sidebar of the entry editor. They make most sense if the functionality provided by the extension applies to an entire entry instead of a single field.
Examples of sidebar extensions are:
A UI Extension becomes as sidebar extension by setting the property sidebar
to true
when creating or updating the extension. You can refer to the documentation of the Contentful CLI's extension update
command here.
A sidebar extension is still assigned to a field which is then ommited from the entry editor. The field's value can be used to store data for the sidebar extension. If the field should not be distributed to users through the Content Delivery API it can be set to ommited
on the content type.
We offer a sample sidebar extension that triggers a build on Netlify
As extensions are rendered inside an iframe, you will need to include the
cf-extension.css
library within your custom extension in order to use any of
Contentful's styles.
You can include this CSS in your extension code as follows:
<link rel="stylesheet" type="text/css" href="https://unpkg.com/contentful-ui-extensions-sdk@3/dist/cf-extension.css">
Futher information about styling your extension can be found in the styleguide.
Technical feedback can be provided directly through the Github repo. However, if at any point some confidential or business sensitive information needs to be discussed, then the conversation should be handled via our formal support channels.
FAQs
A JavaScript library to develop custom apps for Contentful
The npm package contentful-ui-extensions-sdk receives a total of 1,177 weekly downloads. As such, contentful-ui-extensions-sdk popularity was classified as popular.
We found that contentful-ui-extensions-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.