- Q1: What will I be working on during this internship?
- Q2: What kind of software will we be using for this internship?
- Q3: What are the hours of the internship?
- Q4: Is this a paid internship?
- Q5: What happens after the initial steps?
- Q6: If I'm an international student, how soon can I get my paperwork required by my visa?
- Q7: How many pull requests and issues in total do I need to make to finish the steps?
- Q8: How long do I have to complete these steps?
- Q9: How can I keep track of 10 steps vetting progress?
- Q11: What is the purpose of Nations and Communities, and how do they work together?
- Q12: How can I enable virtualization on my computer in order to turn Vagrant on?
- Q13: Why is the "Submit" button not showing up when I try to submit my survey?
- Q14: Why does Firefox say “Unable to connect” when I try to load my Community?
- Q15: When I first run Planet with the "vagrant up" command, why does the download fail?
- Q16: I named my repo incorrectly by not naming it <username>.github.io, can I rename it or do I need to delete it?
- Q17: What do I do if I already have a github.io with my username?
- Q18: What do I do if I am on Unix/Mac/Linux and accidentally give root permissions, corrupting the installation of the Vagrant VM?
- Q19: What if I accidentally resign my manager account, or delete my planet folder, how do I recreate my manager profile?
- Q20: What do I do if I get the error message "A Virtual Box machine with the name 'prod' already exists"?
- Q21: How can I run two communities on the same machine?
- Q22: How do I destroy the Virtual Machine and start over?
- Q23: What do I do if I cannot create a dummy account?
- OLE virtual interns will be helping develop OLE’s Planet Learning system (Planet) and its related software, systems, and services. Planet is a virtual library that is deployed internationally to children in countries that typically do not have access to educational resources.
- As a part of this internship, you will be working with software and languages including Git, GitHub, Gitter, Markdown, Vagrant, VirtualBox, Command Line/Terminal, Command Line/Terminal Scripts, Vim, CouchDB, Docker, HTML5, JavaScript, Node.js, and Angular.
- This is an intensive internship that requires 16 hours of work each week. Work with your fellow interns and keep us updated in the Slack chat.
- The reason we have a 16 hour minimal commitment per week is that things are moving forward quickly and it might be hard for virtual interns to catch up with changes. Basically, we would have a few hours of Google Hangout sessions per week where everyone shares their screen, discusses problems, and works on issues together. Then the rest of the time is for catching up with the changes and working on issues assigned.
- This position is unpaid, but it will provide a diverse range of experiences in the workplace. We can provide a certificate of completion, upon request. Also, academic credit can be provided through your institution (if applicable).
- The initial steps are meant to introduce potential interns to the OLE Planet, planet software and the process that we use to develop features and improve upon the Planet. To be more clear: the initial 10 steps are a vetting process to determine whether or not people are fit for the internship, so consider it an interview for the internship. Once you have completed the 10 steps and are approved, you have officially joined the OLE interns team! We’ll add you to the interns Gitter chatroom and assign you to a team. You and your team will be working on an assignment, and we’ll switch up the assignments each week.
- Since the first 10 steps are a vetting process, your internship technically doesn't start until you finish them. Think of the first 10 steps as a continued application process; you are not working on or adding to our organizational software, but rather showing that you have enough technical background to work with us. After you finish the first 10 steps, let us know if you need us to sign some paperwork, give you organizational information, or provide you with an offer letter for your visa compliance and we'd be more than happy to help.
- To finish the initial steps, you need to make a minimum of 4 issues and 5 merged pull requests so you can get familiar with GitHub and to show us that you can write proper issues/PRs.
- There is no official deadline, so work on your own time. However, please note that most people who continued into the internship program completed the steps within 7-8 days.
- You can keep track of your progress using the Tracking Progress link.
- We use the nation/community infrastructure because we often deploy our software in places without internet. Nations are the services sitting in the cloud (which are connected to the internet). Communities, which run locally on Raspberry Pis and/or laptops, are run on an intranet but are most of the time not connected to the internet. Because nations are connected to the internet, they allow a connection process between us (with internet) and users on communities (without internet). To sync with a nation, however, a community needs to be connected to the internet so that information can be sent in both directions.
- First of all, you have to access the BIOS. To do that, you need to reboot your computer and press the appropriate key while it’s booting. It is usually the "F2", "Esc" or "Delete" key. Once you have entered the BIOS setup menu, you have to search for an option called "Intel VT-x", "Intel Virtualization Technology" or something similar. Enable this option, save and reset. Now the "vagrant up" command should work.
- Please make sure you’re using Firefox, as our Planet software is only guaranteed to work in Firefox. To get the “Submit” button to show up, try logging out of the Planet and logging back in, then go back to the survey. If that doesn’t work, log out of the Planet, shut down the vagrant machine (
vagrant haltin the directory where the Vagrantfile is located),vagrant upagain, log in, and check the survey again. If you’ve tried these steps and it still doesn’t work, let us know in the Slack chat.
- Because a Community is run locally on your machine, you need to
vagrant upin the directory where the Vagrantfile is located. You can then see if your Community is running by going tohttp://localhost:3100/in Firefox. Go to127.0.0.1:2200/_utilsto see the CouchDB behind the Planet, and127.0.0.1:3100to navigate the actual Planet user interface.
-
You should first check if Vagrant Cloud is up and running by looking at HashiCorp's status page:
If Vagrant Cloud is operational, then maybe your download is being interrupted, you can try to download and set up the big Vagrant box file manually:
-
Go to this Vagrant Cloud Box page.
-
Click on the last version's (the uppermost) version number.
-
Add
/providers/virtualbox.boxto the page link you have been redirected to and click 'Enter' to start the download via your browser, or copy the link and paste it in your preferred downloader, preferably one that has pause/resume functionality. -
After you download the box, run the following commands while in your
planetdirectory. Also, include the correct path to the box you just downloaded:vagrant box add treehouses/buster64 /path/to/vagrant-box.box vagrant init treehouses/buster64 vagrant up
You now have a working community Planet on your OS.
-
Q16: I named my repo incorrectly by not naming it <username>.github.io, can I rename it or do I need to delete it?
- Yes it is possible to rename it but we highly recommend you to delete and start over so that you have a clean forked repository. Navigate to the misnamed repo and click the settings tab or enter
https://github.com/YourUsername/Your-Misnamed-Repository/settingsin your browsers URL bar. Next, scroll down to the Danger Zone section of the settings and click 'Delete this repository'. Read the warnings and then type in the name of the repo to confirm.
- You have a few options:
-
If you are still using it and you don't want to overwrite it, you can go to the forked repository settings rename the repository to YourUsername-ole.github.io and then deploy it to GitHub Pages by selecting "master branch" in the repository settings under GitHub Pages. By doing that, you can access the forked OLE repository with this link
YourUsername.github.io/YourUsername-ole.github.io/. -
If you are not using the repo anymore you can delete it and then follow the First Steps.
-
If you are still using it and you don't want to remember another login, you can create an organization and name the forked repo <orgname>.github.io.
-
Q18: What do I do if I am on Unix/Mac/Linux and accidentally give root permissions, corrupting the installation of the Vagrant VM?
- Please follow the guide at Q22 to destroy the original virtual machine and start over.
Q19: What if I accidentally resign my manager account, or delete my ole--vagrant-vi folder, how do I recreate my manager profile?
- Please follow the guide at Q22 to destroy the original virtual machine and start over.
Q20: What do I do if I get the error message "A Virtual Box machine with the name 'vi' already exists"?
-
There are 2 potential solutions:
-
Use
VBoxManage list vmsto find out the name and ID of the virtual machines. Copy the ID of the desired VM into the contents ofole--vagrant-vi/.vagrant/machines/default/virtualbox/id. Save the change and runvagrant upagain. For more information, check out Vagrant Issues #6623. -
Delete the "vi" VM in VirtualBox or command line, then run
vagrant upto start over again.
-
-
Running two communities on the same machine is possible as long as their configurations (VirtualBox name, port forwarding, etc.) does not collide with each other.
-
If you want to run multiple VMs together, you need to change the vagrant file as instructed in multi-machine.
-
If you will not run those two communities at the same time:
-
clone
planetagain and name the folderplanet-1:git clone https://github.com/open-learning-exchange/planet.git planet-1 cd planet-1 -
change line 25 of the
vagrantfile
``` vb.name = "a_different_name" ``` -
-
In
git bash:# remove existing VM and Vagrantfile vagrant global-status vagrant destroy [virtual_machine_name] rm -rf planet # clone again to start over git clone https://github.com/open-learning-exchange/planet.git cd planet vagrant up
-
Note: Before trying the steps below, make sure your planet is up to date.
Open your
Terminaland make sure youcdto the designated OLE directory you created earlier.cd planet git pullThen,
vagrant halt prod vagrant up prod.If it still does not work please follow the steps below. Assuming you are already in the planet directory,
vagrant ssh prod cd /vagrant sudo rm -rf node_modules/* sudo npm install --unsafe-permIf this too does not work.
cd planet vagrant destroy prodPlease follow the instructions here to reinstall planet. (Note: After planet reinstallation, you will need to register as admin a second time as you did in step Planet Configurations. However, you cannot use the same "Name" in Set up Configuration step because that "Name" already exists. You may instead use YourName01 or add any other number you like at the end of your original "Name". This should allow you to register as the admin and log in your community planet.)
-
General
-
First Steps
-
Intermediate
-
Reference/Advanced
-
Git Workflow
-
Markdown
- GitHub & Git Foundations (Playlist)
- Shorter Git/GitHub Tutorial (Playlist)
- Mastering Markdown (Playlist)
- How to Manually Fix Git Merge Conflicts - Please note that this video will explain how to fix a merge conflict from the point of view of the repo owner who is trying to merge a pull request. However, it is helpful also when you have to fix a merge conflict on your own local and forked repos.
- How to Use VirtualBox
- Vagrant Tutorial

