Implementing templates/workspaces

workspace

#1

Hi All,

I work as a lecturer for an IT school and I’m trying to build an app which uses the Cloud9 sdk to be able to more easily track our students progress and to enable an online playground and collaboration environment for them.

Steps I took so far:

  1. I cloned the sdk as outlined in the bellow example and got it to work locally
    https://cloud9-sdk.readme.io/v0.1/docs/running-the-sdk

  2. I cloned all the templates from the following repo to my project:
    https://github.com/c9/templates

  3. With the following line of code, I ran the IDE with the html5 workspace and collaboration enabled
    $ node server.js -p 8080 -a -w E://test2/c9sdk/templates/ws-html5/files/workspace --collab

Altought I have the templates in my project, nothing shows in the “File from template” menu, as you can see in the screenshot bellow.

How would I go about implementing the existing templates from the templates folder to the menu?

Ideally, I would like to build the following work flow:

  1. User navigates to “playground” and a menu opens up where he can choose various workspaces
  2. User chooses a workspace from the menu and the IDE opens up with the chosen workspace options. If he chooses for example, HTML5 then the “File from template” menu should include files like SASS, SCSS, LESS etc., if he chooses RubyOnRails then it should include files which are specific to the RubyOnRails workspace…

I have already managed to build a Frontend editor along these lines using your ACE editor (which is awesome btw!!!). To give you an idea what it’s like, here’s a screenshot:

When the user clicks on the “Settings” button, a popup with options appears, and he can choose to implement Bootstrap, Foundation or Skeleton frameworks, SCSS, SASS, LESS for CSS, Angular for JS etc. etc and it works beautifully. Pretty much like CodePen, but with more or less options…

Now I’d like to take this one step further and to have Backend and eventually Mobile development environments as well, so is it possible to build something like this with the Cloud9 SDK? And do you have any documentation that outlines template implementation in detail?

I’m pretty thinly spread with time right now so I haven’t had the chance to go through your docs in detail, so any help and guidelines would be appreciated.


#2

the menu is controlled by https://github.com/c9/c9.ide.newresource
it is not related to the templates repository, which contains dockerfiles for various workspace types


#3

I can see it’s already in the core package… So how do i run it?

Is it even possible to implement this in the way i described?


#4

I’ve read your message several time, but i still don’t quite understand what you are trying to do.
customizing new file templates based on worksapace type is relatively easy, mainly requires modifying https://github.com/c9/c9.ide.newresource/blob/master/default.templates, but running workspace types from templates repository is not.
Is your question about the first or the second?