Terra Dent was initially labeled Dental Supply International and it was based on movable type v3.x. Built around March 2006, the site needed a face lift!
I've built the initial site on 2006, but since then the technology evolved and I've thought about improving this project. As the company wanted to rebrand anyway, this was a great opportunity to redesign and rethink everything based on the 2009 technology.
I've worked for Terra Dent SRL starting from end of 2000 for about 1 year, while I was student in Bucharest and before departing for Italy with a scholarship. Actually, I've been the first employee that Terra Dent had and my role was to manage the IT Department.
When I'm referring to this company I'm getting a bit nostalgic about those times of the university, of the work in the afternoon and my girl friend in the evening.
As the Terra Dent SRL board appreciated me for my skills and way of being, they decided to contract me for build their Website project in early 2006 (I've posted some notes about that project in this portfolio, labeled as "Dental Supply Int 2000").
Over the years we kept upgrading movable type and we've added various features here and there, but the overall architecture remained the same.
Initially, the Website had 3 sections as follows: a space for products, one for courses and another one for events. However, we've decided this year that it would be nice to develop also a 4th section so that Terra Dent Staff could create and manage newsletters.
The Website was initially built for "Dental Supply International 2000", but the board decided to rebrand it to "Terra Dent SRL" as this is the main company in the group.
Website Ideas and Art Work
Over time we've seen that there were some limitations in the way the initial Website was designed.
So, over the years we've got a number of ideas we wanted to put into practice.
After a series of meetings about various aspects of the Website, we've decided to reorganize the navigation, to rethink the sort of information we display on each and every page, as well as to redesign completely the Website look and feel.
My main objective as a new media consultant was to make sure that information would be very well organized, that visitors could easily and intuitively browse variations sections of the Web site and to basically make people feel comfortable with the way the Website is done.
Each and every page type on the Website was carefully designed.
Website Layout Slicing
I've hand coded the Website layout using XHTML v1.0 transitional and CSS v2.0.
As an experienced web developer, when the slicing job was complete and I've checked it for cross platform compatibility everything looked perfect on a large number of platform combinations.
The layout was cross platform compatible, optimized for search engines and validated against the W3C markup specifications.
Movable Type Upgrade
We've upgraded movable type many times over the years and we are now making sure to always run the latest movable type release in order to make sure that we benefit of the latest Six Apart expertise and terms of movable type features, bug fixes and isolated security issues.
Movable Type Custom Fields
I recall that in early 2006 when I've built this project, there wasn't a reliable plugin which to manage custom fields, but which to allow us to play with the data as we want.
There was a plugin for custom fields, which I've tried to use also for a project for the Arab Planning Institute from Kuwait, but from that project I've learned that the way that plugin configures custom fields doesn't allow us to extract that custom data and display it in a very flexible way.
With that in mind, I've decided that I should hack the movable type source files and create custom fields in a similar way that movable type handles the standard fields. This technique was excellent because it allowed me to play with the data in any way I've imagined.
However, the hacked custom fields' technique had also a disadvantage which is that whenever I wanted to upgrade movable type I had to again patch a number of movable type source files for the custom fields to keep working.
While this wasn't too much of a trouble, over time as the changes from a movable type release to another were quite complex, I've started to spend quite some time on recoding the custom fields hacks, as the hacks from a version didn't match anymore the hacking requirements for a newer version.
Movable Type Hacked Custom Fields to Native Custom Fields
When I decided to upgrade the project from movable type v3.x to movable type v4.x I've said to myself that I'm not going to continue to hack the movable type v4.x release and from that moment on any other 4.x releases because Six Apart added a native custom fields feature in movable type v4.x series.
So there was time to consider setting up those custom fields as native custom fields, so than an upgrade would be simple and won't take a lot of my time to hack some movable type source files.
When you think about it, the process is not a big deal, but when you get to the work, you realize that switching from hacked custom fields to native custom fields, involves the following:
1. Create those custom fields as native custom fields from inside the movable type admin
This is the easiest and quickest step as the custom fields details are already clear (custom field label, basename, movable type tag etc.).
2. Port the data from the hacked custom fields to the native custom fields
This was the most versatile job because I've had data stored inside the mt_entry tables, each custom field being an independent column on that table and I had to find a way to migrate it automatically to the place where movable type stored its native custom fields' data.
The only solution I've had for solving this problem was to code a custom plugin for it.
When I've finished the work on this plugin, the data migration was a breeze!
Imagine that I've had over 1,200 entries with a couple of custom fields each, from 2 to 7. Doing that job manually would have been a nightmare ?
3. Update the movable type templates with the native custom fields movable type tags
The native movable type custom field are based on this pattern: EntryDataCustomField, while our hacked custom fields were based on: EntryCustomField, so I've had to replace all around the Website the movable type tags for all the custom fields from a format to the other.
Movable Type Newsletter
For more than one year before working on this redesign project, I've offered Terra Dent SRL consultancy on how to manage a newsletter and which platform to use for managing the newsletter subscription and distribution.
This time, we've decided to build a new section on the dsi.ro Website which to allow the Terra Dent SRL staff to be able to create a newsletter, to add items to it, to be able to grab the newsletter html version and to just paste that coding inside the newsletter distribution platform.
What was even more interesting is that when I've imagined this mechanism, I've had in mind to make the Terra Dent SRL staff lives easier and to allow them to easily pull products or courses details from the appropriate section, rather than having them to duplicate a product or a course inside the newsletter section.
So, what I did was basically to allow them to pick products and/or courses from those sections into a newsletter issue and to also allow them to be able to customize some details of the products or courses, in case they wanted to put something different than on the original version.
I'm very proud so see translated in practice the mechanism I've thought about.
Apart from the movable type development, I've also designed and hand coded the HTML Newsletter.
I think that in the end I've spent more time on coding the newsletter layout in web page format and to make sure it looks good on various email clients, than what I've spent on the artwork and the movable type development counted separately.
The reason I've spent so much time on this is that many email clients are not aware of CSS based layouts and so I've had to come back to a combination of CSS and TABLE based layout.
Let me show me a couple of screenshots taken from some pages (not all the page types, just a few of them).
Individual Product Page
Contracting from Terra Dent SRL, Bucharest, Romania.
October 2009 - November 2009