One week and one day after the evaluation, I am trying to recall what we have went through in the Project SEMF.
The project had a very bad start. And we choose that project very accidentally. I can still remember the days we were finding projects. I preferred to a memory check tool for c/c++ programs which somewhat looks awful at the first place. And lot of attempts to do a project related to Web Services. And finally we came in to this idea proposed by me.
The flow of the project was simple. In the first semester We finish only little on Schema Designer. The Implementation we did is obviously the bad one that can be done by anyone. So at the end of the first semester we were in risk we may not implement anything at all at all.
In the next semister I personally Dig in to the Page Designer. There are some parts in there I planned to finish in 2/3 days, but actually took 2 months. So it is obvious that it is just a miracle that we can came across everything. And by the start of the April we had good view on the page designer. I created that toolbar at the first week of the April holiday which went unchanged until the last week or so. Within the April vacation I planned to finish the compiler. But the cricket world cup made me not to be much away from the TV. But I managed to write the tokenizer and simple parser on those days. We(Sri Lanka) loose the world cup. I remember how I feel the next morning after the world cup final. We were not even close to an end. That week was special. I work hard Sunday, Monday, Wednesday. The most of the unorganized code in the semantic handler is written in that period. And Thursday I came to the university hostel to work for the algorithm exam which was to be held on Saturday. The very first night a thief broke in to my room and stole all the money from my purse. I saw him at the last min, but i did never catch him. He jumped in to the roof and run while I manage to scream "Thief, Thief" (Actually in my mother tung). Isn't it funny.
In next few weeks as university start I managed to write some codes like components for uploader, HTMLText using TinyMCE and the media library. So at the end of the month May we had page designer complete, but with bugs. And the big thing I managed to do in those days as far as I believe is designing the Databinding framework. I managed to have some working samples.
In the June we had exams. And that when Dilan started working on the Schema Designer. I think he did a pretty good job using the same back=end i wrote on the last semester powered by a great front=end.
As exam finished I wrote a simple test framework to make sure we are done everything. That is when we made our project a usable system. I have to do lot of editing to pass all the tests. Then the first day the Juneterm started, i.e. actually start of July on the way from home to univeristy I was thinking about how to implement inheritance in the schema. The same night I created an interface for "User" and made a login system based on the user token. Wow it was working, I think it was the first clue our project is getting OK and we may able to show something at the demonstration. I cant remember what happened in the next 3 weeks. First we wrote the project report. And then prepared for the demo. Dilan and I was sleepless most of the night specially the last 2 nights. The night before the demonstration day I slept only 45 mins. That is starting from 5.45 am to 6.30am. Dilan was also the same practicing the presentation all way night. The feeling I had on that particular day was we have more probability of getting failed. The early day 3 groups were failed at the demos and vivas. And our main demonstration element the final system was only mostly done on that sleepless night.
So at the end of the day we were really happy. Our project really impressed them. That all the hard work that we did went not for nothing.
So what is the future of the SEMF?. We are now working on uploading the code to the Google repos and do a simple release. And I am afraid I will again look in to the project as I moved to some different field in my job which I ll be attending in next month onward. Anyway I m sure SEMF can do something special and SEMF should be continue implementing. And It may need to change some design decision and re-implement.
But It is no doubt that in the first release we are introducing a real different web experience to the world.
Showing posts with label SEMF. Show all posts
Showing posts with label SEMF. Show all posts
Friday, August 3, 2007
Tuesday, June 5, 2007
JS Databinding in SEMF
While I am working on SEMF Databinding which synchronize HTML Element and Data XML, I thought it would be great if we follow a specified pattern on it. Although IE provide good databinding intergrated with the browser with the concept of XML Data Island, I have to think of some thing that work cross-browser. So I am suggesting a JavaScript Databinding Framework for SEMF like following..
1. The format of the Data XML is as following.
<xml>
<data> <!-- IE Needs another wrapper to identify this as data-->
<data> <!-- Keeps the data variables -->
<attr val="dataVar1">
<!--this is an example of data variable.., It has direct attributes name, country and sports -->
<attr val="3"> <!-- the actual id of the data-->
<attr val="name">
Test1 <!-- just a simple value..-->
</attr>
<attr val=""> <!-- country is an another data object -->
<attr val="name">
Country1
</attr>
</attr>
<attr val="sports"> <!-- This is an array -->
<sports>
<attr val="1">
Sport1
</attr>
<attr val="2">
Sport2
</attr>
</sports>
</attr>
</attr>
</attr>
</data>
<page> <!-- Keeps page variables -->
<attr val="pageVar1">
varValue1
</attr>
<attr val="pageVar2">
varValue2
</attr>
</page>
</data>
</xml>
2. It has mapped a property to a particular XML Data Component..
3. HTML elements are associate with properties.
E.g.
<input databind="property1"/> which will bind the elmeent to property which is mapped to a particular XML Data Component.
4. Repeater elements are defined to behave as pivots on repeating XML data structures.
E.g.
<span repeaterpivot="1">
<input databind="property1">
</span>
The repetition will be happened,
* If the property1 is associated with a data variable AND
* If the data variable associated with the property1 has several ids OR/AND
* The final attribute referenced by the property is an array
E.g.
if the property1 is referening to "@dataVar1.sports" the repetition will be happened following way.
<span repeaterpivot="1">
<input databind="property1" value="Sport1">
</span>
<span repeaterpivot="1">
<input databind="property1" value="Sport1">
</span>
This is because the @dataVar1.sports is an array and the array has several elements.
But if the property is refering to "@dataVar1.name" there would be only 1 entry since it is not an array. But it dont need to be a array to make a repeat as mentioned in the above points.
If dataVar1 had have some other ids and they had entries for name, then the @dataVar1.name would repeat the same way like below.
<span repeaterpivot="1">
<input databind="property1" value="Test1">
</span>
<span repeaterpivot="1">
<input databind="property1" value="Test2">
</span>
These would be the basic properties of the Databinding Framework shifted with the SEMF. The implementation is almost done except for solving some very basic things. Hope it would be finished by the end of this week making SEMF to finish its first stage.
1. The format of the Data XML is as following.
<xml>
<data> <!-- IE Needs another wrapper to identify this as data-->
<data> <!-- Keeps the data variables -->
<attr val="dataVar1">
<!--this is an example of data variable.., It has direct attributes name, country and sports -->
<attr val="3"> <!-- the actual id of the data-->
<attr val="name">
Test1 <!-- just a simple value..-->
</attr>
<attr val=""> <!-- country is an another data object -->
<attr val="name">
Country1
</attr>
</attr>
<attr val="sports"> <!-- This is an array -->
<sports>
<attr val="1">
Sport1
</attr>
<attr val="2">
Sport2
</attr>
</sports>
</attr>
</attr>
</attr>
</data>
<page> <!-- Keeps page variables -->
<attr val="pageVar1">
varValue1
</attr>
<attr val="pageVar2">
varValue2
</attr>
</page>
</data>
</xml>
2. It has mapped a property to a particular XML Data Component..
3. HTML elements are associate with properties.
E.g.
<input databind="property1"/> which will bind the elmeent to property which is mapped to a particular XML Data Component.
4. Repeater elements are defined to behave as pivots on repeating XML data structures.
E.g.
<span repeaterpivot="1">
<input databind="property1">
</span>
The repetition will be happened,
* If the property1 is associated with a data variable AND
* If the data variable associated with the property1 has several ids OR/AND
* The final attribute referenced by the property is an array
E.g.
if the property1 is referening to "@dataVar1.sports" the repetition will be happened following way.
<span repeaterpivot="1">
<input databind="property1" value="Sport1">
</span>
<span repeaterpivot="1">
<input databind="property1" value="Sport1">
</span>
This is because the @dataVar1.sports is an array and the array has several elements.
But if the property is refering to "@dataVar1.name" there would be only 1 entry since it is not an array. But it dont need to be a array to make a repeat as mentioned in the above points.
If dataVar1 had have some other ids and they had entries for name, then the @dataVar1.name would repeat the same way like below.
<span repeaterpivot="1">
<input databind="property1" value="Test1">
</span>
<span repeaterpivot="1">
<input databind="property1" value="Test2">
</span>
These would be the basic properties of the Databinding Framework shifted with the SEMF. The implementation is almost done except for solving some very basic things. Hope it would be finished by the end of this week making SEMF to finish its first stage.
Tuesday, February 6, 2007
The First Post
Hi,
Well I decided to start a blog for our project which will be more useful than the group we have (although it is also not pack as much;).
So what should be posted here and what should be posted in the group is the next question. Well my selection criteria is this.
Here we should present our independent ideas, feelings and and the studies of the environment regarding the project. So the viewers should people this is a bunch of resources that they can have a good idea of our project, the project flow and the final project.
Whereas the Google group can be used as a discussion forum. If we found an important, controversial thing, we can just that move that in to the group and do our discussions there.
And to remember one thing what ever we do, the real value of that doesn't solely depend on the greatness of the product, but it depend more than 90 percent on the things that we say about it.
So lets start the work.!
Well I decided to start a blog for our project which will be more useful than the group we have (although it is also not pack as much;).
So what should be posted here and what should be posted in the group is the next question. Well my selection criteria is this.
Here we should present our independent ideas, feelings and and the studies of the environment regarding the project. So the viewers should people this is a bunch of resources that they can have a good idea of our project, the project flow and the final project.
Whereas the Google group can be used as a discussion forum. If we found an important, controversial thing, we can just that move that in to the group and do our discussions there.
And to remember one thing what ever we do, the real value of that doesn't solely depend on the greatness of the product, but it depend more than 90 percent on the things that we say about it.
So lets start the work.!
Subscribe to:
Posts (Atom)