Re: [pear-webmaster] Re: cvs: pearweb /public_html/trackback trackback-admin.php
| From: | anatoly techtonik | Date: | Sat, 22 Oct 2005 12:08:11 +0000 |
| Subject: | Re: [pear-webmaster] Re: cvs: pearweb /public_html/trackback trackback-admin.php | ||
| References: | 1 2 3 | Groups: | php.pear.cvs php.pear.webmaster php.pear.core |
| Request: | Send a blank email to pear-webmaster+get-4538@lists.php.net to get a copy of this message | ||
Hello Greg,
A bit ironic, as always.
>>> # Guess who broke it ...
>>
>> I think I did, while trying to fix/clean/secure this horrible thing.
>>
>> But seems to be very used.... The gulty commit is certainly this one:
>> $Id: trackback-admin.php,v 1.7 2005/01/29 17:46:33 pajoye Exp $
>>
>> But well, who cares anyway?
GB> I think the answer to this is anyone who experiences a broken webpage as
GB> a result, no?
GB> The point is that as core PEAR developers, we are held to the same
GB> standard that others are.
GB> I think the best thing to do is to test prior to commit, or to post a
GB> patch and ask for testing if it's not possible to test. Committing a
GB> broken patch is far worse than not committing a possible fix.
Yes, Greg - that's all good in theory. Have you tried to test it yourself?
Maybe there is a test-suite or instructions hidden somewhere we do not
aware of? I do not have a clue how to do this. To me the process of testing
a patch for PEAR web-site if not a complete waste of time, but a big
amount of since I can't recreate this living monster on my machine and
do not have access to web-site's.
But something can be done of course. A small link - "report bug on this
page", which whould be visible in 99% of PEAR failures and provide a
link to manual instructions if bug system is borked. IMHO it is one of a
things that QA should be done at first.
GB> Committing broken code to the live website that represents the PEAR
GB> project is a really big deal, which brings me to a another point: why is
GB> this even *possible*? We all know the answer, but I think it is not a
GB> good one :).
GB> I wonder if it might make sense to start thinking seriously about the
GB> future of cvs.php.net/pearweb and peclweb. We all agree that the code
GB> is security hole-laden, difficult to maintain or test, and very
GB> difficult to port. I'd like to investigate alternatives.
If you are the most ambitious "PHP community", which promotes quality
and can't make a one of those thousand websites written in PHP, then
that's the good reason to start thinking seriously - how come?
I can tell you, but I've tired.
GB> As it stands now Chiara_PEAR_Server is not at all a good alternative.
GB> The package uses a customized database instead of the pearweb one. In
GB> addition, it has no unit tests and requires PHP 5. When it is ready, it
GB> can be aptly named PEAR_Server or PEAR_Channel_Server, or whatever,
GB> obviously.
GB> I have a small team working on getting important features implemented,
GB> and think that after some refactoring with a pearweb-specific backend,
GB> it could be easily dropped in as a replacement for pearweb or peclweb.
I think all this stuff with channels and servers is obscure. And to
do things worse (you know I like it) =) - web-site cannot be dropped in a
package, because you still have to do apache|DB config tuning for optimal
performance.
GB> However, I am the first to admit that it needs a whole lotta redoing. A
GB> lot of it is weekend code that is fugly and needs serious re-factoring,
GB> documenting, and testing. This is where pearweb team comes in.
Really? May I laugh with toggg?
GB> Why not focus website efforts on getting this code to be usable as a
GB> channel server and then use it for PEAR and PECL? Once basic security
GB> holes are patched up at pearweb, we can focus more heavily on a much
GB> lighter web backend/frontend.
GB> A potential roadmap might include:
GB> - attempt to unify the database formats of pearweb and PEAR_Server, in
GB> any way possible
Make some proxies, write stubs and all that stuff?
GB> - de-couple non-essential features from pearweb so that they can work
GB> independent of pearweb (i.e. remove calls to stuff in pear-database.php,
GB> and remove dependence on pear-prepend from PEPr, bug database, etc.)
Very nice, but I must admin that I do not fully understand what do you
want and how do you want to do this.
GB> - develop a frontend for PEAR_Server that is pear.php.net-specific, and
GB> one that is pecl.php.net-specific
GB> - take the horrendous mess that is the administrative backend for
GB> PEAR_Server and make it beautiful and template-based.
It is getting worse and worse for me. What is PEAR_Server?
GB> - use ApacheTest to develop a test suite for PEAR_Server.
GB> - use ApacheTest to develop a test suite for pear.php.net
GB> - make the website installable as a package, and remove the stupid cvs sync.
GB> These last three points are hugely important for obvious reasons.
Two first of last free. Last one doesn't seems obvious to me.
Can you explain in technical terms?
(but, please, explain current process carefully to me if you want
to hear some solutions, since I don't have a clue about it)
GB> Until we get those implemented, we must be more stringent about
GB> committing bad code. I propose a new policy for pearweb:
GB> 1) if you haven't tested the code, don't commit it
GB> 2) if you can't test it, post a patch to pear-webmaster
GB> 3) if you've tested it, commit it
GB> 4) if it's obvious you haven't tested it, you get a warning. On the
GB> second commit of obviously untested code, your cvs karma is revoked for
GB> 4 weeks, minimum.
Very nice, Greg. Are you a lawyer?
GB> I don't think we need to be overly harsh about this. For folks who are
GB> admins, I think a self-imposed revocation would be enough (sort of a
GB> penance by posting patches and not committing for 4 weeks). Everyone
GB> makes mistakes, but it is important to take responsibility for them so
GB> we don't build up resentment in any way.
Greg, find a work in a BIG software company in a commercially motivated team.
Just to get introduced into Software Engineering problems and how the
whole damn world face it to keep coding effective. Just change motivation
factors, think about support infrastructure for them and you'll get some
examples where it already works on the web. Perhaps then you'll see
why PEAR is stale and spoiled.
You do not need to believe me. Just place some polls about PEAR somewhere
outside to get feedback. If you'll decide to do this - I can help and
revise questions to get the most accurate results.
--
anatoly