XOOPS Core Dev Roadmap

归类: General, XoopsD.J. | 3/3/2005 @ 11:38 pm (阅读: 418)
[摘要]:

当前版本:英文2.092,中文2.09
进行中版本:2.010, 2.1/2.2x,主持:Ono kazu
下一个重要版本:2.5,代号 xoopShere,主持:Skalpa
原先计划版本:3.0,(主持:bunny)

XOOPS CORE的开发计划有些重要变更,原来计划2.09发布后的下个重要版本是2.1,现在看来,onokazu主持的2.0x版本近期将持续下去,直到2.1/2.2;而skalpa的2.1经结构/功能改进后将以2.5甚至更高的版本发布,为避免版本号混乱,暂时以xoopShere代称;因xoopSphere的显著改进,原来bunny主持的3.0,我估计会无限期延迟。

onokazu主持的2.0.1x, 2.1/2.2将没有重大新功能,只做bug修正,特别是安全防护,我想这是众望所归 — 无论如何说,XOOPS Janan社区功不可没。如果没有意外,XOOPS 2.010 将在几天内出beta发布。

skalpa来自除日本社区外另一个极活跃的XOOPS FRANCE,看过他的照片,长得很精干,跟我印象中的程序员高手模样一致。他在做的XOOPSHERE改进之大,会让人担心是否可行。我想作为XOOPS的一员,有OK, SKALPA这样的开发者,大可安心 — 梨树说得好,XOOPS重要的是人才



我简单测试过XOOPSPHERE,一些功能还无法测试,至少DEBUG功能是强大多了。

XOOPSPHERE的一些简要简介

Posted by rowdie on 2005/3/2
The New Frontier: Next generation XOOPS (Skalpa)
Avery tired Skalpa gave an excellent presentation on the next generationof XOOPS, which has been built from scratch and is simply awesome.

WhenSkalpa started designing this new system, which as yet has no versionnumber, he went right back to basics and looked at XOOPS in the contextof its environment. This meant that XOOPS:
1. has to be HTTP aware
2.has to become fully standards compliant, not just with existingcommonly supported standards, but also with standards that arepresently only proposals
3. must become more integrated with itsenvironment, and make use of the resources of the environment whenavailable. i.e. if native pdf file generation is available on a server,then use it. If not, then provide an alternative. Don’t ignore nativesolutions because they might not be available on all systems, justprovide an alternative as a fallback.
4. must have backward compatibility for XOOPS 2.0.x modules and themes.

Thenext XOOPS has a component-based architecture and will provide servicesto modules, something like the way an OS works. For example, theauthentication layer can be changed to your prefered type ofauthentication, by simply configuring which component to use when XOOPSauthenticates a user.

Implementation example…
$inst = $xoops->create(’xoops.db’);

Whichdatabase to use depends on the site configuration - you don’t need toknow exactly which class it uses, you are only interested in creating adatabase object.

The structure of XOOPS will be 3 tier:
- OS layer
- Application layer
- Portal System

OS layer
Thereare two modes - a “Developer” mode and “Production” mode. In developermode all config settings and theme/templates are read on each pagerequest, so it will always load your latest changes. This mode isreactive, which makes developing your site easier, but is slow.Production mode only reads the config settings it needs, and from acompiled version (something like the Smarty compile solution),therefore doesn’t always need database queries. This makes it veryfast, though less reactive to changes. A site in production rarelyneeds config changes, which is the reasoning behind the production mode.

Thenew XOOPS architecture has more modular code, which basically meansthat there are a limitless amount of features/components that could bemade available. The core team have yet to decide where to stop.

A few components that will definitely be included are:
XoopsAuth
- LDAP is the default
-Project Liberty will also be an option. This is an open source solutionfor a syndicated site i.e. log in on one site means the person will beautomatically authenticated for all sites - something like a M$passport idea.

XoopsDB
- MySQLi (released with PHP5)
- MySQL, the default database used
- postgre

Application layer
Basicallyeverything related to CMS (this XOOPS will be a true CMS!) - utilityclasses, controllers, creating objects, managing tables in DB…

Stores Manager
Ableto determine where the content is taken from. It can be stored ondifferent servers, have different prefixes, the users could also bestored in a different location… all this can be organised here anddelivered to one site, or shared between subsites. It could also beuseful for presenting content in several languages.

There isalso a versioning layer. This means content has a temporal dimension,so you are able to follow the evolution of a document.

Output
Theseparation that currently exists between themes and templates is gone!A theme now becomes a generic resources container, so any resources(images, flash file, module templates, etc) used for theme-relatedoutput should be included in the theme folder.

The theme system uses the principle of inheritance.

Ifyou want to change one template of one module, you only need to putthat new template in a sub-directory of your theme for it to be used.Not more cloning template sets, and generating files for all templatesjust to make one small change.
e.g.
xoops-root/theme/example_theme/
xoops-root/theme/example_theme/modules/module_index.html

Thiswill use the main templates for everything, except your newmodule_index.html will be used instead of the one that came with themodule.

In developer mode the theme directory is checked eachtime a page loads to see if it contains any sub-directories with newtemplates/resources. Production mode works with a generated listing ofthe resources, which is much less resource-intensive and thereforequicker.

XOOPS will come with a html theme as default. Therewill also be an xhtml theme (still to be made). But the future of theweb, and therefore also XOOPS, is with XML (and XSL). So althoughsimply using xhtml is possible, you can also create templates whichcould include something like this:

	
content
The transformation logic of XML will be contained in an XSL file.

skalpa>
Here are the only minimal corrections I have:
- LDAP won’t be the default Auth layer, but provided by default (so the core will be released with at least XoopsDB and LDAP, with the 1st one being the default, as it is today).
- There will be 2 (maybe 3) default themes.
The 1st one will be backward compatible XHTML (served as “text/html” and not really exploiting the possibilities of XHTML).
The 2nd one will be what I called realXHTML (served as application/xhtml+xml, generating mixed vocabulariesdocuments): the sample you copied was supposed to illustrate one ofthings we could do with this (to simplify a lot, for people who onlyknow HTML, I’d say XHTML will allow us to extend HTML with our custom tags and attributes).
I’m also thinking a lot about XUL (this might become the 3rd one), but this will really need more studying, and contributors before it can become a reality.
- What I said about transformation logic and XSL was: asa dev, I consider the transformation logic XSL brings very interesting,and we’re looking for a way to bring similar logic to the templateengine.
- Forget about the “windows manager”, it’s the blocks manager… My fault, I shouldn’t use this term, it’s really confusing .
The main change this last layer will bring, is the possibility to create an infinity of pages,organized in folders/subfolders, so you won’t be limited to the pagesmodules provide, but will be able to create custom ones and say “takethe content that comes from this module page, and add those blocks toit…”

– 注:应当是 xoopSphere,不是xoopShere

1条评论

  1. 评论 由 lzhdm:

    能不能提供一个版本让大家试试,满足一下好奇心?

发表评论