somewhere to talk about random ideas and projects like everyone else


January 2009 Archive

I Fail 26 January 2009

I Fail

Flexible Plugin System 15 January 2009

Basically, in modern CMS development, there are 2 types of plugin systems. (that i care to talk about) A) creating a comprehensive API and isolating plugins into a plugin directory (wordpress does this, AFIK) B) creating patches to the source code through complex patching instructions (usually combined with an API too, and SMF sorta does this-ish)

The problem, is that neither is really developer-friendly (or at least me-friendly). Learning an API is boring, and I see recognize code better than man-pages. Documentation also is normally pretty crappy anyway (except for big projects like WP/SMF). Patching source code makes you manually define the context, line number, etc. It’s usually using a non-standardized system (XML files) and has many merge conflicts.

So how can it be improved? Well, the API part can’t really be improved on, but the latter one can. I think just hacking away directly at the source code is pretty decent. Because many times the changes are minor, and it doesn’t make sense to make huge new plugin files for it (though it would still work).

Instead, imagine something similar to a SCM like CVS or Subversion. Use patches in standardized formats (GNU Diff Unified format), so people can resolve conflicts with familiar tools, and reduce the chance of it happening. Have the CMS include a “developer mode” which enables the system to intelligently find the edits and build patches for.

What that becomes, is a simple, flexible pluggable, portable plugin system. (yay! a plugin subsystem as a plugin!).

It’s really just to streamline the (B) type of plugin system.

I'm A Wordpress Idiot 04 January 2009

So in scribefire, i pressed “Save as Page” rather than “Save as Post” :(

I'm A Linux Idiot 04 January 2009

So I needed to install phpMyAdmin, and having those epiphanies on how simple it is to install crap on Debian/Ubuntu, I typed in sudo apt-get install phpmyadmin and it worked fine. Mapped out all the dependencies, installed them all, and then popped up a nice user-friendly config window where you select which server to install it in.

I had Apache2, so i just hit enter. Opened up my browser and went to /phpmyadmin. hmm. 404? tried /phpMyAdmin, and same.

So I googled it, and there were all these success stories. I went and tried sudo dpkg-reconfigure phpmyadmin, that same window popped up, this time i tabbed over to the ok button. and pressed enter. Checked again, still broken?

So i found this guide, and it turns out you have to press space to select it -_-