What features and changes will there be in the Administrator Software Development Kit (ASDK) 1.4?
Altiris Administrator Software Development Kit 1.4 Release Notes
Release 1.4 implements the following new features:
A PatchManagement library has been added. This library supports Patch Management Solution functionality. It includes the following APIs:
- CustomSeverity class methods:
- DoesSeverityExist—Checks to see if severity exists.
- GetCustomSeverity—Returns a CustomSeverityDetails item for a custom severity name
- CustomSeverityDetails class public fields:
- CustomSeverityName—Name of the severity
- Level—Level of the security
- GlobalOptions class methods:
- AddManagedLanguageToSolution—Adds a culture to the list of current managed languages
- GetChineseSimplifiedCultureGuid—Returns the Guid for the Chinese_Simplified culture
- GetChineseTraditionalCultureGuid —Returns the Guid for the Chinese_Traditional culture
- GetCurrentManagedLanguages—Returns a guid array of current managed languages
- GetDutchCultureGuid—Returns the Guid for the Dutch culture
- GetEnglishCultureGuid—Returns the Guid for the English culture
- GetFrenchCultureGuid—Returns the Guid for the French culture
- GetGermanCultureGuid—Returns the Guid for the German culture
- GetItalianCultureGuid—Returns the Guid for the Italian culture
- GetJapaneseCultureGuid—Returns the Guid for the Japanese culture
- GetPortugueseCultureGuid—Returns the Guid for the Portuguese culture
- GetRussianCultureGuid—Returns the Guid for the Russian culture
- GetSpanishCultureGuid—Returns the Guid for the Spanish culture
- GetSwedishCultureGuid—Returns the Guid for the Swedish culture
- RemoveManagedLanguageFromSolution—Removes culture from the current managed language list
- PatchTasks class methods:
- StartDownloadSoftwareUpdatePackagesTask—Starts the download software update packages task
- StartMicrosoftPatchManagementImportTask—Starts the patch management import task
- StartReviseSoftwareUpdateTasksTask—Starts the revise software update tasks task
- StopDownloadSoftwareUpdatePackagesTask—Stops the download software update packages task
- StopMicrosoftPatchManagementImportTask—Stops the patch management import task
- StopReviseSoftwareUpdateTasksTask—Stops the revise software update tasks task
- SoftwareBulletins class methods:
- ClearCustomSeverityForBulletin—Clear the custom severity for the bulletin
- EnableBulletinReadyForDistribution—Attempts to enable all of the updates within a bulletin so that the bulletin can be distributed
- GetGuidArrayAllSoftwareBulletinsByCustomSeverity—Returns a guid array for all the existing bulletins where a custom severity has been assigned
- GetGuidArrayAllSoftwareBulletinsBySeverityAndVendor—Returns a list of all software bulletins
- GetGuidArrayAllSoftwareBulletinsByYear—Returns all of the software bulletins for a particluar year
- GetNumberOfSoftwareUpdatesWithinBulletin—Returns the number of Software Updates within a Software Bulletin Resource
- GetSeverityForBulletin—Returns the severity for a chosen software bulletin resource
- GetVendorGuidForSoftwareBulletin—Returns the Vendor Guid for a Software Bulletin
- IsBulletinStaged—Returns is a bulletin is ready to have a task created for it
- SetCustomSeverityForBulletin—Sets a custom severity for the software bulletin resource
- SoftwareUpdateTasks class methods:
- AddBulletinToSoftwareUpdateTask—Adds a Software Bulletin to an existing Software Update Task
- AddCollectionToSoftwareUpdateTask—Adds a collection to the software update task
- ChangeNameOfSoftwareUpdateTask—Changes the name of the Software Update Task
- CloneSoftwareUpdateTask—Clones an existing Software Update Task
- CreateSoftwareUpdateTaskFromBulletin—Creates a software update task, for the bulletin guid passed in. All parameters will default to the Vendor Policy For the Product Guid of the bulletin
- CreateSoftwareUpdateTaskFromBulletinName—Creates a software update task for the bulletin name passed in. All parameters will default to the Vendor Policy For the Product Guid of the bulletin
- DeleteBulletinFromSoftwareUpdateTask—Deletes a Software Bulletin from a Software Update Task
- DeleteSoftwareUpdateTask—Deletes a software update task
- EnableSoftwareAdvertisment—Sets the enabled state for a Software Advertisment - note that only if the Software Update Task containing this advert is enabled will this advert be enabled
- EnableSoftwareUpdateTask—Enable or disable a Software Update Task
- GetSoftwareAdvertsFromSoftwareUpdateTask—Returns an array of guids of all the Software Advertisments for a Software Update Task
- GetTargetCollectionsFromSoftwareUpdateTask—Returns the array of target collections for the Software Update Task
- IsSoftwareAdvertismentEnabled—Returns if a software advertisment is enbaled or not
- RemoveCollectionFromSoftwareUpdateTask—Removes a target collection from the list used by the Software Update Task
The Administrator Software Development Kit Web service layer now supports sending ASDK method requests via the web service's URL query string. (The web service can also be accessed via proxy classes as before.) For more information and examples, see the Altiris ASDK > Programming Guides > Web Service Programming GUID > URL Query String section of the ASDK help documents.
Previous releases of the ASDK have included three different mechanisms (sometimes called "layers") for conveniently accessing ASDK functionality:
- A COM layer
- A Web service layer
- A Command-Line Interface (CLI) layer
Release 1.4 has added a fourth "layer"—ASDK functionality for some solutions can now be accessed as pre-defined tasks that can be run directly in Altiris Task Management solution. These Administrator Software Development Kit tasks will appear in the Create a New Task dialog under the Server Tasks folder if you check the various "Tasks" checkboxes when installing the ASDK. (Task Management Solution and the underlying Notification Server solution must first be installed or the Task check ox for that solution will not appear.) To access the Create a New Task dialog, right-click on the Server Tasks folder in the Tasks tree in NS, then select New => Task/Job. Tasks exist for the NS, Patch Management, Asset Management, Helpdesk and Software Delivery (full) ASDK libraries. For more information, see the Altiris ASDK > ASDK Programming Guides > Tasks Programming Guides section of the ASDK help documents.
Note: You must install the ASDK Server component for any NS Solution for which you install the ASDK Task layer. For example, if you select the Patch Management Tasks component in the installation wizard, you must also select the Patch Management Server component.
Supported NS Solution Versions
Administrator Software Development Kit 1.4 was tested against, and is supported for, the following Notification Server Solutions versions:
- Notification Server Console: 6.0.6074
- Patch Management Solution: 6.2.3644
- Software Delivery Solution: 6.1.1058
- Deployment Server: 6.8 Build 282 SP1
- Asset Control and Contract Management Solution: 6.2.1152
- Helpdesk Solution: 6.0.297
- Task Management Solution: 6.0.1356
Release 1.4 has fixed the following issues:
- CreateLocalInstance as described in the Com Programming Guide is now available for Altiris.ASDK.Helpdesk and Altiris.ASDK.NS.SoftwareDelivery modules. (54589)
- GetScheduleXml now works with SoftwareDelivery advertisements. (43536)
- ComputerManagement.GetComputerIDsInGroup method in the Deployment Server API set no longer returns an error if a group folder is empty. (52069)
- FolderManagement.DeleteFolderByName in the Deployment Server API set no longer deletes the parent folder instead of the (lowest-level) child folder if the child folder does not exist.
- ComputerManagement.GetComputerInfo in the Deployment Server API now works as intended. (51528)
- Calling ComputerManagement.GetComputerInfo() in the Altiris.ASDK.DS namespace on a "virtual computer" created by a previous call to ComputerManagement.AddBasicVirtualComputer() or AddVirtualComputer(), no longer results in an exception. However, since the virtual computer is not a real computer but rather just a "placeholder," this call returns only the minimal data originally given to the method used to created the virtual computer. (53378)
- When calling JobManagement.CreateJob() or JobManagement.UpdateJob() in the Altiris.ASDK.DS namespace, if the XML-string parameter contains a <Configuration_Static_Route_Table> element that does not contain child nodes for all columns in that table, the method no longer throws a NullReferenceException. (53637)
Release 1.4 has the following known issues:
- Any VBScript (COM) API call in the Altiris.ASDK.DS.ScheduleManagement library that takes a Schedule Attribute argument comprised of an XML string with an embedded date in it, does not work correctly when using CreateLocalInstance(). As a workaround, avoid calling CreateLocalInstance() and instead use the web service by setting the TargetServer property and calling Authenticate() (see the documentation help files for how to make this change in your script). (53379)
- If the "Tasks" ASDK layer is installed, an attempt to create a Job in the Task Management solution may result in a hung console if you are using Internet Explorer 6. To avoid this problem, upgrade to Internet Explorer 7. Alternately, if you don't need the ASDK Tasks, don't check the "Tasks" checkboxes when you install the ASDK.
- Depending on which version of Patch Management Solution, you have installed in Notification Server, you may be unable to successfully run the Patch Management ASDK methods "CreateSoftwareUpdateTaskFromBulletin" and "CreateSoftwareUpdateTaskFromBulletinName" using the Command Line Interface (CLI). This is due to a bug in a Patch Management Solution configuration file. However, you should still be able to run these methods successfully using the COM (VBScript) interface or the web service.
- Altiris.ASDK.DS.JobManagement.GetJob returns the job script without the necessary end-of-line escaped characters embedded in the script text. To work around this issue, copy the returned text and replace whitespace in the script text with escaped XML CRLF characters where needed, for example: "<script>First line second line</script>" becomes "<script>First line second line</script>"
- The Altiris.ASDK.SWD.SoftwareManagementBasic library has been deprecated.
- All new development should use the Altiris.ASDK.NS.SoftwareDelivery namespace to interact with Software Delivery Solution
- The ItemManagementLib library: Schedules for certain policies such as advertisements
- The ItemManagementLib library interacts with item schedules in various ways. For example:
- Several ItemManagementLib methods return an ItemDetails object (or an array of such objects) that contains the properties "IsSchedulableItem" and "ScheduleXml." These properties contain a boolean value indicating whether the item is schedulable, and an XML string containing the current schedule for items that are schedulable, respectively.
- The SetItemsSchedule() method allows the user to set a new schedule for a schedulable item.
- The ExecuteSchedulableItem() method calls the schedule execution method on a schedulable item.
- The key to working with these properties and methods is understanding what a "schedulable item" is within the context of the ItemManagementLib library. In this context, a schedulable item is any item that supports scheduling of server-side tasks. (Internally, this is implemented by having the item implement the Altiris.NS.ItemManagement.IItem.IItemScheduling interface.) If an item does not implement the IItemScheduling interface, it does not support scheduling of server-side taks and consequently it should not be considered a "schedulable item" for puposes of the ItemManagementLib module.
Note: This is true even though certain other items, such as an advertisement, support client-side scheduling even though they do not support server-side scheduling using the ItemManagementLib methods.
- For example, although the user can set a client-side schedule for a software delivery advertisement in the Altiris Console, within the scope of the ItemManagementLib library an advertisement item is not a "schedulable item" because an advertisement item (Altiris.NS.StandardItems.SoftwareDelivery.AdvertisementItem) does not implement IItemScheduling.
- An advertisement item is a specific type of (inherits from) the Altiris.NS.ItemManagement.PresentationManagementItem.Policy abstract class. The Policy class itself does not implement IItemScheduling; therefore, custom types deriving from Policy may or may not be "schedulable items" depending on whether the given type itself implements IItemScheduling. For example, an AdvertisementItem is not server-side schedulable, but a NotificationPolicy is server-side schedulable.
- If you are unsure whether a certain policy type is schedulabe for purposes of ItemManagementLib, check the type's interfaces or inheritance using Microsoft Visual Studio's Object Browser or any other disassembler program.
- Using the ItemManagementLib to work with the schedule of a policy, such as an advertisement, that does not implement IItemScheduling may cause an exception to be thrown or other unexpected result, such as causing the Altiris Console to hang.
- For example, if an AdvertisementItem GUID is passed in as an argument to ItemManagement.GetItemByGuid(), the IsSchedulableItem property in the returned ItemDetails object will contain the value false and the ScheduleXml property will be empty. This is the expected result, since an advertisement supports only client-side scheduling, not server-side scheduling.
- Similarly, an advertisement item cannot be scheduled using the ItemManagementLib.SetItemsSchedule() method, as it will throw an exception.
- To work with advertisement items, use the SWDSolnAdvertisementManagementLib library instead.
- For example, to set a client schedule for an advertisement item, use the SWDSolnAdvertisementManagementLib.SetAdvertisementExScheduleScheduleXML() method.
- The ItemManagementLib library interacts with item schedules in various ways. For example:
To upgrade your version of the ASDK you must first completely uninstall the current version and then install the new version. Please note that the ASDK supports only the latest released versions of Notification Server and its various solutions (including the latest service pack).
To upgrade, complete the following steps:
- Click Start > Control Panel > Add or Remove Programs.
- In the Add or Remove Programs dialog, click on Altiris ASDK.
- Click the Remove button.
- A dialog will appear warning you that this will remove all the ASDK components on this computer. Click OK.
- After a few minutes a dialog will appear indicating the ASDK has been uninstalled. Click OK.
- Download and unzip the ASDK installation file.
- In the extracted directory, double click the executable Altiris_ASDK_1_4.exe.
- Complete the installation as outlined in the installation section of the ASDK documentation (available for separate download).
Part III—Install to other computers
- If you have installed the Administrator Software Development Kit or any portion of the ASDK onto another computer, be sure to update those files as well. You will need to login to that machine, uninstall the current version, and then install the new version.