xSync – Making HANA XS development easier

A couple of weeks ago, I started playing with HANA development after going through a couple of the opensap courses. 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 Schmerder posted 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 …


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.

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