Terry's TMG Tips

Creating Virtual Sub-Sites with Second Site

This page updated 14 Nov 2008

Version note: Applies to TMG 6 & 7, and Second Site 2

As described in my article on Sharing, I like to use narrative-format presentation for the "completed" family history information I post on my public website. I want to organize the information by family line, with an overview page providing background information for each family, as well as indexes, charts, and maps that help the reader better understand what is known about the family. To do that, I have created the site in a style I call "virtual sub-sites." This article describes the methods I use to produce that style. Other articles in this group cover related topics.

Topics Included in this Article
Why Virtual?
Choosing "virtual" over actual sub-sites
Components
Defining the virtual sub-site concept
General Considerations
Issues to consider when designing a site with the virtual sub-site method
The Main Page
Creating the main page for the site
Global Index
Including a Global Person Index
Family Introductions
Creating the main page of each sub-site
Family Indexes
Creating indexes for each family
Supplemental Pages
Adding charts, maps, and more
Cross-References
Providing Links in the Person Pages to the Family Pages
Person Pages
Elements of the entries for each person
Side-by-Side Layout
Some considerations when using the side-by-side layout

Virtual or Actual Sub-Sites?

There are a number of reasons you might want to create separate "sub-sites" to display your family history information. For example, you might want to keep each family line separate to make it easier for readers interested in that line to find the people they care about. You may want to provide background information, photos, charts, maps, or other aids that relate to specific families. Or, you might want to use different formats, and provide different levels of information about various people in your Project.

For example, I provide quite different information, in a different format, about people in my "in progress" research stage than those that are more or less "finished." See my Outline Section which contains people in the former group, and my Narrative Section which contains people in the latter one. When you want to use different formats for the two sections or include different sets of Tag Types in sites you create with Second Site, you must create the two sections separately. If you join the two sections by use of a common "master" page, such as I have at my main page, you have created what I call "actual sub-sites." That is, you create two or more separate sites, place them in separate sub-folders, and connect them with a master page. The master page can be created outside of Second Site, as I have done, or as an independent site created by Second Site, which has only a Main Page and contains no people, but has links to the sub-sites.

If you want all the sub-sites to be in the same format, and contain the same types of information, another method may work better. That is especially true if there are many people who would appear in two or more sub-sites or if you want to depict people in separate families that are connected by marriage or by other common events. I call this method the "virtual sub-site" method. It not only allows readers to browse from one family to another by the interconnecting links, but means you have only one site to maintain and upload. That is the method I used within my Narrative Section to sub-divide it into sections for each family line.

The following sections of this article describe what such a site might contain and how I have created mine.

Components of a Site Using the Virtual Sub-Site Method

A site created using the virtual sub-site method, as I define that term, typically would include the following components;

The net result is that once a reader clicks on a family section, it will look like a separate site for that family. But, if that family has connections with another family - the reader will be able to move seamlessly between the family lines. And, since it's actually only one site, updates are simple - the whole site is updated at once.

The following sections discuss some general issues to be considered in using this method, and then specific points related to each of the items listed above.

Some General Considerations

Perhaps the first point to be addressed when designing a site using the virtual sub-site method is just how a sub-site is to be defined. That is, who is to be included in each section. I have called each section a "family," which I define as the descendants of a particular person or couple. Others may choose to define a family as the ancestors of a particular person, perhaps the parents or grandparents of themselves and their spouses. My primary reason for defining a family as the descendants was because I wanted to be able to include for each family comments about what is known, and unknown, about the ancestors of that family. That seemed to me to be easier to do when you defined the family as the descendants of the earliest well-documented ancestors of the line.

In my case I tried to include only people I have something interesting to say about because I thought that makes the site more interesting to readers. That tends to limit the site to ancestors of me or my wife, their siblings, spouses of those siblings, and their parents. Others may have different objectives and thus use different selection criteria.

I think the illusion of each family being a separate sub-site is best maintained if the site uses one person per Person Page. If more than one person is on a page, I do not see an effective way to have only people from the same family on any one page, especially when any given person may be part of more than one family. As a result a reader browsing the site may easily encounter people who are not part of the family he or she thought they were looking at.

I find the one person per page arrangement works well in any case, especially if there is a significant amount of material for each person. However, for users with a very large number of people in their sites this will produce a large number of files to upload, which may become an problem. A solution that works well for me is to "Zip" all the files to be uploaded into a single file, upload that, then un-Zip it on the host computer. This method requires that your web host allow you to un-Zip files on the host system, which I understand not all hosts allow.

Site Main Page

