Alloy Community

If you have ever wanted to connect with other Alloy users, we have recently set up a great place to do just that! Alloy Community is a place for users to discuss how they're using Alloy, ask for help, get support with issues and to discover more information about Alloy's uses. Anyone can sign up to post and it is routinely contributed to by a lot of the people involved in building Alloy.

If you haven't had a look yet, why not check it out?

Alloy Community

Alloy May 2022 Update

We're excited to announce this month's Alloy update! This release will be applied during the evening of May 5th. In this post, we'll have a look at the highlights included in this release. For a full list of all changes included in this release, have a look at the Alloy Changelog.

You can also discuss this post in the Alloy Community here: Alloy Community


New Item Audit Navigation

We're excited to present the new navigation feature we have added to Item Audit logs. This enhancement will allow you to quickly flick through the audit history of an item and see the before and after for the change side by side. 

We hope this will be a welcome change but let us know your thoughts in the comments.

Pre-populate Attributes During Permit Application

A change made in this release will improve the usability of the Street Manager Apply for Works process. Information already captured on the Job will automatically be pre-populated in the Permit Application. 

This includes details such as USRN, Works Location, Workstream, Works Description, Start and End Dates & Times and Permit Conditions.

Creation of Manual Trigger Workflows

Workflows have always been triggered through an action carried out on one or more items of a specified design or interface, or by a pre-determined schedule. This new feature allows for Workflows to be created that will be triggered through a manual process. Further enhancements will follow in later releases to allow more use of these manual triggers, including the ability to trigger them from an item directly. When creating the workflow, you will need to define a design or interface that will determine the root node of the workflow. In the future, when triggering a manual workflow, one or more items will need to be passed to the workflow through an AQS query.

Timestamped Photos

Photos taken through Alloy Mobile can now have the local date and time stamp burnt into them. This is particularly useful for evidencing Defects or the completion of Jobs. This is optional and can be found in the settings menu.

Link Attribute Picker

A new 'Selected' tab has been added to Alloy Mobile. This tab allows you to quickly filter the list by items that have already been selected, instead of having to scroll through long lists of unselected items. This feature is available on both Android and iOS.

Settings UI Update

Another change made in Alloy Mobile in this release is an update to the UI used in the settings menu. With the addition of more items in this menu, we have categorised the available options to make finding the setting you require a bit easier.


Alloy March 2022 Update

Welcome to the first release update through our new in-app notifications widget! This month's release holds a bunch of great new features and updates. All these new features will be available in the evening of March 31st (GMT).

Discuss this post in the Alloy Community here: Alloy Community



Google Street View Stencil Control

A screenshot of the general tab of a streetlight, showing a Google StreetView Image of the Yotta Head Office

A new stencil control has been added in this release. It takes a geometry attribute as a parameter and displays an image of the respective area taken from Google Street View. Clicking the image will open a new tab and take you to the Google Street View application and navigate to the area displayed.

Error Message Suggested Articles

It's always frustrating running into errors, we hope with this new feature, we can make it easier to find answers to what's causing the issue.

The error message window has been updated to provide you with links to suggested articles on the Alloy Community site.

By the way, have you had a look at Community yet? 

Alloy Community

The error message will search community for any articles that include the supplied error code, sharing solutions others have found or official guidance from the Alloy team on how to resolve your issue. 

If you still need the full details of the error message response, simply click the code button in the top right of the message to view the full error message or click the bottom button to copy everything to the clipboard.

All the Data Explorer Tabs

Are you the type of person who loves to have all the tabs you need open and to be able to quickly change and switch between them? If so, we've made the Data Explorer much easier for you. A small but significant change in this update is the addition of a couple of scroll buttons in the top right hand corner, allowing you to scroll along the tab bar.

Clone Custom Reports

Ever created a great report, then realise you need to create another one that is almost identical apart from one small change? This new feature makes that simple to achieve. Custom Reports can now be cloned, creating another report with the same configuration but with a different name. This avoids having to re-create the second report from scratch to match the first.

SHP File Export

We're adding a new option when exporting data from the Data Explorer, not only can you get your data in a .csv file, but now you'll be able to get your data as a .shp file too. When exporting data, you'll now be presented with an extra option in the modal to select SHP file type.

The export will create a .zip file to contain the multiple files that are associated with this data type.

What about everything else?

With our change to this new format of celebrating our releases, you may be asking: "What about all the other changes you've made?" If you'd like to get a full list of all our changes in this release, do head over to our changelog.

Alloy Changelog

Welcome to Notifications

Welcome to the all new notifications section in Alloy. Here you will find highlights to showcase new features and updates coming in each new release.  We hope that this will help you get to most out your Alloy system. 

