Monday, June 29, 2009

Belkin Soho kvm beeps

Well finally some word for me, being very busy to create connectors for various systems (later more on that) my boss ordered some Dell machine with a big cpu and 8gig memory. After connecting it to my Belkin Soho (F1DS104L) kvm and installing VMware ESXi 4.0 on it I was happy. I transfered all my VM's from my development pc to this monster and was even more happy. In the process I switched a lot to my 3d (word/mail) pc to do some othere stuff in the meanwhile. Till... my kvm switch begin to do weird. In the end I replaced it with a brand new one. On the old one I managed somehow to disable the beep sound (which beeps when you switch). On the new one the beep was back again. So anoying till I hit scrolllock (twice after each other) and then the b (beep?) the beep was gone. I know a few months before I looked everywhere to find this feature for my college, but my searched turned up nothing. No we are both silently happy :).

Next time more on the TOPdesk or It's Learning connector

or see you at :

Thursday, May 7, 2009

Google Apps user provisioning

Google Apps user Provisioning
Last time I wrote about Outlook Live, but hey, there's an other bloke in town. It's Google Apps. For educational purposes its free. But how to manage it? Well that was some interesting problem to solve. Google advices to send requests by some threads in the background. But UMRA is not designed that way. Why not? Well in UMRA we have scripts, those scripts consists out of actions. For example 'create user in ad' or 'set value into variable' or 'if-then-else' or 'goto' etc. every action has a label (important for the if-then-else and goto constructions) and every action has properties. The property set differs of course per action. The create user in ad action has lots of properties to specify name, rights, profile etc. Those actions also have an on-error handling. The script is executed in sequence. So if the action 'create user in google' was processed in a background thread. We would not know if this action succeeded or not. So the on-error handling could not work.