The Main Page of a site constructed with the virtual sub-site method is simply the Main Page created by Second Site. Generally it would include some general comments and a means for readers to access the individual family sections. The text is straightforward – you add it to the "Main Page Content" field in the Pages > Site screen. Some tips for doing that are mentioned in my article on Refining Your Site.

There are at least two ways to add the links to the individual Family Introduction pages. I prefer to see them within the body of the Main Page text, as they appear on my Narrative Section Main Page. This requires the user to enter the link codes into the "Main Page Content" field, which requires dealing with a bit of HTML code, but it isn't that difficult. The essential part of the "Main Page Content" from my site would be something like the following:

<p>This is the Narrative Section of our family history website. This section is limited to a few family lines for which we feel our research has reached the point were it is ready to share with others. It is intended for readers who are interested in learning more about the people in those family lines.
</p>
<p>
You can browse this section using the site-wide index at the left, or examine specific lines using the links below. For each family, there is an index to everyone in the family and an introductory page which provides background on the family and contains links to key people and to charts and maps pertaining to the family.
</p>
<h4>Family Lines Included in This Section:</h4>
<p>The <a href="gapsch-intro.htm">Gapsch family</A> of St. Louis, Missouri, and the Pacific Northwest.</p>
<p>The <a href="mims-intro.htm">Linah Mims/Rebeccah Davis</A> family of Greenbrier, Virginia, and central Kentucky, and their descendants.</p>
<p>Others to be added later.</p>

The key point in this illustration is the use of the link codes, which are shown in red above. Here is one of them:

<a href="gapsch-intro.htm">Gapsch family</A>

It contains two important parts, the filename of the target page – gapsch-intro.htm – which is enclosed in quote marks, and the text that the reader will see as the link – Gapsch family. The other elements are simply entered as they appear here.

If you don't want to deal with entering HTML coding, or if you prefer to see the links appear as menu buttons rather than be placed within the text, there is an alternative. Simply let the Sub-Pages that are used to create the Family Introduction pages place themselves on the menu bar. See the discussion of this in the Family Introduction section below.

Global Person Index

The Global Person Index is composed of the Master Surname Index and the Master Index (the index of individual names) that are automatically created by Second Site. It seemed useful to me to have a single index available for the whole site, but if you prefer to not have one you can hide them from view by un-checking their boxes where they appear on the Pages > User Items screen.

Family Introduction Pages

The Family Introduction pages serve as the gateway to the family's sub-site, providing any text you might want to include as well as links to the supplemental pages about the family. If you like, it can also include links to the Person Pages sections for key people in the family. I chose to include background on the family's history, so far as it is known, and a brief overview of the family members' migration and occupations. There are also links to the chart and map pages created for the family, and links to people in the family that I wanted to call attention to.

Two examples, the Gapsch Family page and the Mims/Davis Family page, illustrate how these pages can be tailored to suit the information available for each family. In the case of the Gapsch family I had a great group photo of the immigrant couple and their sons, which I mapped to create links to the Person Page of each person in the photo. In the case of the Mims family, there is a considerable amount of information circulating about the family's history, much of it questioned and even established as incorrect. I was not comfortable publishing individual entries for these earlier generations because I regard the information I have on them as suspect. So instead of including those people in the site I discussed what is known about them in general terms on the family page.

The Family Introduction pages are created as SubPages in Second Site. Creation of SubPages is described in my Second Site Overview article. There are basically two methods of creating the body of these pages. You can enter the entire body in the "Main Content" field of the Edit SubPage screen, similar to the method described above for the Main Page. This method requires that appropriate HTML coding be entered for any links or images that are to appear in the body of the page.

Alternatively, the page can be built using the "building block" approach described in my Overview article, using the various user items for text, pictures, and if you like, links to specific people. The advantage of this method is that no knowledge of HTML coding is required.

Regardless of the method used to enter the contents of the page, the process starts by creating the SubPage. Do that by clicking on the Add button on the Pages > User Items screen, choosing Other - SubPage, and clicking OK. That opens the Edit SubPage screen:Edit Sub-Page Screen

Here I have entered the title I want to appear at the top of the page in the Title field.

In the Filename field I have entered a meaningful filename. Second Site automatically assigns a name like "ui19" which you can leave, but a more meaningful name makes creating the links to this page simpler.

This is the filename you enter in the link code on the Main Page if you choose to embed your links in the body of the Main Page, as described above. Note that you must add the "htm" part when you manually enter the link. The above name would be entered as "mims-intro.htm" in the Main Page body.

Next I set the Menu drop-down to "None" because I do not want the Family Introduction pages to appear on the menus, but instead place links to them in the text of the Main Page. If you prefer to have them appear on the menu bar, leave the default "Menu bar" setting here. There are two cautions if you use this method. First, the text you enter in the Title field will appear on the menu button, so keep it short to avoid overly wide buttons. Secondly, if you have a lot of sub-pages you may find the menu bar getting unwieldy.

Finally I entered the text that I wanted to appear in the body of the Family Introduction page in the "Main Content" field. I do it that way because I prefer to enter the entire text, including any needed HTML code, in one place. If you choose to use the "building block" approach using the SubPage and Links-Link user items, you would leave this field blank.

I wanted to include on the Family Introduction page some background information on each family. In some cases, that included discussion of the state of research of ancestors of the earliest person I included in my site. I didn't include those ancestors in the site either because I had not researched them myself, or because too much is unknown to have any confidence in the information that is known.

Because my discussion included real genealogical data, I wanted to add citations to that part of the discussion. See, for example, my Mims Introduction page. Adding citations to the text in a SubPage (or the Main Page too) is pretty simple with the citation feature (version 2.2 and later). For example, the citation number 5 on that page, regarding John, the son of Thomas and Mellyanne, looks like this:

Thomas and Mellyanne had several children, including John, born, baptized 3 May 1705 at St. Peters Parish, New Kent Co.<%=Page.Cite(1478,"pg 375, baptism of Jno son of Tho Mims")%>

The part in red is the citation entry. The format is this:

<%=Page.Cite(source number,"text of citation detail")%>

When you enter this code in the content text, a citation reference number is produced in the output text, and the information is ready for creating the footnotes. The actual footnotes are created with another code that tells Second Site where to place the footnotes. It looks like this:

<%=Page.CitationList("Citations")%>

I placed that code as the very last item in the Main Page content so they would appear at the bottom of the page. The term in quotations – "Citations" in the example above – is the label applied at the top of the list.

Near the bottom of the page, just above the Citations, I included links to the Person Page entries of some specific people I thought might be of interest to readers, as well as links to Charts and supplemental pages related to this family.

If you would like to provide links to the Person Page entries of specific people, Second Site has a special code that will automatically create a link to that person's entry. The code is written like this:

<%=Page.PersonHREF(475)%>

The red number is the ID# of the person whose entry you want to link to. If you are using a Links-Link user item, you enter that code in the HRef field of the Edit Link screen. If you are creating the link manually in the text, the HTML code for the link is entered it like this:

<A HREF="<%=Page.PersonHREF(475)%>">Linah Mims</A>

Family Indexes

I think having a dedicated index for each family helps with the illusion that each family is a separate site, and is useful for a reader trying to locate members of the desired family out of a larger number of people in the combined site. It is created by use of an Index - Custom Index User Item. The index is based on a Flag created in TMG.

So the first task is to create a custom Flag in TMG, and set that Flag to the correct value for each person you consider to be part of the family whose sub-site you are creating. Typically, one would create a flag with values N,Y for no and yes. But I have found it helpful to add a third value to use for people who I want to temporarily exclude from the family for some reason but do not want to lose track of. Once you have created a flag you can set it manually for each person in the family if there are only a few members, or by use of the Secondary Output of the List of People report. Either filter or the Focus Group can be used to specify people to be included in the List of People report. My article on using People Filters may be helpful in collecting the desired people. If, during editing, you decide individual people should be added or excluded they can have their Flags changed manually.

I also find this Flag very useful during cleanup and editing a new family line before updating the site. Instead of re-making whole site each time I want to review the results of my editing, I use the family Flag in a Flag Filter on the Data > People screen to limit the draft site to only members of the one family. The site is created more quickly, and I have only people from that family to review. After the cleanup is done I change the Flag Filter back to the setting that includes everyone I want in the published site.

Once the family Flag is created, the index is defined from the Pages > User Items screen. Click Add, select Index - Custom Index, and click OK to open the Edit Custom Index screen.

Edit Custom Index screen

In that screen, enter a title for the page in the Title field.

Choosing a more meaningful name in the Filename field is helpful if you will be creating links to this page manually or by use of Links-Link User Items.

Generally you would set the Menu drop-down to "None" because you probably don't want this index to appear as a menu bar item on every page, especially if you already have the Family Introduction pages on the menu bar. If you want a link to it to appear in the Family Introduction page, either place this User Item as a sub-item under that page, or if you are entering the links in that page manually, include one to this index. If you are using the Side-by-Side layout, you may prefer to do neither, but instead display the Family Index as described in the Using the Side-by-Side Layout section below.

Defining the index itself is pretty simple. In the Index Type drop-down, select "Index based on flag value(s)." Then, in the Flag Values box, select the appropriate Flag from the Flag drop-down, and enter the value to be used, which is generally "Y."

