The Hoju Saram

Wednesday, February 28, 2007

I have released

After a few weeks of spare-time dev I have now released into the wild. It is not 100% tested yet, but I have had enough of working on it so out it goes.

It provides a single html file download that lets people design their own validating web forms via an easy to use drag & drop interface. They can then save a "run-time"(published) version of this form which they can send to people to fill in. No servers required.

I am pretty happy with how it has gone... Especially the UI and the ease of use. The fact that it is all in a single html file and runs IE and firefox means that it is a pretty nice multi-os solution as well. I also like the feature that design->runtime->print time is all in one file.

I will post about some of the technologies and techniques I used in the future. But one of the highlights is the serialising and deserialising objects that let me make the "published" file 40k smaller than the design-time file that creates it.

Labels: , , ,

Wednesday, February 21, 2007

Single HTML file form designer and reader

Meetings Form in design mode ( took me 35 seconds from an empty page)

I haven't blogged much lately as I have been spending alot of my spare time working on a my latest idea. It is evolving slowly. Basically what I am attempting to create is a single html file that contains all of the code required to build and publish html forms via an easier to use UI , but without the need for a server. The idea is this.

You want some one to fill in a form, and you want to know that the form is going to be filled in properly. But you don't want to have to build a whole web site to do it or have people connect to some external site to fill in the form or pay some external site to host it. Usually you would put the form in Ms_Word or something like that but this doesn't easily allow for validating data and allows users to fiddle with the form design.

With the solution I am designing you open up a html file in your browser. You then select elements from a toolbar and place them on the form and can drag them around the form to place them where you want them. You then set the properties of them and one you are satisfied with the form you publish it. This creates a second copy of your form that you can send to others. ( When I say second copy I mean another file on your hard-disk not a post to a server ) . The second copy will be set to "run-time" mode, so when someone opens this file you will see a webform that validates according to the rules set at design time, and of course when the user saves it , it saves to their hard disk not to a web server. So they can then attach it to a mail message and send it back to you (as they would a word document).

I don't think I have explained this very well. But maybe some pictures will help. I currently almost finished the "design-time" components and I am at a stage where I can add form elements from the toolbox, set their properties, and have all the elements serialise and deserialise themselves ( this basically means that when I press "save" the file saves, and when I re-open the file all the elements properties are re-loaded correctly).

I have now have to work on what the user will see after the form has been published, but that is relatively easy, so I should have something ready for use within a week or 2. So watch for some action.

Click on a element to set the properties (The select one is a time range form element)

The toolbox menu expanded.

Labels: , ,

Organisational Psychopaths

A co-worker of mine at my office as started a small collection of books around the subject of "toxic" employeess etc. One of the books that I liked the best is called the pocket pschyo

Some gems from the book are:

Workplace psychopaths are individals who manipulate their way through life
and leave an indelible mark on both victim and society. They are cunning,
self-centred and ruthless, They make working life a living hell for many of us.
What motivates these individuals ?
  • They intimidate fellow workers
  • They Exhibit impulsive behaviour
  • The demonstrate a lack of remorse
  • They are gib and superficially charming.

Mary was amid-level manager in a firm. She could manipulate any situation,
no matter how bad, so that she ended up looking successful. She lied to both
colleagues and clients, but never took responsibility when her deception was

She would simply turn on the charm and ingratiate herself with senior
management, laying the blame directly on someone else. Her mood swings were
completely unpredicatble, one minute she was nice and the next she would turn on
colleagues, causing many people in the organisation to fear her.

Perhaps what struck most of her colleaues most was her complete lack of
remorese or guilt when caught doing something wrong. Mary would do whatever it
took to look good at the expense of her colleagues.


Maybe I am too ??? Great book good for a few laughs


Tuesday, February 13, 2007

Lastest Project

I have just started a new project where I am developing a system that will combine some of the ideas from sites like and with my ideas from to create a fully self-contained html form builder that uses a single html file to design, publish and fill-out user designed html forms.

As I will be using the self-cloning techniques I used at it will require no server. So imagine that I can send you a single html file containing everything you need. You can then create your own form just by adding form elements from a menu and then setting some properties. You then publish the form which will create a copy of your form that you can send to people to fill in. All of this from a single html file and no need for a server. This will fill the gap between pdf ( cannot fill in ) and word forms (end-user updateable design and no validation), should be easy to use and will only require a browser.

I will post more information when I get around to putting something together.

Labels: , ,

꽃 피는 봄이 오면

Last night I watched “SpringTime” actually I think this a crappy translation, it should be “When the flower blooming spring comes”. The movie came out in 2004.

The movie overview is:

To trumpeter Hyeon-Woo, life seems to remain forever locked in winter. In
desperation, Hyeon-Woo signs up for a position teaching a children's wind
ensemble at a small junior high school in a distant Dogye village. Worn-out
instruments, tarnished trophies and frayed certificates testify to the poor
conditions of this ragtag group. This leads Hyeon-Woo, together with his
students, to take on a seemingly impossible challenge

SPRINGTIME is the revitalizing, moving tale of a trumpeter whose wounded soul gains a newfound hope after he starts teaching a wind ensemble in a children's school in a mountainous coalmining village. Beginning in the rains of autumn and continuing
to the first breezes of spring, this movie illustrates how a heart is gradually
healed as a part of the ongoing changes of life - as part of life, love and the
turning seasons.

The movie was a good mix of humour and sadness, with a lot of dry humour and also some heart felt moments, and once again proving that a great story makes up for lack of special effects everytime. It stars 최민식 who is probably one of the most famous Korean actors known outside of Korea, and 장신영 who in my opinion is one of the hottest Korean actresses.

I give it 4 kimchis out of 5. Oh and “Kenny J” even gets a mention.

Labels: ,

Reflections on a sharepoint course.

Last week I was in Brisbane on a MS SharePoint Course. I was there as a last minute stand-in , so was really there as an observer only. I now know why MS has changed the name so Microsoft Office SharePoint Services (MOSS). I would describe SharePoint as the Access of Collaboration. It is really very good at doing what it can do, the integration with office products is very good, the way you can publish meta-data about word documents is great, and I really like the data retrieval services integration between excel/access and SharePoint.

But the programmability of the product is far to limited, and for MS to even suggest that this is a competitive product with IBM Domino is quite a joke. Having said that if I was I an SMB and wanted to do some smart document sharing or maintain some shared lists of data, and didn’t have the skill sets to write code myself I would choose SharePoint as a solution. But like Access I think you would very quickly realise that extending any solution beyond something simple is going to bring a lot of pain.

I do however wonder why large enterprises with SQL server and .net experience would even purchase this product?? Maybe it comes in the bundle ??

Wednesday, February 07, 2007

Catastrophic Failure Errors

Today in the sharepoint course I received a "Catastrophic Failure" error message.

I found this amusing as it seems a little extreme for a simple error message, and wondered what the error message severity chart must look like for sharepoint developers. Maybe I the next level is:

Error: A portal to hell seems to have opened around your server.

Tuesday, February 06, 2007

SharePoint Course

I am in brisbane this week for a MS Sharepoint course. I have decided not to comment on this course until after it has finished, so far I am mildly impressed, but there still seem to be holes in functionality and no clear direction as to how sharepoint, .net 3.0 workflow services and InfoPath should be or could be used to create a "Real" enterprise system to rival IBM Domino in the workflow space.

Thursday, February 01, 2007

Flooding !!

Although there is level 4 water restrictions in Brisbane, and mostof Australia is still declared "Drought"... I don't have that problem where I live. In fact I have the exact opposite problem.

Above is my driveway as of this morning, but worse is the picture below of the road ( yes that is a road ) I usually take to work..

Now if I only had a really big pipe so I could see it to all those people in the South ??

.Net Domino and Exchange MailBox Reader over HTTP.

I work for an organisation that provides IT services to many different and separate organisations. Some of these organisations use MS Exchange and some use IBM Domino for mail infrastructure. I have recently had to write an “inbox aware” .net application that can read and process inbox data, but I needed to do this independently of the underlying mail infrastructure, as it needed to run for all organisations.
I thought about simply using POP3 for this, but this has some limitations.

  • It isn’t running by default on any of the Domino or Exchange Servers.

  • It doesn’t support rich text.

  • It doesn’t support custom fields.

  • It usually isn’t allowed through firewalls.

Custom field support was quite important because many of Domino mailboxes have custom fields that we may need to process via our .net application.

I have created a small sample application demonstrating how I went about this. I implemented a small IMailConnector interface in .Net and then created two MailConnector Classes that matched this interface. The ExchangeMailConnector class uses WEBDAV (over http obviously) to read and process mail in an exchange mailbox. The DominoMailConnector connects to an agent in the mailbox over http and processes xml/html and binary data supplied by that agent. The agent is my own creation ( yes, I program in Lotusscript as well ) and needs to be placed in the design of the Domino mailbox database for the DominoMailConnector to work.

If you are going to test this sample, please do it on test mailboxes as the default behaviour of the connector classes is: read e-mails, place the data in SQL and then DELETE the original message. So don’t blame me if you runs this app and then your mailbox is empty, you have been warned. The reason for this behaviour is because the easiest way to make sure you only process a message once is to delete it after you have processed it. If you require a different behaviour then you will have to write your own code to determine if you have or haven’t processed an e-mail already.

The zipped vs C# 2005 sample application is here. It provides the following features:

  • Connections to both an Exchange or Lotus Notes/Domino Mail box

  • Retrieves "from" , "subject","html message body" and attachments and embedded objects. (Fully Extendable)

  • Stores the retrieved mailbox data in SQL for easy access from .Net

  • Does not use POP, so is extendable to support custom fields in Both Domino & Exchange.

  • Uses HTTP for connections so can be used through web-only firewalls.

To setup the sample app you need to do the following:

Create a blank SQL database on your SQL server and then run the DBSetup.SQL file in the DBSetup folder of the solution against it. This will set up the tables and the stored procs to handle the storage of the e-mail data given by the connectors.

Once you have done this then you will need to adjust the web.config of the solution so the connectionstring of the “mailboxconnection” matches your SQL setup.

You next need to adjust the web.config to match your mailbox setup. If you are using a Exchange Server then you will need to set the MailBoxType Key to “Exchange” and set the other keys to match your mailbox server,username and password.

If you are using a Domino Server then you will need to set the MailBoxType to “Domino” and set the other keys to match the domino server,mail database location,domino userid and password.

If you are using Domino you will also need to copy the (dotNetDataViewer.xml) agent ( Found in the HojuRetriever.nsf database in the Domino Folder of the solution ) into the mail database you will be accessing. The agent needs to run with at least Designer access.

Once you have done this then you should be able to run the solution, press the “Get Mail” button to retrieve messages from the mailbox.

If you need a better understanding of some of the “plumbing” of this application then please leave a comment and I will endeavour to answer your questions.

Good Luck !!

Pic of Message View

Labels: ,