Living Topic: Status Updates

Hi together,

I released some minor features:

Hello again,

a new version is in the build pipeline with a lof of new features:

  • API: Correct handling of If-None-Match header to support caching.
  • Rules: Major refactoring of action handlers to add new actions with less code.
  • Rules: Twitter action to post status update.
  • Rules: action to invalidate cache entries for SPA sites.
  • Contents: Support IN-queries, like fileName in ['Logo.jpg', 'Logo.png']
  • UI: Cloning content items.
  • UI: Tag input in header to filter by tags when assigning assets to content.
  • Schemas: Color picker as additional editor for string fields.
  • Statistics: Report api usage and performance per client.

See the new filter for assets:


All september updates:

I deployed a new version with a lot of performance improvements in the UI. I spent several days to test it but I assume that it will not be bug free. Sorry for the inconveniences.

17 days and no News. Shame on me. But today I can share something I am working on:

I think the image speaks for itself. I know that there are more important things in our roadmap, but this was straight forward to implement, so I thought I can have some fun and implement something useful.

I have deployed it. I also made some changes and improvements to the Etag support and also added support to the Management UI. It will make the same requests, but it will retrieve a 304 very often now and handle this properly.

I just published a new blog post:

1 Like

I should post more updates.

Yesterday I deployed 2 improvements for the array item:

  1. The functionality to collapse all items to make sorting easier.
  2. An button to clone an item.

I have added sorting buttons to the array items:

I have added uniqueness validation for string and number fields.

There are some restrictions:

  1. It only works for non-localized fields.
  2. It does not work for nested fields.

The reason is that squidex has to make a database call per unique field for each update. Without the restriction it could end up in hundreds of calls per updated.

It is only a validation check, e.g. if two users create a content item at the same time you could still get duplicates but this is not a very likely event in the context of a headless CMS. A check on the database level would increase the consistency but would also create hundreds of indices and hurt the performance too much.

I have published a CLI (Command Line Interface):

For now it only contains the feature to export content to JSON or CSV, but more features will come or when they are requested.

The CLI will provide an integrated help but here are some hints how to use it. The examples are for windows but I also published the binaries for OSX and Linux:

// Add an app to the configuration file
sq.exe config add squidex-website CLIENT_ID CLIENT_SECRET

// Show all apps
sq.exe config view

// Remove an app
sq.exe config remove squidex-website

// Switch to another app
sq.exe config use-app other-app

// Export schema to a single JSON
sq.exe content export blog

// Export schema with one file per content.
sq.exe content export blog -m

// Export schema to CSV
sq.exe content export blog -fields Id,Date=Created,Slug=data.title.iv,Text (English)=data.text.en

Why a CLI?

  • It takes so much time to write a good UI for it
  • it is easier to integrate a CLI in automated processes, such as nightly backups

Why is it so big?

It is a restriction of .NET Core and unfortunately there is no easy way to create a single file. I could write it in GO, but I would need much more time.

@seamys Has written 2 custom editors, which are very interesting. You can see them in action in the docs:

Thank you very much for this great work :slight_smile:

Hello together,

I have improved the rule system:

  • All fields for actions which have supported our super simple template engine, support javascript expressions now.

  • Instead of the old checkbox for triggers you can write javascript expressions now, this allows a wide range of use cases:

    • Invoke an action when somebody uploads a large file
    • Invoke an action when your intern publishs a content
    • Invoke an action when your content data has a specific value
    • Implement custom workflows based on your field content.

I just published a new blog post:

When writing my blog post I noticed how annoying the image with rich text and markdown is. Therefore I introduced the following changes:

  1. Use the integrated image selector of rich text editor to upload images.
  2. Allow to paste images from the clipboard to rich text editor
  3. Allow to drop images to rich text editor.
  4. Allow to paste images from the clipboard to markdown editor
  5. Allow to drop images to markdown editor.

It is available in the github and will be published to the cloud tomorrow.

In action:

1 Like

New filter UI coming soon. Also demonstrates filtering by reference.

1 Like

I just published a blog post:

1 Like

I just published a new blog post post. Read more at:

1 Like

I just published a new blog post post. Read more at:

1 Like

I just published a new blog post post. Read more at: