-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Scope of Change
The collection of classes delivered with the framework will be shrinked to an absolute minimum. Classes required for bootstrapping and very basic and common operations will be shipped as the "XP Framework Core", others will be available as separate library.
Rationale
The XP Framework today comes with a collection of standard implementations forming the whole classbase; this includes, for example, scriptlet package as the foundation for HTTP processing, rdbms to perform database queries, img for image manipulation.
While they're very frequently used, they don't form the very base of the framework. Separating them is supposed to support
- implementation variance
- separate release cycles
- shrinking the size of XP applications (only include what's required)
- ...
Functionality
Split
The following packages will remain in core:
langiopeerutiltext, including:text.encodetext.formattext.regextext.util- classes
text.CSVGenerator,text.StringUtil
The following packages will become separate modules:
guiimgmathrdbmsremotescriptletsecuritytext.csvtext.doclettext.parsertext.spellingunittestwebservicesxml
Modules provided by the XP Framework as a stable and reliable base continue to be hosted within the XP Framework organisation at GitHub.
Release
The framework and modules will not share a release cycle; their version numbers, will diverge, consequently. In order make that clear, the following applies to their versioning:
- XP Framework Core will continue to carry its current version number
- all modules will be reset to version 1.0.0
Dependencies
All modules depend on XP Framework Core, but modules may also depend on another module (such as webservices) depend on xml. Thus, to efficiently manage this, a dependency management should be used.
Core modules should have no external dependencies - it should be self contained.
Security considerations
Speed impact
Speed impact by adding more paths to an include_path is expected; if that develops to be grave, effort must be spent to build packaging forms that counterwork that effect (eg. building uber-xars).
Dependencies
Related documents
- RFC XP 6 #172 - XP 6