Supplemental Pages

It is possible to add many types of Supplemental Pages that can provide more information about the family. There are examples of two of them on my site: charts and maps. Other possibilities include pages with photographs or additional text about the family. Adding charts is described in my article on Refining Your Site. Maps are a new feature in version 2.2, and the use of them is described in my article on Adding Maps to Your Site.

Cross-References

One issue that should be considered if your site is publicly available is how your site will appear to readers who land directly on a Person Page by finding it with a search engine. They will bypass the introductory material you place on the Main Page and on the Family Introduction pages. A similar issue exists when your site contains family lines that connect, so that a reader following one family line my follow a link in a marriage, or other shared event, and find themselves in a different family group, not having seen the introductory material for that family.

You can refer such a reader back to your Main Page with "person notes" – text added after each person's section. See my article on Creating a Minimalist Style Site for details. Similarly, you could add a note at the bottom of each page using the "Extra Footer" section of the Layouts > Person Pages screen. But such notes apply to the whole site; they cannot direct the reader to the correct Family Introduction page for each person in your site.

A new feature in version 2.2 provides an easy means for creating cross-references for each person that will take the reader to the correct page. It is called the Group function, and is part of the feature that generates Custom Index based on flag values. You do have to create an index in order to create the cross-references, but there is no need to make the index available to readers, or even upload it to your server if for some reason you do not want to use it.

To create cross-reference links with the Group feature you start by setting up a Custom Index based on flag values, as described above in the Family Indexes section above.

Creating Groups

After entering the Title, selecting the Index Type, and specifying the Flag in Values, you create the links by using the three fields at the lower right corner of the Edit Custom Index screen, marked with red arrows on the screenshot above:

To see the results of the Group Link defined above, see one of my Person Pages. Notice the Family Group label and link just under the Father and Mother entries at the top of the page.

If your cross-reference links are to appear for the same people you are already including in a Custom Index you can simply add the three items above to the definition of that Index. There is no need to create a separate Index.

But if you do not intend to have a Custom Index for the same group of people, you must create a separate Index as described above. Then, make sure the Menu option on the Edit Custom Index screen is set to None, as it is above. Also, make sure the Custom Index User Item is set to the left-most position in the box on the Pages > User Items screen, and set as subtending another SubPage. Now, the index, while it will be generated, will not be visible to your readers.

Person Pages

The Person Pages can use any of the standard Second Site formats and features. Because the purpose of my site is to share the considerable amount of information I have located on some family members, the Narrative Format seemed to me a good choice.

The standard Narrative Format does not include the names of the parents of the person listed separately at the top of the section, which I thought was helpful (you can include their names in the narrative text with the "Add Parent Sentence" option on the Pages > Format screen). So I created a modified format by adapting the parent's statements from the Bullets Format. Creating custom Formats is described in my Customizing Formats article. Doing so is entirely un-necessary as part of the virtual sub-site method; I mention it only in case a reader may wonder about the difference between my site and those made with the standard Formats.

Using the Side-by-Side Layout

I really like the Side-by-Side Layout offered by Second Site, mainly because it allows the index to remain accessible while the reader displays the various pages of people. I find it particularly attractive for a site using the virtual sub-site method because it can place the Family Index next to the Family Introduction page, and leave that index open as readers navigate to the various supplemental pages and to the Person Pages of the family members.

Using that layout, especially in site using a virtual sub-site arrangement, creates a number of issues and opportunities, which I discuss below. The most important ones are discussed first, moving to more obscure ideas that only the most dedicated user might want to consider.

Search Engine Issue – If you place your pages on a public website that will be indexed by search sites like Google, readers are likely to find a persons of interest in your site by searching. When they click on the link to your page, they may see just the person page by itself, not in the side-by-side layout you intended. My experience suggests many of my visitors find me through search sites, so this is an issue to be addressed.

The good news it that Second Site (version 2.2 and later) offers a very good solution to this issue. On the Layouts > Default Layout screen, under the Frames drop-down where you select the side-by-side layout, is a new checkbox to Use Frame Script. When you check this box, Second Site includes in your site a special script that automatically moves the page a reader finds by a search engine into its proper side-by-side arrangement.

Coordinating Family Index with Family Introduction – To me the virtual sub-site idea works best if, when a reader clicks a link or menu button to go to one of the family sections, the appropriate Family Index automatically appears in the left side of the screen. This can be accomplished in several ways, perhaps the simplest being a second application of the Frame Script just described. This script not only accomplishes the function described above, but also allows a link to specify both page that are to appear in the side-by-side frame.

