Very handy, I’ve been troubled by this at the moment at work, not specifically SAP but similar and this has come in handy.

SAP / .NET Interoperability

*** NEW! My blog moved to my homepage at! ***

The Secure Store Service in SharePoint 2010 replaces the Single Sign-on Shared Service of MOSS 2007 and provides an easy way to map user credentials of external resources like SAP systems to Windows users. During the process of developing SAP interfaces using the very handy ERPConnect library from Theobald Software you have to open a R3 connection with the SAP system using SAP account credentials (username and password).

In most cases you will use a so called technical user with limited access rights to execute or query objects in SAP, but a SAP system saves a lot of sensitive data which cannot all be shown to all users. So, creating a new secure store in SharePoint 2010 to save the SAP user credentials will be the solution. Accessing the secure store from program code is quite simple.


View original post 958 more words

JavaScript is evolving

I’ve been playing with JavaScript since I first discovered it in grade 9 of high school. At the time I thought it was awesome, I could change images on a HTML page and make stuff disappear. I was hooked.

I started making little web pages that did nothing. I probably contributed to the large amount of webpages on the Internet that had scrolling marques or flaming gifs and had images that switched to different sized images when you rolled over them. For this I am sorry.

js logo

At university JavaScript was not a commonly talked about language, we learned C / C++ and then moved on to Java. These where heavy lifting languages, they could do anything. I couldn’t do it as easy as I could with JavaScript and HTML, but there was more here.

At the time Java and .NET were on the rise and web applications were still a little young. As I matured I saw JavaScript as more of a scripting language and only used when it was need.

Over time I have became familiar with .NET and saw it as a professional language (don’t hate) and JavaScript remained in the background and only took stage when needed.

Now I have noticed something. More and more technologies are pushing the boundaries of where Javascript can be used. Things like node.js have turned Javascript on it’s head and made me think differently about the language, it can be a server now.

Things like require.js, backbone.js, mustache.js, etc.. all push JavaScript to the realm of being a modularised, testable language that follows an MVC architecture. JQuery UI and ExtJS give you rich UI/UX tools that make your apps pop. No more flaming gifs for me.

At the moment I’m hacking together an app that utilises JQuery, mustache and backbone and require. Built with node and CouchApp and pushed to CouchDB, furthermore I am developing it on Cloud 9 IDE. All bar CouchDB are based on JavaScript (As far as I know from what I have read), that’s end to end development in the cloud. To me JavaScript is becoming the language of the Internet.

mustache jsIts like JavaScript is that girl in high school that you hung out with and did stuff with but never got serious with her, she had potential but you were young and naive and never saw it. You grew apart over the years and then suddenly at a conference in Capital City you see her again and POW you are stunned at her change. She is so much cooler than you ever knew…. I think I’m getting carried away.

The point is JavaScript with all it’s fancy prototyping is evolving and I feel like there is a new wave of frameworks that are going to become the norm. Its not going to replace things like Java, PHP, .NET, etc. but I think the convenience and ease that these toolkits create will be big attraction for developers.

Granted it isn’t there yet, things like Unit Testing need a bit of work but in any case I think its an exciting time.

Single Page Apps

I mentioned in a previous post about single page apps and how Mikito Takada put the idea of views being objects and not templates in my head. Well I thought I would share the link that very briefly mentions this and a few other concepts. The video is called Adventures in Single Page Apps.

Takada explains how the traditional world of MVC based applications doesn’t entirely fit the bill for the single page app world when it comes to code reuse and testing. He introduces a few concepts here that are very interesting and make sense to me but I need to read a bit more into this to see if it’s practical.

I might also add this video is in the realm of ajax based web applications with heavy use of Javascript and Javascript based frameworks like node.js and backbone.js.

Its an interesting video and some of what is talked about make sense, just some more investigation on practicality needs to done in my view.

Anyhoo enjoy.

Playing with mustache.js

I’ve been playing with CouchApp lately and I like the idea of making single page apps the rely a lot on Ajax and a chatty rather than chunky. I saw mustache.js the other day and decided to use it in my CouchApp.

