Matt's Web Page Editor version 1.02 ----------------------------------- This is a system for letting users edit their web pages from within their web browser rather than from a Unix account. It's pretty simple really, so I haven't written very much documentation. If you have any questions, you can e-mail me at mattdm@cedar.goshen.edu. You can use these files freely and change them however you like, but I still retain the copyright. All I ask is that you give me proper credit, and put a link to my web page somewhere visible. (http://www.goshen.edu/~mattdm/) And it would be nice if you'd e-mail me telling me that you're going to use this; if you want, I'll include a link to your server on these pages. ----------------------------------- To install, just put all of these files adduser <--utility to add users to people.list editdemo.cgi <--the "guest user" demo edithtml.cgi <--the main editor script editlogin.cgi <--the login processor random.cgi <--takes you to a random users page definehtml.html <--a quick definition of HTML defineurl.html <--a quick definition of URL edit.html <--the login screen index.html <--the front page policy.html <--information for users on policy numbers.list <--ordinal and cardinal numbers for page names people.list <--the password list readme.txt <--this file into a directory which is writable (and of course readable) by your web server. At Goshen College, we use /web/htdocs/students, which looks like http://www.goshen.edu/students/ to anyone looking at the web site. You'll need to have your server set up so that all .cgi files are processed as CGIs. It wouldn't be hard to modify everything to run from /cgi-bin/, but I'll leave that up to you. And of course *.cgi and adduser will need to be chmod'ed properly to be executable. Also, you'll need to have Perl on your system. You probably do. Oh, and I've only tested this on our Linux server here. I have no idea what it will do on other servers. Use at your own risk. ----------------------------------- Oh, I almost forgot: (yay for well-planned documentation!) There's a variable called $pagepathname at the top of random.cgi and edithtml.cgi that you'll need to set to the URL of your directory instead of mine. ----------------------------------- After you have all the files in place, the only other thing to do is add users. The adduser utility does this: adduser username password Firstname Lastname number-of-pages. Username is of course the username the user will use to access the system. Password is also obvious. (It will get encrypted when it's put in people.list) Firstname and Lastname are the user's real name. Number-of-pages is the number of pages the user will be allowed to have. If you set this to more than 20, you'll want to edit numbers.list to go higher. There aren't any more advanced administration utilities yet; there will be in future versions. For now, just edit people.list by hand. Its format follows the syntax for adduser. ----------------------------------- After you've done that, load up your web browser and take a look. Index.html should demonstrate everything you need to get started. ----------------------------------- I think that's all I really need to say. Once again, contact me if it's not enough. Also, this is my first attempt at doing anything in Perl, and I don't actually have any reference resources other than what I find on the web, so it's probably pretty bad Perl code. If you can do any of it better, please show me how. ----------------------------------- I get asked a lot about the method for letting users put images on their pages. Sadly, I can think of no good way to do this automatically. (If you can, tell me.) The best solution is to set up an ftp server where users can upload their graphics, and then move them to their proper places by hand. This isn't so terrible, because if the People In Charge at your site are concerned about "inappropriate" content, you'll probably have to look at all images anyway. It's probably a good idea to have a central library of common images (buttons and arrows and lines and graphics) that users can get to easily-- then you won't have to deal with eight thousand little red ball graphics. ----------------------------------- I'm working on some other neat things like an integrated guestbook feature. Stay tuned. ----------------------------------- All of this is (c) Copyright 1995 Matthew Miller. You can copy and modify freely as long as you give me proper credit. And it would be nice if you'd e-mail me telling me that you're using it. Matt Miller 8/21/95 mattdm@cedar.goshen.edu http://www.goshen.edu/~mattdm/