* Timeline Plugin

For users to report plugin bugs and request plugin enhancements; and for authors to test new/new versions of plugins, and to discuss plugin development (in the Programming Technicalities sub-forum). If you want advice on choosing or using a plugin, please ask in General Usage or an appropriate sub-forum.
Post Reply
avatar
GeneHunt59
Gold
Posts: 10
Joined: 23 Nov 2009 18:56
Family Historian: V5
Location: Essex, England

Timeline Plugin

Post by GeneHunt59 » 28 Apr 2012 12:16

Hi,

I have a couple of issues with the Timeline plugin.

I tried a sample family with 10 children. The births do not appear chronologically - from first to last, or even last to first. I'm not sure whether this is for display purposes or a problem with my GEDCOM, but i have played around with the data and still no luck. Current descending view order of birth years is:

1862, 1858, 1856, 1852 & 1869 (both on same line), 1865, 1864, 1861, 1859, 1853.

Also, how & where do I save a timeline when created - both for viewing later and inserting in a website. I tried to save, but the data is not showing.

Alan

ID:6195

User avatar
Jane
Site Admin
Posts: 8442
Joined: 01 Nov 2002 15:00
Family Historian: V7
Location: Somerset, England
Contact:

Timeline Plugin

Post by Jane » 28 Apr 2012 12:25

The timeline code from SIMILE uses a 'best' fit algorithm and I have not yet found a way to order the items.

If you use the Multiple record option rather than the quick display option it will prompt you for a folder to contain the files.
Jane
My Family History : My Photography "Knowledge is knowing that a tomato is a fruit. Wisdom is not putting it in a fruit salad."

avatar
GeneHunt59
Gold
Posts: 10
Joined: 23 Nov 2009 18:56
Family Historian: V5
Location: Essex, England

Timeline Plugin

Post by GeneHunt59 » 28 Apr 2012 12:56

Many thanks Jane for your help.

avatar
lesleyl
Diamond
Posts: 74
Joined: 01 Feb 2004 13:03
Family Historian: V7
Location: Cambridge

Timeline Plugin

Post by lesleyl » 29 Apr 2012 17:10

Is there anyway to change the vertical spacing of the text? If you try to print out a timeline, any text that is wrapped-around appears partially on top of the entry below. Also, when you print it, you lose any pages >1
It's fine on the screen when viewed at 100%, but I've tried several different ways - reducing the view %age to 75% and doing a screen grab gives the same problem

User avatar
duncan_a
Gold
Posts: 20
Joined: 04 Oct 2005 12:59
Family Historian: None

Timeline Plugin

Post by duncan_a » 10 Mar 2013 10:48

I have someone in the tree who appears to have a mental breakdown and I'd like to show the likely factors on a timeline in v5 using the Timeline Plugin.

The 'death of parent/child' seems to show in the timeline as
standard, so that's good - but like to find a way to include 'death of siblings' and exclude many of the events that show in the 'facts list' for the timeline if it's possible (completing the Census can be stressful, but...)

I'm also having a problem with the timeline plugin itself. It seems to work fine on everybody I've tried, except for the person I actually need to use it on. If I select the 'Quick View Current Record' option, it throws an error:
...Timeline Chart.fh_lua:365:invalid capture index

This is way too technical for me...

Thanks

User avatar
Jane
Site Admin
Posts: 8442
Joined: 01 Nov 2002 15:00
Family Historian: V7
Location: Somerset, England
Contact:

Timeline Plugin

Post by Jane » 11 Mar 2013 10:52

Is there any chance you could export the person you have a problem with, plus one generation down and up from him into a small gedcom and email it to me janetaubman at gmail.com that way I can look to see what is causing the error.

I will have a think about the best way to prompt for exclusion of fact types.
Jane
My Family History : My Photography "Knowledge is knowing that a tomato is a fruit. Wisdom is not putting it in a fruit salad."

User avatar
tatewise
Megastar
Posts: 27087
Joined: 25 May 2010 11:00
Family Historian: V7
Location: Torbay, Devon, UK
Contact:

Timeline Plugin

Post by tatewise » 11 Mar 2013 16:26

Jane, it is possible to upset gsub() if the 2nd parameter contains strings such as %90, which refer to an invalid capture.
May need a simple % to %% substitution to solve the problem.
Mike Tate ~ researching the Tate and Scott family history ~ tatewise ancestry

User avatar
Jane
Site Admin
Posts: 8442
Joined: 01 Nov 2002 15:00
Family Historian: V7
Location: Somerset, England
Contact:

Timeline Plugin

Post by Jane » 11 Mar 2013 19:50

Thanks Mike, I found a different way around the problem which seems to work and I think avoids any problem with specials in the replace code.

Code: Select all

frm = 'This is my test {note}, which needs replacing'
test = 'hello World %90'
print (frm:gsub('{note}',function() return test end)) 
Jane
My Family History : My Photography "Knowledge is knowing that a tomato is a fruit. Wisdom is not putting it in a fruit salad."

User avatar
Jane
Site Admin
Posts: 8442
Joined: 01 Nov 2002 15:00
Family Historian: V7
Location: Somerset, England
Contact:

Timeline Plugin

Post by Jane » 11 Mar 2013 20:24

Duncan (or any one else) please can you give this one a go.

https://www.dropbox.com/s/vx4loogul3k1f ... art.fh_lua

It does not exclude events, but does include birth and death of Siblings.
Jane
My Family History : My Photography "Knowledge is knowing that a tomato is a fruit. Wisdom is not putting it in a fruit salad."

User avatar
tatewise
Megastar
Posts: 27087
Joined: 25 May 2010 11:00
Family Historian: V7
Location: Torbay, Devon, UK
Contact:

Timeline Plugin

Post by tatewise » 11 Mar 2013 23:55

It dealt with The Life of Anth%9ony Edward MU%9NRO B.Sc. %258C ¡¢¤¥ http://www.tatewise.co.uk OK.
Included all the expected Siblings Birth/Death, Marriages, parents Death, etc.

The gsub() trick works a treat.

It can be implemented as a plain text replacement function (code snippet?):

Code: Select all

-- Simple text string replace without magic symbols --
function string:replace(strPat,strRep)
   strPat = strPat:gsub('(%W)','%%%1')                              -- Hide magic pattern symbols
   self = self:gsub(strPat,function() return strRep end)            -- Hide % capture symbols
   return self
end -- function string:replace

function string.replace(strTxt,strPat,strRep)
   strPat = strPat:gsub('(%W)','%%%1')                              -- Hide magic pattern symbols
   strTxt = strTxt:gsub(strPat,function() return strRep end)         -- Hide % capture symbols
   return strTxt
end -- function string.replace
Usage:

Code: Select all

strText = strText:replace('%old%','%new%')

strText = string.replace(strText,'%old%','%new%')
Mike Tate ~ researching the Tate and Scott family history ~ tatewise ancestry

User avatar
Jane
Site Admin
Posts: 8442
Joined: 01 Nov 2002 15:00
Family Historian: V7
Location: Somerset, England
Contact:

Timeline Plugin

Post by Jane » 12 Mar 2013 08:55

Mike you only need to define
string.replace, in your example string:replace is simply another way of expressing the first one where the variable before the colon becomes the first parameter.
Jane
My Family History : My Photography "Knowledge is knowing that a tomato is a fruit. Wisdom is not putting it in a fruit salad."

User avatar
tatewise
Megastar
Posts: 27087
Joined: 25 May 2010 11:00
Family Historian: V7
Location: Torbay, Devon, UK
Contact:

Timeline Plugin

Post by tatewise » 12 Mar 2013 12:17

OK, I should have known that.

So should the Split A Line/String...Using Separator (code snippets) use the string.split... notation to allow both forms to be used?

I propose to add the following functions to the Plain Text Substitution (code snippet) page:

function string.matches ( s, plain [, init]) plain text version of string.match()

function string.replace ( s, plain, text [, n]) plain text version of string.gsub()

function string.convert ( s, pattern, text [, n]) version of string.gsub() with pattern but no replacement captures
Mike Tate ~ researching the Tate and Scott family history ~ tatewise ancestry

User avatar
Jane
Site Admin
Posts: 8442
Joined: 01 Nov 2002 15:00
Family Historian: V7
Location: Somerset, England
Contact:

Timeline Plugin

Post by Jane » 12 Mar 2013 12:24

Mike, I think that all sounds fine.
Jane
My Family History : My Photography "Knowledge is knowing that a tomato is a fruit. Wisdom is not putting it in a fruit salad."

User avatar
duncan_a
Gold
Posts: 20
Joined: 04 Oct 2005 12:59
Family Historian: None

Timeline Plugin

Post by duncan_a » 14 Mar 2013 13:55

Hi Jane

The new version of the Plugin seems to work fine with my problem person, so that appears to now be sorted - thank you.

What I have noticed is that if I right-click the timeline and select Convert to Adobe PDF, nothing happens. Whether this was the case with the earlier version I know not.

I was hoping I could get round it with Select All and then copying and pasting into a graphics program, but it doesn't seem to accept the Copy (Ctrl-C)command.

Print to PDF doesn't do it properly either as it truncates text and puts the remainder on top of the subsequent line - but it's not line-length dependent, it's always the last word, i.e. whatever follows the last space character.

I can't find a way to attach a PDF to this and I can't suss how to get it to an image format, so I'll email it to you separately.

Thanks

Duncan

User avatar
Jane
Site Admin
Posts: 8442
Joined: 01 Nov 2002 15:00
Family Historian: V7
Location: Somerset, England
Contact:

Timeline Plugin

Post by Jane » 14 Mar 2013 14:51

Unfortunately it's not the plugin which has that option, it's actually provided by the Internet Explorer which is used to the display the Timeline, which is well out of my control.

The simplest solution is probably to make the window full screen and use the Print Screen button to grab the image to the clipboard.
Jane
My Family History : My Photography "Knowledge is knowing that a tomato is a fruit. Wisdom is not putting it in a fruit salad."

User avatar
PeterR
Megastar
Posts: 1129
Joined: 10 Jul 2006 16:55
Family Historian: V7
Location: Northumberland, UK

Timeline Plugin

Post by PeterR » 14 Mar 2013 18:52

I added the following code, most just before i = i + 1 at the end of the Family Events section:

Code: Select all

local ptrSpouse = fhNewItemPtr()
...
-- Death of Spouse before Individual
ptrSpouse:MoveTo(ptrIndi,'~.~SPOU['..i..']>')
if ptrSpouse:IsNotNull() then
   ptrEvent:MoveTo(ptrSpouse,'~.DEAT')
   if fhIsFact(ptrEvent) then
      ptrDate:MoveTo(ptrEvent,'~.DATE')
      SpouseDeath = fhGetValueAsDate(ptrDate)
      if deathdate:Compare(SpouseDeath:GetDatePt1()) > 0 then
         addFact(ptrEvent,'Spouse: '..fhGetItemText(ptrSpouse,'~.NAME') ..' '..fhGetDisplayText(ptrEvent))
      end
   end
end
This seems to work OK but I was puzzled that the following line returned Null:

Code: Select all

ptrSpouse:MoveTo(ptrFam,'~SPOU>')
Peter Richmond (researching Richmond, Bulman, Martin, Driscoll, Baxter, Hall, Dales, Tyrer)

User avatar
tatewise
Megastar
Posts: 27087
Joined: 25 May 2010 11:00
Family Historian: V7
Location: Torbay, Devon, UK
Contact:

Timeline Plugin

Post by tatewise » 14 Mar 2013 22:57

Peter, if you check the FH Help on Understanding Data References that short-cut works on INDI and FAM records thus:

INDI.~SPOU[2]>
and
FAM.~SPOU   ( should be FAM.~SPOU> )

Therefore, the LUA equivalents are:

ptrSpouse:MoveTo(ptrIndi,'~.~SPOU[2]>') as you used,
and
ptrSpouse:MoveTo(ptrFam,'~.~SPOU[1]>') for 1st partner
ptrSpouse:MoveTo(ptrFam,'~.~SPOU[2]>') for 2nd partner

You posted:
ptrSpouse:MoveTo(ptrFam,'~SPOU>') that needs extra .~
and note that index cannot be greater that 2 as FAM has only two partners/spouses.
Mike Tate ~ researching the Tate and Scott family history ~ tatewise ancestry

User avatar
PeterR
Megastar
Posts: 1129
Joined: 10 Jul 2006 16:55
Family Historian: V7
Location: Northumberland, UK

Timeline Plugin

Post by PeterR » 14 Mar 2013 23:37

Thanks, Mike.  I wasn't thinking straight when I tried to  pick up the Individual's Spouse from the Family record.  So I'm glad it failed and I resorted to finding the Spouse via the Individual record - the only logical approach.
Peter Richmond (researching Richmond, Bulman, Martin, Driscoll, Baxter, Hall, Dales, Tyrer)

Post Reply