Create Table epochs (Id c(9), Selected l)
Create Table pics (Id c(9), Caption m, bigpic m, startdate T, Date T, Current c(1), modified T, added T, Height N(4,0), Width N(4,0), Link m)
Create Table mess (Id c(9), Name c(35), email c(35), website c(35), Date T, Active c(1), Mess m)
Create Table sen (sen c(9), numdates N(2), Para c(9), Start N(5), End N(5), startd T, Endd T, First c(1), Current c(1), Deleted T, added T, Color c(6), tsen N(4))
Create Table para (Id c(9), Fixed m, dates m, marked m, Current c(1), added T, First c(1), Deleted T)
Create Table decorator (Id c(9), startdate T, enddate T, Color c(6), opacity N(3), startlabel m, Current c(1), Type c(1), Deleted T, modified T ,added T)
Create Table allmags (Id c(9), Start T, End T, unit c(1), mag N(4), Current c(1), Order N(4,0), band N(3), Deleted T, modified T ,added T)
Create Table tljsdb (Id c(9), band N(2), Prop c(1),
Value m, Current c(1), Deleted T, modified T ,added T)
Create Table global (Date d, Height N(10), Width N(10), tlheight N(10), Current c(1), gotpics l, modified T ,added T, picsavail l, rtotal N(10), rcount N(10), lasttime T)
6) Then I pull the Wikipedia article from your (en.Wikipedia.org) website servers. 7) I then pull out and cleanup each individual paragraph from the article and stick each one into a database.
8) I then mark all of the (suspected) dates in the paragraph and save that into another field in the database (very
complicated).
10) I then send that into a comprehensive date disambiguation algorithm to see if the (suspected) dates are really dates.
11) If they are, I first detect "continuous dates". Dates that denote a continuum. Example - "He was prime minister from January 20, 1874 to August 2, 1880".
12) I then grab single dates. Example "He became
prime minister on January 20, 1874."
13) I then grab "widow dates" like "He became prime minister in January of that year." because in order for this to make any sense (in natural language) a year is almost always in the previous sentence or paragraph.
14) I then parse out all pictures, from the article, and disambiguate all of the potential dates, from the pictures caption, using the same algorithm I used on the paragraphs. These dates are used for picture placement on the timeline. Users can turn pictures on or off and can change the dates on the pictures, to adjust where they are placed on
the timeline.
15) I then construct the JavaScript for the new timeline.
16) I send the timelines JavaScript to the client browser.
17) I then construct the XML data for the timeline.
18) I then send the XML to the browser (actually the timelines JavaScript requests the XML as it executes).
Of course, this whole thing is much more involved than this. I just wanted to give you an overview.
If the timeline already exists (in my databases), it only takes seconds to construct and display it.
If the timeline dose not exist, it can take up to 60 seconds to traverse steps 1 to 18 above (depending on the size of the article). Luckily this is a one shot deal, as it only happens once for each Wikipedia article. Each timeline is only "born" once.
I hope this helps!
We have a rather long list of improvements for the website and the back-end. We just put the website up as a beta to get as much feedback as quickly as possible.
So it is BACK TO WORK! lol