Web Hosting Forum | Lunarpages


*
Welcome, Guest. Please login or register.
Did you miss your activation email?



Login with username, password and session length
February 09, 2012, 08:41:19 PM

Pages: [1]   Go Down
  Print  
Author Topic: CMS versus new application framework  (Read 1775 times)
MrPhil
Berserker Poster
*****
Offline Offline

Posts: 5083



« on: November 20, 2009, 06:50:18 PM »

Hi folks,

I've been kicking around the idea of implementing what I call, for lack of a better term, a website "application framework". The idea is that it provides a number of common services, while allowing you to plug in (prewritten or your own) applications and pages. These applications would make use of the common services, much as a PC application makes use of file open and save dialogs, theme, window manager, etc.

The framework would --
  • manage users: ID and password, common groups (inclusive and exclusive), register, delete, ban (single sign-on for entire web site, rather than individual ones for each application)
  • provide common services such as
    • an email interface with send rate throttling
    • BBCode for editing and display of text
    • breadcrumb trails, page selections by number, and other navigation aids
    • a database abstraction layer, so applications can be moved to different databases easily
    • easy way to determine permissions of given user
    • optionally SEO-format links
    • consistently-styled interface components such as 'boxes'
    • CSS-styled layout, not table-driven
    in an extensible manner
  • provide overall themes or skins
  • maintain sessions, so that users have a seamless experience moving from application to application
  • implement a clean method of adding mods or themes to applications (and removing them), without the usual pain of broken installs and removals
  • provide consistent language support across applications, with a base language (and icons) and overrides in a selected language (everything is UTF-8)

Each application under the framework would inherit everything above, and could add in or override --
  • application-specific groups, behaving the same way as the overall framework's
  • supplemental user information (e.g., record of purchases table, or billing and shipping addresses for an e-commerce application)
  • application- and page-specific themes and overrides (e.g., different departments in a store might get different themes). A page could faithfully follow the theme and just plug in its own page-specific material, or it could ignore part or all of the theme.

So, the idea is to have a common framework into which you could mix and match all sorts of applications: forums, stores, wikis, galleries, blogs, whatever; with consistent look and feel, interoperability (no losing your shopping cart contents when popping over to the forum to check a product discussion), and single-sign-on for the whole site. Naturally, the pages and applications installed would need to be written to certain standards, using certain libraries and certain framework calls. Obviously, an online store written for this framework couldn't stand alone, without the framework's services. On the other hand, you could still install some favorite application into its own directory and make a link to it from a framework page -- it would have its own style, own sign-on, etc., but would still function. If I install a shopping cart, every page could show an icon reminding you if you have items in your cart (not to forget and abandon it).

That's the target. Now, before I re-invent the wheel, are there any Content Management Systems (or other software, for that matter), that already deliver most or all of this? I've taken a brief look at Drupal and Joomla, and the impression I get is that they basically control everything, not giving an application designer all that much leeway and discretion. Is that a fair assessment, or haven't I looked deeply enough into what these CMSs can do? I don't want to be forced to serve every page from the CMS's database, having to accept its theme. I want the ability to have separate databases for each application, and not force them all into one huge database. The more separated the applications are, the easier it should be to upgrade or remove them if desired, versus a highly integrated system.

So is there open source software that will do as I want? I'd rather use something canned than write all this myself. Is module architecture well documented, if I need to write something myself? If I install, say, an e-commerce module into Drupal or Joomla, is it highly integrated? Is it easy to extend its function if I need to make changes (e.g., handle oddball tax rules)? Does it give me the flexibility I need? Can I keep all the different modules (store, forum, wiki, etc.) cleanly separated from each other, with updating or removal in mind?

Thanks much for any thoughts or recommendations on all of this. I'm not all that familiar with CMSs, so please don't beat me about the head for asking such questions! I'm more familiar with separate applications (e.g,, SMF, osCommerce) and their duplication of services and own problems with mods and updates, not to mention the difficulty of getting a consistent look and feel on the same site.
Logged

Mitch
Berserker Poster
*****
Offline Offline

Posts: 12838


WWW
« Reply #1 on: November 23, 2009, 05:35:09 AM »

Very interesting idea.  I wish there were more bigger frameworks that would allow you do piece together things like this rather than hacking and editing away a this script, so it works with those two scripts over there.   Thumbs Up
Logged

New to Web Site Hosting? Check Out the Lunarpages Blog Hosting Guide!


Follow us @lunarpages on Twitter!
Important Threads: Read This Before Posting! | Lunarforums Rules! | Mitch's Link of the Day!
Also, be sure to check out and subscribe to the Lunartics Blog and the Lunarpages Newsletter !

Need Web Hosting Help? Check out the Lunarpages Web Hosting Wiki. It has tons of tips, tutorials and resources!
MrPhil
Berserker Poster
*****
Offline Offline

Posts: 5083



« Reply #2 on: May 27, 2010, 01:09:39 PM »

I've just about decided to give Drupal a try, rather than continuing efforts to get a homebrew framework + SMF + osCommerce to all play nice together. I was wondering if anyone with experience in Drupal + forum + Ubercart would care to comment? I want to do the following things on one site:
  • run a forum similar in capability to SMF (e.g., Lunarforums) -- public read, members only posting, possibly group-based permissions to do various things (e.g., send PMs), anti-spam framework, areas restricted to paying customers, etc.
  • run a shopping cart -- mixture of physical items and digital downloads, at different tax rates in a destination-address-based state (NY). Items have attributes, such as tees in various sizes or colors. For the time being, it looks like PayPal for payments, but should be flexible to permit future choices.
  • section for anyone to download free software I write
  • restricted-access section for paying customers to download patches, etc.
  • easily create new pages and sections (e.g., a picture tour of my area)
Does that sound like something Drupal can do (perhaps with a little custom code), or should I look elsewhere?
Logged

Pages: [1]   Go Up
  Print  
 
Jump to: