You can now use a new link type to create menu item links from InfoSQL warnings. Often, when there's a warning about a problem the user experience can be improved by either linking from the warning to a menu item that can fix the problem or at least show more detailed information.
The WarningSuccess column can be used to show positive alerts.
You can now create multiple color themes and choose which to use on an instance basis. This is useful if you have multiple production systems that share the same development system, but where the production systems should use different theme colors.
Input constants are dropdown options declared in metadata that are prepended to the options returned from the stored procedure. Originally only dropdowns could only use input constants when used as a parameter, but now support has also been added for field information (that is, on a new/edit menu item).
Sometimes you generate a text document in the database (for example a XML or JSON document). Previously the Download File component only supported binary data, so you would manually have to convert the text to bytes if a user should download your document.
You could either use the SoftadminUtil.TextEncoding_StringToBytes function, which is not available in the cloud, or use SQL Server's CONVERT, which has limited encoding support.
Now you can use the TextContent and TextEncoding columns to serve text files, and leave the binary conversion to the web server.
You can use the new setting RetainJobHistoryMonths if you need to retain the run history of jobs for more than the default two months.
A new type of login link has been introduced: static login links. A static login link is used to allow other systems to link to the Softadmin system. It can not be instantiated and will only take parameters from the query string. You can also use static login links when there's no need for instantiation (for example the link takes no parameters, or when users editing the query string values will not cause any security problems).
Unlike instantiated links the link key will be the same in all system instances. For example:
https://dev.example.com/admin/Login.aspx?Link=z1DNqpUJlX9386ikaWrQrGDawIk
https://stage.example.com/admin/Login.aspx?Link=z1DNqpUJlX9386ikaWrQrGDawIk
https://prod.example.com/admin/Login.aspx?Link=z1DNqpUJlX9386ikaWrQrGDawIk
In an edit menu item, if a dropdown starts with a value that is not found among its options then an option with the label "Unchanged value" will automatically be added. This prevents end users from accidentally changing historical data but gives them no clue as to what "value" the dropdown actually has.
The old solution to this was for the developer to manually write the dropdown procedure in such a way as to always add the current value, even if it would not normally be available. For example
CREATE PROCEDURE dbo.MaintenanceItem_UserAssigned_Dropdown
@MaintenanceItemId int = NULL
AS
BEGIN
DECLARE @UserIdAssignedCurrent int = (
SELECT
UserIdAssigned
FROM
dbo.MaintenanceItem
WHERE
MaintenanceItemId = @MaintenanceItemId);
SELECT
UserId,
FirstNameLastName
FROM
SoftadminApi.[User]
WHERE
IsEnabled = 1
OR
UserId = @UserIdAssignedCurrent;
END
This code takes time write, especially when the dropdown is used by multiple different entities, meaning that it was often not done. We have now added the HideUnlessCurrent column.
CREATE PROCEDURE dbo.MaintenanceItem_UserAssigned_Dropdown
AS
BEGIN
SELECT
UserId,
FirstNameLastName,
~IsEnabled AS HideUnlessCurrent
FROM
SoftadminApi.[User];
END
When you click the Edit button next to a procedure name, for example in edit menu item, edit field information, or edit parameter, if no procedure with that name exists then you will instead get a CREATE PROCEDURE
statement.
In earlier versions, this CREATE PROCEDURE
did not have any parameters and had a single RETURN statement as body.
Softadmin® has a basic knowledge of which parameters a component's procedure will need to support based on component type and component mode. For example, a calendar will always require the @FromDate
and @ToDate
parameters. Grid will require the @ColumnName
in Editable grid mode but not in normal grid mode. From now on, this information will be used to give the newly created procedure a basic set of parameters and body.
CREATE OR ALTER PROCEDURE Example.Calendar
@FromDate date = NULL,
@ToDate date = NULL,
@Resources bit = NULL,
@ExtraInfo bit = NULL
AS
BEGIN
SET NOCOUNT, XACT_ABORT ON;
IF @Resources = 1
BEGIN
RETURN;
END;
IF @ExtraInfo = 1
BEGIN
RETURN;
END;
END;
There were no admin menu items to administer the content of tables like SoftadminApi.AdGroup, as it was assumed that you would always build menu items where the customers would administer the content of these tables. In practice not all organizations value the ability to administer this without developer help enough to motivate the construction of customer-specific menu items.
We've now created normal admin menu items where you as a developer can configure these tables as well as the system settings related to Single Sign-on.