Forking the ChiliPepper Workspace and widgets

(Grant Le Sueur) #1

Build you own Chilipeppr workspace - John Lauer YouTube Link

After a couple of years of Chillpeppr use and lusting after plugins created for Mach3 users I decide to take the plunge into the world of forking my own workspace with the intent to create my own widgets.

Even though I have some programming experience and can follow a youtube videos as the next person. I finally spent time and forked my own workspace.

What has created more complexity in this mission is the use of Cloud9 as cloud editing and testing environment. This has been made more complex with Cloud9 being acquired by AWS.

This was my experience.

  1. In order to create an AWS account to gain access to cloud9 one must now create an AWS account. I found this video useful. Be warned AWS will ask for credit card information even though for our purposes we can use the free tier.

How to create a free AWS / Cloud9 account

It is not possible to create a stand alone cloud9 account for new users and associate it with Github.

I did create an IAM sub user account to avoid the AWS warning in Cloud9 about being logged in witha root account.

  1. Once I was able to create an AWS account I was able to create a Cloud9 instance and access the console and IDE. It was not immediately evident how to pull the code from git hub and how to push it back again using the cloud9 instance and your AWS credentials. This link explains how to do this.

Associating Git Hub with AWS Cloud9

  1. In the Instruction John gives about running you code it the experience in AWS Cloud9 varies from Johns explanation. When John says run and preview Here is what to click.

(Grant Le Sueur) #2

Continuing on from my earlier post.

Once I pushed my forked code back to git hub, I did have some difficulty using the links and the convenient java script source setting up the Java Boot. this was because the URLs and the generated Java Script was malformed in this different environment. Im going to try and figure this out tonight.

(JOHN LAUER) #3

I got all of that working correctly with the widget-template where it detects for AWS and changes up all of the URL’s. I agree that AWS acquiring Cloud9 messed things up. Ultimately you don’t need any of that anyway. You could just do your dev locally and push your changes to Github on your own.

Take a look at the runme.js in widget-template. https://github.com/chilipeppr/widget-template

(JOHN LAUER) #4

What I don’t recall doing (I think) is updating the workspace runme.js to support the AWS URL’s, but it should be pretty darn similar to the runme.js mods I made for widget-template.

(Grant Le Sueur) #5

Thanks John - Ill take another look.

Setting up the cloud9 instance for external access was quite complicated, involving setting up public IPs and some security settings. It slaps doesn’t seem to want to use a single sign one for pushing back to Git as I imagine stand alone cloud9 allowed you to do.

I was looking at these complications and was determining weather the juice was worth the squeeze in the end and just edit and push back to git.

I did manage to fork my own workspace and create my own instance. The fun is in the learning and the more I experiment the more familiar I become with what you were able to create.

My wife is often asking “So what time did you come to bed last night”…with a raised eyebrow.

(JOHN LAUER) #6

You shouldn’t have to setup any external access or make any public IP’s from your cloud9 instance. Cloud9 is just an IDE in the cloud to edit the files from your Github repository. Once you’ve pushed changes back to Github, ChiliPeppr is just slurping them from there, caching them, and serving them up to the public.

(Grant Le Sueur) #7

Hi John

Thank you for you help… Yes Ive figure this out now. Man I really wished I had created an actual cloud9 account while I still had the chance. You workflow seems a lot more natural particularly with a sweeter integration with git hub.

My fingers sure are getting tired of retyping my github credential every time I refresh the runme.js although i think Ive just figure out how to do this by using
ssh://git@github.com/username/repo.git

and caching the credentials in instead of

https://github.com/username/repo.git

Ill see if this works and modify the run.js file accordingly.

(JOHN LAUER) #8

I recently tried doing a local edit of a workspace and widget using Microsoft Visual Studio Code and it works great. Check out the runme.js for a workspace at https://github.com/chilipeppr/workspace-robot/blob/master/runme.js and then check out the runme.js for a widget at https://github.com/chilipeppr/widget-3dview-robot/blob/master/runme.js

I only had to tweak the runme.js a bit to detect C9 vs AWS vs localhost. The localhost one works almost exactly the same. Just have node.js run the runme.js and you can then load from localhost:9000 for the workspace or localhost:9001 for the widget.

(Grant Le Sueur) #9

Ill give it a go