Releases: CSOIreland/Server-API-Library
5.1.1 RTM
5.1.0 RTM
5.0.0 RTM
N.B. You must implement the required changes as per Issue #21 to make the upgrade backward compatible.
[ENHANCEMENT] Implement an IADO interface #20
[ENHANCEMENT] Secure public API access #21
Following the implementation of interfaces, such as the IADO, it is now required to specify which public API methods must be granted Web access.
- The new attribute
AllowAPICall
has been created and must to added to every public API methods that require Web access.
[ENHANCEMENT] Google Firebase Authentication integrated #22
4.6.0 RTM
[ENHANCEMENT] Add script to create default database #14
[ENHANCEMENT] Change default IsolationLevel in ADO.StartTransaction #13
Consider setting the
Is Read Committed Snapshot On
toTRUE
in the SQL Server Database options and use the default parameter in theAPI.ADO.StartTransaction()
method to achieve better database performance.
[ENHANCEMENT] Extend Active Directory to return Manager property #10
- Add the API_AD_CUSTOM_PROPERTIES key in all Web.config files and set your custom properties comas separated i.e. "Manager, Other"
<!-- Active Directory - Custom Properties (comas separated, case sensitive) --> <add key="API_AD_CUSTOM_PROPERTIES" value="" />
- Follow the next step only if you wish to implement your custom AD (Active Directory) properties
- Implement your extended UserPrincipal query filter using the following template per each property you wish to add (i.e. Sample):
[DirectoryRdnPrefix("CN")] [DirectoryObjectClass("Person")] public partial class UserPrincipalExtended : UserPrincipal { public UserPrincipalExtended(PrincipalContext context) : base(context) { } // Create the "Sample" property. [DirectoryProperty("sample")] public string Sample { get { if (ExtensionGet("sample").Length != 1) return string.Empty; return (string)ExtensionGet("sample")[0]; } set { ExtensionSet("sample", value); } } }
- Just pass your type UserPrincipalExtended to the API.ActiveDirectory.Search() or API.ActiveDirectory.List(). If no type is passed, the default UserPrincipal type is used:
var userDetails = API.ActiveDirectory.Search<UserPrincipalExtended>("xxxxxxxx"); var allDirectory = API.ActiveDirectory.List<UserPrincipalExtended>();
4.5.0
4.4.1
[ENHANCEMENT] Improve JSON deserialize performance for large strings #7
Add the following key to the Web.config and set the value of API_MEMCACHED_MAX_SIZE to the pre-set limit during the Server Side installation process (usually 128)
<!-- MemCacheD - Set the max size in MB before splitting a string record in sub-cache entries --> <add key="API_MEMCACHED_MAX_SIZE" value="128" />
[ENHANCEMENT] Allow large objects over 2GB in memory #6
Diff & Merge the
Web.config
to add the required Runtime configuration<runtime> <gcAllowVeryLargeObjects enabled="true" /> </runtime>
[ENHANCEMENT] Add database selection for Performance monitor #5
Add the following key to the Web.config and set the value of API_PERFORMANCE_DATABASE to the chosen connectionString
<!-- Performance - Choose the Database connection string where to store the records --> <add key="API_PERFORMANCE_DATABASE" value="defaultConnection" />
4.4.0
- Class API.TwoFA implemented for handling 2FA (Two-Factor Authentication) algorithm.
- API Session Cookie implemented for both API.JSON-RPC and API.RESTful. Add the
API_SESSION_COOKIE
key into theWeb.config
- Method API.ActiveDirectory.IsValidPassword implemented
- Method API.Utility.GetRandomMD5 implemented
- Method API.Utility.GetRandomSHA256 implemented
- Method API.ReCAPTCHA.Validate fixed by logging at the
INFO
level rather thanFATAL
when the ReCAPTCHA does not validate
4.3.2
- API.Performance Class fixed when the Web.config key
API_PERFORMANCE_ENABLED
isFALSE
4.3.1
- Method Utility.GetUserAgent fixed when no user-agent is available (null).
- Aborting a response fixed when issuing an error by raising an exception.
4.3.0
API.Performance implemented to collect server performance indicators:
- Add the
API_PERFORMANCE_ENABLED
key in theAppSettings
of the Web.config - If you enable this new feature, then you must complete first the following steps:
- Create the table
TD_PERFORMANCE
in you database by running the SQL script available atroot/db/td_performance.sql
- Add your
Application pool
in IIS (i.e.XXXXXX
) to the Performance Monitor Users group.
- Create the table
How to add an Application pool
to the Performance Monitor Users group.
- Change the Location to be the local Server
- Add the user by typing
IIS APPPOOL\XXXXXX
and click on Check Names to validate.
- Open the Command Line or PowerShell as Administrator.
- Run
iisreset
for all changes to take immediately effect.