Setting up IGM .NET =================== Disclaimer: I guarantee nothing. It runs fine on my PC and it has not crashed it or destroyed any files. But, I cannot guarantee it will do the same on yours even with proper configuration. Bad people are out there and will take advantage of you. If you are worried, good. Then proceed with caution. If you install this, you take full responsibility. The author/designer/developer (me) assumes no responsibility caused by installing, using, or anything else that would make you want to sue me if you choose to use this software. I'm just a guy who wanted to display his family history on the web. Since I'm a nice guy, I decided to share my hard work with anyone that wants to use it. So, if you choose to use this software, you do so at your own risk. If you find a bug, let me know and I may fix it. Or, I may not since I have a real job which takes up 10-12 hours of my day already. Besides, it works fine for me. That being said, this was written for people who have some idea of how to set up and manage an IIS server. I'm not about to explain how to do that. There are hundreds of well-written (and some no-so-well-written) books on that subject. So, you won't find pictures or diagrams or even details about every mouse click in these instructions unless so many people have asked that I felt it needed clarification and added more detail. One more thing. If you use this program to put offensive, invalid, or private data on the web, you take full responsibility for it. The last thing I need is for some guy to be complaining to me that his name is on your web site and he doesn't want his informatin there. Maybe he hates his ex-wife or maybe he is running from the law. I don't really care. But, there are no features of this software to hide data that should be kept private (e.g. social security numbers, names, dates, etc. of living people). If you want to cleanse your data, then do so prior to using this software. (I use, and highly recommend, "Legacy" which is freeware and available at http://www.legacyfamilytree.com and will scrub your data for you and is more GEDCOM 5.5 compliant than the PAF5 software by the LDS who invented the standard -- IMOHO.) Purpose: IGM.NET was developed because I couldn't get IGM (by Tim Doyle) which was written in Perl to work under Windows. I used Mr. Doyle's application for years when my web site was hosted on a Unix platform and IGM.NET was totally inspired and designed to look and feel like the original. So, in respect for the original IGM application, I have decided to follow Mr. Doyle's example and make this available to others (except for the source code.) Actually, I probably could have gotten IGM to work under Windows, but I needed the .NET experience and wanted something that was faster and used XML/XSLT to allow for easy modifications of the output without editing the source code. As a bonus, it is smaller and faster than the original Perl version (or, at least I think so) so long as it has a reasonable machine on which to run. What's reasonable? I run mine on a Pentium 200 with only 96MB RAM and a 4GB hard drive and it does just fine. Since you can't buy a machine that slow any more, it should work fine on any machine you wish to use. System Requirements: 1. Microsoft Internet Information Server 5.0 (or higher) a.k.a. IIS on Win2K Server, .NET server or Microsoft Personal Web Server (Win2k Pro, WinXP Pro, WinXP Home) 2. Microsoft .NET Framework (the redistributable runtime is required, not the full SDK.) Note: It was developed with .NET framework service pack 2, but MAY work with earlier versions 3. Free Disk Space 3a. IGM .NET Program: 100K (Yes, that is all it requires) 3b. Data: About 1.5 times the size of your GEDCOM file (e.g. a 1 MB GEDCOM requires 1.5 MB disk space) 3c. Images: You be the judge. They really spice up the site. IGM .NET automatically adjusts them all to the same size on the page, but clicking on them will display the full photograph. Installation: 1. Unzip the files to a folder on your hard drive (e.g. c:\ineptub\wwwroot\igmnet). Make sure you use the folder names. After unzipping you should see the following: Folders: images/ graphic images folder DB/ GEDCOM Database folder log/ Log File Folder xslt/ XSLT folder bin/ folder where the main compiled .NET program is located Files: bin/gedcom.dll gedcom.dll main program -- must be in the bin folder under the igm.aspx location xslt/desc.xslt descendant view XSLT file xslt/footer.xslt footer displayed on all pages xslt/name.xslt name XSLT file included in other XSLT files xslt/ped5.xslt pedigree to 5 levels deep XSLT file xslt/person.xslt person view XSLT file xslt/search.xslt seach form XSLT file xslt/search2.xslt search results XSLT file xslt/surname.xslt surname list XSLT file igm.aspx main ASP.NET file igm.aspx.cs ASP.NET codebehind file web.config optional web.config file IGMMAKE.exe Creates index files - may be moved to alternate location global.asax Application default settings file (required and modifications required - see below) global.asax.cs readme.txt this file 2. Create a Virtual Directory under your Default Web Site using the "Internet Information Services" Microsoft Management Console available from the Administrative Tools menu. 2a. Use the Alias of "IGMNET" 2b. Use the directory from step 1 (e.g. "c:\ineptub\wwwroot\igmnet") 3. Copy your GEDCOM file to the "DB" folder (e.g. "c:\inetpub\wwwroot\igmnet\DB") Note: The gedcom file name MUST use the suffix ".GED" (e.g. MYFAMILY.GED) 4. Create an empty text file for the logs with the same name as the gedcom file in the LOG folder Notes: The log file name MUST use the suffix ".LOG" (e.g. MYFAMILY.LOG) 5. If using the NTFS file system (highly recommended for any web site running under IIS) you need to change the default permissions on the log file to allog the ASPNET account "write" access to the file. For example: 5a. Open Windows Explorer 5b. Locate the log file (e.g. "c:\inetpub\wwwroot\igmnet\log\MYFAMILY.LOG") 5c. Right click on it and select Properties 5d. Click the Security tab. 5e. Add the ASPNET account with modify, read, and write privs Note: You do not need to set write permissions on any other files. To do so would leave your system open to other security risks. Only set the permissions on the specific log file, not the folder (unless you are hosting many databases and really want to take the risk.) Note: If you need more directions than that, you probably should not by running a web server under IIS on the Internet, but then again, I don't think every driver on the road should have a driver's license either... 6. If you plan to display JPG or GIF images, place them in the images folder (e.g. c:\inetpub\wwwroot\igmnet\images) 7. Run IGMMAKE.EXE If you already copied the GEDCOM file to the DB folder it will default the Output folder to the correct locatin. If the location of the GEDCOM file differs from the Output folder, it will copy the GEDCOM file there as well as create the indexes there. When finished, it will display a message box with the number of people and lines in the gedcom file. After running IGMMAKE.EXE, you should see the index files in the DB directory. For example, running IGMMAKE against MYFAMILY.GED, you should see the following files in your DB folder: MYFAMILY.GED - GEDCOM file MYFAMILY.GDX - IGM .NET version of the GENDEX file MYFAMILY.GDX2 - GENDEX file for use on www.gendex.com or other GENDEX compatible sites MYFAMILY.IDX - index file used by IGM.NET to locate items in the GEDCOM file quickly MYFAMILY.DAT - statistics about the GEDCOM file displayed on the master index page 8. Edit the Web.Config file located in the IGMNET folder (e.g. c:\inetpub\wwwroot\igmnet\web.config) and change the EMAIL, NAME, and HOMEPAGE items. For example: Change: Application("EMAIL") = "account@domain.name" To: Application("EMAIL") = "jsmith@aol.com" 9. Create a hyperlink on your web page as follows: http://your.site.com/virtualdirectory/igm.aspx?DB=gedcom_file where your.site.com is the URL of your site (e.g. www.thesonntags.com) virtualdirectory is the virtual directory created in step 2 above (e.g. igmnet) gedcom_file is the name of the gedcom file WITHOUT the .GED extenstion (e.g. MyFamily and NOT MyFamily.GED) For example: http://www.thesonntags.com/igm.aspx?DB=Sonntag Advanced Installation: 1. If you decide to change the Pedigree Depth variable to anything other than "5", you will need to modify the ped5.xslt file located in the XSLT folder. For example, to set the value to 6, you would need to copy ped5.xslt to ped6.xslt and modify it accordingly. 2. If you are familiar with XML and XSLT, you may edit the XSLT files located in the XSLT folder (e.g. c:\inetpub\wwwroot\igmnet\xslt). To see the XML files that are generated prior to translating to HTML via the XSLT files, set DEBUG in the global.asax to "1" instead of "0". This will cause IGMNET to write the XML output to the DB folder. To do so will also require changing security on the DB folder to allow the ASPNET application full write access to this folder. This should NOT be left on in a production environment as it imposes a very high security risk. Questions or comments? e-mail me at jon@thesonntags.com. I do not guarantee I will respond as I spend enough time answering questions at work. This is a hobby. I do it beacuse I enjoy it and need to spend time having fun with computers so I don't hate my job. I have tried to make this as fool-proof as I can, but that doesn't mean I am perfect or that there are not bigger fools out there than I expected. And yes, it does expect some level of knowledge of IIS and ASP.NET in order to set up.