After being frustrated with having to fix and re-fix countless broken applications written in PHP, i'm in search of good large scale PHP apps to advocate in their place. Perhaps the Advogato community could help me out...
After being frustrated with having to fix and re-fix countless broken applications written in PHP, i'm in search of good large scale PHP apps to advocate in their place. Perhaps the Advogato community could help me out...
Ideally, an app should only need to be installed on a server once and support multiple configurations/implementations i.e. the code lies in a central location and virtual hosts make use of it via .htaccess aliases and local configuration files/templates.
phpMyAdmin does this well. Our clients like to have database access without having to learn the command line interface and through clever Apache Aliases is automatically available to all virtual sites from one installation. Squirrelmail and neomail do this too, i believe. So, if a problem arises, it's a matter of fixing it once and having that change be universal.
There are plenty of apps that do not do this and ultimately become a pain in the ass to configure, edit, manipulate, upgrade, remove, etc... I personally tire of going back and re-fixing the same problems for different clients and having multiple installations of the same application wastes valuable space.
For lack of time and resources i'm rarely able to provide my/our own solution from scratch, done the right way from the beginning and often the decision to go one way or another is not mine. So, are there any large-scale web based (PHP, Perl, Python, whatever) applications to recommend? Specifically, any that anyone is particularly fond of and why would be very helpful. I'm open to suggestions of commercial, non-commercial, free, open source, closed source, whatever solutions for the typical apps that "clients" want, like web forums, shopping carts, groupware, etc...
I personally think Java isn't a very good solution for doing web programming - I'm a Tcl guy myself - but the ideas behind Struts are nicely done, and aren't very hard to copy for other languages.
I like Phorum (http://www.phorum.org) for a multi-site Bulletin Board system.
In the CMS arena, I've heard a lot of good stuff about Drupal, but I've never tried it myself, and I have no idea if it is 'multisite'. There's also a pretty good list of CMSes at http://www.opensourcecms.com
Perhaps you could mention some specific 'groups/types' of applications you are looking for?
I've always liked Phorum, very flexible, developer friendly and not overly complicated. I hadn't realized that it was able to support multiple sites like that, so I will definitely try to use it more in the future.
Mainly what i'm looking for is a good e-commerce package, since that is what seems to be the most recommended "feature". Mainly, i've gut-wrenchingly had to deal with osCommerce because other people usually make the decisions before coming to me and it's free. My problems with osCommerce are common with many large-scale applications. What I mean by large-scale applications is the type of features that people/clients can refer to with one or a few words and require little modification, if any at all, like shopping carts, web forums, groupware/collaboration, weblog/CMS, web email, image galleries, etc...
Drupal does support multiple sites on one machine. I looked at many CMSs for my own site and would have picked drupal if it supported cross-domain content and multi-lingual content. Surprisingly, amidst the myriad of CMSs available, I found none supported these features and I am writing my own. At any rate.. drupal looks good.
I am sure that if you used Prolog then you could get significate improvement as the langauge would more closely match the target application. Also as this is a Web application the reduction in speed would be irilivent.
Liza 'why do you say that'
PHPortal Features:
URI Object based virtual folder system 25+ Content-type transformations Built-in News, Search, logging, non-writable modular, auto-caching, click tracking (session-based), 100% TTW management, Members apps. No manual File CHMODing.
Run unlimited number of domains, sub-domains, and sub-sub-domains off of the same PHPortal Object (file).
Copy, cut, paste, import, and export applications that can be dropped and run an unlimited number of times as unique or shared instances within one or multiple websites.
PHPortal-XPC lite version 1 is a standardized component based architecture similar to JSP Java Beans.
This lite version is the PHP JSP replication framework for pure template component based application architecture.
First time I hear Prolog being recommended for web applications. Is there some particular virtue besides the language itself and/or is there some kind of environment using it besides plain CGI?
Environments besides plain CGI? But of course: plain non-CGI...
:)
Back in the late 80's when the "generation language" concept was in vogue, a 5gl language was one in which some "application specific" concepts were imbedded. In some ways you could argue that PHP is a 5gl. Prolog is a general purpose language ( i.e. a 4gl), the idea back them was that you use "smart" 4gl's like prolog and lisp to create the 5gl's.
Giving prolog to your average CGI writer would be like handing shotguns to 3 year olds. Prolog is a lot like writing sendmail.cf files with a nicer syntax. Recursive rule based state systems are not a model most people are familiar with.
- Booker C. Bense
Prolog is actually a 3GL, you could argue that PHP is a 4GL. The computer on StarTrek is a 5GL....
http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?generation
- Booker C. Bense
Back when I was a Uni. I am sure that Prolog was touted as a 5GL but these things change. After all when something can be programmed simplely it stops being an area of AI research and just becomes another algorithm.
BTW - in case it was missed my original post was an 'April Fool Joke' ;)
But there is no reason you could not us Prolog to write CGI apps, in some cases it would be a big win but then there is a lot of code like this, people are to bound up in only using the limited set of langauge paradigms they know.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!