John,
Great to hear that you're using WL in physics with your students. Would love to hear more about the major project and what's up next in your teaching if you get a chance to reply to this discussion.
Centralizing project submission via a shared folder would improve your workflow, especially with a large class size.
The answer to both of your questions is generally yes but with a critical nuance regarding the Permissions setting for a submission folder.
Creating and Setting Permissions for a Cloud Folder
A folder in the Wolfram Cloud is represented as a CloudObject and you can use the Wolfram Language to create it and explicitly set its permissions.
A. Creating the Folder
You can use CreateDirectory to ensure the folder exists:
submissionFolder = CreateDirectory["cloud:///PhysicsProjectSubmissions/FallBreakProject"];
B. Setting Permissions (Best Practice
While you can set the folder's permissions to "Public", doing so is generally not recommended for submissions because it grants Write access to everyone on the internet who finds the URL, potentially allowing non-students to upload files or delete student work.
The correct, secure practice for this use case is to grant Write permissions specifically to your students' Wolfram IDs (their email addresses).
Use the SetPermissions function:
SetPermissions[submissionFolder, {
"john.doe@email.com" -> {"Read", "Write"},
"jane.smith@email.com" -> {"Read", "Write"},
$Owner -> {"Read", "Write", "Execute"},
$Public -> "Read" (* Optional: allows anyone to see the contents, but not change them *)
}];
"john.doe@email.com" Grants this specific user (student) Read and Write access.
$Owner -> Ensures you (the folder creator) have full control
$Public -> "Read" The general public access to read the contents, not upload or delete.
General Workflow for Education
This method - creating a dedicated Cloud folder and using SetPermissions to grant Write access to a specific list of students - is the standard and most secure way to handle submissions in an educational setting using the Wolfram Cloud.
Final Steps for Your Students
A) Distribute the Folder Path
Provide your students with the full path to the folder, e.g.
"cloud:///PhysicsProjectSubmissions/FallBreakProject"
B) Submission Command
Students can then save their final notebook directly into that folder using CloudSave
CloudSave[
"PathToMyNotebook.nb",
"cloud:///PhysicsProjectSubmissions/FallBreakProject/StudentName_Project.nb"
]
This single folder becomes your centralized, secure drop-off point for assignments and individual sharing via email is no longer necessary!
Be sure to check out The Wolfram Physics Project
Keep up the great work!