That caused an interesting challenge when I was designing those actions. But I found a solution in the end (would I blog about it if I didn't? ;-)).

Well if you are not interested in all the technical stuff.. just read on at 'Finally'

When a user is created into the Google Apps domain by UMRA its not created immediately it's put in a cache. When I add this user to a group, this action could only succeed when the user is created correctly, so the second action depends on the first. With all the stuff in Google (users, nicknames, groups) a huge combination of dependency had to be worked out. Also we want to have some efficiency. So if I create a user, add it tot a group and then, I remove the user, nothing should happen when the user was not yet created, but when it was, it has to be removed.

So not only I want to put all my Google Apps user provisioning actions in the background, I want them to execute in a special order, in PowerShell v1. So what I need is a thread pool and a thread object. The thread object has a own PowerShell host and pipeline, it has its own status (running, successfully executed, failed, etc.) it can be depending on an other thread object and the the users, groups, nicknames etc. in the cache are connected to there thread objects. Well after putting all parts together I've created my super fast, multi threaded Google Apps user provisioning engine for UMRA.

Some other is issue is that Google Apps will not allow to many requests after each other. So when they send back this 'to many requests' state I have to wait and try again. But after building all those exception handling etc. Everything is working fine.

Finally I've created a function which will check every finished thread in the pool for its status, and send it back to UMRA. When the state is send back to UMRA the thread is removed. This function can go on until all threads are removed. Neat huh.

Now we at Tools4ever can offer you a fast and reliable solution for Google Apps user provisioning. For more information just contact your local Tools4ever reseller.

Happy Connecting...

Thursday, April 23, 2009

ILM alternative connector for Outlook Live

Outlook Live
With the sunny days to come, we here at Tools4ever try to deliver you more free time. How? Well with the easy creation of Outlook Live accounts. If you're using Outlook Live, you have a very limited set of options to create, disable, delete, update those accounts.

ILM alternative
Well one way would be to script some PowerShell scripts. Make them robust, fast, add logging, and feed them with the correct data... of course Microsoft supports this with there heavy duty tool. (Multiple consultants swarming your company to accomplish it with ILM). I don't no any ILM alternative which could accomplish this task and all the extra's we can deliver. Even for big companies we think, one product and 1 or 2 days of consultancy should be enough. Well with UMRA it is very possible, if it would talk Outlook Live... Guess what with the Q3 release we will talk the talk and walk the walk. This makes UMRA a great ILM alternative.

At the moment we are creating and testing our Outlook Live actions, creating a nice ILM alternative connector. We make sure you can accomplish everything you can with ILM and more.

Using our stable PowerShell framework, it is possible to use the PowerShell V2 remoting technology from within User Management Resource Administrator. Based on that framework we've created a set of actions to support all possibilities of the Outlook Live environment. Combined with all the logging, delegation, automation possibility's of UMRA we can provide a very advanced and flexible environment to manage and automate the user management of your Outlook Live environment. This means it is now possible to synchronize the user accounts of Outlook Live with all the other environments we support (Active Directory, Novell, Lotus Notes, Magister Hosted, Teletop, N@TSchool, and hundreds other environments.) Try to accomplish this power with ILM, or any other ILM alternative.

Also the delegation power of UMRA will be available for Outlook Live, giving your help desk the opportunity to create Outlook Live and Active Directory (or any other environment) accounts at once.

Did I mention the password synchronization module? This module of UMRA keeps your passwords in sync. As soon as someone resets his/her password in Active Directory it's automatically (and off course very secure) replicated to all the other environments, including Outlook Live. Being a Microsoft Gold partner we can provide you with all support you need on this environment.

But... how about Google Apps? Well we support that one too. More on that in some of the next posts. We'll beat ILM on that too :p

Happy connecting...

Click for more information about our ILM alternative connector for Outlook Live

Tuesday, April 21, 2009

Lotus Notes Umra crash investigation

Here at Tools4ever we are proud on the stability of UMRA. So when a crash occurs it get priority. And if the client is using one of our connectors, I am mostly assigned to figure out the cause...

Last month we had a big customer with some Lotus Notes issue. The client has some help desk forms to restore passwords using the complicated lotus notes procedure with just a few clicks of the mouse and reset the password not only in lotus notes, but also in AD, fully automated. Also they can create a user on Notes and AD in a few clicks, or disable them etc.

We use the lotus notes c++ and C api to communicate with Lotus Notes. However, this API has a lot of problems and "undocumented features" aka bugs. Well of course any product has, but those are still annoying. Especially when they cause crashes of the whole lotus notes client and any programs running the notes api. So this client came to us with an unexpected UMRA service shutdown. This kind of support request always get big attention immediately, because unexpected shutdowns (crashes) are well not tolerated. The program should always close nicely, so if it doesn't we fix it. Happily for us it does not happen a lot. Unfortunately it happens at a large international client, using lotus notes. Because of the extensive logging we soon found out it was caused by the lotus notes api and investigating a little further brought us to the underlying problem. When Lotus Notes items are going to be big (32KB for items with the summary flag and 64KB for items without this flag) the lotus notes api should return an error code. It doesn't it throws an exception in an other thread, not handled by UMRA causing a crash and some kind of shutdown of all lotus applications running at that moment. After confirming this was the problem (the clients notes item where 31KB+ while we added some bytes...) we installed a beta release at the customers site today. Not only preventing the crash, but also anticipating on items getting to big, by creating a new document and redirect the output to the new document.

Monday, April 20, 2009

user management resource administrator and aura lotus novell teletop it's learning etc.

Here at Tools4ever we try to connect to every possible user system. How? With User Management Resource Administrator (or umra for friends). Umra is a system to read users in one system and create them in other system(s), or to provide a little form to a help desk employee requesting a few variables (name, address, whatever the customer wants) and create the user in 1 or more systems, updating your Topdesk help desk database etc.

Not only do we create user accounts in Active Directory (duh), but also Novell and Lotus Notes (well actually lotus domino of course) are supported + like lots and lots of HR, E-Learning and other systems

Schools and Soap

Traditionally schools have big user transitions every year. So a lot of schools are familiar with Tools4ever and UMRA. More and more e-learning systems are supporting SOAP interface to create and read user information. Those interfaces are used by UMRA to communicate with those systems. We use advanced (and then I really mean advanced, with multi-threading, exception handling, on the fly proxy dll generation, secure password handling etc.) PowerShell scripts to send and retrieve those information.
With the latest UMRA release the framework is heavy extended to support all those advanced PowerShell scripts. Also some customers already have some customized installations to support N@TSchool, Teletop and Aura. All working very well with high performance.
We are trying to release most connectors for the mentioned systems before the summer. So keep watching the Tools4ever website at or this blog.
Also the connection to It's Learning (E-Learning system) is progressing. It's learning extended their soap interface to support the heavy usage of this interface by UMRA, as soon as this new interface is released UMRA will be extended to support the It's learning functionality

So this year a lot of connections will come to you all with high performance, fault detection, logging etc.
Also we are working on GoogleApps, Live@edu and Outlook Live connectors, more about them in a next post.