Mar 17, 2005 12:50
Alright, its time for me to start XDL for real now! Its not really that special compared to other server-side things like PHPBB or PHPNuke... except its more customizable! And thats a good thing right?
Anyway, I'm going to lay out a plan here and then get to work on it...
A lot of configuration is being moved to a config file now instead of the database, for speed. You'll be able to edit the config file remotely though, so its okay. Config file will be in PHP, so you can't see it from the HTTP server... its not hard to figure out how to edit a PHP conf file so..
As with other XDLs, it will load up modules after it loads up configuration. To keep a module from loading, just move it out of the module dir!
- Modules, as with previous XDLs, are really almost completely seperate programs that you include commands from in the template. There are exceptions, such as the database module which handles what database is being used (for example, a database-mysql.php module and a database-plaintext.php module will conflict with each other and you can't use both.. one will save info to mySQL, the other to a plain text file.) The purpose for this isn't because I'm so vain I think others will make modules for XDL, its because I want to be able to add/remove support for a wide variety of things... and no reason to have functions available on a site where they aren't needed.
Database tables...
Webpage - Stores webpage posts (page name, post id, date posted, poster, editor:time pairs for edits after initial post, content, access #, proctype, intemplate)
Users - Stores user info (Username, password, preferences, last logged in, access #)
And any needed/added by modules, such as the forum module. A seperate script will be included for maintaining/adding/updating the database with needed tables and the like.
Access # denotes the amount of access they have. 0 is root, they have full power over XDL. From there its a matter of >s. If a page has an access number of 5, only someone with a number equal to or less than 5 can edit it. Most sites should only need root, or maybe one or two other access numbers.
Proctype is how it will be processed... 0 = Evaluate it as a PHP script, 1 = Evaluate it with substitutions only, 2 = Plain text. Intemplate is 0 = Show page by itself, not inside the template; 1 = Show page inside template like normal.
Hmm. I'll get to work now.