Terry's Second Site Tips

Creating Virtual Sub-Sites

This page updated 1 Mar 2014

Version note: Applies to Second Site 5 & 6

As described in my article on Sharing, I like to use a narrative style 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. The techniques used are more complex than required to produce a more basic style of site so readers planning to adopt these methods should be prepared accordingly. Other articles in my Second Site Section cover other topics about customizing your site.

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
Defining Who is in a Family Deciding who will be included in each sub-site
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 of a starting person 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.

For users of John Cardinal's Family History Hosting service, Second Site's Publish feature manages this compression/expansion process automatically. For more information, see my Publishing article.

Defining Who is in a Family

It would seem that it should be obvious which people belong in any given family when constructing a site such as being discussed here. But it turns out that isn't actually a simple question. First, since it is likely that the families included are intermarried, some people are likely to arguably belong to more than one family. Secondly, the site is likely to include spouses, parents of spouses, and perhaps other distantly related people, or even people important to the family who are not actually related at all.

Next we have the question of what exactly does it mean to belong to a family so far as the site is concerned? For a site constructed as I describe here, there are three characteristics that would seem to indicate a person is part of a family: 1) being included in the Family Index, 3) having a cross-reference link on a person's Person Page entry to the Family Introduction page, and 3) being included on ancestor or descendant charts created for the family. It turns out that you don't actually have to include the same group of people in all three of these features, and I find it logical not to. For example, It seems reasonable to me to include spouses and their parents in the Family Index, but not logical to create links back to the Family Introduction page for them. After all, that page doesn't actually describe the background of their family.

The best way to control who is included in the Family Index, and who has a cross-reference link to each Family Introduction page, is with a custom Flag for each family. If you want to have a different set of people included in those two items, the Flags need at least three values. I use the following values:

Value Meaning
N No – not part of the family
Y Yes – included in Family Index and has link to Family Introduction
X Extended family – included in Family Index but no link

The custom Flags for each family are created in TMG, and then set to the correct value for each person you consider to be part of the family. 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 Filters 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. An alternate approach, which I prefer as I expand my existing site, is to not set the Family Flag for the whole group but instead set it manually as I review the pages for a small group. That way I can add each small group to the published site as they are ready, rather than waiting until everyone is the family has been reviewed.

Note that some people may logically belong to more than one family, either as a full member (say a descendant of two or more lines) or as a full member of one family and an extended member of another (say a person in one family who married a member of another family). Since each family Flag is separate, that is not a problem.

If your site will not include everyone in your Data Set another Flag, in addition to the family Flags, is required to control who is to be included in the total site. Only two values, say Y and N are required. It should be set to Y for everyone who is set to either Y or X in the family Flag, but may be set to Y for others not considered to be part of any family but whom you wish to include for whatever reason. This flag can be easily be set based on the family Flags, using the Secondary Output of the List of People report.

If, during editing, you decide individual people should be added or removed from a family or the whole site, you can change their Flags manually.

I also find the family Flags to be very useful during cleanup and editing of a new family line before updating my published site. Instead of re-making the whole site each time I want to review the results of my editing, I use the family Flag in a Flag Filter in the Data > People section to limit the draft site to only members of the new 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 Flag that includes everyone I want in the published site.

The inclusion of people in Charts are not controlled by Flags, but by the settings for each Chart, which makes them totally independent of the Flags used to control inclusion in the family Indexes and addition of Family Information page links.

Having covered the basic steps of defining the sub-sites and who is to be included in them, the following sections discuss the creation of the individual elements that make up the site.

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. There are at least two ways to allow readers to access the individual Family Introduction pages. You can arrange those pages so that they appear on the site menu, and instruct readers to access them that way. Or, you can embed links to the individual Family Introduction pages within the body of the Main Page. Or, you can do both.

If you choose to have the individual Family Pages appear on the site menu you would place the Custom Page User Items at the left-most position in the list of User Items in the Pages > User Items section. For details on managing User Items and Menus, see my Menus and Links article. One downside of this approach is that the menu bars can get quite large if you have many family sections. You could address that by placing the links to all the individual Family Introductions in a sub-page, and place only that page on the site menu.

I prefer to see the links to the Family Introduction pages within the body of the Main Page text, as they appear on my Narrative Section Main Page. My article on Adding Page Content describes how to do that. As that article describes, there are two methods. One method is to use the "building block" approach and use a combination of Text Content Items and Link-Link Items, and perhaps other types, to create the desired effect.