In the Site Main Page section above I described how to create a link code in the body of the Main page to take readers to the introduction pages for each family. The link looks something like this if embedded in the main page content:

The <a href="gapsch-intro.htm">Gapsch family</A> of St. Louis, Missouri, and the Pacific Northwest.

That link code works perfectly if you are not using a side-by-side layout. If you are, it causes the Family Introduction page to appear on the right side of the screen, but leaves the Global Index on the left side. This behavior can be refined so that using the link causes both sides of the screen by changing the link code to something like this:

The <a href="index.htm?ssindex=gapsch-index.htm&ssmain=gapsch-intro.htm" TARGET="_top">Gapsch family</A> of St. Louis, Missouri, and the Pacific Northwest.

A little background may make it easier to understand how this link works. In a site with Side-by-Side layout, what a user sees in his or her browser is actually created by three files:

Now, if we examine the link code piece-by-piece, we can see how these files are controlled. First, we consider the TARGET="_top" section. This tells the reader's browser to ignore the existing frame and create a new one. Without this, the entire new frame called by the following terms will be placed inside the existing right pane - not the result we want.

Next, we consider the index.htm? part. This tells the reader's browser to load the index.htm file - the master "frame page" again. But the question mark at the end signals special instructions that will be interpreted by the Frame Script. Those instructions are the following two segments.

The ssindex=gapsch-index.htm segment tells the script to place the file named gapsch-index.htm in the left side frame – the section called ssindex. You would change "gapsch-index" to the name of your Family Index. After the "&" is the second instruction, the ssmain=gapsch-intro.htm segment. This tells the script to place the file named gapsch-intro in the right frame, called ssmain. You would substitute the file name of your Family Introduction page for "gapsch-intro."

Writing the link code this way is a bit more complex, but it pays a reward of creating a bit more seamless experience for the reader. It's not necessary; just a little extra "polish" for your site.

Simplified Links to Family Sections – If you have occasion to send links in emails to family members to direct them to specific family section of your site, you can do that in two ways. One is to use the format described above: send them a link like http://reigelridge.com/roots/index.htm?ssindex=gapsch-index.htm&ssmain=gapsch-intro.htm. It works, but is difficult to type correctly, and may not work correctly, depending on the reader's email system.

With a bit of preparation you can simplify that link to something like http://tmg.reigelridge.com/roots/gapsch.htm. That can be accomplished by creating a special "frame page" that causes both the Family Index and Family Introduction pages to be used instead of the default Global Index and Main Page. Creating the special "frame page" which is fairly simple to do. Here is the procedure:

  1. Make your site normally, with the Side-by-Side layout checked.

  2. Find the index.htm file in the "-o" folder where it was placed when the site was made, and copy it into the "-i" folder for the site.

  3. Change the filename to something simple but suggestive of the family it applies to. I used gapsch.htm and mims.htm for the two current lines on my site.

  4. Edit the newly renamed file with a text editor, like Notepad that comes with Windows. When you open it you see something like this:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<meta name="Generator" content="Second Site">
<script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="jquery-ui-min.js"></script>
<script type="text/javascript" src="scripts.js"></script>
<link rel="SHORTCUT ICON" href="favicon.ico">
<title>Terry &amp Nancy's Family History</title>
</head>

<frameset cols="300, *">
<frame name="ssindex" border="1" src="surname_index.htm">
<frame name="ssmain" border="1" src="main.htm">
</frameset>
</html>

  1. Edit only the two filenames shown in red above. The first one, surname_index.htm, is the page that appears in the left frame. Change it to the family index filename. I would change it to gapsch-index.htm, for example. The second one is the page that appears in the right frame. Change it to the Family Introduction page. I would change it to gapsch-intro.htm for my case. Save the edited file.

  2. Repeat this process for each family line.

  3. Change the links on your Main Page that refer to the Family Introduction pages so they refer to the files you just created. This requires that you either embed the links in the Main page content, or that you use Links-Link user items to create the menu bar button. You cannot change the linked filename if you use the subpage to create a menu bar button directly.

Now when you make the site again the special family "frame pages" will be included. They are ignored in normal use, but available when you want to provide relatives an easy link to the family section they are interested in.

Conclusion

Dividing your site into sections is a good way to focus attention on specific family lines, and makes it easier to present background information and supporting pages for each family line. This can be done by creating separate sub-sites and joining them with a master page, or by creating a single site that is divided into virtual sub-sites. Each method has is advantages and disadvantages. Users should consider the merits of each method when undertaking the development of such a website.


ReigelRidge Home
Terry's Tips Home
Contact Terry

 

My new book, A Primer for The Master Genealogist, is now available.

Details are available here.

 

Copyright 2000-2009