During installation, the registration data needs to be included in the Team Foundation Server Integration database. Accomplish this by using the TFSReg command-line utility to take as input an XML file and the connections configuration file representing the registration data.
The registration entries can be added either separately or all together. TFSReg supports both delete and update operations. Default behavior is updating the registration entries. The /D option deletes the entries in the configuration file.
You can also use the connections configuration file to configure an extension to the Team Foundation Server, for example, you could add information to increase the capabilities of the Team Project Requirements Manager.
To obtain the connections configuration file, you need to call the Registration Web services and pass in null to the GetRegistrationEntries method, as shown in the following code example.
using Microsoft.TeamFoundation.CoreServices.Services;
using Microsoft.TeamFoundation.CoreServices.Proxy;
{
CoreServicesProxyServices bisServices =
newCpreServicesProxyServices();
string domain = "DomainCallerIsInterestedIn";
IRegistration regProxy =
(IRegistration) bisServices.GetProxy(domain,
typeof(IRegistration));
RegistrationEntry[] regEntries =
regProxy.GetRegistrationEntries(null);
}
The following is an example of a connections configuration file.
<?xml version="1.0" encoding="utf-8" ?>
<RegistrationEntries>
<RegistrationEntry>
<Type>vstfs</Type>
<ChangeType>NoChange</ChangeType>
<ServiceInterfaces>
<ServiceInterface>
<Name>CommonStructure</Name>
<Url>/Services/v1.0/CommonStructureService.asmx</Url>
</ServiceInterface>
<ServiceInterface>
<Name>Eventing</Name>
<Url>/Services/v1.0/EventService.asmx</Url>
</ServiceInterface>
<ServiceInterface>
<Name>GroupSecurity</Name>
<Url>/Services/v1.0/GroupSecurityService.asmx</Url>
</ServiceInterface>
<ServiceInterface>
<Name>Authorization</Name>
<Url>/Services/v1.0/AuthorizationService.asmx</Url>
</ServiceInterface>
<ServiceInterface>
<Name>ProcessTemplate</Name>
<Url>/Services/v1.0/ProcessTemplate.asmx</Url>
</ServiceInterface>
<ServiceInterface>
<Name>RegistrationService</Name>
<Url>/Services/v1.0/Registration.asmx</Url>
</ServiceInterface>
<ServiceInterface>
<Name>ServerStatus</Name>
<Url>/Services/v1.0/ServerStatus.asmx</Url>
</ServiceInterface>
<ServiceInterface>
<Name>IProjectMaintenance</Name>
<Url>/Services/v1.0/ProjectMaintenance.asmx</Url>
</ServiceInterface>
<ServiceInterface>
<Name>ITeamSystemTask</Name>
<Url>/Warehouse/v1.0/WarehouseController.asmx</Url>
</ServiceInterface>
<ServiceInterface>
<Name>Warehouse</Name>
<Url>/Warehouse/v1.0/WarehouseController.asmx</Url>
</ServiceInterface>
</ServiceInterfaces>
<RegistrationExtendedAttributes>
<RegistrationExtendedAttribute>
<Name>ArtifactUriRoot</Name>
<Value />
</RegistrationExtendedAttribute>
<RegistrationExtendedAttribute>
<Name>ATMachineName</Name>
<Value>ATMACHINE</Value>
</RegistrationExtendedAttribute>
</RegistrationExtendedAttributes>
<Databases>
<Database>
<Name>BIS DB</Name>
<DatabaseName>IntegrationDB</DatabaseName>
<SQLServerName>DTMachineName</SQLServerName>
<ConnectionString />
</Database>
<Database>
<Name>BISDW DB</Name>
<DatabaseName>ReportingDB</DatabaseName>
<SQLServerName>DTMachineName</SQLServerName>
<ConnectionString />
</Database>
</Databases>
<EventTypes>
<EventType>
<Name>BranchMovedEvent</Name>
<Schema />
</EventType>
<EventType>
<Name>NodeCreatedEvent</Name>
<Schema />
</EventType>
<EventType>
<Name>NodePropertiesChangedEvent</Name>
<Schema />
</EventType>
<EventType>
<Name>NodeRenamedEvent</Name>
<Schema />
</EventType>
<EventType>
<Name>NodesDeletedEvent</Name>
<Schema />
</EventType>
<EventType>
<Name>ProjectCreatedEvent</Name>
<Schema />
</EventType>
<EventType>
<Name>ProjectDeletedEvent</Name>
<Schema />
</EventType>
</EventTypes>
</RegistrationEntry>
<RegistrationEntry>
<Type>Reports</Type>
<ChangeType>NoChange</ChangeType>
<ServiceInterfaces>
<ServiceInterface>
<Name>ReportsService</Name>
<Url>http://DTMachineName/ReportServer/ReportService.asmx</Url>
</ServiceInterface>
<ServiceInterface>
<Name>BaseReportsUrl</Name>
<Url>http://DTMachineName/Reports</Url>
</ServiceInterface>
<ServiceInterface>
<Name>DataSourceServer</Name>
<Url>/RosettaService/ReportService.asmx</Url>
</ServiceInterface>
<ArtifactTypes>
<ArtifactType>
<Name>Report</Name>
<OutboundLinkTypes>
<OutboundLinkType>
<Name />
<TargetArtifactTypeToolName />
<TargetArtifactTypeName />
</OutboundLinkType>
</OutboundLinkTypes>
</ArtifactType>
</ArtifactTypes>
</ServiceInterfaces>
</RegistrationEntry>
<RegistrationEntry>
<Type>Wss</Type>
<ChangeType>NoChange</ChangeType>
<ServiceInterfaces>
<ServiceInterface>
<Name>WssAdminService</Name>
<Url>http://ATMACHINE:4554/_vti_adm/admin.asmx</Url>
</ServiceInterface>
<ServiceInterface>
<Name>BaseServerUrl</Name>
<Url>http://ATMACHINE</Url>
</ServiceInterface>
<ServiceInterface>
<Name>BaseSiteUrl</Name>
<Url>http://ATMACHINE/sites</Url>
</ServiceInterface>
<ServiceInterface>
<Name>BaseSiteUnc</Name>
<Url>\\ATMACHINE\sites</Url>
</ServiceInterface>
</ServiceInterfaces>
<ArtifactTypes>
<ArtifactType>
<Name>ProjectDoc</Name>
<OutboundLinkTypes>
<OutboundLinkType>
<Name />
<TargetArtifactTypeToolName />
<TargetArtifactTypeName />
</OutboundLinkType>
</OutboundLinkTypes>
</ArtifactType>
</ArtifactTypes>
</RegistrationEntry>
</RegistrationEntries>