xSync – Making HANA XS development easier

Update: March 7th 2014

– Added support for SAP HANA SPS07 
– Ability to ignore local deletes, which would leave the files on the server 
– Shortcut link opens the Web Editor, and another to open IDE in your browser 

– Stability and speed improvements 
– Corrected multiple minor bugs  

————————————————————————————————————————————————

A couple of weeks ago, I started playing with HANA development after going through a couple of the opensapcourses. One of my biggest surprises was that HANA Studio was windows only. As a Web/Mobile/App developer spending majority of my time on the Mac platform, having to get my Dell out was a walk down memory lane, and caused me to not spend as much time working on the projects as I would have liked. Since Rev 52 of HANA included a XS Engine Lite IDE, a useful web based IDE for your XSJS/SAPUI5 development. I was been looking forward to getting it installed on my AWS machine and giving it a test drive. Last weekend Juergen Schmerderposted a updated really easy to follow and simple guide of going through the process and within a hour, I was up and running on the newest available rev.

First off, the web IDE was great. Secondly, not having to use my old Dell was bliss. From a development perspective I am OK with the fact I need to do schema modeling/view generation input etc. through the Studio IDE, its well built for this and has functions and customizations which are not as necessarily as generic as web/java/jquery development. I spent the weekend working on a small POC/rewrite I have been working on and enjoyed the development experience. But after a while, found myself wondering about code completion, syntax highlighting, text formatting and a few more features which are generally available in your favorite IDE.

After some digging, I came up with the concept of being able to develop locally and yet still be able to execute the code online through my browser as if I was using either the Lite IDE or the Studio. I am not sure if #openSAP intend for students to hack HANA, but that’s exactly what happened … 🙂 

/wp-content/uploads/2013/06/icon_128x128_231789.png

Enter xSync … xSync is a *little* like dropbox for your HANA repository. Its a Mac app which runs in the Status Bar and watches file system changes to a designated development folder. As soon as you save, it saves your file in XS Engine to your package repository. Development is no longer is choir of saving, syncing and activating 😉 Even if you are not a developer, it has some useful features, it shows if your HANA instance is online – avoiding unnecessary costs, and also allows you to easily download all files from a HANA package or development project. This is great for creating local backup/snapshots regularly. Below is a quick video of the app in action.

https://youtube.com/watch?v=ftyh2oVjBVk%3Ffeature%3Doembed

If you are interested in testing the app out, please download a copy here – all feedback and constructive criticism is welcome as usual. Please keep in mind, this is still *very* beta. I have done my best to test, but from conception to app in a couple spare hours is always a challenge 🙂 = DISCLAIMER, use at own risk! 🙂 

Some technical notes and features:

– Features:

     – Use your favorite IDE to edit files locally

     – Save, Create, Delete, Rename files locally and have them *sync* with your XS Engine package

     – Quick way to ensure your Instance is available (watch costs on your cloud hosted system!)

     – Download all package contents to your local HDD

     – Easily upload files/folders to your packages

– Requirements:

     – HANA Rev. 52

– Usage:

     1.) Download the app here

     2.) Enter your HANA XS Engine URL, package (I suggest creating a test package to test the app out with)

     3.) Enter the folder location of your local development objects (I suggest a blank folder to start as it will not upload existing objects already in the folder)

     3.) Enter HANA username/password

     4.) The log will show that the folder is being watched

     4.) copy/create a new file in the folder and check the log to ensure the file was synced

     5.) develop something awesome … 🙂 

– Bugs/Issues:

     – Renaming/creating folders could be a little better, since XS engine does not require spaces, it can be problematic

– Future Ideas:

     – Sync existing files

     – Maintain a local “folder” structure db for reference

     – Sync from XS Engine if changes made there

     – Insert your idea here 🙂 

     – Less ‘buggy’ for release 1 🙂 

For all the HANA hackers out there … how do *you* think the app is integrated with HANA XS Engine? Any guesses? 🙂 I will follow up this blog in a couple of days with the technical details and how the app works.

Screen Shot 2013-06-15 at 8.43.30 AM.png