The common question asked of me when I mention I'm building a web framework is, "Why build a new one?". I believe I can provide something of value to the software community, and I believe I need the flexibility of controlling the conventions of the base system to realize my vision. I want to provide a system that easily enables rich interaction between different components on both the client and the server, and I want there to be an expectation of a certain environment available wherever code is being run. Search, ratings, and widgets would be a few possible examples of this type of integration.
Blogs, wikis, and a software release repository would be types of "modules". By software repository, I mean something that would track the latest release of QuoteBlizzard or FlowBasis and know the latest version numbers and download links.
"Modules" tend to contain "resources" that should be searchable and/or rateable. Blogs have posts and comments. Wikis have user created pages. Software release repositories have projects. A developer should be able to create a custom module that tells FlowBasis, "Here are my resources," and FlowBasis should be able to incorporate them into the search engine and provide ratings tracking.
"Modules" also tend to have information that would be nice to easily incorporate into other page views in the form of "widgets". A blog could publish "widgets" for its tag cloud or recent posts. A wiki could publish "widgets" for top-rated pages or most recently updated pages. A software release repository could expose a "widget" that displays the most recent software releases with a download link.
Any page view can incorporate widget panels, and widget panels can be configured through an AJAX-y interface. For instance, you can add a widget panel to your main site page and through the browser (if you have permissions), you can add widgets by browsing through a list of available widget templates provided by modules, or configure existing widgets (such as change the URL on a feed listing widget or change the maximum number of displayed feed entries).
No comments.