/// Given a Reflex::Member object, return the id for the configurable (name or id, if it is a string). /// non-string ids are used for the persistency (DataObjects) inline std::string getId(const Member & m) { return (m.Properties().HasProperty("id") && (m.Properties().PropertyValue("id").TypeInfo() == typeid(std::string))) ? m.Properties().PropertyAsString("id") : m.Properties().PropertyAsString("name") ; }