re: I need to set, for all directory entries, which fields show in the list (as opposed to the item), for example I don’t want the phone number to show on the list but I do want a custom field to show. So leaving the field blank is not a solution.
With templates such as cMap, there are options to completely disable the output of selected data, such as the shortcode option show_phone_numbers=’false’. Is this what you mean? If so, there are a lot of options available. See the doc page for cMap as an example. All premium templates support most of the same options.
re This makes the form hard work for a user as a lot of the fields aren’t required. We would have to write user notes, and this is too unreliable as users may not follow the notes.
Which Form are we talking about? The Form extension or the Connections : Add Entry admin page. If we’re talking about the Form extension, then the Messenger ID field can be disable (not shown to the user).
re: Again this makes the form hard work for the user and relies upon the user following guidance notes, which is not sufficiently reliable as the information for these fields will be confidential.
If the user does not have a role assigned which has the “View Unlisted” capability, the user will not see that as an option … so unless you specifically set up it up that way, a general user can not add unlisted data or be presented with the option to do so, only the admin. The only exception would be with Link (which would be required if you plan on users maintaining their own entry) is that in the admin on the Link User Profile page, the user would have the option to set the entire entry to be unlisted.
Hope that helps clear things up further.