Living Topic: Status Updates

With discourse action I also refactored the rule system. Before it followed a layered architecture, but you had to make dozens of changes in different files.

It is much easier now because you only have to create 5 files to create a new rule action now and hopefully only 2 when we can autogenerate the UI for an action in a later release. It is about 150 lines of C# code which is very good I would say.

it is also the first step to a plugin system, where we have to sharpen our interfaces.

2 Likes

Oh wow, Discourse action. That is awesome!
Regarding the refactoring: I guess you will need to write some extra docs for it. :smiley:

Yes, thats the goal to write more docs about extension points :slight_smile:

@Sebastian amazing work mate, this is really one of the main important things to have

A small feature today:

Statistics grouped by clients:

The feature was requested by a user who had a bug in his client and consumed almost all his API calls within a few days and it was hard for him to find out what happened with all the API calls.

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: Prerender.io 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:

2 Likes

All september updates: https://medium.com/squidex/the-big-september-update-b05f3e0e70a9

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: https://squidex.io/post/a-blog-with-squidex

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: https://docs.squidex.io/guides/07-custom-editors

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: https://squidex.io/post/updates-january-2019

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