Those willing to venture into using a little HTML code can enter both the text and links into the Main Content field of the Main Page. The HTML code required it isn't that difficult, as illustrated by the following example. The essential part of the "Main Page Content" from my site would be something like this:

<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.

No matter which method you use, the key is to provide a enough description for readers to understand how to use the site, and some means for them to find the Family Introductions.

Global Person Index

The Global Person Index is composed of the 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 in the Pages > User Items section. I re-named the Surname Index to "Master Surname Index," and the Master Index to "Master Name Index" to better distinguish from the Family Indexes described below. You can change the name of the Surname Index in the Pages > User Items section by editing the Title field of the Surname Index link item. You can change the name of the Master Index in the Strings > Page Strings section, by editing the Name Index Name field.

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 to whom I wanted to call attention.

For examples, see my Narrative Family History site and click on any of the links to the family lines in the middle of the page. Compare several to see how these pages can be tailored to suit the information available for each family:

The Family Introduction pages are created as Custom Pages in Second Site. Creation of Custom Pages is described in my Second Site Overview article. As with the Main Page discussed above, the text, any images, and link can be added using any of the methods described in article on Adding Page Content.

Because my family background 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 Sub-Page (or the Main Page) is pretty simple with Second Site's citation tools. See my Useful Tricks article for details.

Readers can navigate to the Person Pages by use of the Index, but I thought it was useful to provide direct links within the text to members of the family I though were of particular interest. Creating links to the Person Page sections of specific people is described in my Useful Tricks article.

While developing the content of your Family Introduction pages and any supplemental pages you may need to make a number of trial builds to test your results. Building the entire site with all it's people pages can take some time, but you can have Second Site exclude the People Pages from the build by holding the Shift key while clicking the Make Site toolbar icon or choosing that function from the menu. If you do this the Person Pages, all person Indexes, and the Place Index pages will not be created. Links to those pages, including links to specific people will be created, but of course will not take you to the nonexistent pages.

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, using the option to create an Index based on a Flag created in TMG.

The Flags are created as described above in the Defining Who is in a Family section above. Once the family Flag is created, the index is defined by adding an Index - Custom Index User Item from the Pages > User Items section. If you create both full and extended members of the family, as I describe in that section, I think both types should be included in the Index. That is done by setting the Index to include both values, for example, enter YX in the Values field of the Flag Filter. More on creating and managing User Items can be found in my Second Site Overview article.

If you want a link to the index to appear in the Family Introduction page, either place this User Item as a sub-item under that page if you are using the "building block" method to create that page, or include the necessary HTML codes for the link if you entering the content of that page manually. 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.

Supplemental Pages

It is possible to add many types of Supplemental Pages that can provide more information about the family. There are several examples of them on my site: descendant and ancestor charts; maps showing the origins of a family, migration patterns, and property owned; and custom pages depicting lines of descent and describing special events. Pages with collections of photographs are another obvious possibility. Adding charts and other supplemental pages is described in my Second Site Overview article. There is additional information about Maps 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 interconnect, so that readers following one family line may 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 readers back to your Main Page with special text added in each person's section. To do that add such notes in text items in the Pages > Person Entry section. Two text items, "Literal - Person Top" and "Literal - Person Bottom" are provided by default, but others can be added, and any of them can be positioned anywhere desired in the Person Entry.

Similarly, you could add a note at the bottom of each page using the "Extra Footer" section of the Layouts > Person Pages section.

Both of these types of notes apply to the whole site; they can be used to direct the reader to the Main Page, but they cannot direct the reader to the correct Family Introduction page for a particular person in your site. That can be done with the Group function, a part of the Custom Index User Item. For details on the use of the Group function, see my Creating Custom Indexes article.

But in my view it can be done better with the Flag Event and Tag Group features. This method is described in my Flag Events article. The main reason I prefer this method is because it makes it easy to provide links to the Family Information pages for only some of the people included in the Index, as described in the Defining Who is in a Family section above.

With either method, a sub-heading is created in the Person Page section of each person which provides a link to any specified page. In this case, the links would direct the reader to the appropriate Family Introduction page or pages for that person. To see an example of the use of such links, see one of the Person Pages in my Narrative Family History site. Notice the "Ancestry:" label and link(s) just under the Father, Mother, family, and Charts entries at the top of the page.

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. Except for the cross-references mentions above, there is no need for anything special about the Person Pages.

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.

