For public instances like Playground, users need to agree to a terms of service and provide some basic information. This is a mandatory interaction. h2. User agreement If user agreements are enabled, Workbench 2 needs to display this before anything else. User agreement flow is described here: https://doc.arvados.org/v2.5/admin/user-management.html h2. User profile After the user agreement, if Workbench.UserProfileFormFields is present and the required fields are not filled in, we need to direct the user to fill out the profile before they can proceed. The fields used in this interface an on the user profile page should be rendered based on fields specified in UserProfileFormFields (currently they are hard coded!) support Workbench.UserProfileFormFields. This currently uses its own unique (and very basic) spec for fields. It would be better Should considering migrating to use either the metadata vocabulary (used for editing controls for collection/group properties), or schema salad definitions (used for editing controls for workflow inputs). This would facilitate some code reuse for rendering and validation.