We have a large number of class members that I would like to upload from a spreadsheet / csv file rather than asking each student of individually create their account. We already have the information and each semester need to refresh students accounts.
Technically speaking you could use an afterInsert() Hook to register the user via the wix-users-backend register() function but for that you will need to upload passwords to the database which is not a good practice.
As Shan says you shouldn’t really be storing passwords yourself in a dataset as it would make it easier for people to try to obtain them and then gain access to members data etc, you would be liable for any data breach and not Wix.
If you are trying to pre-approve members then you can’t do that currently, although you can vote for the request here.
https://support.wix.com/en/article/request-pre-approving-site-members
You can try this workaround that was posted on Stack and see if it is still viable, however it would still require all the members to do their own password again.
https://stackoverflow.com/questions/53181905/workaround-to-import-users-as-site-members-on-wix-com
So to be honest, you would be much easier just asking them to sign themselves up on your site.
This all seems a bit complex as most other sites/platforms/user directories are capable of creating user names in bulk (or individually as required). They provide a “use once” password, send an activation link to the new user to log on using the use once password, then force the user to create a personal password that is not accessible to anyone but the user.
Creating code to do this standard action will make the site brittle and the custom codeset may break when Wix provides updates to the core system.
Common practice it seems everywhere except Wix.
How / where would I write a script like that? I am new to Wix and not able to really get a hang of it. I have a CSV file with the data. Do you have some samples somewhere that I can look at, for reading from a CSV file? And some documentation on how to run a one time script?