
----
h1. caGrid 1.4 New Features
----
h3. Deprecation Notes
Every release of caGrid features notes on the [Deprecated Services and APIs|caGrid14:Deprecated Services and APIs].
h3. Key Enhancements
The caGrid 1.4 release further expands the caGrid infrastructure and tooling to support use cases from the scientific community. This release is backwards compatible with 1.x versions and includes many exciting new features and enhancements. A detailed listing of the changes from caGrid 1.3 can be found in the release notes: [Release Notes for caGrid 1.4|caGrid14:Release Notes]. A few key highlights of caGrid 1.4 are described on this page.
h4. Identifiers Framework
The caGrid Identifier Services Framework provides the ability to define "identifiers" for individual data objects. The identifier is essentially a forever globally unique name for the data object such that it can be unambiguously used to refer to the data from different application contexts.
The implementation choice for the identifier format is the Universal Resource Identifier (URI). This enables the use of existing web standards (including semantic web technologies) and protocols, and provides a natural approach to identifier resolution. No special knowledge is needed to know how to resolve identifiers. In other words, an identifier can be resolved by simply "following it".
* [*Learn more about identifiers*|identifiers:Home]
h4. CQL2
CQL 2 is the successor query language to CQL. It provides functionality most often requested by the caGrid user community that was not previously present in CQL and can be thought of as a superset of CQL.
New features of CQL 2 include the following:
# *Aggregations*
## Min, Max, and Count have been added as aggregation operations when returning a distinct attribute value.
\\
# *Strongly typed attribute values*
## Queries are unambiguous when using attribute value restrictions.
\\
# Data types *prevent type mismatches* (i.e. querying integer fields using strings).
\\
## *Differentiation from Unary to Binary attribute restrictions*
\\
## Reduces processing to determine the nature of an attribute.
## Improves clarity of query language schema.
\\
# *Retrieval of associated objects*
## Associations can be populated by the data service before returning object instances.
## Retrieval based on role names or depth of association.
## Name-based retrieval is recursively defined, allowing population of specific associations of associations.
\\
# *Extensions*
## CQL 2 adds several points at which the language may be extended with custom query components.
## Support for extensions is advertised by data services which support CQL 2.
* [*Learn more about CQL 2*|dataservices:CQL 2]
h4. DCQL2
DCQL 2 is an XML-based language used to express federated queries and is the successor to [DCQL|fqp:DCQL], the _Distributed caGrid Query Language_ on caGrid. It is utilized by the [Federated Query Processor|fqp:] service and engine to perform distributed joins and aggregations across multiple [caGrid Data Services|dataservices:].
New Features of DCQL 2 include the following:
# *Aggregations*
## Min, Max, and Count have been added as aggregation operations when returning a distinct attribute value.
\\
# *Strongly typed attribute values*
## Queries are unambiguous when using attribute value restrictions.
## Data types prevent type mismatches (i.e. querying integer fields using strings).
\\
# *Differentiation from Unary to Binary attribute restrictions*
## Reduces processing to determine the nature of an attribute.
## Improves clarity of query language schema.
\\
# *Retrieval of associated objects*
## Associations can be populated by the data service before returning object instances.
## Retrieval based on role names or depth of association
## Name-based retrieval is recursively defined, allowing population of specific associations of associations.
\\
# *Data Transformations*
## Attribute values may be manipulated during processing of Foreign Associations
## Possible to ask questions which have phrases like "30 minutes ago", or "subtract N from", or "prepended with".
* [*Learn more about DCQL 2*|fqp:DCQL 2]
h4. GAARDS UI
Previous versions of the GAARDS UI required the user to have the entire caGrid and Globus distributions installed. This resulted in both a time and space-consuming dependency for users who only needed the functionality of the GAARDS UI and not the full caGrid suite. With caGrid 1.4, the GAARDS UI is now available as a separate downloadable distribution.
* [*See the GAARDS-UI users guide*|gaardsui14:User Guide]
h4. Network Firewall Support