Sharing

Per university policy, you may not share your Wharton credentials with anyone.

If you’re just looking to share DATA or FILES (not actually work in the same environment), you can set up Dropbox, or Box, and then share it with others (either on our systems or not).

To work collaboratively, all users must have HPC accounts:

  • If the user is a Wharton user, have them Apply Here.
  • If the user is a non-Wharton user, contact your Academic Distributed Representative to have a Wharton account created, along with a PennKey, if they are not Penn-affiliated already.

If the user is a non-Wharton user, or is not a Wharton faculty member, PhD student, or staff member, they will be sharing your HPC resources, including core count and disk quota. FYI!

If the user is a Wharton faculty, PhD, or staff user, you will need to request that they are added to your HPC group account, so that they will have access to the files. They will user their own resources (quota and cores).

Directory Setup

To work collaboratively, you will need to create a shared directory or directories. We highly recommend that all projects go into the faculty sponsor’s ‘projects’ directory, and RAs or Co-Authors link to the projects, from within their own ‘projects’ directory. Here is an example of the commands:

Run as the ‘sharer’ (again, we highly recommend that the ‘sharer’ is the sponsoring Wharton faculty member) to give FULL CONTROL to a directory and all sub directories contained in that directory (copy and paste these commands to make life easier … the syntax is unforgiving):

If the overarching projects directory or the individual ProjectX directory doesn’t yet exist yet:

cd ~
chmod g+x .
mkdir projects
chmod 2710 projects
cd projects
mkdir ProjectX
chmod 2775 ProjectX

That creates a ‘projects’ directory, applies ‘pass thru’ permissions (no read or write) to the team / group, creates a ProjectX directory, and adds read / write permissions for the group to the ProjectX directory.

If the directory DOES exist, and you want to share it:

cd ~
find projects/ProjectX -type d -exec chmod 2775 {} \;
chmod -R g+w,g+r projects/ProjectX

Now as the ‘sharee’ (RA, Co-Author, etc):

cd ~
mkdir projects  # <- if it doesn't exist yet
cd projects
echo "umask 002" >> ~/.bashrc  # <- if 'umask 002' isn't already in ~/.bashrc file
logout and back in   # <- only if 'umask 002' isn't already in ~/.bashrc file
cd projects
ln -s ~sharerusername/projects/ProjectX

Replace ‘sharerusername’ with the username of the sharer — don’t remove the tilde (~).

Now you both/all should be able to see, work on, modify, and use all of the files in ProjectX!

NOTE: please make sure to use Relative Paths in all of your shared code. For details see Programming Best Practices.