Todays goal: implement db tables, stored procs and other such stuff to enable other developers to move forward with H project.
Weather is atrocious today, with most of the developers out of the office.
Monday, January 21, 2008
Friday, January 18, 2008
Borked code
Hmm. CVS update seems to have borked (bjorked if you're swedish) my local source code. I'll have to pull out what I've changed, get a fresh set from CVS, and reapply my changes. I'd rather not loose the hour this will take, but what do you do?
Lots of interest in getting I18N/l10n output working from the system. The idea is, if we can show this working from a dev system it'll really give us a great advantage in getting rolled out in Japan.
Okay, got that all fixed.
Working on some code for handling the "Inbox" concept. I think tracking what a user does with their inbox will only take a couple days to work out. I decided to work on this code, rather than the stored procs, because Derek is out until later today. Seems his boy needs to get his tonsils out.
Lunch has gone and passed. Derek is still not here, but I've passed a bunch of text to Dale for it to be translated into various langauges. I18N of report moves forward thusly.
While Dale does his language magic, I've switched gears onto project #2, which is tracking survey response use. The app is having problems starting up, so I've missed something in the hibernate config.
Dale has gotten back with translated text, done through babelfish. I see that three other localized values need to be set up through the .properties files:
Lots of interest in getting I18N/l10n output working from the system. The idea is, if we can show this working from a dev system it'll really give us a great advantage in getting rolled out in Japan.
Okay, got that all fixed.
Working on some code for handling the "Inbox" concept. I think tracking what a user does with their inbox will only take a couple days to work out. I decided to work on this code, rather than the stored procs, because Derek is out until later today. Seems his boy needs to get his tonsils out.
Lunch has gone and passed. Derek is still not here, but I've passed a bunch of text to Dale for it to be translated into various langauges. I18N of report moves forward thusly.
While Dale does his language magic, I've switched gears onto project #2, which is tracking survey response use. The app is having problems starting up, so I've missed something in the hibernate config.
Dale has gotten back with translated text, done through babelfish. I see that three other localized values need to be set up through the .properties files:
- KEY_MCD_DissatissifactionReasons
- KEY_MCD_Service_Option
- KEY_MCD_QSC_Critical_Driver
Thursday, January 17, 2008
Work on Stored Procs
Primary task today is to finish I18N work on a set of stored procs.
TODO: IDs generated for l10n strings will differ between dev, test and prod systems. These will need to be tracked and accounted for. Ideally, some way to keep them the same will present itself.
Also today, a brown bag lunch where I'll be presenting on Ch. 1 from the Design Patterns book. This will largely be review, but I am planning on including some material from the introduction. This material covers problem-solving approaches, and is good for any general situtation:
Next up is to ensure that the I18N strings are in the LocalizedString table.
Also, fix the javascript for the pop-up calendar so that it properly handles foreign date formats, and also the DateScanner code so that it can receive those formats and properly parse them into java Date objects. As soon as this is done, Dale can begin testing parts of the system.
TODO: IDs generated for l10n strings will differ between dev, test and prod systems. These will need to be tracked and accounted for. Ideally, some way to keep them the same will present itself.
Also today, a brown bag lunch where I'll be presenting on Ch. 1 from the Design Patterns book. This will largely be review, but I am planning on including some material from the introduction. This material covers problem-solving approaches, and is good for any general situtation:
- Slow down, stop and think.
- There are no dumb questions. Avoid assumptions about the problem. Understand the problem as thoroughly as possible.
- Talk about it, out loud. This uses a different part of the brain and will aid understanding and problem-solving. Ideally talking to another person.
- Design the solution. Understand what conclusion you are trying to reach, and write down all the steps needed to get there.
Next up is to ensure that the I18N strings are in the LocalizedString table.
Also, fix the javascript for the pop-up calendar so that it properly handles foreign date formats, and also the DateScanner code so that it can receive those formats and properly parse them into java Date objects. As soon as this is done, Dale can begin testing parts of the system.
Wednesday, January 16, 2008
I am attacking
Excellent. Not one, not two, but three projects to get done in an impossible time frame.
Did I mention the time frame? No? Okay, then... it varies, but you can measure the weeks with your fingers. And, oh yes, don't forget testing.
So, I will attack.
One of the tasks needed for I18N is the ability to parse datetime strings. These need to be handled in a localized manner- we'll know what the locale is, and a likely format. In some cases, we'll need to 'guess' what the user entered.
I'm creating a set of regular expressions which will be dynamically loaded based on the locale of the user. There was a little fun with the .property files, because the escaped slashes ultimately expand out to four slashes to get just one into a Java String. With this worked out, my regex expressions behaved much better. Thank goodness for unit tests, which allowed me to refactor the code again and again.
In case I'm unclear, unit tests rock. Highly recommended. If you're not using them, well, you must be a dilatory masochist programmer. Props to you for being so tough.
----------
End of day. I've worked on all three projects, wrapping up by doing time localizing stored procs in the database. I've run into an issue that the replicated data in the warehouse side of the DB is different than the oltp side. I need to figure out why, and how to fix it, before I enter a bunch of localized data into these tables.
Hard pressed on my right. My center is yielding. Impossible to maneuver. Situation excellent. I am attacking.We have an internationalization/localization (I18N, l10n) project underway for our primary application, a branch of that application which is intended to deliver new functionality (which will also need to be localized when merged) and our biggest client would like to use our service in Japan, which would require us to learn, implement and deliver CHTML.
-General Ferdinand Foch, WWI
Did I mention the time frame? No? Okay, then... it varies, but you can measure the weeks with your fingers. And, oh yes, don't forget testing.
So, I will attack.
One of the tasks needed for I18N is the ability to parse datetime strings. These need to be handled in a localized manner- we'll know what the locale is, and a likely format. In some cases, we'll need to 'guess' what the user entered.
I'm creating a set of regular expressions which will be dynamically loaded based on the locale of the user. There was a little fun with the .property files, because the escaped slashes ultimately expand out to four slashes to get just one into a Java String. With this worked out, my regex expressions behaved much better. Thank goodness for unit tests, which allowed me to refactor the code again and again.
In case I'm unclear, unit tests rock. Highly recommended. If you're not using them, well, you must be a dilatory masochist programmer. Props to you for being so tough.
----------
End of day. I've worked on all three projects, wrapping up by doing time localizing stored procs in the database. I've run into an issue that the replicated data in the warehouse side of the DB is different than the oltp side. I need to figure out why, and how to fix it, before I enter a bunch of localized data into these tables.
Subscribe to:
Posts (Atom)