Michael Morris
First Post
This is interesting since I've considered doing this here, using joomla/vbulletin to create a basica user framework and deliver the application through the web. There are a couple of distinct advantages from the user's point of view on this.
First, as a web application the user's system requirements are a non-issue as long as they run a browser that can sent post data. Everyone here meets that requirement - else vbulletin wouldn't work for them and they wouldn't be here
Second upgrades can be handled on a server level.
Third MySQL provides a powerful database architecture within which to store the data. Joomla and vbulletin provide a powerful access control layer to determine who can change what is designated as core or optional systemwide.
Fourth a PHP delivered engine is not self contained to each user's PC. While it has the limitation of requiring internet connectivity at playtime I don't forsee this being too great an obstacle in the days of WiFi.
Fifth advantage is the ease with which user creations can be shared, accessed and commented on.
My current professional project is a generic forms engine in PHP. It allows the user to create and link html forms without writing new code *most* of the time. This engine could be co-opted for this project without two much fuss from my boss I think (I'm the only employee, only 3 persons in the company). At their heart RPG's are forms (character sheets) linked to other forms (race sheets, equipment lists, etc) so with some finessing the basic engine might be able to help.
However, my first commitment to ENWorld is EN2. I could use help in this endeavor if anyone is interested - the sooner I have it up and running the sooner I can begin work on a PHP based campaign management system.
One final comment in passing - Namespaces, while great, aren't supported in PHP. However PHP 5 does support true object oriented programming (though unlike Java it doesn't REQUIRE it). If you know how to program in Java or C you already know what you need to program PHP except that PHP is FAR MORE FORGIVING with datatypes. In PHP a variable is a variable. All variables start with $. You don't have to declare variables before you reference them (though it's bad practice to not do so), you can recast them on the fly. $object = false; will make $object into a boolean variable. If you then enter $object = 'This string'; it becomes a string. For someone coming out of the world of C or Java some PHP code can read a bit eccentricly because PHP programmers like myself take advantage of the Zend Engine's dynamic casting of variables. (for example a variable with a value assigned evaluates to the boolean true unless the value is '', 0, null or - of course - false). When it is necessary to have a datatype match (for instance to distinguish 0 from null) PHP has the strict comparison operator: ===
Oh well, enough babbling.
First, as a web application the user's system requirements are a non-issue as long as they run a browser that can sent post data. Everyone here meets that requirement - else vbulletin wouldn't work for them and they wouldn't be here

Second upgrades can be handled on a server level.
Third MySQL provides a powerful database architecture within which to store the data. Joomla and vbulletin provide a powerful access control layer to determine who can change what is designated as core or optional systemwide.
Fourth a PHP delivered engine is not self contained to each user's PC. While it has the limitation of requiring internet connectivity at playtime I don't forsee this being too great an obstacle in the days of WiFi.
Fifth advantage is the ease with which user creations can be shared, accessed and commented on.
My current professional project is a generic forms engine in PHP. It allows the user to create and link html forms without writing new code *most* of the time. This engine could be co-opted for this project without two much fuss from my boss I think (I'm the only employee, only 3 persons in the company). At their heart RPG's are forms (character sheets) linked to other forms (race sheets, equipment lists, etc) so with some finessing the basic engine might be able to help.
However, my first commitment to ENWorld is EN2. I could use help in this endeavor if anyone is interested - the sooner I have it up and running the sooner I can begin work on a PHP based campaign management system.
One final comment in passing - Namespaces, while great, aren't supported in PHP. However PHP 5 does support true object oriented programming (though unlike Java it doesn't REQUIRE it). If you know how to program in Java or C you already know what you need to program PHP except that PHP is FAR MORE FORGIVING with datatypes. In PHP a variable is a variable. All variables start with $. You don't have to declare variables before you reference them (though it's bad practice to not do so), you can recast them on the fly. $object = false; will make $object into a boolean variable. If you then enter $object = 'This string'; it becomes a string. For someone coming out of the world of C or Java some PHP code can read a bit eccentricly because PHP programmers like myself take advantage of the Zend Engine's dynamic casting of variables. (for example a variable with a value assigned evaluates to the boolean true unless the value is '', 0, null or - of course - false). When it is necessary to have a datatype match (for instance to distinguish 0 from null) PHP has the strict comparison operator: ===
Oh well, enough babbling.