The light at the end...
Date 2005/9/27 16:40:00 | Topic: XOOPS
| Here is the expected annoucement from the development team, describing the forthcoming changes in our organization, and what you will be able to see in the next weeks. I must begin this text with apologies. When some among us met last spring at the time of the FOSDEM, I announced a lot of changes, I was full of projects. A little later the roadmap for XOOPS 4 was published, and then nothing: I completely disappeared during several months. It is true that this absence was as involuntary as unforeseen, and due to huge problems met in my real life... nevertheless that does not change anything for the people who are present here, and while returning at the end of August I could only note the consequences of this absence. While disappearing like that, I left this project development without leader, without global vision, and it is not just a programmer who missed. Some people tried to mitigate this lack, but without direction to follow nor real experiment, their task was found very hard, almost impossible. So, again I make a point of excusing myself. First to the people who tried to contribute to this project during this time to have left them, then to all the users who found themselves without interlocutor, without official position nor clear response to some their interrogations. Thank you for your assistance, for your patience or your support: the problems of these latest months will be soon forgotten, it is a promise I make personally. To explain in detail all that will occur in the next weeks or months would take too many pages, thus I will try to synthesize as much as possible today. The principal idea which is at the origin of the majority of the changes that you will soon see is the same one, but we will apply it to our program, to the way we work, at every possible level. To define in a few words what it consists was already made by another architect called Hans Reiser (the programmer who created ReiserFS) so I will only quote here his "Reiser's law of information economics": The expressive power of an information system is proportional not to the number of objects that get implemented for it, but instead is proportional to the number of possible effective interactions between objects in it. In normal language what does that mean ? That to communicate is more important than to act (in latine, communicare that is to say comm-unicare: how to give the one to the multiple, to the with (to share), or also what allows this with to give birth to the one). That the potential lies in the interfaces, the relations, in the protocols, and that these are the points we will focus on at first. Precisely, here are the main things to be visible soon. 1) About our organization The first thing I made while returning at the end of August was to try to give birth to a real development team, whereas XOOPS until today was always the work of one or some individuals, but who did not form really what I call a team. Until today, we use a private mailing-list to work, but this one will become public in a few weeks. By then, a new site dedicated to the dev team will be built (in fact, a first version of this site should be put online very soon): developers' blogs, documents... all that relates to the development of XOOPS will be visible, explained, and documented. Each one will be able to see what is happening, what will happen, and will be able to intervene. The developers also will take care that the efforts of other teams members are synchronized with theirs: QA, documentation, local support sites... as many entities which act in a completely independent way, but which will have to get closer to each others as much as possible, in order to make sure they work in a parallelly, helping each others. 2) About XOOPS 2.2 The development and the release of XOOPS 2.2 didn not happen as expected, but these last months will not have been lost. Whatever happens, we will ensure during the forthcoming weeks that all that just occurred will be rich of lessons: to face such probleme is the best thing one can hope to allow him to exceed oneself. The way new features were added, the way versions of different types were published and the lack of communication around those, the lack of documentation which would have made it possible to more people to understand and to contribute to the development... many things were learned to avoid reproducing some mistakes. XOOPS 2.2.3RC2 will be soon available publicly. This version was developed from 2.2.2 in order to remove the bugs appeared in the RC1, which was released in a precipitated way. It will correct a significant number of bugs, and should remove the majority of the error error notifces concerning the use of references when used with PHP 4.4 and PHP 5.1 (however this last modification required several tens of corrections, references being used with excessively and inappropriately in all the core, which explains why we are still testing it before a public release). Then, once 2.2.3 is published, new updates of this branch will regularly be published, after still existing problems are reported to us. Lastly, in order to answer waitings of certain people having performed an unfortunate update of their site, a script making it possible to transform an installation of XOOPS 2.2.x into XOOPS 2.0.13 will be also available as Release Candidate in a few days. 3) About XOOPS 2.3/2.4 The release of this new version of XOOPS intending to show that what was announced are not vain promises is also expected very quickly. Those which have been able to follow my presentation during the FOSDEM or read the roadmap for XOOPS 4 will recognize some ideas: I explained there how I saw the future of this system, and it is thus logically that the next releases will gradually bring us closer to this vision. To simplify, whereas X4 corresponds so what XOOPS should become, 2.4 will be an intermediate stage, corresponding more to what XOOPS should be today: best Web portal management system available... the modifications carried out during the development of this version will bring many possibilities, but some big additions like real multi-sites support and the Content Management layer will have to await a forthcoming stage (nevertheless XOOPS 2.4 will allow us to prepare the core to receive these additions). A detailed description of what this version will be made of should be the object of another article, but here are anyway some of the mainthings you will start to see shortly... Development methodology: - As of the first version (2.3.0), this branch will get instantaneously the level of stability and compatibility of XOOPS 2.0.13. The explanation is extremely simple: we will "go back in time" and will use the 2.0.13 codebase to work (which will be more practical and quick than to modify or repair some parts of 2.2). - This small magic trick will allow me to publish very quickly some improvements I have kept for almost a year, although they were never made public. - The functionalities of 2.2 will be added at this codebase, individually: some will be copied from the 2.2 branch, others corrected or improved, and the last ones concerning parts entirely remade from scratch in XOOPS 2.4 (like the blocks management) will be left of , but we will ensure in this case the equivalent 2.4 layer is compatible with both the 2.0.x and the 2.2.x one. - The unstables releases (2.3.x) will be really usable, although limited (for example: the 2 or 3 first 2.3.x may require Apache to work). These limitations will be documented so that most developers, designers or webmasters can possibly use 2.3.x without makor problems. - The creation of this branch will be followed by the creation of a new site dedicated to the development team: you will have the possibility to follow the evolution of our work and our reflexion, and to comment or participate (I talk again about this point later, as it is of extreme importance: the purpose of all the 2.3.x will be to show people what tomorrow will be, so they can give us feedback as soon as possible, before all is finished). A few objectives: - Low-level refactoring A lot of work will be done to refactor the kernel and its boot sequence. Here we'll have several objectives. The first will be to clean up this part of the core, and obtain something highly structured to allow further, distributed development of the classes it will contain. It will allow us to add a few functionalities before 2.4.0 is reached (enhanced session and auth, the possibility to use several boot files, real https awareness...). Last, this necessary step will allow us to bring some highly requested features to the core in a next (2.5./2.6) version, like the possibility to manage several XOOPS sites from a single install, or real multi-language functionnalities. - The output layer The new output layer will be one of the first additions to be released. Inspired from some of the concepts of OO programming (like inheritance), it will allow themes to have parents so a webmaster can make a common theme for his site, then add children themes changing only a few templates or files. This new layer will remove the confusing separation between themes and templates sets, allow any resource to be customized (templates, css, but also images), and is expected to be quite faster than the actual buggy one. - Web standards This part will also be extremely important: the respect of web standards is what will allow XOOPS to morph from a server platform (like most other CMS), to a real Web platform. All the XOOPS pages will strictly respect the HTTP standards (use response codes, redirections, but also send appropriate headers). On another side, several default themes will be provided: at least one to ensure XOOPS can work with old browsers, but more importantly one strictly standards-based XHTML theme for real browsers like Safari, Mozilla or Opera: and stricly means strictly here... if it was bad to misuse html tables some years ago, it's not better to misuse CSS or put everywhere today, or not take care of the difference between a class or an id. The last point concerning standards and the Web is one most people will understand more easily: the Web is built on the concept of URIs... This means that internally, the new core will now manipulate canonical URIs, not script locations (what people call shortURLs). - The portal management application All the portal management layer will be externalized and redone from scratch and this new module will bring many new features. First the site navigation will become completely independent from the installed applications. People will be able to define section or pages like folders, and associate content URIs or blocks layouts to these sections (so the same page can be displayed at several places with different blocks). The second big change will come from what this module considers a "block" or "page". XOOPS 2.4 will be a universal wrapper, and will allow you to display anything available on the Web (content from XOOPS modules, other applications, or in fact ANY webpage). That will be all for today... But before going back to work, I'd like to thank everybody helping us: first, thanks to the readers who were patient enough to read this long article, thanks to people contributing to this project, thanks to our so positively surprising community members, thanks to the trolls who haunt our forums and make us laugh, and even thanks to all the goblins who spend their time spitting on the efforts of the people involved in XOOPS, whithout trying to give anything constructive: whether on purpose or not, you all help us find the energy and strength that will make all of us succeed: Thank you all, sincerely... skalpa.>
|
|