Insites Docs Change Log

Change Log

Date Period

Platform Update

May 04, 2020

Bug Fix

  • change default sort of modules in Partner Portal to show the newest first
  • array_append will not crash when used on property with NULL value
  • when using {% log form %} inside default_payload and then in callback_actions its value will appear the same

Platform Update

April 27, 2020

New Feature

  • Officially deprecate the asset_path filter in favor of asset_url

Bug Fix

  • model_update_all mutation will now update deleted data as well
  • use support email in Partner Portal in notifications about failed module deployment

Platform Update

April 20, 2020

Improvement

  • Form's metadata is now also accessible on the form object via form.metadata. You will be able to use Liquid as a value, for example:
  • `
  • resource: model
  • metadata:
  • hello: "{% assign var = "world" %}{{ var }}"
  • {% form %}
  • {{ form.metadata.hello }}
  • ...
  • {% endform %}
  • `
  • index..liquid will have a default slug pointing to root. For example, if you have a file in app/views/pages/my/page/index.html.liquid then the default slug will be my/page. The property max_level_deep will prevent any extra slug components by default, so in this scenario /my/page/abc will return a 404 error. To maintain backwards compatibility, if you manually set the slug property then max_level_deep will not be changed.

Bug Fix

  • The misleading error message "Form configuration has not been found" which was rendered via pos-cli when you tried to delete a resource which did not exist has been fixed and will include the correct name of the resource which you try to delete.

Platform Update

April 13, 2020

Improvement

  • Update error message when rendering a form with invalid configuration.
  • Improved authorization scheme (for pos-cli) based on OAuth tokens - generated tokens will be scoped to one Instance. The old scheme is kept for backwards compatibility.

Bug Fix

  • The admin_model_schema_update will properly update properties instead of trying to re-create them.

Platform Update

April 06, 2020

Improvement

  • Moving / renaming names - improved mechanism of detecting which resource to update when either the physical file path or the name property changes to avoid creating duplicates and raise validation uniqueness errors. For example, when you move a file from:
  • modules/my_modules/public/form_configurations/my_form.liquid to modules/my_modules/private/forms/my_form.liquid, we will recognize this is the same file (public changed to private and form_configurations changed to forms), even if the name property changes within the file
  • modules/my_modules/private/forms/my_form.liquid to modules/my_modules/private/forms/some_dir/my_form.liquid, we will recognize this is the same file (moved the file into a new directory some_dir), but only if the name property will not change
  • Additionally, we will also correctly recognize the file if you change the name property without changing the file's location. However, it is allowed to update the deprecated directory name to the new one, as well as to move file from public to private and vice versa - as described in the first example.

Bug Fix

  • Fixed edge case scenario of creating a User Profile via GraphQL mutation, then exporting the data and trying to import it, which was causing a 500 error

Platform Update

March 30, 2020

Improvement

  • name property will be automatically derived from physical_file_path for all admin resources like Authorization Policies, Notifications, Forms, Model Schemas etc. For example, app/authorization_policies/dir/my_policy.liquid will have the defult name dir/my_policy. For backwards compatibility, it is still possible to overwrite the default name using the name attribute.
  • Deleted objects are not returned by default for models and users queries. To fetch soft-deleted records, you can still use filter for deleted_at field.
  • When changing the type of a property, for example, from string to integer, all the data will be updated behind the scenes. In case of type casting error, a validation error message will be thrown and deploy/sync will fail, until data is manually fixed, for example, via GraphQL Mutations.
  • GraphQL engine has been upgraded.

New Feature

  • The notifications directory structure has been flattened - new directories are now app/emails, app/smses, app/api_calls. For example, instead of app/notifications/email_notifications/my_email.liquid you can now place it in app/emails/my_email.liquid.
  • Added extra algorithms to JSON Web Token (JWT) filters and allow to specify algorithm for JWT mutation.
  • Added extra validation for physical_file_path, to make sure files have proper extensions, for example, liquid for Forms, Authorization Policies and yml for Model Schemas.

Bug Fix

  • Error message for layout_path / layout will not include confusing layouts/ prefix in the suggestions
  • Improved Domain name internal validation.

Design System Updates

March 23, 2020

Input Slider

Added Input Slider component to the figma design system.
For more information view the Figma component here and view the documentation here.

Platform Update

March 23, 2020