You can still access all announcements including API updates by visiting our announcements site at https://announcements.alloyapp.io.

If you have any feedback on this change or any other, we would love to hear from you so get in touch at product@weareyotta.com.

Discuss this post in the Alloy Community here: https://community.alloyapp.io/c/announcements/


Removal of Item Versioning


Note

Due to a technical error, this post is being announced after the changes in Phase 1 were issued. 

Overview

When first designing Alloy, we anticipated the need for an item setting that would allow versioning. With this setting enabled, each change to the item would create a new version of the item with only the most recent item being visible in the application. While we still believe this function may hold value in the future, maintaining the feature in the application offers very little benefit over the item audit logs. Instead, the item versions consume storage space unnecessarily when enabled on designs. 

We have therefore taken the decision to remove item versioning for the time being. 

Who will this affect?

The change to remove item versioning will not impact the functionality within the system and is being made to improve performance for customers with large numbers of items. 

This work will mark the properties and endpoints marked as Obsolete to be removed at a later date. If this can cause a problem for API users, we urge you to take action during the time provided before removal as any integrations relying on obsolete properties may cease to function.  

Phase 1

Details

Both DesignWebModel and DesignInterfaceWebModel will not have the versioned property being returned anymore. It was already advertised as optional in the response and it is thus not meant to cause any problem.

The start and end properties ofItemWebModel and ReconstructedItemWebModel are now obsolete and will always return respectively 0000-01-01T00:00:00Z and 9999-12-31T12:59:59Z.

The DesignEditWebRequestModel and DesignCreateWebRequestModel will not accept the versioned property anymore. If the property is passed, it will be ignored.

The ReconstructedItemDeltaWebModel optional properties start and end will not be returned anymore.

The GET api/item-version/{itemId} and the GET api/item-version/item/{id} are now obsolete and will be removed as part of phase 2.

Phase 2

The start and end properties of ItemWebModeland ReconstructedItemWebModel  that were obsoleted during phase 1 will be removed.

The GET api/item-version/{itemId} and the GET api/item-version/item/{id} that were obsoleted during phase 1 will be removed.

Phase 1 Expected Release Date

3rd September 2021

Phase 2 Expected Release Date

March 2022

Change to AQS Query Results Display in Custom Reports

Overview

We are making a temporary change to the behaviour of how the results from an AQS Query Data Source are displayed in custom reports. This change will affect the display in controls when linking to multiple items to make this work consistently across all attribute types.

This change is being made to prevent report generation from failing under certain conditions described below.

Who will this affect?

This change will affect anyone using the AQS Query Data source with join attributes within the Report Builder to build custom reports.

Given the specific nature of this change, we do not expect it to widely affect users. However, if you notice that this change has had an adverse affect on the output in your reports, please do contact our support team.

 

Details

Previously, when an AQS Query resulted in multiple matched items for join attributes, this would be displayed as X Items into the resulting table cell in the report. However, since all entries in a table column must be of the same type, this would only work for String attributes (since the entry X Items is also a String) and would result in an error for other attribute types with the report failing to generate. 

From now on, resulting cells will show a single item attribute result, similar to the current behaviour of the single join result. If multiple values are matched, only the first attribute of the first item will be displayed. 

Example

Let's assume there is a project containing 4 job tasks. If the user would create a custom report using an AQS Query data source rooted on Projects and linking to Jobs via the Tasks Attribute (Project DS -> Tasks to Jobs DS -> Title). If a Table control was then added to the layout based on this data source, the display of the data in this table will change following this change. 

Before Change

Previously, the table would have shown 4 Items in the joined Tasks and Title column.


After Change

However, from now on this would display one of the job titles e.g. JOB-9.

Note

If you would like to continue using this aggregation, this can be achieved by using a Join Data source rather than an AQS Query Data source.


Expected Release Date

30th September 2021


Passwords to Require at Least One Special Character

Overview

We are making a change to the password policy to ensure at least one special character is present when setting an Alloy password. This will increase password complexity in order to prevent unauthorised access to your Alloy account.

Who will this affect?

Current passwords will remain valid even if they do not contain a special character, so this won't impact existing users immediately after release.

However, this will apply to existing users when they change or reset their passwords. The change will also affect new users setting up an Alloy account for the first time.

Details

New user passwords, and existing users changing or resetting passwords, will need to include at least one special character. A special character is a character that is not an alphabetic or numeric character, e.g. @&*[].


Expected Release Date

28th October 2021

Alloy API now OpenAPI 3.0 Compliant

Overview

We are making changes to some of our endpoints in order to become fully OpenAPI 3.0 compliant. Additionally, we will be adding Redoc under the /docs path to provide an even easier way of navigating our API definition and explore models that use discriminators.

