ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE. Software > MEWLO Web Framework

OLD - Unfinished Web project: YUMPS

(1/17) > >>

I wanted to make a brief post about a new web project i've been working on for the last month or so.

It's tentatively titled "YUMPS" (for Yii User Management and Project System) though that is likely to change eventually.

IMPORTANT: There is now a Wiki for YUMPS Project:


Many website/webservice projects share a set of foundational needs:

* Users can sign up and create accounts
* Moderators have accounts that let them analyze site activity and track down and manage spam and spammers
* An access control / permission system that lets administrator give certain users certain permissions on the site
* The ability to send users messages on the site, and let users message each other
In addition one often needs:

* Content creation/editing with attached file uploads and comments
* Hierarchical Groups and Projects with user management within groups
* Tagging and rating features.
* Email notifications and approval queues.

Programmer Strategy

When faced with the need to create a new site/service that requires such functionality, a programmer has three main choices:

* Use a medium/low-level framework (cakephp, codeigniter, yii, django, ruby on rails, etc.) or no framework, and custom implement these foundational features
* Use a medium/low-level framework and combine several extensions/modules/plugins to handle user accounts and other features
* Use an existing open source programmer-friendly content management system, and modify this code base for programmer-specific needs.
However, none of these choices are ideal.

* While the basic functionality seems manageable, a huge amount of sometimes delicate code is required to implement these foundational features; rewriting this code for each new website project is unreasonable.
* Trying to reliably combine and maintain a collection of extensions/plugins to perform these foundational features is difficult to integrate and maintain. These functions involve a substantial amount of overlap and database table interaction in an ideal case, and existing solutions that employ modular standalone extensions for these various different features, are too fragile.
* Content management systems are designed first and foremost for content creators, not for programmers. Even the most programmer-friendly CMS systems (for example Drupal) can be incredibly frustrating from the standpoint of creating a custom web service project that doesn't fit precisely into a Content Management approach.
* What is needed is an integrated core foundational codebase that performs all of these key features, and that programmers can use to build new websites.


* YUMPS is intended to provide a foundation for a wide variety of web service and community websites that require user/group/project management features. It is built on top of the yii php framework.
* Built for programmers not administrators, so the emphasis is on configuration-file and programmatic configuration -- rather than a friendly GUI for configuation of options.
* Provides a complete and robust infrastructure for managing a large numbers of user accounts with arbitrary profile data.
* Provides support functions for the user community, including a user-to-user messaging/mailbox system.
* Provides a flexible group and project management system, which can be used to let users create and manage their own groups; supports hierarchies of groups and projects.
* Emphasis on performance and security; easy to keep updated and diagnose issues.
* Not a content management system (CMS); but rather a substantial foundation of code upon which to build custom community websites.
* Powerful access control / permission system.


I have spent significant time trying to use Drupal as a foundation code base for the goals i've laid out here.  You can read my rants about Drupal here.  In brief -- while Drupal is an incredibly impressive product, with some fantastic features for coders, I have found it to be unsuitable as a foundation for custom non-cms sites.  I am much more interested in a mid-level framework that allows programmers to build custom user-based web sites/services (rather than a CMS system designed for non-programmers).  A huge amount of work has gone into making Drupal (and other such tools) incredibly flexible to configure from an administrative back-end side, wheras I am much less interested in that than in making a system that a programmer can customize and maintain.

My intention is to open source the project -- though I am very much hoping to find some way to fund continued development of it.  If you know someone who might be willing to help fund continued development please contact me!

I hope I will find some of you who might be willing to help code on it once the basic system is public.

OLD - Unfinished Web project: YUMPS

I'll post some updates and screenshots as I go along -- still a ton of work to do and it's a rather massive project.  And I would be very interested in hearing ideas and suggestions for it.

Very nice to hear of this project! I was reading about it, thinking 'cool', before I even looked at the publisher (was in Google Reader). A pre-written 'base site framework' not only avoids having to re-invent the wheel, you can be assured that it is securely implemented. Speaking of that, you will definitely want to have a strict versioning policy for this software. Every change must be analyzed from a security perspective. Of course, simply avoiding SQL injection attacks is usually sufficient, but when you have an open framework you know it will be put through the wringer! Scarily, if there ever was an exploit, they'd probably try it here first, under the assumption you use the same (or similar) code.

Anyway, this sounds like something I could use myself. I was planning to switch from my custom code to SMF for basic login and profile management, though don't like the idea of relying on SMF. I could easily see myself making use of YUMPS.


My intention is to open source the project
-mouser (August 14, 2011, 01:01 PM)
--- End quote ---

@Mouser - Noble.  :Thmbsup: But please think it through carefully before you actually go down that path. Especially if you're seeking funding since many potential investors aren't interested in underwriting open source projects. So get the funding issue squared away before you decide on your license.

And until you settle on a final license, whatever you do release should be under a time-limited and restricted "development beta" license. Ideally with a non-disclosure clause attached. I've seen a few attempts at securing funding torpedoed because source code was released to people outside the original development group without a restricted license and NDA. Many investors - particularly private "angel" investors - have a problem with putting up money for something too many people know too much about. Or that the developer hasn't "adequately protected."



[0] Message Index

[#] Next page

Go to full version