topbanner_forum
  *

avatar image

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

Login with username, password and session length
  • Friday December 13, 2024, 7:15 am
  • 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 86138 times)

superboyac

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 6,347
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #50 on: March 12, 2012, 10:43 AM »
Awesome.

The idea of YUMPS is to have a really robust and fantastic, programmer-friendly foundation for creating custom web services, social sites, etc.  So that if one had an idea for a new kind of project along the lines of facebook, etsy (anything with user accounts!) -- you would be able to get that off the ground and coded in a fraction of the time it would take to code it from scratch, and with a fraction of the maintenance and extensibility hassles (and a much more robust feature set) than you would have if you started with one of the existing codebases (whether that be a cms codebase like Drupal, or a lower level programming framework).

A good potential source of funding might be someone with a specific custom web service/site project in mind (or two or three), that was interested in having me create both the generic YUMPS system, and at the same time implementing their specific needs as the showcase site.
Cool.  I have a couple of entrepreneur friends here, I'll see what they think.  I also was introduced to the venture capitalist system here a couple of months ago, and they made it sound easier than I was imagining, so I was going to check that out also.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #51 on: March 13, 2012, 01:32 PM »
I'd also be really interested in anyone doing academic work who might be interested in getting a grant to build a larger web site that used yumps as its core.

superboyac

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 6,347
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #52 on: March 13, 2012, 02:46 PM »
I'd also be really interested in anyone doing academic work who might be interested in getting a grant to build a larger web site that used yumps as its core.
Any suggestions on what the website could be "about"?  it would be cool if it could be something that can provide opportunities to programmers, mixed with good looking content, forum.  Kind of like here, but more interactive as far as projects go.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #53 on: March 13, 2012, 02:54 PM »
Well there are a few websites that i already planned to work on as first testbeds for yumps, and it just so happens that one of them is a complete revamping of the Self-Teaching Programming School, which is on the dc forum system now, and actually existed before DonationCoder.


cranioscopical

  • Friend of the Site
  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 4,776
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #54 on: March 13, 2012, 08:25 PM »
and actually existed before DonationCoder.
I've long thought that the period bc was primitive... but bdc must have been the dark ages  :o

rgdot

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 2,193
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #55 on: March 13, 2012, 08:35 PM »
mouser invented the internet  ;D

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #56 on: March 25, 2012, 02:24 PM »
Nothing fancy, but an early screenshot of administration view of users:
Screenshot - 3_25_2012 , 2_21_37 PM.pngOLD - Unfinished Web project: YUMPS

I will be adding a lot more information to that page, but the point I wanted to emphasize was that the whole focus of this codebase is to give administrators a rich set of tools for managing their userbase.  Thus the focus on bulk/batch operations, sortable and searchable grids, etc.

Ditto with providing a top quality logging system.

Again, I think that where YUMPS has a chance to shine is that every single forum, cms, blogging system -- they ALL RE-implement basically the same kind of foundational infrastructure for managing users.. but it's usually not their primary focus -- their primary focus is on the specific kind of CONTENT that they manage.  But with YUMPS, the primary focus *IS* this foundation of user management.

So YUMPS should have the best user management/registration/tracking/logging/usergroups/coding api.
« Last Edit: March 26, 2012, 06:32 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 #57 on: March 26, 2012, 01:25 AM »
Very nice! Indeed, you may be onto something big here. These days, CMS backed sites are the vast majority.. so you're talking about a huge market, and a compelling divergent vision that many will like.

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 #58 on: March 26, 2012, 01:28 AM »
Cool.  I have a couple of entrepreneur friends here, I'll see what they think.  I also was introduced to the venture capitalist system here a couple of months ago, and they made it sound easier than I was imagining, so I was going to check that out also.

Don't get me started on this ;p. Everyone wants easy money.. have a mere 'idea', go tell it to someone, and get a million bucks to start your company .. Too many ideas out there, too little implemention. Myself, I 'just do it'. The VC guys know what is up by now though, the age where they just handed out money to any web project are over .. at least I hope ;). It really became more like a get-rich-quick scheme than anything. Found some random company doing X, don't worry that much about how great it is, but make it good enough, or threatening enough, to be acquired by a larger corporation.


mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #59 on: March 28, 2012, 09:44 PM »
The first version of the YUMPS logging system is now implemented.

I posted here about my struggles with deciding the best way to structure a log table.

Lacking a perfect answer, I tried to finesse the approach -- basically I wrote a fairly generic logging system where any code can make a call to log an event and pass any array of variables to log.

The log router uses configurable rules to decide which of multiple database Log Tables the event gets stored into.  Most events might be routed to a generic main log file, but special events can be routed to specialist tables (or in fact saved to a file or emailed to an admin).

You could also if you wanted use different tables for storing errors vs warnings, or for routing specific kinds of events, etc.

The log system will automatically use table columns for the event fields if they exist, or else store them in a serialized text field if they do not.  In this way I think I can combine the best of both worlds -- using very small efficient log tables for special kinds of events, and a generic table for most others -- and provide good searchability for most fields (which is the main driving force for supporting specialized columns in the log tables), even when using non-specialized log tables.

In addition to the generic administration grid for the log entries that i have shown before (which allows flexible browsing and searching), log items can also easily be moved between log tables -- allowing one to keep a large ARCHIVE table and a small main table, or use certain tables for longer term storage of questionable entries while clearing the rest.

It's extremely easy to add new log tables to the system and configure YUMPS so that it knows about them and makes them available to the admin.  So adding custom logging features should be very easy for custom projects.  In the screenshot below you can see I simply configured 3 log tables and told the system that entries can be moved from the main one to the other two.

At some later point I will add some options to configure periodic automatic moving of items from one table to another based on date or other fields.

The logging system also makes use of my Throttling component, which can watch for degenerate cases where something goes wrong and huge numbers of log entries start being created -- at which point it can temporary disable logging and alert the administrator about the problem (you learn to implement such things after a few experiences on donationcoder where 500 fatal error emails are sent in the course of 60 seconds).

Screenshot - 3_28_2012 , 9_49_06 PM.pngOLD - Unfinished Web project: YUMPS
« Last Edit: March 28, 2012, 11:47 PM by mouser »

Ath

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 3,629
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #60 on: March 29, 2012, 01:38 AM »
Yay! Saw that other thread but I had nothing constructive to add, so I kept quiet. But you worked it out just fine :Thmbsup:

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #61 on: April 09, 2012, 10:11 AM »
Spent the entire weekend reorganizing and refactoring code.. I wouldn't exactly call it fun, but on the other hand it's a nice feeling to be able to reorganize stuff and make it cleaner and more logical.

Ath

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 3,629
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #62 on: April 10, 2012, 01:20 AM »
It both is and isn't fun, any coder knows, but you'll get the reward sometime in the future... :up:

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #63 on: April 11, 2012, 11:20 AM »
I wrote a couple of new pages on the wiki to try to do a better job of explaining what YUMPS actually is (and is not), since I know it's confusing.

Does this help? https://redmine.dcis...ms2/wiki/WhatIsYumps

At the bottom of that page you will also find a link to a new page on why YUMPS might not be what you want: https://redmine.dcis.../wiki/YumpsNotForYou
« Last Edit: April 11, 2012, 11:34 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 #64 on: April 11, 2012, 04:58 PM »
Congrats on YUMPS. Was the question of what is DCISV asked?

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #65 on: April 11, 2012, 05:04 PM »
DCISV is one of the additional experimental domains we set up on our the server -- it hosts the redmine project management system we use for projects (and make available for member projects);  it's on it's own virtual machine for security reasons.


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 #66 on: April 11, 2012, 05:20 PM »
Ah, very good and necessary precaution. I didn't know if it was some new organizational splice of DonationCoder or what.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #67 on: April 24, 2012, 12:39 AM »
Screenshot showing the new "Investigate IP" page, useful for getting more information about an IP of a misbehaving user, etc.:

Yumps_investigateip1.pngOLD - Unfinished Web project: YUMPS

The idea is to provide the site administrator with tools to drill down and understand problem users.

And here's the complementary "Investigate User" page -- but only showing investigation info about the IPs found to be used by the user (a lot more info needs to be added to this page):

Yumps_investigateuser1.pngOLD - Unfinished Web project: YUMPS

