Systems, methods and computer program products are provided for creating a
new annotation for a data source, and for carrying forward annotations to
a data source when the data source is modified. According to the method
for creating a new annotation, a data source version identifier is
generated based on a current version of the data source, and text of the
annotation is received. A new annotation record is added to an annotation
data store, with the new annotation record including the data source
version identifier that was generated and the text of the annotation. In
one embodiment, the new annotation record further includes point
information indicating coordinates of at least one part of the current
version of the data source that the annotation is meant to annotate.