Discussion List Archives

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A managed phase-out of DDL1 dictionaries

Dear Matthew,

We definitely need to take into account the significant investment of various groups in software based on the DDL1 framework. COMCIFS have guaranteed that datanames defined in DDL1 dictionaries retain the same meaning when appearing in DDLm dictionaries, so software that works with DDL1 datanames can function unchanged. If changes to the legacy dictionaries actually required you to spend any time rewriting software, then they are highly unlikely to be acceptable.  All changes will be drafted and published first in the Github repository (https://github.com/COMCIFS/DDL1-legacy-dictionaries), and I'd encourage you to monitor that and participate in discussions, particularly if any proposed changes would have a negative impact on your activities.

A typical example of the types of changes being entertained would be "space_group_name_H-M_alt" being defined as loopable in the DDL1 core dictionary but strictly unlooped in the DDLm dictionary (discussed at https://github.com/COMCIFS/cif_core/issues/20).  Examination of public CIF corpuses (e.g. IUCr, COD) suggest that nobody has ever looped this dataname, therefore aligning it with the more rigorous DDLm definition would seem feasible.

best wishes,

On 3 May 2017 at 01:24, Matthew Towler <towler@ccdc.cam.ac.uk> wrote:

Dear James


Thanks for the more detailed explanation.  I agree with seeing what the state of the community is in two years rather than deciding now.


I remain slightly worried about the DDLm matching changes to DDL1 – as code that reads historic CIF already has to cope with quite a few different ways of specifying space groups (for example) and adding further improved methods will increase complexity.  We may reach a point where parsing a CIF is simple, but writing code that will reliably interpret what is intended by the values in a majority of extant CIF requires quite a steep learning curve involving many previous versions of the dictionaries.


I am interested in understanding the benefits in back porting DDLm changes to DDL1, and the trade-off of these against the cost of change.  What I am wondering is whether it would be better to have DDL1 remain as-is, and keep the better representations only in DDLm; the advantage being that if DDLm support is being added to existing code, then that would also be a good point to add support for improvements in semantics.  Back porting to DDL1 risks imposes an otherwise unrelated change ahead of the need to add DDLm support, which might actually detract from the effort required to add DDLm support.


Best wishes,



comcifs mailing list

T +61 (02) 9717 9907
F +61 (02) 9717 3145
M +61 (04) 0249 4148

Reply to: [list | sender only]