Interface ICastleHillExtendedAPI
ICastleHillExtendedAPI (implemented by core.APIFacade) provides access to all of the "extended" methods not available through the standard Archer APIs.
Most methods on this interface include a boolean throwExceptionIfUnavailable parameter which when true (the default) will cause an ExtensionsUnavailable to
be thrown if extensions are not available for the target Archer instance. Alternately, when this parameter is explicitly set to false, no exception will be raised and instead
an empty enumerable (for IEnumerable<T> result types) or a null (for all other reference types) will be returned if extensions are not available.
The resolver classes (e.g. IMetadataResolver, IReportResolver, etc.) will always pass throwExceptionIfUnavailable: false when they call these methods, so in those cases, a null
or empty IEnumerable will be returned in the absence of extensions. For example, core.Metadata.AllSolutions will return an IEnumerable<IArcherSolution> containing
all solutions in the target Archer instance if extensions are available, but will simply return an empty IEnumerable<IArcherSolution> (having a Count() of 0)
if extensions are not available.
The two methods lacking this parameter (GetArcherApplicationDetails() and GetAllDatafeeds()) behave differently, falling back to more restricted API methods that are
available from a standard Archer instance (see their comments below).
Assembly: Estrelica.Archer.Utility.dll
Syntax
[StayPublic]
[DoNotObfuscateType]
public interface ICastleHillExtendedAPI
Properties
If the CastleHill Extended API is available in the connected Archer environment, returns version information about the Extended API. Otherwise null.
Declaration
IDictionary<string, dynamic> ExtendedAPIVersion { get; }
Property Value
Methods
Returns all datafeeds available in the target Archer instance. If extensions are unavailable this will only include standard datafeeds
(DatafeedType = StandardService) with basic info (Name, Guid and Status). If extensions are available, this will include imports (DatafeedType = DataImport)
and much more information about each datafeed (e.g. integer Id, ConfigXml, KeyFields, MappedFields, NextScheduledParent, etc. -- see the
[IDatafeed](xref: Estrelica.Content.IDatafeed) interface for details).
Declaration
IEnumerable<IDictionary<string, dynamic>> GetAllDatafeeds()
Returns
Declaration
IEnumerable<IDictionary<string, dynamic>> GetAllSolutions(bool throwExceptionIfUnavailable = true)
Parameters
bool
throwExceptionIfUnavailable
|
Returns
Returns installation details and version information about the current instance of Archer. If extensions are unavailable, the returned entity(ies)
will include only version information.
Declaration
IEnumerable<IDictionary<string, dynamic>> GetArcherApplicationDetails()
Returns
Declaration
IEnumerable<IDictionary<string, dynamic>> GetContentInfoForLevel(int levelId, int pageSize = 5000, bool throwExceptionIfUnavailable = true)
Parameters
int
levelId
|
int
pageSize
|
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IEnumerable<IDictionary<string, dynamic>> GetContentInfoForModule(int moduleId, int pageSize = 5000, bool throwExceptionIfUnavailable = true)
Parameters
int
moduleId
|
int
pageSize
|
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IEnumerable<IDictionary<string, dynamic>> GetContentStats(DateTime asOfLastUpdateUTC, IDictionary<int, int> priorModuleCounts = null, int pageSize = 1000, bool throwExceptionIfUnavailable = true)
Parameters
Returns
Declaration
IEnumerable<IDictionary<string, dynamic>> GetDatafeedsForLevel(int levelId, bool throwExceptionIfUnavailable = true)
Parameters
int
levelId
|
bool
throwExceptionIfUnavailable
|
Returns
Declaration
HashSet<int> GetEmptyValuesListIds(bool throwExceptionIfUnavailable = true)
Parameters
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IDictionary<int, IDictionary<string, dynamic>> GetExtendedFieldInfoForLevel(int levelId, bool throwExceptionIfUnavailable = true)
Parameters
int
levelId
|
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IEnumerable<IDictionary<string, dynamic>> GetFieldAuditInfoForLevel(int levelId, int pageSize = 100, bool throwExceptionIfUnavailable = true)
Parameters
int
levelId
|
int
pageSize
|
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IDictionary<string, dynamic> GetFilterCriteria(int filterCriteriaId, bool returnGuids = false, bool throwExceptionIfUnavailable = true)
Parameters
int
filterCriteriaId
|
bool
returnGuids
|
bool
throwExceptionIfUnavailable
|
Returns
Declaration
string GetFilterCriteriaXml(int filterCriteriaId, bool returnGuids = false, bool throwExceptionIfUnavailable = true)
Parameters
int
filterCriteriaId
|
bool
returnGuids
|
bool
throwExceptionIfUnavailable
|
Returns
Returns a dictionary of Guid to integer Id mappings for all Archer entities of the specified EntityType. This method requires extensions.
Declaration
IDictionary<Guid, int> GetGuidIdMappings(EntityType entityType, bool throwExceptionIfUnavailable = true)
Parameters
EntityType
entityType
The Estrelica.Archer.Entity.EntityType for which the Id/Guid mappings are to be returned
|
bool
throwExceptionIfUnavailable
If no extensions are available, an exception will be thrown if this is true. If false, returns an empty dictionary.
|
Returns
IDictionary<Guid, int>
IDictionary<Guid,int> where the key is the Guid of the entity and the value is the entity's integer id.
|
Returns a dictionary of integer Id to Guid mappings for all Archer entities of the specified EntityType. This method requires extensions.
Declaration
IDictionary<int, Guid> GetIdGuidMappings(EntityType entityType, bool throwExceptionIfUnavailable = true)
Parameters
EntityType
entityType
The Estrelica.Archer.Entity.EntityType for which the Id/Guid mappings are to be returned
|
bool
throwExceptionIfUnavailable
If no extensions are available, an exception will be thrown if this is true. If false, returns an empty dictionary.
|
Returns
IDictionary<int, Guid>
IDictionary<int,Guid> where the key is the integer Id of the entity and the value is the entity's Guid.
|
Declaration
IEnumerable<IDictionary<string, dynamic>> GetLevelFiltersForLevel(int levelId, int pageSize = 100, bool throwExceptionIfUnavailable = true)
Parameters
int
levelId
|
int
pageSize
|
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IEnumerable<IDictionary<string, dynamic>> GetModuleOwners(int moduleId, int pageSize = 100, bool throwExceptionIfUnavailable = true)
Parameters
int
moduleId
|
int
pageSize
|
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IEnumerable<IDictionary<string, dynamic>> GetModulesForSolution(int solutionId, bool throwExceptionIfUnavailable = true)
Parameters
int
solutionId
|
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IEnumerable<IDictionary<string, dynamic>> GetNumericRanges(bool throwExceptionIfUnavailable = true)
Parameters
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IDictionary<string, dynamic> GetReportDetails(int reportId, bool throwExceptionIfUnavailable = true)
Parameters
int
reportId
|
bool
throwExceptionIfUnavailable
|
Returns
Declaration
string GetReportSearchOptions(int reportId, bool tryArcherFirst = false, bool throwExceptionIfUnavailable = true)
Parameters
int
reportId
|
bool
tryArcherFirst
|
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IDictionary<string, dynamic> GetSolution(int solutionId, bool throwExceptionIfUnavailable = true)
Parameters
int
solutionId
|
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IEnumerable<int> GetUpdatedContentIdsByLevel(int levelId, DateTime? startDate, DateTime? endDate, bool useSystemLastUpdated = true, int pageSize = 5000, bool throwExceptionIfUnavailable = true)
Parameters
Returns
Declaration
IEnumerable<int> GetUpdatedContentIdsByModule(int moduleId, DateTime? startDate, DateTime? endDate, bool useSystemLastUpdated = true, int pageSize = 5000, bool throwExceptionIfUnavailable = true)
Parameters
Returns
Declaration
IDictionary<int, string> GetUserDomains(bool throwExceptionIfUnavailable = true)
Parameters
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IEnumerable<IDictionary<string, dynamic>> GetUsernamesAndDomains(bool throwExceptionIfUnavailable = true)
Parameters
bool
throwExceptionIfUnavailable
|
Returns
Declaration
IDictionary<int, string> GetUsernamesByUserId(bool throwExceptionIfUnavailable = true, DomainFormat domainFormat = DomainFormat.NoDomains)
Parameters
Returns
Extension Methods