👋 Welcome to the Enterspeed documentation
At Enterspeed, we’re all about delivering high performance at scale with intelligent caching.
Enterspeed lets you sync all of your content from your CMS (e.g. Umbraco Cloud), PIM, etc. to Enterspeed. This enables you to design a whole new front-end application, while still using data from your existing content system.
Not familiar with Entespeed yet? Check out Enterspeed.com for use cases and more.
🗺 Browse the documentation by categories
💭 Got a question? We might already have the answer!
How do I do personalisation with Enterspeed?
Since everything in Enterspeed is generated on publish time, so that we can be high performing, any personalisation or dynamically generated content must be done in a custom backend-for-frontend layer. Imagine that you have a Umbraco node that has the following properties:
Both properties will be available in the Delivery API response from Enterspeed. In the BFF layer, you need to handle first the authentication of the user and then choose which of the properties you want to output.
How does Enterspeed handle updating content from shared content nodes/items?
A common scenario on a website is to have a frontpage that lists the 3 latest or highlighted news items. The news items are typically from other nodes. The most typical way of handling this in Enterspeed is by using Schema References.
Depending on your use case you either use a lookup to get the latest news items or read the originId from a content picker property to pass the id to the referenced schema. The referenced schema is then used for mapping out the source entity to the desired Enterspeed view.
When a news item is updated the Enterspeed system updates the view of the individual source entity and the Delivery API output then reads the updated view and produced one complete and updated response, e.g. the frontpage.
How easy is it to enable the bulk deploy features on production "legacy" tenants?
It is not possible to enable, but we can assist with a migration. The behind-the-scenes changes are quite big and require changes for all schemas. While these changes are being done no processing can happen, so even though the changes are small and simple, the migration process for a production tenant is not straightforward, unfortunately!
The recommended migration path is to create a new tenant, copy over the schemas and then configure and update schemas in the new tenant. We can do the schema coping being the scenes, so there is no manual dummy work involved.
What does "No environment client configured to support domain name for source entity url /relative-url/" mean?
If you are using relative URLs (e.g. /about-us/) and are trying to test the schema by making a CURL request, you might have seen this error message.
The reason for this is that the URL doesn't have a domain that matches an environment client. Environment clients need to be able to match the URL in the source entity with the hostname provided for the environment client.
The best way to solve this is to use absolute URLs in your schema (e.g. https://my-domain.com/about-us/).
If you however want to use relative URLs, it can be done by adding a domain to your environment client with the hostname
Does updating on a root node in Umbraco trigger a re-ingest of the entire sub-tree?
No. Changing a domain on a root node will not trigger a re-seed of the node and its descendants.
If you want to trigger a re-seed in Umbraco after changing the domain, the best option is to use the "Publish with descendants"-feature in Umbraco.
After updating the domain, click the node you changed the domain on and select "Publish with descendants". This will send the updates node and its descendants to Enterspeed.
What are the service limits of Enterspeed?
Enterspeed sets some upper limits to its services to ensure stability and performance for all customers, please note that these limits may be capped before reaching the maximum by your plan. Limits that are marked with * may be extended.
- Maximum monthly Delivery API requests*: 5,000,000
- Maximum number of source entities*: 200,000
- Maximum storage*: 2 GB per tenant
- Ingest API rate limit*: 25 requests per sec
- Ingest API request size limit: 1 MB per request
- Source entity property count limit: 5,000 per source entity
How to handle forms when using Enterspeed?
Forms come in many shapes and sizes depending on the form builder you are using and how you want to render your forms.
Two common ways to add forms on the client are:
Using an iframe
This is the easiest way to handle forms.
Using an iframe you can simply ingest the iframe as part of your content into Enterspeed and then render the iframe on the client as normal
Once a user submits the form, the content is sent to the server hosting the form, typically using a
Render the form on the server
The logic of forms and how they should be rendered can be very complex.
Most form builders come with templates to render the forms. This way you can just ingest the
url or the id of the form into Enterspeed and let the form builder render the form and send back the
HTML for you to render on the client.
For very simple forms you could also ingest the information about the form like submit url, a list of form fields and their type and render the form on the client.
Once a user submits the form, the content is sent to an endpoint handling the form submission, typically using a
POST request. It could be a custom endpoint or the form builder software hosting the form
🙋 Didn't find what you were looking for? Don't worry, we're here to help
If you have any questions, don't hesitate to contact us. You have several options, you can: