Create Work In Progress or Research To Do Lists

Introduction

Family Historian (fh) offers various ways to keep track of Work In Progress or Research To Do lists. One approach uses Named Lists and another uses Custom Events and Attributes with Custom Queries. Another approach, as described at Research Planner, uses a Plugin to define standard research task templates and to create selected tasks very quickly for a selected individual.

Named Lists Approach

Named Lists are covered in the Manual and Tutorials supplied with Family Historian. In Getting the Most From Family Historian examine Chapter 15/16 Named Lists and Record Flags.

Also see the Help > Family Historian Help > Using Family Historian > How to… > Named Lists and its subsections.

The general idea is to add Individual records to one or more Named Lists to identify that they need investigation, and add Notes to each one to provide the details. There could be a separate Named List for say Birth/Baptism, Marriage, Death/Burial, and Census.

Custom Attributes Approach

This technique creates a Custom Attribute in which the Note field holds labelled details of Work In Progress or Research To Do for the associated Individual.

A dedicated custom Property Box Tab provides a convenient shortcut to create, access, and update these details.

A summary of these details for all Individuals can be created using Custom Queries or by Customise or Print Records Window Columns.

The following sections describe how to create a To Do list, but you can substitute whatever name you prefer.

Initially, only the Custom Attribute need be created. All the subsequent sections are optional techniques to simplify accessing or reporting the details.

See the FHUG Downloads Fact Set ~ To Do Lists for predefined versions of most of the following customisations.

BEWARE: Some aspects of this design support only one To Do Attribute per Individual.

Create Custom Attribute

'To Do' Fact Definition

This is the only step that is essential to get started.

  • In fh V6 use Tools > Fact Types or in fh V5 use Tools > Work with Fact Sets and click the New button:
    • Enter a Fact Name of To Do
    • Select Fact Type as Attribute
    • Leave Record Type as Individual
    • Leave Fact Set as Custom or use To Do
    • Finally click the Create button

These are the basic settings, but further refinements are possible.

  • In the Fact Definition window:
    • Set Template to {blank} in fh V6 or {cause} in fh V5 to inhibit Narrative Report sentences
    • In fh V5 or later, change Normal Time Frame to Pre-Birth, and untick all Fields Required except Note
      Thus the To Do Attribute will appear at the head of the Facts tab, and unnecessary fields will be hidden
    • In fh V6 tick Fast-Add Menu to include this To Do fact in the Facts tab Add Fact shortcut menu, but this is not needed if Create Custom Tab below is implemented
    • Finally click OK

Property Box 'Facts' tab 'To Do' Attribute

In fh V4 or earlier, whenever creating a To Do Attribute, enter the Date as 0001 and it will appear at the head of the Facts tab. Conversely, enter 9999 and it will appear at the bottom of the Facts tab.


It is intended that To Do tasks are added to the Note field, one paragraph per task, with a unique Label at the beginning of each paragraph, such as Birth: or Baptism: or Census:. The benefit of these Labels will become clear later under Create Custom Queries and Create Custom Column.


To exclude this Attribute from Reports see Housekeeping below.

Create Custom Tab

Property Box 'To Do' tab example

This provides a shortcut to create and change the To Do Attribute.

  • In the Individual Property Box use Menu > Customize Data Entry:
    • Click the More Tab Task button and choose New Tab…
    • Enter the New Tab Name as To Do and click OK

These are the basic settings, but further refinements are possible.

  • In the Customize Property Box window:
    • Untick the Show most commonly-used items only option near the bottom
    • Select <Custom Item> (for advanced users) and add it by clicking the > button
      • Enter the Custom Item Name as To Do and tick the Part 1 option
      • Set the Label to To Do: or perhaps New paragraph for each Task. as a reminder
      • Use its << Select button and choose Attributes > To Do > Note
        to set its Data Reference to INDI._ATTR-TO_DO[1].NOTE2[1]
      • Tick the Variable Height option and optionally the Label Above Data option
      • Finally click OK
    • In fh V4 only, select <Custom Item> (for advanced users) again, and add it by clicking the > button
      • Enter the Custom Item Name as Date and tick the Part 1 option
      • Set the Label to Date:
      • Use its << Select button and choose Attributes > To Do > Date
        to set its Data Reference to INDI._ATTR-TO_DO[1].DATE
      • Finally click OK.
    • Click OK to complete the tab customisation

Create Custom Queries

The Result Set of either of these Queries may be Printed or Saved to produce a To Do Report.

To Do List

This Query will produce a list of every Individual with a To Do entry and tabulated with a Column for each task Label. To allow the list to be sorted in Surname order see how to Sort Fact Query on Owner Surname.

  • Open the Query Window and from the Query Menu choose New Custom Query:
    • Enter the Query Name as To Do List
    • Select a Query Type of Fact
    • Click the Create button
  • On the General tab:
    • Set the Title to To Do List and enter a Description
  • On the Columns tab:
    • Delete all the predefined Columns entries
    • Enter Heading as Owner
    • Enter Expression as =GetRecord() and click Add button
    • Enter Heading as Birth Tasks
    • Enter Expression as =GetLabelledText( %FACT.NOTE2%, "Birth:" ) and click Add button
    • Enter Heading as Baptism Tasks
    • Enter Expression as =GetLabelledText( %FACT.NOTE2%, "Baptism:" ) and click Add button
    • Enter Heading as Census Tasks
    • Enter Expression as =GetLabelledText( %FACT.NOTE2%, "Census:" ) and click Add button
    • Repeatedly add similar Columns for each unique task label that you wish to use
  • On the Rows tab:
    • Select Condition of Add if
    • Enter Expression as =FactName()
    • Set Operator to matches
    • Enter a Value of To Do
    • Click the Add button

'To Do List' Query Result Set

To Do Tasks

This Query will produce a list of every Individual with any one chosen To Do task Label. To allow the list to be sorted in Surname order see how to Sort Fact Query on Owner Surname.

  • Open the Query Window and from the Query Menu choose New Custom Query:
    • Enter the Query Name as To Do Tasks
    • Select a Query Type of Fact
    • Click the Create button
  • On the General tab:
    • Set the Title to To Do Tasks for =Text(["Label"]) and enter a Description
  • On the Columns tab:
    • Delete all the predefined Columns entries
    • Enter Heading as Owner
    • Enter Expression as =GetRecord() and click Add button
    • Enter Heading as Task
    • Enter Expression as =GetLabelledText( %FACT.NOTE2%, ["Label"] ) and click Add button
  • On the Rows tab:
    • Select Condition of Add if
    • Enter Expression as =FactName()
    • Set Operator to matches
    • Enter a Value of To Do
    • Click the Add button
  • Also on the Rows tab:
    • Select Condition of Exclude if
    • Enter Expression as =GetLabelledText( %FACT.NOTE2%, ["Label"] )
    • Set Operator to is null
    • Click the Add button

'To Do Tasks' Query Result Set

Create Custom Column

This technique adds one or more Columns to the Individual Records Window to identify To Do entries.

  • Open the Individual Records Window and use Lists > Configure Record Window Columns:
    • Scroll to the bottom of the Item list on the left
    • Select <Other…> and click the > button in the centre
      • Enter Heading such as To Do
      • Enter Expression =TextIf(GetLabelledText( %INDI._ATTR-TO_DO.NOTE2%, "Birth:" )="", "", "Birth:" )
      • Select Default Sort Direction as Descending
      • Click the Add button
    • Select and move this new To Do Column as desired using the Up/Down arrows
    • Click the OK button

Now all Individuals with a To Do entry labelled Birth: are at the top of the Record Window.

To extend this idea for To Do entries with other Labels you could add a separate Column for each Label. However, the following Expression combines them all into one Column but must be entered all on one line:

=Text( 
 TextIf( GetLabelledText( %INDI._ATTR-TO_DO.NOTE2%, "Birth:"   ) = "", "", "Birth: "   ) . 
 TextIf( GetLabelledText( %INDI._ATTR-TO_DO.NOTE2%, "Baptism:" ) = "", "", "Baptism: " ) . 
 TextIf( GetLabelledText( %INDI._ATTR-TO_DO.NOTE2%, "Census:"  ) = "", "", "Census: "  ) 
)

Just keep adding similar . TextIf( GetLabelledText( %INDI._ATTR-TO_DO.NOTE2%, "Label:" ) = "", "", "Label: " ) expressions for each To Do Label:.

Create Custom Report

To create a Custom Report:

  • Open the desired type of Report
  • Open the Report Options > Contents tab
  • Under Individual/Family Member Events/Attributes select List Only
  • Click the Edit List button
    • Remove any Events that may be listed by using the << button
    • Add the Attribute named To Do to the list by using the > button
    • Click the OK button
  • Click the OK button

Also some other options may need disabling, such as Spouses and Children sections and Record Notes, and perhaps Hide some Main Section Items.

Use Save Report As a Custom Report Type and give it a Custom Report Name such as To Do Report.

To Do List Report

Housekeeping

Remember that you may want to customise any Report that you use regularly to exclude the To Do Attributes from the Reports.

To exclude the To Do Attribute:

  • Open the Report Options > Contents tab
  • Under Individual Events/Attributes select Exclude List
  • Click the Edit List button
    • Add the Attribute named To Do to the list by using the > button
    • Click the OK button
  • Click the OK button