Who will this affect?

There are several changes to various endpoints as detailed below. None of these changes are expected to be a breaking change and the current method of calling these endpoints will remain compatible.

There will however be a Phase 2 of this work in which we will remove any obsolete endpoints and properties. API users should complete any transition to the new endpoints before the Phase 2 date to avoid issues.

Details

Delete Endpoints

The following endpoints will change to have a query parameter named signature to pass the signature. Passing the signature in the body will be obsoleted and removed in Phase 2:

DELETE api/access-policy/{code}/rule/{id}
DELETE api/custom-report/{customReportCode}/data-source/{code}
DELETE api/custom-report/{customReportCode}/document-definition/{id}
DELETE api/design/{code}/attribute/{attributeCode}
DELETE api/design/{code}/interface/{interfaceCode}
DELETE api/workflow-action-group/{code}/action/{id}
DELETE api/workflow/{code}/action/{id}

User Group Endpoints

There are 2 new user group endpoints to add and remove users from a user group:

POST api/user-group/user/add
POST api/user-group/user/remove

The following two (current) endpoints will be marked obsolete and removed in Phase 2; note, these will no longer be visible through the swagger documentation.

POST api/user-group/user
DELETE api/user-group/user

Role User Endpoints

There are 2 new role endpoints to add and remove users from a role:

POST api/role/user/add
POST api/role/user/remove

The following two (current) endpoints will be marked obsolete and removed in Phase 2; note, these will no longer be visible through the swagger documentation. 

POST api/role/user
DELETE api/role/user

Role Group Endpoints

There are 2 new role endpoints to add and remove groups from a role:

POST api/role/group/add
POST api/role/group/remove

The following two (current) endpoints will be marked obsolete and removed in Phase 2; note, these will no longer be visible through the swagger documentation. 

POST api/role/group
DELETE api/role/group

Expected Release Dates

Phase 1 : 29th September 2021

Phase 2 : 31st March 2022

Mesh Open API Support and Deprecations

Overview

In order to improve the accessibility of Alloy Meshes, we will be adding support for Open API JSON and endpoint documentation. Following a detailed review of the exposed endpoints and data models, we will also be acting to implement the following deprecations to provide better consistency between naming and conventions with the Alloy Core, Extended and Forge API's. Finally, we will be making changes to the way in which the security token is passed to the Meshes to improve security. 

Security token to be removed from query string

We will no longer be accepting the token parameter which represents an Alloy API token on the query string, this should be passed via the HTTP headers in all future requests using the same key of token.

Example CURL before:

curl -X 'POST' \
  'http://localhost:3000/aws-iot/update-device?itemId=abc?token=123' \
  -H 'accept: application/json' \

Example CURL after:

curl -X 'POST' \
  'http://localhost:3000/aws-iot/update-device?itemId=abc' \
  -H 'accept: application/json' \
  -H 'token: 123' \

MeshResponseWithItemWebModel renames property itemResponse to item

The following meshes are expected to return a response which includes an item payload under the property itemResponse.

  • alloy-push-mayrise-notice-mesh
  • json-push-alloy-mesh
  • telensa-fault-push-alloy-mesh

This property is being renamed to item but we will continue to return itemResponse until the date specified below for Phase 2. 

Example response before:

{
  "itemResponse": {
    "itemId": "af32ef...",
    ...
  }
}

Example response after:

{
  "itemResponse": {
    "itemId": "af32ef...",
    ...
  },
  // we will duplicate the data in the recommended item property
  "item": {
    "itemId": "af32ef...",
    ...
  },
}

Risk calculation mesh to remove itemsResponse property

The risk calculation mesh alloy-push-risk-calculation-mesh is removing the itemsResponse property as it was not correctly indicating the success of the response model, it isn't required and will therefore be removed as part of Phase 1 changes. 

When do these changes take effect?

The above changes will be rolled out in June 2021, with deprecations finally removed in January 2022 with the following expected release dates: 

Expected Release Date

Phase 1: June 24th 2021

Phase 2: February 24th 2022

ExportGeometry on ExportWebRequestModel to Be Obsolete

Overview

In an earlier announcement titled Removal of Item Title, Subtitle and Geometry properties (Phase 2), users were advised to update export AQS query to return the above attributes if they need them for their exported items. As part of these changes, we are making the ExportGeometry option obsolete as this can now be specified through the inclusion/omission of the geometry attribute in the query. 

Who will this affect?

Users querying the data with geometry via the API will be affected by the change.

Details

We are now making ExportGeometry optional and obsolete on the ExportWebRequestModel and it will be removed in due course in favour of requesting attributes_itemsGeometry as part of the export AQS attributes.

Expected Release Date

October 29th 2020