-''__NOTE:__ This is unofficial documentation. This page imrpove on the framework information found on ((bitweaverArchitecture)). If you are looking for official documentation, please see those pages. -Will''
|
+The Bitweaver application Framework offers a complete suite of core features in a higher modular design. The Bitweaver Framework is designed specifically for developer flexibility. To understand how Bitweaver is designed, you must understand that it is completely modular, on multiple levels. |
|
-bitweaver is a web application that offers a complete suite of powerful feature sets in a higher modular design. To understand how bitweaver is designed, you must understand that it is completely modular, on multiple levels.
|
+All parts of Bitweaver are encapsulated in what we call Packages. ((bitweaverPackage|Bitweaver Packages)) are the largest grain of our modular architecture, they are intended to be large collections of features, such as the ((WikiPackage|Wiki Package)) or the ((BlogsPackage|Blogs Package)). |
|
-Our terminology:
|
+Bitweaver has a set of required packages needed to be fully operational. These are refered to as the "core". The core includes: |
+*The ((KernelPackage|Kernel Package)) is responsible for the setting up the database and manages package configuration. |
+*the ((LibertyPackage|Liberty Package)) is a handful of well designed base classes that are intended to be inherited from. By extending the classes, you get all the power of liberty - access control, content history, formatting like wiki parsing, HTML scrubbing, and more - without having to write any of the code yourself. |
+*The ((Themes Package|Themes Package)) manages the theming of your site |
+*The ((UsersPackage|Users Package)) manages user data |
+*The ((LanguagesPackage|Languages Package)) handles internationalization |
|
-*Package - the largest grain of our modular architecture, it is a intended to be a large feature scope - such as the WikiPackage or BlogsPackage. The term Package was introduced as a concept in TikiWiki by Dennis Hetzel.
|
-*Modules - we have maintained the "Modules" term to be identical to the TikiWiki usage. Modules are the "blocks" (in *nuke terms) of data that appear on the sides of the page - such as "Last changes" or "Last blog posts"
|
-*Plugins - Packages can contain plugins inside them to enable modular functionality. The LibertyPackage and WikiPackage both have their own plugin architecture to handle different data.
|
+The primary goal for bitweaver was to place the __fewest possible requirements__ on a package and provide the most flexible environment possible. |
|
-These feature sets are known as a bitweaverPackage. The primary goal for bitweaver was to place the __fewest possible requirements__ possible on a bitweaverPackage and provide the most flexible environment possible.
|
-
|
-This diagram uses a powertool metaphor to illustrate the functional inter-relationships of our packages:
|
+This diagram illustrates the functional inter-relationships of the core packages and optional features packages: |
|
{attachment id=125}
|
-
|
-There is a KernelPackage that provides a core set of functionality that provide global services (such as preferences, user authentication, themes, permission and such).
|
- |