From these two pages you can cross reference information, finding all users who use certain ips, or finding all ips used by certain users, and then digging into the logs for details if you need to.
« Last Edit: April 24, 2012, 09:12 PM by mouser, Reason: Added another screenshot »

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #68 on: April 24, 2012, 11:18 AM »
YUMPS is looking good, mouser!
I was wondering if that last table ("users known to use this IP adress") shouldn't include information on if the user is banned (or the YUMPS equivalent).

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #69 on: April 24, 2012, 11:25 AM »
excellent idea.
adding additional info to that table that is specific to the site would also be useful (# of posts, etc.); i still ahve to figure out a nice plugin system.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #70 on: April 26, 2012, 05:54 PM »
I've started to work on the addon/plugin system for YUMPS (with events and triggers, etc.) .. Very fun stuff that I expect will evolve significantly over time.  But getting this right will be critical to making YUMPS useful.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #71 on: June 17, 2012, 08:58 AM »
Rover actually mentioned the "Symfony2", and I've actually been giving some thought to whether Yumps might eventually benefit from a major rewrite to use the Symfony2 components, and shift to being more of a standalone mini-framework rather than a yii module..

You can see how other people have been building micro-frameworks using the symfony components, and that seems like an intriguing possibility for Yumps.

Unfortunately while yii feels absolutely natural and synchronized with the way i code, symfony is the opposite -- it feels alien, awkward, and ugly.

However, it's still something i'm thinking about, if only because using symfony components seems to offer some advantages in terms of having less of a commitment to pieces that are unrelated to Yumps.


mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #72 on: July 24, 2012, 01:30 AM »
I have just finished a painful round of coding adding various options for how user registration should be done.

Traditionally (for example on most forums) when a new user wants to sign up, they are asked for a username, password, and email address.  At that point a validation email is sent to the users registered email address that they must click to prove that it their email, after which they can log in.

The new optional mode asks the user ONLY for an email address, and then forces the user to provide the other required fields (username, password) only after they have visited the validation link; this can be used with bridged accounts as well, and by default (though it is an option) will create only lightweight validation table entries until the validation is complete, which avoids polluting the user table with unvalidated failed accounts.

There are several advantages to the new method:
  • Simpler initial registration, less confusion for users and less mental barrier to signing up
  • The part that most often goes wrong (providing wrong email address) is caught early before user wastes any time -- and they haven't ended up "reserving" a username that they never follow through on.
  • The user table is only validated users -- cleaner and smaller

Drawbacks:
  • The use of a specialized pending-validation table *might* make it more programatically painful to report and track bad behavior.. That is if we created a non-validated user account right away, we could have one and only one unified system for tracking users behavior, ips, access attempts, log, etc.  Wheras if we postpone creating a user until validation, we need to provide investigatory tools both for the normal user table but also for the validation pre-registration table.
  • If we only gather email address from user initially, we can't let them in right away, pending email validation, to access some limited areas, the way we could if we got their username and password initially.
  • Any other drawbacks I'm not thinking of?

Note:

It's been particularly painful simultaneously supporting both this new method, as well as the traditional method of registration, as well as options for how to handle bridged logins in these cases, which introduces some hairy scenarios (like when you want to allow bridged users to not be forced to provide an email address, etc.)

Keeping the multiple options for user account registration may not be worth the extra complication in the long run, and I am thinking of dropping support for the traditional registration approach (get username,email,pass at initial signup).  If anyone has strong feelings either way let me know.

In general I'd say the thing that's really kicking my ass lately with YUMPS is trying to support options for having so many different ways to do things..

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #73 on: July 30, 2012, 01:31 PM »
I have not been focusing at all on looks, so this is nothing to be excited about, but here's the navigation sidebar in action:
Screenshot - 7_30_2012 , 1_27_58 PM.png

Again, the themeing and style needs major work; the important thing is that there is a site navigation system that handles main menus, sidebars, breadcrumbs, etc.  So that when you make a custom web system you don't have to worry about such things.

40hz

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 11,859
    • View Profile
    • Donate to Member
Re: OLD - Unfinished Web project: YUMPS
« Reply #74 on: July 30, 2012, 08:30 PM »
^I actually like the way that looks. It's clean and functional. Easy on the eyes - and doesn't have a lot of pointless bling to distract from getting things configured.

 :Thmbsup: