Releases: TKapitan/ALRM-BusinessCentral
Releases · TKapitan/ALRM-BusinessCentral
Alternate object IDs, skip of non-licensed object IDs for license generation, remove of obsolete objects, minor changes
Alternate object IDs, skip of non-licensed object IDs for license generation, remove of obsolete objects, minor changes
Latest
Major changes
- All OBSOLETE objects that were marked to be removed in 2021 were finally removed.
- Support for alternate object IDs (to have two ranges for the same extension - one for the on-premises, the second one for cloud).
- Add setting to the assignable range to skip default, non-licensed, object ids.
Other changes
- Generated ranges in license file generation have merged ranges if the range is the whole range.
- The extension usage is now renameable (only those extensions that aren't per bc instance).
Object name length validation, refactoring of AL Object Type definition, New Permission Sets, other minor changes and fixes
Major changes
- PermissionSets defined using XML definitions were replaced by AL permission sets. Three permission sets are available - "ALRM Admin", "ALRM User", and "ALRM API User".
- Heavy refactoring of AL Object Type definitions. Initially, the AL Object Types were defined using Enum, and all properties were defined using Interface implemented by specific codeunits. Now the AL Object Types are still defined using Enum, but the configuration of each type is defined in the new table "Object Type Configuration". The values in this table are created automatically during the extension installation and cannot be changed in UI. This change has been done because of a specific configuration for each object type. The Interface implementation is the default value but it is possible to switch to table definition in "ALRM Setup". The table definition will be made default implementation in the upcoming version and Interface implementation will be removed in 2021/Q4.
- New validation for object name length has been added. The max name length for each object type is 30 characters except PermissionSet & PermissionSetExtesion, with a limit of 20 characters.
Other changes
- "Sell as Item No." and "Flat-rate Invoicing as Item No." fields were added to the extension card & list. The fields specify which items are used for invoicing and can be used for sales evaluation of each extension in your own reports.
- New page, "Assigned Range Object List", was added that list all objects from all extensions. The page is read-only.
Fixes
- Primary Keys in core tables (Assignable Range, Extension & Business Central Instance) have been made NonBlank.
- The field "Extension ID" in the "Extension Object" table was empty.
Create New Object API methods update Extended object name
Major changes
- When the object is created using API and it already exists, the non-key fields (right now only extended object name) are updated with new value.
"Minimal API version" setting and validation in all APIs
Major changes
- ALRM Setup table & page were created.
- New field in ALRM Setup - "Minimal API version". This fields allows administrator to specify minimal version of API that has to be used in any API call. If older (lower) version is used for communication, the error is raised. All API requests were updated so they check this option.
New fields in AssignableRange API, Add evidence for extended object names (which object are extended by registered extension objects)
API changes
- New version of API v1.1, old version (v1.0) will be available until 2021/Q3.
- v1.0 changes
- New fields in assignableRanges API, see description in v1.1.
- API method CreateObjectLine in Extension API is no longer available (obsolete since 2021/01, marked to be remove in 2021/04).
- v1.1 changes
- New fields: description, defaultObjectRangeFrom, defaultObjectRangeTo, objectNameTemplate in assignableRanges API. As this is not breaking change, the fields are also available in older v1.0 version.
- CreateObject and CreateObjectWithOwnID API methods in extensions API now have another parameter ExtendsObjectname that specifies name of extended object. The value can be specified only for object types that extend another objects.
- API method CreateObjectLine in Extension API is no longer available (obsolete since 2021/01, marked to be remove in 2021/04).
Major changes
- Extended values provided in API for Assignable Ranges API (See Issue #5)
- New field "Extended Object Name" in Extension Objects that allows to define name of the extended object. Also possible to define the value using API CreateObject, CreateObjectWithOwnID (See Issue #4)
Other changes
- Caption & transalation improvements
- Minor refactoring
Improvements of Ranges per BC instance functionality, Support of ControlAddin object, minor fixes
Changes
- New supported object type "Control Addin".
- Add validation for "Ranges per BC instance" in assignable ranges that the extensions based on this range are allowed to have one usage only.
- Improvements of validations for extensions based on ranges with "Ranges per BC instance".
New supported object types, Preparation for BC2021w1, "Fill Object ID Gaps" setting on Assignable Ranges, New API method for consuming by VS Code Extension, many smaller enhancements
Major changes
- New setting on assignalbe range: "Fill Object ID Gaps"
- If set to true, the system tries to find gaps in assigned objects. If there is a gap in corresponsing ID range, system use the ID for newly created object.
- It is possible to set it on the header and lines, the header is for default ranges and the setting in lines is only for the range specified in the line.
- The process may have impact on performance of assigning new objects (however, should still be ok).
- New supported object types: PageCustomization, Profile
- New supported runtime: Business Central 2021 W1
- New supported object types: ReportExtension, PermissionSet, PermissionSetExtension, Entitlement
- New API method for consuming by VS Code Extension
- Microsoft.NAV.createObjectFieldOrValue for obtaining field IDs in "ALRM: New object extension field or value" command. Replace old command Microsoft.NAV.createObjectLine that is not called anymore).
- Microsoft.NAV.createObjectFieldOrValueWithOwnID for registering existing fields (with already assigned field/value ID) using "ALRM: Synchronize (beta)" command.
- Microsoft.NAV.createObjectWithOwnID for registering existing objects (with already assigned object ID) using "ALRM: Synchronize (beta)" command.
Other changes
- CreateObjectLine API replaced by CreateObjectFieldOrValue, Obsolete('Replaced by CreateObjectFieldOrValue(), will be removed 2021/04.')
- Created By field in Extension Object Line table (filled by user who create the record directly in BC or username provided using APIs method).
- ID to Extension Object Line record is assigned OnInsert (previously OnValidate of Extension Object ID).
- Some error messages were improved to be more readable/usable.
- It is possible to register also field/value names through UI or API (no additional functionality or validation)
- Code maintenance
Add Support for registration of existing object using API
v0.1.0.0 Add automatically generated object documentation for all objects
Add Support for object types without IDs (such as Interfaces)
v0.0.2.3 Update version & documentation
Minor Changes, Better Validation
v0.0.2.2 Update documentation & increase versions