Orderable reference fields
I'm not 100% sure, but reading between the lines, it looks as though reference fields *might* have been sortable/orderable in Plone 2.x. They certainly aren't with Plone 3.x and 4.x.
I found references on the web to adding the tagged value allow_sorting=True to the reference browser widget to make it sortable, but while this added up/down arrows, which moved the items up and down, the changes did not "stick" when saved. This may well be because you always needed to use OrderableReferenceField instead of ReferenceField, and I just didn't know about it.
Adding OrderableReferenceField v1.2 beta to the products directory and installing it as normal via the quickinstaller worked. Version 1.1 didn't seem to work, as it was not backward compatible with ReferenceField, so I couldn't port existing data to it.
The other thing to bear in mind is that Products.ReferenceBrowserWidget has been replaced by archetypes.referencebrowserwidget, so the import call is now:
from archetypes.referencebrowserwidget import ReferenceBrowserWidget
The changes to the content type class overall are roughly as follows:
from Products.OrderableReferenceField import OrderableReferenceField from archetypes.referencebrowserwidget import ReferenceBrowserWidget
OrderableReferenceField( name='services', widget=ReferenceBrowserWidget( label="Services", label_msgid='bbcommissionercostcalculator_label_services', i18n_domain='bbcommissionercostcalculator', allow_sorting=True, ), multiValued=True, relationship="KnowsAbout", ),
So the content type imports the new field class and uses it instead of ReferenceField in the schema.