| Version 14 (modified by pferreir, 3 years ago) (diff) |
|---|
InTRePId 5
Title: New Namespace
Author: Pedro Ferreira
Date: 09 Feb 2010
Target version: 0.98
Status: draft
Objectives
- To migrate from an existing MaKaC package to a brand-new indico one;
- To reorganize once and for all the namespace;
- Better isolating some modules, so that they can be unit tested;
- Enforcing Python good practices;
Status quo
- Indico is aging, no major refactoring effort done;
- Performance is a priority, and some architectural changes will be required;
- Naming of modules and package structure is out of date and degraded (MaKaC, no isolation between modules, etc...);
- Some plugins (RoomBooking?, epayment) are not actually plugins;
- Unification between the "classical" interface and the new ajax-capable services is required;
Description
- indico
- core - core objects and functions - should be testable without db access;
- schema - database objects
- base - basic, general objects (Avatar, etc...)
- event - event-related stuff (Conference, Session, Contribution, etc...
- resource - material/resource and data storage classes (LocalFile?, etc...)
- index - contains IndexManager, and other index classes
- schema - database objects
- util - utility functions
- time - time, timezone, etc...
- db
- access - database access
- web
- util - web interface utils
- html - html escaping, sanitization, etc...
- interface
- common - shared among interfaces (i.e. protection)
- form - current WP + RH (part of it)
- jsonrpc - current JSONRPC services
- export - data export services - common query interface, type conversion at the end (?) - further study required
- ical - iCal interface
- rss - RSS interface
- atom
- json
- xml
- tpl - template files
- util - web interface utils
- ext - base namespace for extensions (plugins)
- base- base classes for plugins
- core - core objects and functions - should be testable without db access;
Further improvements
- Plugins should be isolated as individual packages (EGGs, RPMs, etc...) instead of being moved to the source tree;
Comments
