I just finished a system I've been working on for the past few months, something I started basically as my introduction to PHP and object oriented programming and developed into a huge project I've been spending a lot of spare time on.
I don't expect it'll ever be a major player anywhere, but I plan to release it under the new BSD license as open source software nevertheless. Before I do, I would really appreciate if anybody out there would like to be an alpha tester for it.
I've named it Tuatara, and here's the description from my google code account;
Tuatara is a user authentication and access control management system built in object oriented PHP5 with a MySQL backend. This system is meant for programmers and non-programmers alike who need a powerful but easy to use drop in access control system for their web site, and don't have the time or requirements for a full fledged framework based system.
Features include configurable groups, simple registration with optional email verification, forgotten password retrieval, user profiles, and a robust administration interface that lets you control every aspect of your installation. Security is another feature that is taken very seriously, including multiple levels of authentication checks to verify user sessions, dynamically hashed passwords, and error checking that'll stop XSS attacks in their tracks.
Since it's only just come out of pre-alpha, I haven't developed an installation script for it as of yet, and would be providing you with the entire package as it will be on my web site when I put it up (this means the frontend demonstration for it and everything). I would be looking for feedback on any or all of these areas:
Interface - look and feel, usability, integration, and ease of use.
Code - readability, efficiency, generally whatever your feelings are here
Database - again, efficiency, optimizing, etc.
Security - if you can see any major problems, find any vulnerabilities
Bugginess - any problems that may arise, any problems that do arise
Features - what should change, what should be added, maybe what should be removed?
Along with anything else that any potential testers may notice, realize, or think of.
Since this is only just coming out of pre-alpha I would like to gather all the input and reactions to the above as I can, in order to make any modifications or improvements that I need to before developing the installation program for it and finalizing the documentation. At that point, hopefully I can use the same alpha testers to beta test the final package, or find a few new folks.
I still need a few more days to clean up some of the code I just finished for the administrative control panel, and then complete the phpdoc blocks. At that point I'll be ready to distribute the initial alpha package to any volunteers.
Oh, and the current requirements for the system:
PHP's MySQLi extension (I plan on downgrading this to using just MySQL as I wasn't thinking that many hosts probably don't have MySQLi when I begun, but for now it uses the MySQLi extension).
Well if you actually read down to here and are interested, please pm me with your email or post here with any questions you may have. Thanks,
Once it reaches beta, yes. I haven't bothered to use CVS or SVN to this point because it's still at pre-release alpha - it hasn't even been reduced to the actual package files yet, as I built it around the demonstration site that I plan on going live with at the same time.
For the alpha test the package files would be coming directly from me. In a couple weeks (barring any major problems being found) when I upgrade it's status to beta the source will become available on the project site. Maybe even less time.
Well, since neither my host nor sourceforge supports MySQLi, I bit the bullet and ported Tuatara back down to the regular MySQL extension under PHP. I figured if I'm having trouble with finding support for it, others down the line will too, so I want to keep the audience open.
Now that it's just using the regular extensions, if anybody else would be interested in testing, please let me know. Thanks to CMellor I've already found a few issues that have been fixed, and would appreciate further outside influence in this matter. Also as a result of this I will be putting it online soon and will be busting my butt to get the installation app completed, so if you would like to test but would rather wait until it has a built in installation, just note that in your reply. Thank you,
I am interested too, although one question I have:
How is the database part built in? This class on my current system will simply initialize this as a new object ontop of an already current one, and thus it will inherit the database connection *stuff*.
Is the interface template driven?
Did you provide a database abstraction layer? This would be really useful to me as I was going to build my own ACL for my current site, but hey if your already there..... :D
Cool name btw: (cute little guy)
__________________ There are No Stupid Questions. But there a LOT of Inquisitive Idiots.
Mr J: No problems, if I could pay you guys to help me test, I would, but since I can't, I'm pretty much happy with any response at all haha.
Drewbee: The database connection is encapsulated in an object at this point. It's the first object to be loaded by the system, the handler is stored in a static property, and no, at this point there is no major abstraction going on, it requires MySQL. I have considered providing an abstraction, however I torpedoed that aspect of the project earlier on in favour of getting other things done - I figured if the interest actually goes anywhere in this as a public domain resource, I can reconsider and reopen that possibility at a later time.
There is rudimentary template handling built in at this point, to handle the internal mails (verification, forgotten password, etc) and built-in menus ('you are/aren't logged in' type stuff). I want Tuatara to be highly adaptable and functional, but it is also meant to be transparent as much as possible - so while the current testing package is basically a reproduction of my demo web site for it (to make testing easier as you don't have to build it around anything, it already is), it will eventually be stripped down to just the library, installation routine, and relatively un-styled sample pages to provide the end user with a kind of outline of how to integrate it into their existing site.
My long term goal for this project is to create some kind of plug-in framework for it so that anybody using it as their authentication/access control layer can drop in modules for it, like a blog, or a forum, etc that will use a standardized authentication across the entire site - something so that a community can expand beyond a simple this or that but not both interface. My short term goal is to actually get up the gusto to finish docblocking the whole damn thing and generate an API, then strip out any extraneous code and make it as a non-bloated as possible.
I'll email all you all with the download and information regarding testing - thanks again to everybody for their help.