4 October 2006
I’ve been having conversations with someone who wants to put masses of historical information on the web. He’s passionate about the material, but has no experience with web technology. and doesn’t have an IT shop or a CHNM or other academic resources available. He has a late-model Windows PC at home, and is pretty good in Word.
The structure I use for AotW and recommend for similar projects is built with open source (i.e., free) parts including an apache webserver running on linux, a mySQL database, a little XHTML, and a set of PHP scripts and templates. These are widely used, readily available, and trustworthy tools for this kind of work.
Warning: there’s no getting around it. You will need to learn some basic programming to build such a site, but it shouldn’t be too frightening. This stuff is pretty easy. 10 years ago I was a webnoob, too. If I can do it …
In this first installment*, I identify some basic web technologies you’ll need to learn, and point to some resources.
Before all the stuff below, though, study Cohen & Rosenzweig’s Digital History: A Guide to Gathering, Preserving, and Presenting the Past on the Web. It is available in print (from Amazon, for example) or online, for the cheap or impatient. It’s a superb overview and will answer many questions right off.
Part the First: learning the technology
My usual approach is to look for everything I need online. Tutorials, advice, reference works, software to install, everything.
If you prefer books, no problem. I don’t expect that you’ll find any one book that’ll cover all the technologies you’ll need, so don’t worry about that. Assume you’ll need 2 or 3 or 4 books to do the job.
Most how-to-do-the-Web books focus on HTML and CSS. Just go with that to start. The ‘Dummy‘ and ‘Idiot‘ books are fine. So are the QuickStart and ‘24 hour‘ guides. I like the O’Reilly series myself. They all have different presentation and teaching styles. You may find you like one style more than the others, so check out a variety from your library. Get a stack and see which approach works best for you. As you work through, start playing with HTML on your own PC.
Note: consider XHTML. Current versions of plain HTML are well supported by browsers, but I like the future of XHTML. Keep an eye out for that distinction as you read.
Once you find a series of books you like for X/HTML, find others from that publisher/series on
- databases and SQL
- PHP or other scripting languages
- how-to combine databases and scripting languages to build to a dynamic website.
Examples of books I like for these (links to Amazon.com catalog listings for convenience, no endorsement of Amazon implied) are:
- basic web/HTML/CSS: Head First HTML or QuickStart HTML
- database: Dummies Database
- SQL: SAMS SQL
- dynamic web applications with PHP and mySQL: the Platypus or Data Driven Website or PHP/mySQL Web Development
- just PHP (optional): Programming PHP (the cuckoo)
Also, I’ve used and recommend online resources and tutorials. Following are some good ones. There are plenty more. You might use these as initial introductions or as adjuncts to your books.
- Web basics/HTML starter tutorials: extropia or html dog or W3C
- CSS tutorial: html dog (see also what the Zen Garden does with CSS)
- Database fundamentals: extropia
- MS Access tutorial (good for database 1st timer with Access available): CUNY
- Static vs. Dynamic Website: Rutgers (first few pages)
- intro to PHP: onLAMP
- PHP tutorial: php.net
For later or on more advanced subjects
- Dynamic website construction with mySQL and PHP: sitepoint (multi parts) and more
- SQL tutorial/ test bed: SQL Zoo
- Learning SQL using phpMyAdmin: php-editors
- HTML Reference: w3schools or html dog or xstandard (think XHTML)
- CSS Reference: webucator
- Open-source web technology: onLAMP
- PHP reference: php.net
- mySQL-specific SQL and database reference: mySQL
- phpmyadmin source: phpMyAdmin
- SQL92 standard: c-mellon (text list)
Other useful web references, tools
- HTML validator
- HTML standards
- CSS validator
- CSS standards
- WWW initiatives
- Accessibility guidelines
- Accessibility tester: Cynthia says
- US Copyright basics (PDF)
Part the Second: But a database adds complexity …
Yes, but I’ll bet the investment you make in the initial structure, complex as it may sound, will significantly reduce the work later as you add to and maintain your information and the website itself.
You can get up faster with static HTML now, but backfitting later might be a bear. No harm in trying, however, if you want to start with what you have. Ask Word to convert your writing to HTML for you, and pop it out there.
Part the Third: setting this all up at home
I know that you’d like to play with these tools while you’re learning, but aren’t ready to start paying for professional webhosting yet.
Try XAMPP. It looks like that’s an all-in-one installation package for a Windows PC, so you can set up a local web world of your own on your home machine. See an intro from Jeff Barry on his endless hybrids.
At least one of the PHP/mySQL online tutorials above talks about how to install what you need, as well.
By all means yes – play with it. I find I learn best by experimenting, also.
* There are lots of things we haven’t addressed yet, and probably much I haven’t considered. I hope to make these subjects of future posts:
- Webhosting: What is a webserver? How do I pick a hosting provider? What do they cost? What should I expect from them?
- Design and Graphics: how do I layout pages? What is good online design? How do I prepare images for the website? What software do I need?
- Publicity: how do I attract readers? How does Google find me and rank my pages?
- Copyright: how can I protect my original work? What can I use from others? What’s ‘fair use’ and what is ‘infringement’?
- Security: how can I keep hackers and spammers out?
- Standards: why should I care about web standards and structure? What do I need to worry about?