If you prefer not to use the Side-by-Side layout there is no need to understand the information in the rest of this article. But if you do, please read on.

Using the Side-by-Side layout, especially in a site using a virtual sub-site arrangement, creates a few issues and opportunities, which I discuss below. A little background may make it easier to understand the following discussion. In a site with Side-by-Side layout, what a user sees in his or her browser is actually created by three files:

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 in a web search. 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 offers a very good solution to this issue. In the Layouts > Default Layout section, under the Frames drop-down where you select the side-by-side layout, is a 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 at least two ways, which I describe below. My preference is for the first method.

Method 1, Using a Custom Frame Page: This method requires you to create a custom "frame" page for each family. That page specifies both the family index in the left pane and the family introduction page in the right pane. These pages are a variation of the index.htm page which normally opens your site when you use the side-by-side layout. Creating them is not difficult, but the method I describe does require a few steps be done outside of Second Site. Here is the procedure:

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

  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 example.

  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.
  1. 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. If you want the links to appear as menu button, or embedding them the Main page content by use of the "building block" method of creating your main page content, you use Links-Link user items. Just be sure to check the "Add Target=Top" box so that the newly created frame is opened in it's own window, and not within the right-hand pane of the existing frame.

If you are creating the links by entering the HTML code directly in the Content field, use something like this:

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

The text in red above creates the actual link. The Target="_top" part is essential so that the new page opens in its own frame, and not inside the right pane of the existing frame.

The advantages of this method are:

The disadvantage is:

Method 2, Using the Frame Script: This method uses a second application of the Frame Script described in the "Search Engine Issue" section above. This script not only accomplishes the function described there, 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 links to the Family Introduction pages, by use of menu button, or a link embedded in the body of the Main page either by using a Link-Link user item (if you are using the "building block" method to create your main page) or by entering HTML such as the following:

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

These methods work perfectly if you are not using a side-by-side layout. But if you use the side-by-side layout, 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 updates both sides of the screen. If you are using a Link-Link user item, either to create a menu button or to embed a link in the body of the main page, enter in the HRef field of the Edit Link field something like this:

index.htm?ssindex=gapsch-index.htm&ssmain=gapsch-intro.htm

To understand how this works, first 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."

Then be sure to check the "Add Target=Top" box. 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.

If you are entering the link in the body of the main page in HTML code, you would use 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.

The TARGET="_top" section performs the same role as checking the box on the Edit Link screen in the example above.

The file names of your Family Index and Family Introduction pages are found on the Edit Custom Index and Edit Custom Page screens respectively, which you open to edit those two User Items. By default they will be something like ui22; I change them to something more meaningful. In those fields they do not have the ".htm" part, but be sure to add it when constructing the links.

The advantage of this method is:

The disadvantages are:

Whichever method you use, I think the little added complexity in setting up your site 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.

Main Page Menu Issue – If you coordinate the contents of the left and right frames using one of the methods described above, and if you include menus on your site, there is an issue with the Main Page menu button. This button, which is labeled as "Home" if you use button images, returns the site Main Page to the right frame. But it's default behavior leaves the contents of the left frame unchanged. So when that frame contains a family index, as it would when a reader had gone to a family section, the reader does not see the main index on the left after clicking the Main Page/Home menu button.

By default, this button is produced by the Main Page User Item, and the behavior of the button created by that item cannot be changed by the user. The solution is to turn off the menu button produced by that User Item and create a substitute button with a Links - Link User item. Doing so is fairly simple with the following steps:

  1. Open the Main Page user item and note the settings of the Menu and Button Image properties for use in step 3. Change the Menu property setting to "none." This turns of the normal menu button for the Main Page.
  2. Highlight the "User Items" label at the top of the list of User Items, click the new item button at the bottom left, and select Links-Link.
  3. When the Edit Link dialog opens, enter the following: in Title enter Main Page, in HRef enter index.htm, in Menu and Button Image enter the settings noted from the Main Page User Item in step 1.
  4. Check the "Add Target=Top" box, then click OK to close the Edit Link dialog.
  5. Position this item against the left margin, not under any other item. I suggest you put it just before or after the existing Main Page item so your menus stay in the desired order.

This creates a replacement menu button instead of just displaying the Main Page on the right resets the site to it's initial state.

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

 

The Second Edition of my sell-out book, A Primer for The Master Genealogist, is now available.

Details are can be seen here.

 

Copyright 2000- by Terry Reigel