###################################################################################### # eBlog Project Outline ############################################################## ###################################################################################### # Last Modified 07-31-2004 # # 1.0.1 # ############################ ######### Authors: Andrew Bennett (potatosalad@users.sourceforge.net) Description: This document contains the basic outline for the goals of the eBlog project. Hopefully, this document will be constantly changing as new ideas are added and others are taken away. Feel free to e-mail the authors and/or the developers if you see a feature miss- ing that you would like to see present as development continues. I. Installation A. Main thing to remember: idiot-proof. The installation needs to be simple enough for your mother to install. And if your mother happens to be a big IT guru, then refer to your great-grandmother. 1. Databases "db.inc.php" a. User will be able to easily select what kind of database system they want. MySQL, PostegreSQL, OBDC, or whatever. Users should also be able to select "No Database System" where PHP itself will create a database using files. Yes, it will be slower, but the option should be there for people who do not have any database system. b. All database variables must be configured and saved in a simple db.inc.php or similar filename that needs to contain the username and whatever else is needed to connect to the database. If the file system database type is selected (I'm sure someone is going to just love programming that) it will have the database type there and another PHP parser will do all the dirty work. 2. Single Users a. Installation will also allow person to select between Single User, or multiple users. b. With single user, user should be able to select an "intro" page to show up first instead of the blog itself, or to have it go to the actual blog when the page is loaded up. 3. Multiple Users a. If user selects multiple users, they will be able to choose from super- user system or peer system. Super-user is where there is one or a select few users who are able to access the entire site's controls, while other users on the site are only able to change their own personal blog. b. Super-users will also be able to restrict certain functions from lower users. This way, the eBlog engine can hopefully one day grow to a commercial solution for companies to use. Somewhat like what xanga.com and many other blogging systems are doing. Yes, it's terrible tyranny, but if people are going to use your bandwidth and space, they should atleast pay for it. Plus we're all in the business to make money. 4. Should be able to select the "default" set of features, and other sets like minimum, everything, and custom. 5. Installation should be ready to run and be able to detect if the server is Unix, Windows, Mac OS X, or other. Installation should customize itself accordingly. It should also be able to detect database environments that are available and select the best one for use. B. Developer Installation 1. Developer Installation should include everything that the idiot-proof install has, but tailored more for people who really know what they're doing and want a fully customized installation. 2. Developers should be able to edit config files from the browser window (I hate when an installation says to edit soandso.cfg file and I hafto open it in a separate program). C. Installation cleanup 1. Everything from install needs to be deleted, or corrupted so that hackers cannot repeat installation. It would be nice if there was a way to auto- delete all the install files or atleast corrupt them beyond repair. A back-up must be saved of everything as a "fallback" point and original installation files need to be stored somewhere for ease-of-reinstallation and for easier migrating. 2. If there are any errors, installation needs to auto-detect them and spit out whatever errors have occurred. Errors must be ranked by severity and have a simple description next to each so the user can know what's going on. II. Clean Defaults A. After installation, default settings should have a clean, but bland and simple, http://www.xanga.com/home.aspx?user=SparkleySmurff is a good example. This way, users can change small things here and there and understand how their changes are changing the overall design. I don't want the users to be overwhelmed by the flashiness and complexity of a skin. A good example of this would be phpBB. Although it has a great skinning engine, it's too hard for the simple user to understand. B. Depending on how they installed everything, the clean install admin panel should have several import and "Getting Started" sections. C. Importing 1. Users should be able to import their old blogs hosted at another location. Most popular blogging systems need to be studied and find out the quickest and easiest way of parsing their blog. PHP may not be able to do this as quickly as desired through the web browser, so perhaps a simple console application could do the job better. http://sourceforge.net/projects/agnax/ claims to be able to do that, but I have not been successful in getting it to work and I'm no good with Java, so the source code doesn't do me much good. 2. Users need to be able to import their subscriptions, as well. Look on the left side of almost any xanga and there are usually BlogRings and other stuff that needs to be imported and linked to externally. Since Xanga only allows you to subscribe to other Xanga sites, the user should probably create an account on Xanga that will have a script or a link to redirect to the eBlog page. So Xanga does not delete their account because of inactivity, there should be a "Keep-Alive" option on the eBlog panel that will automatically post a random message every week or so. I don't know if that is possible easily, though. Xanga probably has some security things to keep from doing that, so some URL spoofing might have to occur. D. Module Add-Ons 1. To everything mentioned above, modules must be supported. If another project starts on SF to make add-on plugins for importing blogs and keeping them alive, eBlog needs to be able to easily accept modules. 2. Modules from other similar blogging systems should also be accepted. E. Skins 1. Although the clean defaults will leave eBlog bland and boring at first, users need a small library of skins to choose from. 2. Skins from other blogging systems need to be supported as well. Xanga has a decent skinning system that needs to be supported. 3. I was considering creating support for phpBB skins, so people who want their blog to look like a forum to be supported. 4. A Movable Type look-alike skin should be available. I know how many single- users like the Movable Type look. III. Admin Panel A. I'm movin at one section a sitting...any help would be nice.