!7 concept User { long userID; S name; bool canEval; toString { ret userID + "/" + name + stringIfTrue(canEval, " (can eval)"); } } cmodule GUsers > DynCRUD { start { dbIndexing(User, 'userID); updateFromLinesCRUD(); } // API void updateFromLinesCRUD { L l = cast dm_call(dm_gazelle_linesCRUD(), 'conceptsOfType, 'User); for (O o : l) cset(uniq_sync User(userID := get userID(o)), name := get name(o)); } bool canEval(long userID) { User u = conceptWhere User(+userID); ret u != null && u.canEval; } User userForID(long userID) { ret conceptWhere User(+userID); } }