KBD

Keith Devens .com

Friday, March 19, 2010 Flag waving
"It's like a condom; I'd rather have it and not need it than need it and not have... – some chick in Alien vs. Predator, when asked why she always carries a gun
← Which cartoon cat are you?Tom DeLay is awesome →

Daily link icon Thursday, August 22, 2002

CMS To Do List

This is just me thinking out loud again....

CMS To Do List:

  • Have nice URLs
    • So use Mod_Rewrite
    • But see if you can make it optional so as to reduce the requirements
  • Be extensible
    • Modules
    • Templates
      • See if you can integrate Smarty
    • Have an API to access the database. No one touches the database directly.
  • Caching
    • Customizable schedule
      • Per page
      • According to a given action
        • When a comment is posted, regenerate the page
        • When a new weblog entry is posted, regenerate the page
  • Metadata
    • Each document has meta data. Automatically available to any user of the document.
    • As part of extensibility, each module author can store whatever meta data he wants to.
  • Default modules
  • You can stick comments (nested if you want) on anything.
  • Administration
    • Multi-user
    • Customizable permission levels
    • Site-wide data
      • Name of site, administrator e-mail, etc.
  • Any type of document is "revisionable".
    • You can store multiple revisions
    • Go back to an older one, etc.
  • Search: everything is searchable.
    • MySQL is nice to us with a full text search
  • Implementation details:
    • Everything that is user-editable is stored in the database.
      • That way you can edit everything through the web
      • All objects can be exposed through XML-RPC, I suppose
      • Also, an optional daemon will be available that will expose all objects through FTP.
    • Database independence?
      • Target MySQL first, for obvious reasons
      • ADOdb or PearDB?
  • Nice features:
    • You can use StructuredText in any kind of document.
    • This goes well with Wikis, but you can use it for your pages, weblog, etc.
  • And of course, it has to be fast or it's not worth it.

I just read PostNuke's module developer information. It was interesting to read, because I'm taking a completely different approach, at least to data storage.

Everything (except metadata and comments, most likely) will be stored in one "documents" table. Each "module" will "own" a document. What's nice is that if you have a weblog post and you want to reuse the content for something else, you can hit a button to copy it over and make it a wiki page, or an article, or a regular page on your site.

← Which cartoon cat are you?Tom DeLay is awesome →

Comments XML gif

Moss (http://www.m14m.net/bloglet.php) wrote:

You may already have thought of this, but: for making the URLs nice, consider having your script get the name of the requested page from the path info, rather than from the cgi query string. This way it looks fairly nice even without mod_rewrite, it uses a very simple rewrite rule, and it should be pretty easy to make rewriting optional.

∴ Moss | 22-Aug-2002 1:05pm est | http://www.m14m.net/bloglet.php | #730

Keith (http://www.keithdevens.com/) wrote:

Yeah, that's basically what I was going to do. If the path info is translated into what would normally be querystring values, then it'll be easy to make mod_rewrite optional. I had thought the same thing, and that's one of the goals.

Check out my fun with mod_rewrite post where I go into the rules I'm going to use.

Keith | 22-Aug-2002 1:22pm est | http://www.keithdevens.com/ | #731

Dean Peters (http://www.healyourchurchwebsite.com) wrote:

ADODB ... yes ... please

∴ Dean Peters | 22-Aug-2002 4:06pm est | http://www.healyourchurchwebsite.com | #732

Keith (http://www.keithdevens.com/) wrote:

Yeah, I was just being fair to PearDB because I haven't tried it yet Smiley But ADODB is probably a given should I use any database abstraction at all.

Keith | 22-Aug-2002 4:50pm est | http://www.keithdevens.com/ | #734

Feel free to post a comment below. Please see my comment policy.

Formatting Rules (No HTML):

  • **bold**, *italic*, _underlined_, --strikeout--
  • "text"="url" creates a link, and URLs are auto-highlighted
  • Blockquote: Like e-mail, begin paragraph with > (greater-than sign)
  • Lists: begin paragraph with *,-, or + (unordered), or # (ordered)
  • Code block: ?!code:language=perl|php|sql|javascript|etc.{\n}...{\n}?!/code

:
(will be your IP address if blank)
: (optional)
(Will not be shown on site)

: (optional)
:

March 2010
SunMonTueWedThuFriSat
 123456
78910111213
14151617181920
21222324252627
28293031 



RSS feed RSS feed for Keith's Weblog
Atom feed Atom feed for Keith's Weblog
Weblog archive
Recent comments
  on 2 posts

Recent comments XML

I hate ASP.NET

I hate ASP... I was doing wonders​with PHP, then suddenly one of my​clients...

Johnies: Mar 17, 6:14am

Quantum physics and free will

I knew you were going to say that....

Tom Massey: Mar 15, 9:26pm

Generated in about 0.113s.

(Used 8 db queries)