Recently, I’ve been working on what I thought was a simple feature – changing the width of the sidebar in the CWiki wiki program. There were two ways the user could do it. First, they could set it manually in the “Preferences” page. Second, and more naturally in my opinion, they could use the mouse to drag the separator between the sidebar and the main article area to the location they wanted it.
Starting the implementation of user options (preferences) in CWiki (a personal wiki program) got me thinking about refactoring the project into a shape that is more compatible with Stuart Sierras reloaded workflow. Naturally, that led to thinking about his component architecture. Here are some more resources related to the component architecture. Stuart has a blog post about his reloaded workflow, linked above. The component code repository is on Github here.