topbanner_forum
  *

avatar image

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

Login with username, password and session length
  • Monday March 18, 2024, 10:36 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: OLD - Unfinished Web project: YUMPS  (Read 80126 times)

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
OLD - Unfinished Web project: YUMPS
« on: August 14, 2011, 01:01 PM »
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: http://redmine.dcisv...m/projects/ums2/wiki



Motivation

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.


Overview:
  • 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.


Background:

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.

montage.pngOLD - Unfinished Web project: YUMPS
« Last Edit: July 25, 2013, 09:33 AM by mouser »

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #1 on: August 14, 2011, 01:11 PM »
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.
« Last Edit: August 14, 2011, 01:26 PM by mouser »

db90h

  • Coding Snacks Author
  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 481
  • Software Engineer
    • View Profile
    • Bitsum - Take control of your PC
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #2 on: August 14, 2011, 07:39 PM »
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.
« Last Edit: August 14, 2011, 08:46 PM by db90h »

db90h

  • Coding Snacks Author
  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 481
  • Software Engineer
    • View Profile
    • Bitsum - Take control of your PC
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #3 on: August 14, 2011, 08:46 PM »
..
« Last Edit: October 14, 2011, 04:45 PM by db90h »

40hz

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 11,857
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #4 on: August 14, 2011, 09:47 PM »
My intention is to open source the project

@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."

:)

« Last Edit: August 14, 2011, 10:03 PM by 40hz »

Perry Mowbray

  • N.A.N.Y. Organizer
  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 1,817
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #5 on: August 15, 2011, 03:13 AM »
I've got a couple of Yii projects bubbling along (well, not very bubbling because I've got other things drawing on my time at the moment), and the user management on Yii is neat and powerful, but not delivered as a plugin... so the common user functions have to be pieced together each project.

I'm keen to see how you go, and support  :-*
« Last Edit: August 15, 2011, 03:32 AM by Perry Mowbray »

Perry Mowbray

  • N.A.N.Y. Organizer
  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 1,817
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #6 on: August 15, 2011, 03:18 AM »
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.

If it's something all encompassing, maybe if it's done in a modular way so that aspects can be excluded if not required?

For example, if you don't want Projects for a particular site it can be excluded from the Db and interface.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #7 on: August 15, 2011, 08:44 AM »
Perry, that walking trip looks wild.  :Thmbsup:

Yeah i haven't figured out how modular i want to make it.. It should definitely be easy to disable features from the user's viewpoint, but i don't know how much work it's worth putting in just to avoid a few empty tables.

One of the lessons I learned from playing with Drupal is that even in the best cases, it can be messy to maintaining a bunch of modules that interact but can't guarantee each-others-presence.  So my inclination for now is to build this as a complete integrated system (or rather as a single yii module) that is installed as an all-in-one solution.
« Last Edit: August 15, 2011, 09:02 AM by mouser »

db90h

  • Coding Snacks Author
  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 481
  • Software Engineer
    • View Profile
    • Bitsum - Take control of your PC
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #8 on: August 15, 2011, 01:41 PM »
I also must agree with 40hz about the license. Be CAREFUL! The largest issue is that it takes so little for some ahole to come and, completely legally, take your code - fork it - and call it his own. Seriously. He can then even starting selling the darn thing, though it must still remain open source. I've seen some people fork projects, add 'proprietary' 'extensions' that they make 'closed source' (yes, questionable) .. then sell the entire package, using your code to do the heavily lifting.

I like open source, but it really tends to be very unfair to the developer(s) who put the most into the project. I could see people paying a small fee for a commercial use license for this.

Importantly, you can make it open source without giving too much away. You just have to make the license terms sufficiently restrictive (dunno which boilerplate license is best).

As for investors, are you looking for investors? Be careful with that stuff. Sometimes it sounds like an obvious win, but in your case I'm not sure you'd be comfortable given x% of your project away to get a few dollars. These investors also like to demand they have control, like putting in a new CEO above your head to keep an eye on things. It depends on the arrangement. Usually these are best for 100% commercial projects that you intend to later sale to some larger company.

Lastly, be sure to keep differentiating yourself from the CMS competition! That is key here.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #9 on: August 15, 2011, 02:11 PM »
I'm not looking for investors since i don't think something like this can be sold.. But i'd be very pleased to find a company that would be willing to fund further development/customization for use in other projects, enough so i could keep working on it.

db90h

  • Coding Snacks Author
  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 481
  • Software Engineer
    • View Profile
    • Bitsum - Take control of your PC
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #10 on: August 15, 2011, 04:56 PM »
I'm not looking for investors since i don't think something like this can be sold.. But i'd be very pleased to find a company that would be willing to fund further development/customization for use in other projects, enough so i could keep working on it.

I don't know much about venture capital, as I believe most software companies these days can be run with such low overhead (initially) that they don't really need these people. But NOTHING is free in the world, and you always give up both a percentage of ownership and sometimes a hell of a lot of control. The VCs actually seem a little ... I dunno, but it doesn't seem right to walk in somewhere and get a huge bunch of money. The ability to get this largely depends on who you know, etc..

Target

  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 1,832
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #11 on: August 15, 2011, 06:15 PM »
I don't know much about the process, but might this be something you could 'float' through kickstarter?

