Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

C•CURE 9000 v2.

90 Connected Program Kit


C•CURE 9000 Connected Program Kit Release Note
July 2020

This release note provides important information about C•CURE 9000 Connected Program Kit for version 2.90.

This release note focuses on information for the C•CURE9000 SDK. Refer the victor Web Service Release
Notes included in this installer package for more information regarding the victor Web Service SDK. In case of
discrepancy, the information in this document supersedes the information in any document referenced herein.

Contents

1. Introduction
2. Installation
3. Contents of the kit
4. New features and enhancements
5. Upgrading your integration
6. Upgrading development environment and rebuilding integrations
7. Source code changes
8. Limitations

Introduction
The C•CURE 9000 Connected Partner Program Kit is a product that allows Software House Connected Partner
Program Developers to create products or components that integrate with C•CURE 9000.

Installation
Perform the following steps to install the C•CURE 9000 Connected Program Kit.

1. Download the ISO file from the installer software. Double-click Setup.exe to open the installer
dashboard.
2. Click Advanced.
3. Select the victor Application Server, CCURE 9000, and Connected Program Kit check boxes.
4. Select the check boxes of any additional services that you require and click Next.
5. Follow the prompts in the wizard to install the Connected Program Kit.

Contents of the kit


The Connected Partner Program Kit for C•CURE 9000 v2.90 contains:

 victor Application Server: this is the CCURE 9000 server service that is needed for the integration.
 CCURE9000 SDK: contains all tools, sample source code, and documentations needed to develop
integration to C•CURE 9000 using the CCURE9000 SDK. The following are important documents that
get installed into the \Tyco\CrossFire\SDKDocs folder. Refer to the Connected Partner Program Kit
User Manual for more details:
o ProgrammersGuide.chm
o ProgrammersReference.chm
o Connected Partner Program Kit Release Notes
o Connected Partner Program Kit User Manual

8200-1950-32 A0 1
 victor Web Service API: contains all tools, samples source code, and documentations needed to
develop integration to C•CURE 9000 using the victor Web Service. The following documentation is
included:
o Victor Web Service for Partners guide
o Victor Web Service for Partners release notes
o Victor Web Service for End Users guide
o Victor Web Service for End Users release notes
 CCURE Web SDK: contains all tools, samples source code, and documentations needed to develop
integration to C•CURE 9000 using the CCURE Web SDK.

New features and enhancements


 C•CURE9000 v2.90 SDK requires .NET Framework 4.8, .NET Core SDK 3.1, and Visual Studio 2019
v16.4.4 or later to work correctly. NET Framework 4.8, .NET Core SDK 3.1 are installed automatically
by the Connected Partner Programinstaller. If there is an issue installing the components on your
development system, install the components manually. Refer to chapter 1 and 2 of the C•CURE
Connected Partner Program Kit Programmer's Guide for details on requirements and installation
instructions for C•CURE 9000 v2.90 SDK.

 Due to the change of .NET framework, all integrations using SDK will need to be recompiled to support
C•CURE 9000 v2.90.

 Starting in 2.90, you can fully test your integration’s unsigned binaries with the Administration
Workstation in your development environment. You only need to submit your final assemblies to the
SDK Engineering team for strong signing once you are ready to release to production. This helps save
time on signing/resigning the binaries as you iteratively modify and rebuild your code. If you copy
unsigned binaries into the production environment, the production system will fail to start up. For more
information, refer to the Tools section of the Samples, Tools, and Templates chapter of the C•CURE
Connected Program Kit Progammer's Guide.

 C•CURE9000 v2.90 SDK supports the redirecting of FindObject on an enterprise environment. When
operating in an enterprise environment and retrieving objects via the FindObject method in the
IEnhancedDataAccessService interface, the call redirects to the responsible application server for that
object. The responsible application server is determined by the object’s partition ID. Some overrides of
FindObject accept the partition ID. Use these overrides and provide the partition ID for best
performance. In the case of overrides that do not accept the partition ID, the local server is queried to
attempt to determine the partition ID. If the partition ID cannot be determined, the call to FindObject
may fail. This may occur when querying a SAS for an object owned by another SAS and not providing
the partition ID, or when querying the MAS for a newly persisted object owned by a SAS where
synchronization back to the MAS has not yet happened and the partition ID has also not been provided
to the call. Refer to the Enterprise Integration Considerations section in the Introduction chapter of the
C•CURE Connected Partner Program Kit Programmer's Guide for more details.
 Starting in C•CURE9000 v2.80, the SDK contains a new set of Security Operations Center (SOC)
productivity features. This includes a one-stop shop for assessing events with relevant live and
recorded video. C•CURE automatically detects cameras which may be associated with the assessed
event (or the user can add and save their own set of cameras), and it automatically attempts to retrieve
recorded video associated with the time of the event. Refer to the Video Framework chapter of the
C•CURE Connected Partner Program Kit Programmer's Guide for more details.

 Starting in CCURE9000 v2.80, due to the major enhancement of the maps, all integrations which
expose icons added to the map need to undergo some re-testing of the maps. The following tests
should be sufficient for each integration:

8200-1950-32 A0 2
o Verify that for each integration you can add each type of object that the integration creates.
This applies only to objects which are assignable on maps. Do this by editing a map and
clicking the “+” button.
o NOTE: The objects are combined differently than they were in 2.70. If the new object is
derived from a native CCURE9000 object, select the CCURE9000 object type and then select
the integration’s custom object. For example, if the integration’s custom new object is a
subtype of Input, first select the Input type, then the subtype can be discovered in the list which
appears.
If an object that should be able to be put on a map cannot be added, then a bug has been
discovered.
o The new search bar on the left can be used to add new types.
o NOTE: For integrations, the type name of the custom integration object can be entered but
cannot be searched by name. For example, if you enter DSC, all types containing the word
DSC will be displayed. When one of the types is clicked, it will bring up a dynamic view from
which the desired object can be dragged and dropped onto the map.
o Once a map has been designed containing icons representing at least one of each type of
object supported by the integration, save the map and then open it for viewing.
o For each icon on the map, change the state and verify that the icon now displays with the
correct state image. Verify this against two states for each icon at a minimum. Physical
hardware is required for this verification.

 More sample codes have been added to both the SDK sample solution.

 The C•CURE Connected Partner Program Kit Programmer's Guide contains more descriptive
information on the following:
o The integration registration process, including detailed instructions on how to obtain and
register a client connection GUID for your integration.
o A variety of functions, including manual object creations, SetMessageCode, journal message
format data, creating journal messages, and defining enumerations to manage the string key
words.

 Use the Connected Portal to log all queries related to SDK or victor Web Service. The
sdkeng@tycoint.com email address is obsoleted, and is no longer monitored.

Upgrading your integration


Due to the change of .NET framework, all integrations using SDK need to be recompiled to support C•CURE
9000 v2.90. Complete the following steps.

1. Install the C•CURE 9000 v2.90 SDK by following instructions from the Installation section of this
document.
2. Upgrade and recompile your integration and resubmit your assemblies to the SDK team for strong
signing to release to production. Refer to the following instruction sections for more details.
3. Execute your integration test plan. If the integration passes all test cases without any problems, there
are no breaking changes and you can use your integration on version 2.90 without further technical
modification.
If your integration does not run successfully with version 2.90, make all necessary code changes, test
and validate your assemblies, and then re-submit your finalized assemblies to Software House for
signing.
o NOTE: Server component DLL support is discontinued as of 2.30. Any server component that
is implemented as a DLL must be redesigned to run as a Windows service. The Connected

8200-1950-32 A0 3
Partner Program Kit contains a sample template that demonstrates how to accomplish this.
Refer to the Connected Partner Program Kit Programmer’s Guide for more information.
o All Connected Partner Program Kit integrations need to be migrated to C•CURE 9000 2.90
with data replication to the Master Application Server (MAS) disabled. Failure to disable
replication may cause conflicts with existing C•CURE 9000 objects. Refer to the Disabling
Replication section in the Developing for the Enterprise Architecture chapter in the C•CURE
9000 Connected Partner Program Kit Programmer’s Guide for more information.
o The Connected Partner Program Kit is not intended for installation and development of
integrations on the MAS. Do not install the Connected Partner Program Kit on a MAS, and do
not allow customers to install your integration on a MAS.

4. Contact the Software House Connected Partner Program to register and submit deliverables for your
integration as supported with 2.90.

Upgrading development environment and rebuilding integrations to support v2.90


Connected Partner Program developers

The following instructions are for Connect Programs partners who use the C•CURE 9000 SDK to develop
integrations with C•CURE 9000 2.90.

Everyone is required to complete the following:

 Ensure that you have a at least version 16.4.4 of Visual Studio 2019.
 Ensure that you have .Net Framework 4.8.0 installed. To install, open a .Net Framework project in
Visual Studio and try to change framework version. The system will prompt you to install. Alternatively,
click Download .Net Framework 4.8 Developer Pack from the following website:
https://dotnet.microsoft.com/download/dotnet-framework/net48.
 Ensure that you have .Net Core 3.1 installed to build and run the iSTAR driver. Install it from the
following link: https://dotnet.microsoft.com/download/dotnet-core/thank-you/sdk-3.1.101- windows-x64-
installer

If you already have integration projects on your machine that you intend to reuse after you have installed
C•CURE 9000 2.90, the following steps may be required.

1. Save all of your integration source, project, and solution files.


2. Wipe out the entire solution area.
NOTE: Carefully save all of your integration files, but ensure to remove all other files.
3. Restore all of the files.

Alternatively you can do the following:

