KBD

Keith Devens .com

Thursday, May 17, 2012 Flag waving
I would rather be an optimist and be wrong than a pessimist who proves to be right. The former sometimes... – "Hoots"
← 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)
:

May 2012
SunMonTueWedThuFriSat
 12345
6789101112
13141516171819
20212223242526
2728293031 



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

Recent comments XML

new⇒Acknowledging the Arrival of Peak Government

In many ways, Peak Oil is​responsible for this new​uselessness of the big g...

Revence: May 16, 6:35am

new⇒Tab EXSPLOSION

Right now, I, too, have too many​tabs open. A rough count says​25.
Right. ...

Revence: May 16, 6:21am

George W. Bush: ‘I’m for Mitt Romney’ - ABC News

A marked difference (departure,​even) from the KBD of eight--yea,​even four...

Revence: May 15, 1:55pm

WebOb — WSGI request and response objects

Google App Engine forces one to​learn these....

Revence: May 15, 1:52pm

Generated in about 0.196s.

(Used 8 db queries)