6 The Open Science Framework
Today we are going to tie everything in the course into one place, and tie our research together with the OSF.
The Open Science Framework is a free and open source project management tool that connects researchers to the tools they are already using to make management easier through the research cycle. It was made and maintained by the Center for Open Science, a non-profit dedicated to increasing th eopenness, integrity, and reproducibility of research.
Since the OSF connects to so many different tools, you can preserve your current workflow, file types, and standard operating procedures! The OSF adds the connection between all the disparate services, allowing you to share one link to a project space that cotains your code (either in Github, GitLab, or Bitbucket), data (S3, Dataverse, figshare, One Drive, Google Drive, Box, Dropbox), citations (Mendeley, Zotero), and documentation (in the OSF wiki space). This also helps enhance your workflows with better documentation, sharing, and discovery of your research materials. If you choose to make your OSF project public, it is indexed in Google Scholar!
Some other important aspects of the OSF:
- Enable group collaboration while tracking contributions and controlling access
- you can add collaborators of all levels, on different parts of your project independently
- Keep track of master copies of files as well as versions and backups
- if you upload files of the same name, the OSF will track all the versions.
- Make sure your documentation is always up-to-date with the built-in Wiki
- you & your group can document your methodology, meeting minutes, standard operating procedures, lab procedures, etc.
- Allow for simultaneous preparation for holisitic publishing (e.g. publishing manuscript, code, data)
- you can start, then you can choose to publish a registration or a preprint at the end which links back to the OSF project with all the data, code, and supplementary research materials
Especially proud of this, because it's our first paper with a full suite of open data & code at https://t.co/FQRaaDwF3i @OSFramework. We have the stimuli, R-code for generating the stimuli, raw behavioural & EEG data, and R-code for analysis & computational modelling.— Paul Minda (@PaulMinda1) June 8, 2018
6.1 Getting Started
To really use the OSF to the fullest potential, we have to first make sure that our relevant, useful accounts are linked in our profile (for easy linking in a project).
For this project you will need to have a partner so please get into pairs! One person should be Person A, the other Person B.
6.1.1 Setting Up Profile
Please sign into the OSF if you haven’t already: https://osf.io/signin. After you log in, you should see your name in the top right hand corner of the OSF landing page.
Click your name, then click ‘Settings’ in the drop down. This brings you first to your profile information page, where you can fill in any social links you want (like your ORCID, Twitter, ImpactStory, Academia.edu, personal website, etc.), change your name to what you’d prefer on your citations, and any information about where you work/where you studied (if you want).
Next, let’s go to the
Account Settings tab. This is where you can set primary and secondary emails, export all your account data, and change your password. I would recommend setting one institutional address and one personal account. This way, folks reading your publications with your institutional address can find you easier, and also if you leave your institution you can quickly change the primary email on your OSF account to your personal one.
The next tab,
Configure Add-on Accounts is where we can authorize the accounts we’d want to link into the Open Science Framework.
6.1.2 BONUS: Developer tokens
You may have noticed this extra tabs
Developer Apps and
Personal access tokens. These are useful when you are trying to use specific OSF packages, such as
osfR is an R library that allows users to get materials from the OSF storage and push materials to the OSF storage. The
osfclient is a python library and a command-line client for up- and downloading files to and from OSF projects.
If you want to automate downloading and uploading of data to/from the OSF, give those a try! The
osfclient package actually looks a lot like git! For instance:
# fetch all files for that project $ osf clone
6.2 Setting Up a Project
Since we’re already logged into the OSF, just click “My Projects” on the top bar. This will bring you to a list of all your OSF projects. Click the bright green “Create Project” and fill in the form.
If you click the “More” button, you’ll see some extra options we can have at the start of our project. First is a brief description of the project – you can always fill that in later if you want to leave it blank for now. The other is a template – this is when you have an existing OSF project that you like the structure of (for instance: a lab template, another similar research project, etc.) and want to duplicate. It duplicates the structure of the project, not the files. You can’t go back and add this in automatically later (you could do it manually, however).
When you click ‘Create’, you’ll have the option of staying on the landing page or going to your newly created project. Let’s go to the project!
When you get there, don’t be afraid of how blank it looks. This is the most common thing I hear when first getting into the OSF - that they have a hard time knowing where to start bceause it’s so blank. I am going to walk you through the best first steps in filling in your project.
All OSF projects start private, and you choose to make them public when you want to. A forewarning that all the project’s activities are logged in the activity log, and there’s no way to delete it.
126.96.36.199 Forking & Duplicating
If you see a project you like and want to duplicate it’s structure, you have two options:
- Forking a project creates a copy of an existing project and its components. The fork always points back to the original project, like what we saw in GitLab. However, there are no merge requests in the OSF. Your fork is for you only.
- Duplicating does the same thing as a fork, but it doesn’t have the link back to the original project.
To fork or duplicate, find a project you like and click the fork icon in the upper right hand side:
Select which type of copy you’d like to make:
When you try to make a fork or duplicate a project, a popup will appear asking you to confirm whether you want to create a new project using this project as a template. Any add-ons connected to the project will not be copied into the template.
You then have the project under your account, and you can do whatever you want with it! But no matter what, you’ll still need to add collaborators, addons, write in the wiki, and the other skills we’ll cover today.
6.2.1 Let’s Add Collaborators
You can use the OSF by yourself, but like GitLab, it’s really great when you can collaborate with others. So, the OSF has a few ways that you can let others see your workand collaborate with you.
The first is giving someone permissions on the project! To add a collaborator, click ‘Collaborators’ on the navigation bar of the project (not the OSF) and click the “add” button next to the title of the page.
You can then search for your partner, and add them to the project. If you have a collaborator who isn’t on the OSF, you can still add them as a co-author or collaborator on the
You have three options for permissions: Read (view-only), Read + Write (view and add content, but can’t delete anything), and Administrator (full permissions).
You can also share projects via a view-only link, including an option to anonymize contributors for anonymous peer review.
6.2.2 Adding Add-ons
As I mentioned at the start of the session, one of the best things about the OSF is the ability to link in files from lots of locations associated with one project. This saves folks having to dig through their
Shared with me links on Google Drive, or searching through their repositories on GitHub. Everything associated with one project can be viewed and discovered in one place!
Collaborators can independently add add-ons to projects as well. So, to get started, click
Add-on in the project navigation. You’ll see first a place where you can decide what add-ons you’d like to add to the project.
When you add an add-on to a project, it’ll take you through what each action on the OSF does in relation to the add-on. For instance, for the Google Drive add-on:
Make sure you understand and are comfortable with these, and then click authorize! Then we can configure the accounts that we’ve added to the project. That’s the next tab on this page, but you should see it right underneath the initial place where we selected what add-ons we’d like.
If it’s the same add-on you authorized in your profile, you should see
Import account from profile. You’ll then be prompted to choose an account, though most times it’s only one. For instance, I linked two Google Drive accounts in my OSF profile – my NYU account and my personal account (yes, Irene is my middle name…). I have to choose which one I’d like to associate with this particular project.
The page will reload, and in
Configure Add-ons you should be able to see radio buttons which you’ll use to select the folder, repository, or citation group you wish to import into your project space.
Add-ons work like a two-way door: if you change something in your add-on, those changes will be reflected on the OSF. If you change files on the OSF (only available for some add-ons), those changes will be reflected back in the add-on.
Another quick note about add-ons: files are versioned very well in OSF storage, but versioning on the add-ons is up to them. For instance, Dropbox only keeps versions for 30 days unless you have a paid account. Exposing those files in OSF storage doesn’t change that.
6.2.3 Working with Your Files
You can have your files in add-ons, but you also have free and unlimited storage using the OSF Storage. The per-file limit is 5GB. All the files, both via add-ons and OSF storage, show up in the
Files tab in the project navigation.
In the Files space, you can:
- See all files from OSF storage and any configured addons
- Drag and drop files into any kind of storage and also between storage types, OSF or otherwise
- Rename files
- Download all the files as a
- Create folders in OSF storage for better organization
When you click on a file in OSF, it renders right in-browser (even 3d images!). On the bottom right is the “tag” field, where you can enter tags to allow others to find your files easier.
When you click on a file in OSF storage, you can also see and download all the versions of that file that have been uploaded. The file has to be uploaded with the same name into OSF storage to be able to see this.
However! If your add-on has good versioning (like git with GitLab!) than you can view and download past versions right from the OSF as well, with that same workflow.
One other unique aspect of working with files in the OSF is that users with Read + Write or Administrator permissions can check out files. This means that other collaborators cannot edit the file while it is checked out. When you click on a file on the OSF (you should see it render in-browser), on the file toolbar - click the
Check out file button from the toolbar.
6.2.4 Documenting with the Wiki
The OSF has a built-in wiki page that you can use to document your project. A best practice is to use the “Home” wiki page as a table of contents listing project goals, personnel, sub-components, and links to important files.
You can have multiple wiki pages to use for different purposes as well. I know some labs have a wiki page for their meeting notes, another for their standard operating procedure, another to document the variables from datasets hosted in the OSF, etc. You can use the wiki to do whatever documentation you need!
The wiki has a robust versioning – and you can compare versions side-by-side to see what’s changed!
Components are essentially “sub-projects” that can have their own set of collaborators, add-ons, and access controls. They can help you organize different parts of your research.A component’s privacy settings, contributors, tags, wikis, add-ons, and files are separate from the parent project. If you choose, components can inherit the contributors and tags of a parent project.
Components part of your OSF project, click the
Add Component button. You’ll see some options in the screen, including:
- Add collaborators from the parent project (checkbox)
- Add tags from the parent project (checkbox)
- Description - short blurb about the add-on
- Category - these help discovery of your work as well as helping you organize the different aspects of your research. You can pick one per component:
- Methods & Measures
You can reorder components within a project by dragging and dropping them into the correct order from the parent project’s “Overview” page. Too.
6.4 Quick files
If you have a file you want to share and you don’t need all the functionality of the OSF (if it’s too bloated to just share one file, for instance!), you can juse the Quickfiles. In the navbar of the OSF, click
My Quickfiles. There you can add a file or download all the quickfiles as a
zip file. You can version quickfiles the same way as other files in OSF storage – just upload a file with the same name and the versions will be tracked in the OSF.
6.5 OSF for Meetings
OSF Meetings is a way to provide conference organizers with a branded landing page, simple submission process, and simple search and discovery for their conference. Researchers who share materials can add supplementary data, code, preprints, or other material alongside their poster or slides.
- Easily collect presentation materials in advance of your meeting
- Allow attendees to discover interesting content prior to arriving
- Presenters can make revisions to their materials and update them without the need to track down the latest powerpoint file or pdf. Presenters can even present directly from their OSF Meeting project
- All meeting materials are archived and available for future reference.
- It’s FREE
Read & learn more: https://cos.io/our-products/osf-meetings/
6.6 OSF for Institutions
OSF Institutions is a free scholarly web tool that enhances transparency, fosters collaboration, and increases the visibility of research outputs at the institutional level. The Center for Open Science partners with research institutions to create central hubs for research projects on a branded, dedicated OSF page.
Single sign-on authentication creates a seamless and integrated framework that accommodates custom research workflows and streamlines data management. You can focus your efforts on generating and sharing research, not on building and maintaining research infrastructure.
- Collaborate at all levels of a project within the institution and with outside collaborators
- Branded landing page (e.g. https://osf.nyu.edu) to discover all public projects affiliated with an institution.
- rovide visibility for ongoing and unpublished research across the entire institution
- Gain insight and data on research collaboration throughout your organization
- Evaluate impact of research investment beyond citations
- It’s FREE
Read & learn more at: https://cos.io/our-products/osf-institutions/
In the past four days, you’ve learned how to:
- track your files with version control and collaborate using git and GitLab!
- clean your data systematically and reproducibly with OpenRefine
- literate program with R Markdown and Jupyter Notebooks
- bring it all together to manage the project in the Open Science Framework