{"id":2694,"date":"2011-07-20T06:01:00","date_gmt":"2011-07-20T13:01:00","guid":{"rendered":"http:\/\/localhost\/exoblog\/?p=2694"},"modified":"2011-07-20T06:01:00","modified_gmt":"2011-07-20T13:01:00","slug":"the-top-5-new-features-in-exo-cloud-ide","status":"publish","type":"post","link":"https:\/\/www.exoplatform.com\/blog\/the-top-5-new-features-in-exo-cloud-ide\/","title":{"rendered":"The Top 5 New Features in eXo Cloud IDE"},"content":{"rendered":"<p>Four months ago we launched <a href=\"https:\/\/codenvy.io\/site\/login\" class=\"broken_link\" target=\"_blank\" rel=\"noopener\">cloud-ide.com<\/a>, the first free online service eXo has ever provided, and its success has been incredible. Our goal: to be the preferred path for developers to Platform-as-a-Service (PaaS) deployments.<\/p>\n<p>Today we are unveiling a major upgrade to the service, with more than 75 new features. I would like to show you my top 5 favorites.<\/p>\n<h2><strong>1) Git Support<\/strong><\/h2>\n<p><a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noopener\">Git<\/a> popularity is huge and more and more projects use it to manage their source code. Even some PaaS, such as Heroku or Openshift Express, use it as an application deployment paradigm.<\/p>\n<p>Supporting Git in <a href=\"https:\/\/codenvy.io\/site\/login\" class=\"broken_link\" target=\"_blank\" rel=\"noopener\">eXo Cloud IDE<\/a> was clearly our number 1 priority, and we focused on improving the integration we announced in May at Red Hat Summit. Now we support most of the protocol commands, all natively integrated within eXo Cloud IDE.<\/p>\n<p>As you can see in the first screenshot, we support many Git commands that are exposed in a new Git menu in the IDE. It is possible to init or clone a remote repository, add a file to the index, create a branch, add remote repositories and push the code to different branches on different remote repositories! And at every step of the way, you can view the current status of your repo.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-2696\" title=\"image00\" src=\"https:\/\/www.exoplatform.com\/blog\/\/wp-content\/uploads\/2011\/07\/image00.png\" alt=\"image00\" width=\"422\" height=\"317\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image00.png 422w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image00-300x225.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image00-314x236.png 314w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image00-174x131.png 174w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image00-100x75.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image00-40x30.png 40w\" sizes=\"(max-width: 422px) 100vw, 422px\" \/><\/p>\n<p>To be able to support private Git repositories, and to communicate with them using the SSH protocol, we have also added the capability to create private and public keys for dedicated domains, and the ability to upload existing private keys and bind them to a domain. In the next screenshots, you can see that I have created 2 private\/public keys for the <a href=\"https:\/\/www.heroku.com\/\" target=\"_blank\" rel=\"noopener\">Heroku<\/a> and <a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noopener\">GitHub<\/a> domains, as well as uploaded 2 private keys for <a href=\"https:\/\/openshift.redhat.com\/app\/\" target=\"_blank\" rel=\"noopener\">Red Hat OpenShift<\/a> and<a href=\"https:\/\/www.cloudbees.com\/\" target=\"_blank\" rel=\"noopener\"> CloudBees<\/a>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-2697\" title=\"image07\" src=\"https:\/\/www.exoplatform.com\/blog\/\/wp-content\/uploads\/2011\/07\/image07.png\" alt=\"image07\" width=\"440\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image07.png 760w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image07-300x160.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image07-720x385.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image07-500x267.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image07-360x192.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image07-200x107.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image07-100x53.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image07-56x30.png 56w\" sizes=\"(max-width: 760px) 100vw, 760px\" \/><\/p>\n<p>It is also possible to browse the version history of Git repositories, see the changes and who made them!<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-2698\" title=\"image03\" src=\"https:\/\/www.exoplatform.com\/blog\/\/wp-content\/uploads\/2011\/07\/image03.png\" alt=\"image03\" width=\"440\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image03.png 897w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image03-300x192.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image03-768x492.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image03-720x462.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image03-500x321.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image03-360x231.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image03-200x128.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image03-100x64.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image03-47x30.png 47w\" sizes=\"(max-width: 897px) 100vw, 897px\" \/><\/p>\n<h2><strong>2) OpenShift and Heroku Support<\/strong><\/h2>\n<p>The primary goal of eXo Cloud IDE is to be able to develop apps in the cloud, then deploy them to the different PaaS available in the market. With this upgrade, we now support 3 different PaaS, each that has a different deployment model.<\/p>\n<p>For <a href=\"https:\/\/www.heroku.com\/\" target=\"_blank\" rel=\"noopener\">Heroku<\/a> and <a href=\"https:\/\/openshift.redhat.com\/app\/\" target=\"_blank\" rel=\"noopener\">OpenShift<\/a>, we use some REST commands from the PaaS menu (see the next screenshot) to create applications bound to a Git repository.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-2699\" title=\"image05\" src=\"https:\/\/www.exoplatform.com\/blog\/\/wp-content\/uploads\/2011\/07\/image05.png\" alt=\"image05\" width=\"440\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image05.png 664w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image05-300x144.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image05-500x239.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image05-360x172.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image05-200x96.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image05-100x48.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2011\/07\/image05-63x30.png 63w\" sizes=\"(max-width: 664px) 100vw, 664px\" \/><\/p>\n<p>Then we use the Git menu to clone and push modifications to this remote repository, such as the OpenShift repo shown in the next screenshot.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-2700\" title=\"image04\" src=\"https:\/\/www.exoplatform.com\/blog\/\/wp-content\/uploads\/2011\/07\/image04.png\" alt=\"image04\" width=\"440\" \/><\/p>\n<p>We have announced <a href=\"https:\/\/www.exoplatform.com\/blog\/2011\/05\/04\/from-portals-to-the-cloud-extending-the-exo-red-hat-partnership\/\">our Red Hat OpenShift support<\/a> at Red Hat Summit last month in Boston. You can see the video demonstrating how to deploy to OpenShift <a href=\"https:\/\/www.exoplatform.com\/contact-us\/\">here<\/a>.<\/p>\n<h2><strong>3) CloudBees Support<\/strong><\/h2>\n<p>For deploying Java apps to <a href=\"https:\/\/www.cloudbees.com\/run.cb\" target=\"_blank\" rel=\"noopener\">CloudBees RUN@cloud<\/a> PaaS, we only use Git and the <a href=\"https:\/\/www.cloudbees.com\/dev.cb\" target=\"_blank\" rel=\"noopener\">CloudBees DEV@cloud<\/a> service.<\/p>\n<p>A developer first has to create a Java project in eXo Cloud IDE. \u00a0Then he has to init that repository and push the code to the CloudBees Git repository (after having registered its public SSH key in the service). From here, we leverage <a href=\"https:\/\/www.cloudbees.com\/dev.cb\" target=\"_blank\" rel=\"noopener\">CloudBees DEV@cloud<\/a>, which uses Maven and Jenkins to manage both the build of the Java WAR artifacts and the deployment to <a href=\"https:\/\/www.cloudbees.com\/run.cb\" target=\"_blank\" rel=\"noopener\">CloudBees RUN@cloud<\/a> PaaS.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-2701\" title=\"image02\" src=\"https:\/\/www.exoplatform.com\/blog\/\/wp-content\/uploads\/2011\/07\/image02.png\" alt=\"image02\" width=\"388\" height=\"174\" \/><\/p>\n<h2><strong>4) Java \/ JSP support<\/strong><\/h2>\n<p>Java is the language of choice for most eXo developers. In the first version of Cloud IDE a developer could write some REST API in Java using the JAX-RS specification. He could also store structured data inside a Java Content Repository (JCR).<\/p>\n<p>With this upgrade, we now also support standard Java classes (Servlets or POJOs) and Java Server Pages (JSP).<\/p>\n<p>As before, every file has some color syntaxing, code completion and outline. The next screenshot shows those features for a JSP page.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-2702\" title=\"image06\" src=\"https:\/\/www.exoplatform.com\/blog\/\/wp-content\/uploads\/2011\/07\/image06.png\" alt=\"image06\" width=\"440\" \/><\/p>\n<p>Once the Java and JSP have been written it is possible to deploy them to <a href=\"https:\/\/www.cloudbees.com\/dev.cb\" target=\"_blank\" rel=\"noopener\">CloudBees DEV@cloud<\/a>, which manages the build (it can also manage any unit tests that you add in the Cloud IDE) and the deployment of the generated WAR.<\/p>\n<p>As you can see, you can now create, test and deploy standard Java projects directly in the Cloud.<\/p>\n<h2><strong>5) Ruby and PHP Support<\/strong><\/h2>\n<p>With the launch of Red Hat OpenShift Express, we announced support for the Ruby language within eXo Cloud IDE. A developer can quickly create a Ruby file; the IDE provides some color syntaxing, outline and auto completion. A Ruby project can then be deployed to either OpenShift or Heroku, as described previously.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-2703\" title=\"image01\" src=\"https:\/\/www.exoplatform.com\/blog\/\/wp-content\/uploads\/2011\/07\/image01.png\" alt=\"image01\" width=\"440\" \/><\/p>\n<p>Red Hat OpenShift also supports the PHP language, so it was a great opportunity for us to add support for this dynamic language to our catalog. And of course, we have some color syntaxing, outline and auto completion.<\/p>\n<p>These are my top 5 favorite new features. I hope you will check out the <a href=\"https:\/\/codenvy.io\/site\/login\" class=\"broken_link\" target=\"_blank\" rel=\"noopener\">new and improved Cloud IDE<\/a> and give us your feedback!<\/p>\n<p>For now, we\u2019re getting back to work &#8211; this is just the beginning of a new era.<\/p>\n<div><a href=\"https:\/\/www.exoplatform.com\/contact-us\/\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2020\/02\/Live-demo-exemple13.png\" alt=\"\" width=\"870\" height=\"203\" \/><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"Four months ago we launched cloud-ide.com, the first free online service eXo has ever provided, and its success has been incredible. Our goal: to be the preferred path for developers to Platform-as-a-Service (PaaS) deployments. Today we are unveiling a major upgrade to the service, with more than 75 new features. I would like to show [&hellip;]","protected":false},"author":7,"featured_media":24642,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":[],"categories":[705],"tags":[606,647],"lang":"en","translations":{"en":2694},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts\/2694"}],"collection":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/comments?post=2694"}],"version-history":[{"count":0,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts\/2694\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/media?parent=2694"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/categories?post=2694"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/tags?post=2694"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}