|
From: Alain F. <al...@va...> - 2001-03-27 11:43:32
|
Hello, The current version is 0.7.6 if I'm not wrong. We have done some cosmetic work on a 0.7.3 installation, and there's plenty of contents in the database, too. We are soon going to publish the latest 0.7.6 on a production server, and I was wondering if there's anything special to take care of during this migration to the new version? If so, is there any kind of document done / in preparation ? Here's the precise list about the things I am concerned with: * Contents, e.g. database layout. mysqldump, and then import OK ? * Themes: we have created one theme that is very customized. Is the "theme system" still the same or has it been modified ? I know I could probably find out about all of this on my own, but why do the work myself when someone else already knows the answers.. :) From the developer's point of view: I think there have already been talks about an "Upgrade path documentation" recently. Given that I will soon be in a real-life situation, namely a 0.7.3 to 0.7.6 migration, we might as well take the opportunity to find out what problems future users might come accross, and come up with ideas concerning such a document. And now for something that will probably make most of yours' hair rise.. :). Since a couple of weeks I have strictly forgot about "procedurial" programming, and all of my current and future PHP projects will be programmed as object-oriented as PHP allows. It not only makes the code more readable and easier to manage, let alone easier for several people to work on, but it also opens it up to modern analysis techniques and tools. UML, anyone ? :) I have recently bought Jim Conallen's excellent book titled "Building Web Applications with UML", and I must say that using UML for website development can actually save you a -lot- of trouble and time, especially as soon as you start producing code in a "distributed development" environment like the one we currently have for phpWebSite. A UML sequence diagram, for instance, can easily express a concept and a way of working on a single page instead of a couple hundred lines of text. I think that what is particularly important for any software project, and particularly if you are more than, say, 5 developers, is to have an extremely precise "book of charges" that describes as accurately as possible what the system should do, and how it should do it. The process of "coding", that is, typing PHP in your favourite editor, should as far as possible be limited to simply translating ideas, concepts and rules into code; these ideas, concepts and rules having been established in the book of charges beforehand. My opinion is that this is extremely important in the case of phpWebSite. Actually, just like Karl Fogel says in his book "Open Source Development With CVS", the failure ratio of Open Source projects is quite high, and the great majority of these projects that never see the light as a finished application, basically fail because they are either "born-deads", or because the development process dies somewhere in the middle, due to the lack of organisation, documentation, communication. This "ODC factor", as I call it, can quite easily be achieved by following the basic software development rules, and by using tools/methods like UML and OOP in general. All of this would of course mean a complete rewrite of phpWebSite :(. Nevertheless, I thought the idea would be worth mentioning. Now I realize that what ought to be a short mail, ended up being a quite long speach about software development !? :) Sorry about this, I recognize there is quite a lot of "blabla" in there, but I guess phpWebSite is a quite interesting project, and it would be sad to see it die because we, the developers, didn't follow the "basic" rules. Finally, please don't take the above words for the one and only truth. It's just my personal opinion that I have built upon my very short experience as a team developer, and I might have got wrong a couple of ideas and concepts. The fact that I will shortly be teaching a "Web development" course at my former school surely makes me walk a bit too much on the "theoretical" side of things. Those of you who have a some kind of computer related degree surely remember your teachers preaching about analysis/design, and all the other "boring stuff" that kills every student's enthousiasm right from the start. When I was still at school last year I would never have thought that one day -I- would be the teacher, preaching the same stories about that "boring stuff" called analysis/design/UML/<fit in your favourite enthusiasm killer>. Thanks, and talk to you soon. ------ Alain Fontaine Analyst-Programmer Nvision s.à.r.l. |