Update: March 7th 2014
– 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 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:
– 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
– HANA Rev. 52
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 … 🙂
– 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.