I have created six groups and do not want students to enter or identify their group until instructions are given in class next week. How can I hide or not publish the groups? Thank you
This functionality does not exist within Canvas. Groups cannot be published or unpublished. Once a group exists and a student is in there, it's their group and it wouldn't be right to keep a student out of a group where they had been doing their work. That boils down to you not being able to create them before you want the students to have access to them.
There is a feature idea open related to this that you might want to visit, see what other people have commented, and supply your use case. Batch Group Management
In the meantime ...
What I did last week was go ahead and create the group set and groups inside Canvas, but didn't put any students into them. Then in class, I told them what groups they were in, gave them instructions about what to do, and let them get started on their projects. While they were working on their tasks, I sat down at a computer and added them into their groups. By the time they were ready to turn anything in, I had the groups entered.
If there needed to be a group discussion or they needed other functionality of the groups to do their work, this would be a problem.
There are some advanced techniques I can think of, but wouldn't recommend.
You can create groups via a SIS import, but this requires Canvas Admin permissions and cannot be done by an instructor. If you knew your Canvas admin and they were free at that time, you could ask them to upload the SIS file at a particular time after your class had been given the instructions. SIS imports are not processed in real-time, though, so that would not guarantee that it would be ready to go.
You can use the Canvas REST API to create the groups with a script. With the script prepared ahead of time, you could open the developer tools in your browser, paste in the script, and let it add the students right then. Creating the script is not trivial, though, and requires some programming skills and definite testing in the beta environment before you try to run it on a live class. It would also involve looking up the IDs (Canvas or SIS) for each student. You could write a Google Sheet script that calls the API. That provides for a nicer interface, but takes more development time.
Note that when I say advanced, I am talking substantially, not just a little. I am capable of using both of these (I'm a Canvas Admin and have written lots of scripts to automate redundant processes) and I still did it manually when I needed it. It's a lot of work for something that you're not going to be doing very often. As slow as dragging / dropping names is, I only have 40 students and even if it took me 10 minutes to drag the names, I could do it at least 18 times in the amount of time it would take me to write, test, debug, and publish a script. Those 3 hours could have been spent doing multiple other things.
Retrieving data ...