Wiab2Xiab


Table of Contents

1. problem description
2. requirements to be flexible
3. what is a modules
4. defined modules
5. Implementation environement
6. WIAB current situation
7. XIAB possible Module
8. IIAB test case

List of Tables

4.1. defined modules

We have customers that want web-sites with mmbase/wiab like functionality but with

We want to make you customers happy and are searching for a way to produce implementations. requirements:

  • We want to produce implementation in a simple way(for us)

  • We want to be able to provide support and updates on implementations in a generic way

  • We want to be able to customize parts of an implementation Like desing of object model

What is an implementation? (it the implemetation still configurable)

To be flexible we need to be able to replace/enhance parts of a generic application. This can be achived by creating modules and by creating a small core that holds the modules together.

One problem that occurs when using modules is solving dependencies. one possible solution is to create interfaces this can be done if we define a set of "required" modules/functionalitie.

A module has the flowing properties

for xiab we can say a module may contain:
  • Logic in the form of java class files

  • Ojbect Model (builders and relations)

  • dependencies

    • at object model level

    • at module level

  • templates (XMLTemplate JSPTemplate etc..) (with configuration)

    • front end

      • jsp template

      • wap template

    • template for use externaly (by ohter modules)

      • edit wizards

      • special templates

    • setup template to help install the module

  • configuration

Table 4.1. defined modules

module namemodule desctemplatesprovied servicesrequired services
MMCoreRoot system DNS,Storage 
Versioningprovide multiple versions of one node  Storage
Publishingpublishes nodes to other clouds   
Workflowguide te user in te process of creating content  Storage
Securityprevents unauthozied actions   
Contentprovides a way to get content items displayed/manages content items   
EditWizardprovides a way to edit parts of object models   

To be able to use different modules and exchange or replace them we need an environement where:

It is possible to write a core that "accepts" modules but it also is possible to use external programs to create implementations

This figure shows how the modules currently work together. What's wrong?
  • jsp' (that belong to one module directely call ohter modules)

  • some jsp's directely make calls to the Object Model

  • some modules use other modules directely making it imposible to remove/chagne a module

Based on the previous definition of a module a possible object model for a module might be:

We want to develop IIAB and WIAB together as a "pilot" of XIAB