OSF GPS Lecture

Lesson adapted from:

Jolene Esposito OSF-Curriculum
csoderberg OSF-Curriculum

Lesson 3: Documenting as you go

Learning objectives:

Registrations (Quick Overview)

There are also specific points in a projects life that may be particularly important and that we may want to freeze and always be able to go back to.

One way to keep track of these important points is to create registrations.

A registration creates a frozen snapshot of a project, or section of a project, that can never be deleted or changed.

Basically, it’s a permanent, read-only copy of that part of the project.

Lecture Note:

Only show how you go about registering a project.

Do not follow along with this section, as registrations are not reversible.

Demo Registrations (Quick Review only)

Note about Embargoes

Why might you want to set an embargo date?

If you choose the embargo feature, an email will be sent to all the administrators on the project, asking if they want to cancel the registration, since you can’t undo registrations or change embargo dates after the fact. If any of the admins cancels the registration within 48 hours, the registration does not occur. If they all either approve it, or ignore the email, the registration goes through and the embargo period is set.

After registration is completed

A few things to notice about the registration.

Just like the actual project and registration have different GUIDs, they also have different privacy settings.


Files and Version Control

Now we want to start actually working on our project.

We had previously uploaded our materials when we set up the storage, but now we need to make sure we upload our data.

You always want to keep a copy of our complete, raw data file. Even if we end up doing a lot of data cleaning, or only using a subset of the datafile for our analyses, we want to keep a raw, untouched version of the data file to make sure we can always create our analyses from start to finish.


Activity - Uploading files and data

Upload raw data file and data dictionary. Working with TIER demo files:


so now we have the static version of all these different files, but in real research, things often change over time. We need a way to easily track those changes. This tracking of different versions of a file is usually called version control. Often times people have their own ad-hoc version control procedures which can be confusing.

Poor version control can make finding files and recreating experiments/analyses very difficult, because in a few months it may take days for you to figure out, if you can at all, exactly what protocol was used, or exactly which analysis file was used to produce the results in the paper you submitted.

We want to make sure this doesn’t happen to us.

There are some programming languages out there that are specifically built for version control, many of you may have heard of Git and Github, and those are great, but they can prove to be a barrier to adoption of good version control methods for people who either don’t have the time or motivation to learn how to use them.

The OSF has built in version control in an accessible way to help lower that barrier.

Version control on the OSF works in a few different ways.

Now that I’ve shown the ways version control works on the system, I want you to edit your projects.

Activity - Document Using the Wiki

update wiki to reflect analyses done & clearly comment analysis scripts

Go into the wiki and update it so that it reflects that analyses you actually performed. One of you who didn’t run the analyses, please look at the analysis script that was uploaded, and edit it to make sure that it is clearly commented. How you do this will depend on the exact way in which the file was uploaded. If you don’t know how to comment in the particular language the analysis was done, ask the person who did the analyses.


Activity - Create a README

update wiki to include navigational README for the project The final thing we want to do is make sure that we give our future selves and, potentially, other people information about how to navigate our project.

What are our files, where can we find things, if information is missing or private, why?

Basically, we want to create a README for the project.

We’ve already done a bit of this by putting information about the research question for the project in the wiki. But, we also want to add information there, and/or in the wikis of our subcomponents about what files are there and how to navigate through the project.