1. Close all solutions including Crossfire SDK, CrossFire Server, Crossfire Client, NextGen Client, and
NextGen server.
2. For each solution, delete the .vs directory found in the same directory as the .sln file.

NOTE: This will cause you to lose breakpoints and you may have to reset the build version correctly,
usually any CPU.

8200-1950-32 A0 4
3. Optional: Delete the obj directory for all projects, one by one.
4. Rebuild all of your solutions.

You only need to complete these steps once. Once you have built your integrations, you may need to make
your source code to fix specific compile errors. See the following section.

Source code changes


You need to update an integration project that was built in C•CURE 9000 2.80 or earlier with source code
changes, in order to compile correctly in C•CURE 9000 2.90 environment.

The following is a list of common errors and how to fix them:

Problem: Unable to resolve Impersonation

Solution: Add reference to SoftwareHouse.CrossFire.Common.ClientInterfaceLayer.NetFramework

Problem: Unable to resolve ErrorLogger, or Unable to resolve ISystemTrace or ITraceLevelupdate or

ISystemTraceViewer or ITraceViewer or similar

Solution to all of the above: Add reference to SoftwareHouse.CrossFire.Common.Core.NetFramework

Problem: Unable to resolve ICrossfireUserControl

Solution: Add reference to SoftwareHouse.CrossFire.Common.Interfaces.NetFramework

Problem: Unable to resolve Utilities.SetupHelpProvider

Solution: Add reference to SoftwareHouse.CrossFire.Common.Shared.NetFramework and change call to


Utilities_NetFramework.SetupHelpProvider

Problem: Problems with ObservableDsoCollection and ObserverableCollectionCriteria

Solution: Add reference to SoftwareHouse.CrossFire.Common.DataServiceLayer.NetFramework and use


methods in ObservableDSOCollection_Helper and ObservableCollectionCriteria_Helper.

Problem: Problems with finding class System.Drawing.Common.DLL (in client code)

Solution: Add reference to System.Drawing.Common.Dll from bin\Client area.

NOTE: When adding references, if you are an internal user with access to Crossfire\Output directory, add
references to that directory, not to NextGen\Bin directory. This does not apply if you are an external user who
installs the 9000 and SDK.

The following is a list of virtually all new .NetFramework DLLs you might have to add:

 The following DLL comes from UnifiedPlatform\Output. The location matters for internal users only.
o If SoftwareHouse.CrossFire.Common.Shared is in references, you may need to include
SoftwareHouse.CrossFire.Common.Shared.NetFramework.
 The following DLLs come from Crossfire\Output. The location matters for internal users only.
o If SoftwareHouse.Platform.Crossfire.Common.ClientInterfaceLayer.dll is in references, you
may also need to include
SoftwareHouse.Platform.Crossfire.Common.ClientInterfaceLayer.NetFramework.dll

8200-1950-32 A0 5
o If SoftwareHouse.Platform.Crossfire.common.core.dll is in references, you may also need to
include SoftwareHouse.Platform.Crossfire.common.core.NetFramework.dll. All drivers may
need this reference in at least one project.
o If SoftwareHouse.Platform.Crossfire.common.DataserviceLayer.dll is in references, you may
also need to include
SoftwareHouse.Platform.Crossfire.common.DataserviceLayer.NetFramework.dll
o If ACVS.Enterprise.Common.Services is in references, you may also need to include:
ACVS.Enterprise.Common.Services.NetFramework.dll
 The following DLLs comes from Nextgen\Bin. The location matters for internal users only.
o If SoftwareHouse.Crossfire.Common.Interfaces is in references, you may also need to include
SoftwareHouse.CrossFire.Common.Interfaces.NetFramework. This is in client code.
o If SoftwareHouse.Platform.Common.Objects.dll is in references, you may also need to include:
SoftwareHouse.Platform.Common.Objects.NetFramework.dll.

The following is a reference list of libraries, many from Nuget, that have been updated. If your code is using
any of these libraries and is part of the server or client, you need to update your references to these libraries or
you will get mismatch errors:

 NewtonSoft.Json was updated to 12.0.2. This is found in all three areas: Tyco\CrossFire,
Tyco\CrossFire\ServerComponents, and Tyco\Ccure Client.

Limitations
There are no known limitations for the C•CURE 9000 Connected Program Kit for version 2.90.

End of Release Notes


The trademarks, logos, and service marks displayed on this document are registered in the United States [or other countries]. Any misuse
of the trademarks is strictly prohibited and Johnson Controls will aggressively enforce its intellectual property rights to the fullest extent of

8200-1950-32 A0 6
the law, including pursuit of criminal prosecution wherever necessary. All trademarks not owned by Johnson Controls are the property of
their respective owners, and are used with permission or allowed under applicable laws.

Product offerings and specifications are subject to change without notice. Actual products may vary from photos. Not all products include
all features. Availability varies by region; contact your sales representative.

© 2020 Johnson Controls. All rights reserved.

8200-1950-32 A0 7

You might also like