Improvement

  • change soft user profiles validation to hard validation for Form
  • In October we added extra notifications via pos-cli when trying to sync a Form with invalid fields - if it included profiles which did not exist, we were adding a warning message. For consistency and better UX, we are changing it to hard validation now, which means you will not be able to deploy/sync such forms anymore until the issue is fixed.
  • server side handling of invalid file path
  • When trying to sync a file from a path which does not match anything (for example app/my_form.liquid instead of app/forms/my_form.liquid), a meaningful error message will be shown now, instead of a success message. In such a scenario, the pos-cli deploy command will still succeed, however it will send a warning with a list of all the files which were ignored.
  • Legacy Partner Portal domains will now redirect to [https://partners.platformos.com]
  • A first User will not be automatically created on the new Instance
  • Allow to filter admin_* GraphQL Queries by physical_file_path

New Feature

  • Partner Portal API Instance Copy endpoint with documentation

Bug Fix

  • update ReCaptcha to fix problems caused by Google API backwards incompatible changes

Platform Update

March 16, 2020

Improvement

  • Deploy/sync based on physical_file_path for all admin resources
  • Behind the scenes pos-cli was relying on platformOS to find admin resources like forms, graphql queries, model schemas based on different properties, usually name. We improved this functionality and from now on physical_file_path will be used. This allowed us to add two enhancements to pos-cli - pos-cli pull, which would be the reverse of deploy - it will create the app/ and modules/ directory based on current DB state (using the newest naming, without unnecessary default values) and pos-cli sync will also listen to file deletion and act accordingly. Those changes will be released separately, you can follow them at the [pos-cli Changelog].
  • Referencing GraphQL files
  • Previously, the example file app/graphql/my_diectory/my_query.graphql was invokable via {% graphql res = 'my_query' %}. It was the only resource which behaved like this. Moreover, due to the uniqueness constraint on name, it was often leading to structure like graphql/module_a/module_a_create.graphql and graphql/module_b/module_b_create.graphql instead of graphql/module_a/create.graphql and graphql/module_b/create.graphql.
  • After the change, the expected way to invoke it is {% graphql res = 'my_directory/my_query' %}. For backwards compatibility, the previous way still works, however a deprecation log is generated. For this particular example, it would look like this:
  • `DeprecationWarning: Finding GraphQL query/mutation by only name is deprecated, use full path instead.
  • Replace my_query with my_directory/my_query
  • `
  • 
    

New Feature

  • Possibility to duplicate Instance 1-1 from any stack to any stack. It means, you can copy a site from staging to production, production Sydney to production London. It even allows you to migrate a site from the AWS Stack into the Google Cloud Stack. Includes all admin resources like forms, GraphQL queries, data like models, users, user profiles and user uploads - assets, images, attachments. Please watch our [Instance Copy demo on Town Hall #77] for details.
  • Ability to filter GraphQL Query users by related_model
  • This example query will find all company owners (users) whose company's (which is a model in his example) property "codename" is either "ES" or "FI":
  • `query {
  • users(
  • per_page: 10
  • filter: {
  • related_models: {
  • join: { join_on_property: "id" foreign_property: "company_owner_id" }
  • filter: {
  • model_schema_name: { value: "company" }
  • properties: [{ name: "codename" value_in: ["ES", "FI"] }]
  • }
  • }
  • }
  • ) {
  • results {
  • id
  • email
  • companies: related_models(join_on_property: "id", foreign_property: "company_owner_id" model_schema_name: "company"){
  • codename: property(name: "codename")
  • }
  • }
  • }
  • }
  • `
  • ability to filter GraphQL Query users by related_users
  • This example query will find all users whose boss's first name is John:
  • `query {
  • users(
  • per_page: 10
  • filter: {
  • related_users: {
  • join: { join_on_property: "boss_id" foreign_property: "id" }
  • filter: {
  • first_name: { value: "John" }
  • }
  • }
  • }
  • ) {
  • results {
  • external_id
  • email
  • boss: related_users(join_on_property: "boss_id", foreign_property: "id") {
  • external_id
  • first_name
  • email
  • }
  • }
  • }
  • }
  • `
  • 
    

Bug Fix

  • Uniqueness validation for user property
  • Edge cases when content_updated_at was always updated, even though content has not been directly changed
  • {% assign = %} will now throw syntax error

Platform Update

March 02, 2020

Improvement

  • asset_url will always render a full path to file hosted in CDN, even if it does not exist in the manifest

Bug Fix

  • static_cache expire config in Page will cache Page for given time
  • match filter error handling for invalid expression
  • presign url - fix for path with spaces and other special characters
  • deprecated current_user will return the same hash as recommended context.current_user to avoid unexpected errors
  • asset_url will correctly decode the name before looking it up in the manifest
  • removed legacy routes to correctly display 404 if the Page does not exist (internal error was returned instead for some edge cases like /webhooks)

Filter by

Date Period

441-450 of 491