As an alternative to the Component Selector to prepare the NeXus Recorder Profile (and Measurement Group) the user can use the following sardana macros (from nxsmacros.py):
p09/door/haso107d1.01 [1]: lsprof
spock> nxset exp_t01 exp_c01 exp_mca01 pilatus
The command lsprof checks whether all user data have been supplied:
p09/door/haso107d1.01 [1]: lsprof Profile (MntGrp): mg_tk1 -------------------------- ----------------------------------------------------------- Timer(s) d1_t01 Detector Components d1_c01, d1_c02, d1_mca01 Descriptive Components chi, slit1, beamline Mandatory Components default User Data {'sample_name': 'ice', 'chemical_formula': 'H2O', 'title': 'liquid'} AppendEntry False SelectorServer p09/nxsrecselector/haso107d1 ConfigServer p09/nxsconfigserver/haso107d1 WriterServer p09/nxsdatawriter/haso107d1 Profile is not set by nxselector(nxsmacros) or MntGrp has been changed An error occurred while running Macro 'lsprof() -> c34b585e-2c8f-11e6-be3c-901b0e39aa90': Exception: User Data not defined ['beamtime_id']
In this case beamtime_id has to be supplied:
p09/door/haso107d1.01 [2]: nxsetudata beamtime_id 45678 p09/door/haso107d1.01 [3]: lsprof Profile (MntGrp): mg_tk1 -------------------------- ----------------------------------------------------------- Timer(s) d1_t01 Detector Components d1_c01, d1_c02, d1_mca01 Descriptive Components chi, slit1, beamline Mandatory Components default User Data {'beamtime_id': '45678', 'sample_name': 'ice', 'title': 'liquid', 'chemical_formula': 'H2O'} AppendEntry False SelectorServer p09/nxsrecselector/haso107d1 ConfigServer p09/nxsconfigserver/haso107d1 WriterServer p09/nxsdatawriter/haso107d1
spock> nxsetprof mg_new