Mustache.js is the JavaScript implementation of the templating engine Mustache. Its basically logic-less templates, you define a template and as long as the object parsed through the template contains a field in the template then it’s value will get pushed into the result. It’s a little more than that but I try to keep things succinct.

I was rather surprised with it and I really like it. There is this simplicity to it that I really like. You have a model, you define a template, parse both into a function and bam you have yourself an output for data (almost).

I come from an background and data binding was a staple for me. I would define these data sources and then i would define a grid and then bind the data to the grid columns. Most of the time the standard controls would get you out of trouble but occasionally you would define a custom template the would automagically display what you wanted.

It wasn’t bad but it doesn’t feel as natural as mustache does. I picked this up very quickly and enjoy playing with it. Defining how a list was displayed was just as easy as displaying a single object. In .net land this was 2 separate data bound controls and some server side logic, in mustache it’s much more lean.

What I really like is how you just parse a template and a model through the mustache object. For me this is where you can separate logic, your views are objects that are platform agnostic and your mustache templates are browser specific (Mikito Takada’s single page app put this idea in my head).

I work in an environment where IE6 (don’t hate) is still the standard browser and we often run into the issues towards the end where a simple layout in standards land just looks crap on IE6. I intend to play with this some more and I believe this is going to save us time in the long haul.

If we just push things to the client as models and then have templates that are specific to a client then we should be a lot sweeter… In theory, all things work well in my head. I will test this out and post more on how things go later.

I would say that my organisation is responsible for Australia still being 0.8% on ie6countdown :)

Playing with CouchApp

I’ve been playing with CouchApp lately and have found it quite enjoyable. The version I’m playing with is the node.couchapp.js version. I installed it on my windows pc originally with a few hiccups due to paths for node modules.

After this I managed to do the same thing on Cloud 9 ide but more on this later.

One thing that annoyed me was the boiler command doesn’t feel complete. It gets you 80% there and then leaves you wanting.

The main thing was sammy doesn’t seem to work. I’m am publishing to a cloud based CouchDB server but I don’t think this should matter. I looked around at the repo history on git and comments were made to ignore sammy altogether.

It isn’t a big deal because you still have the crux of what boiler is supposed to do but having sammy there would be awesome in my opinion because it would just make the design doc feel a lot more app like.

A missing feature I would like to see is a ‘couchapp pull’ meaning i could go to a couchdb and download their design doc and it would get converted into a couchapp with the relevant JS file and attachments in my local directory.

Apart from this I still love the node CouchApp. It really fits what I’m trying to achieve with CouchDB, a lean environment for me to publish apps to and store data. The one huge plus with node CouchApp is that everything remains in JSON and JavaScript. It makes reading your docs and developing your apps a lot leaner because it all looks the same.

One last thing is you should try cloud 9 IDE, it integrates with git and I’ve managed to install node and CouchApp on there. In the end I have a full end to end development environment that runs from a browser. Data is pushed to iriscouch, source is stored on git and cloud 9 is my ide.

I’ve been using this for a week now and haven’t had an issue with it. I’ll blog more details on this later.

Recording your progress – Evernote

One thing that is becoming more and more clear to me as a developer is planing and reviewing your progress through all the things you find important.

In my spare time I would often just dabble with different toolkits or apps to see what they could do for me. I would configure them a bit more and see what would happen and have some success or failure.

Then I would leave what ever I was doing for a few days or a week or even longer. Coming back to that project would often be a nightmare because you would never if you did or didn’t do something.

It probably doesn’t matter what you are doing, just write it down.

I started to write down everything in docs on my laptop or notes on my ipad. After a while these notes felt disconnected. I would read what I had on my laptop and then need to pry the ipad from my wife to read the rest of what I had recorded.

Then I discovered Evernote. Since then all my notes feel connected. Every little thing I think I need I write down in Evernote and read it later. Ideas, blog posts, shopping lists, webpages, documents, project notes, it all goes in there and then.

When I’m away from a computer and want to share some information then I can share those notes with them. It has really made recording and sharing my progress in anything easier.

I would recommend you try out Evernote and see what you think.

Even if you don’t like the idea behind it, I still think you need to write everything down. No matter how small it is, it will benefit you to write it down and record your progress.