Perry Mowbray

  • N.A.N.Y. Organizer
  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 1,817
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #12 on: August 16, 2011, 06:29 AM »
Perry, that walking trip looks wild.  :Thmbsup:

It's made me feel selfish really  :-[ 

It's pushed just about everything else out of the way (NANY, coding, drawing, etc)... But it's an investment into my marriage that I'm very much looking forward to.  It's also for me (which makes me feel selfish)... but hopefully it will reap dividends in other areas  :)

I'm not looking for investors since i don't think something like this can be sold.. But i'd be very pleased to find a company that would be willing to fund further development/customization for use in other projects, enough so i could keep working on it.

  • Can't donations be gathered pre-project? (just give me the opportunity...)
  • Can't the project have a funded version as well as a donation version? (although that sounds like a headache)

mahesh2k

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,426
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #13 on: August 16, 2011, 06:48 AM »
How about charging for installation and hosted solution ? You can keep code for download and free if you want. But you can charge for hosted solution, just like wordpress.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #14 on: August 16, 2011, 02:39 PM »
How about charging for installation and hosted solution ?

this is really a project for programmers -- so it's not something that a group could deploy without having a programmer already.  and i don't want to get into hosting business.

perhaps the best way to think about it going forward is i'll just use it to build the couple of sites i have it intended for, and look for the opportunity to build additional specific sites using it, as paid projects.

db90h

  • Coding Snacks Author
  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 481
  • Software Engineer
    • View Profile
    • Bitsum - Take control of your PC
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #15 on: August 16, 2011, 03:22 PM »
I have seen numerous F/OSS projects survive by charging for *custom* modifications to the base code. This will be in heavy demand, and is always a possibility. Of course, it is more work on top of what you've already done, but it will always be much easier for the original programmer to create add-ons and modifications than for any programmer who just became familiar with it. Just because sites have a programmer, don't take that to mean they wouldn't farm out work to someone else. Many 'programmers' do this for a living, not being great programmers themselves, or being busy, they hire people to do the real work.

db90h

  • Coding Snacks Author
  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 481
  • Software Engineer
    • View Profile
    • Bitsum - Take control of your PC
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #16 on: October 14, 2011, 04:46 PM »
Well, what's the latest? ;). I ask because I'm about to design a new site and wanted to eval this option over my own code. No prob if nothing been done, I know how that is, and no expectations anyway, was just curious for aforementioned reason.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #17 on: October 14, 2011, 04:47 PM »
no where near ready to deploy on a real website i'm afraid, but i'm still working on it!

db90h

  • Coding Snacks Author
  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 481
  • Software Engineer
    • View Profile
    • Bitsum - Take control of your PC
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #18 on: October 14, 2011, 04:53 PM »
Ok, that's cool.. Another volunteer site btw, if you were wondering. I am all into good causes, trying to get people to care.

Josh

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Points: 45
  • Posts: 3,411
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #19 on: November 20, 2011, 07:49 PM »
I vote we rename this program from Yii User Management and Project System to one of the following

Yet Unother Mousered Programming School (He wants to use this for the 3rd programming school)

or

Yet Unother Mousered Program, Sigh.

For those of you who do not understand the "mousered" reference, please see here

Rover

  • Master of Smilies
  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 632
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #20 on: November 20, 2011, 09:29 PM »
Hmm... I was looking pretty hard a Yii, but then thought Symfony 2 looked a little better.

If I had a "support group" I might be interested in using more ;)

I'm looking for a platform to build some serious (IMHO) web application(s).  It's really one application, with several default views.
Insert Brilliant Sig line here

Josh

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Points: 45
  • Posts: 3,411
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #21 on: November 20, 2011, 09:35 PM »
I would also like it known that once YUMPS is complete, I plan to help mouser test it with an upcoming project for the site. I guess you could say that is why I hope to motivate him to continue the hard work he is doing on it. Please, do not take my joking as an attempt to insult mouser, but more a way to drive him to continue the many great things he does. I know what is in store and I think this new idea will serve the ideas behind DonationCoder quite well. I am very anxious to get started on it and can't wait for YUMPS to be completed!

Rover

  • Master of Smilies
  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 632
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #22 on: November 20, 2011, 10:17 PM »
I'm really hoping this becomes a "pluggable"/"isolated" user validation system.  I currently have Linux validating against AD using Quest (via PAM) and adLDAP.  I'd live a single point to alter for Yii support.  I can supply Group Membership, etc.  I just need 1 point   to change for framework wide authentication.

Party on dudes.
Insert Brilliant Sig line here

JavaJones

  • Review 2.0 Designer
  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 2,739
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #23 on: November 23, 2011, 12:23 AM »
Meanwhile I'm doing my part by supplying mouser with commercial projects to test and improve YUMPS on. :D

- Oshyan

db90h

  • Coding Snacks Author
  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 481
  • Software Engineer
    • View Profile
    • Bitsum - Take control of your PC
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #24 on: November 23, 2011, 12:52 AM »
The best part of such a framework is that once embedded into sites, you could charge for customizations. There is real potential here. I stated this a long time ago, but figured I'd say it again.