Changes

1,570 bytes added ,  06:56, 20 September 2008
New page: == Shell refactoring == === People === Owner: Marco Pesenti Gritti Peers * Simon Schampijer * Hemant Goyal === TODO === * Every major UI component like the frame the home view and the...
== Shell refactoring ==

=== People ===

Owner: Marco Pesenti Gritti

Peers
* Simon Schampijer
* Hemant Goyal

=== TODO ===

* Every major UI component like the frame the home view and the control panel, should reside in his own model and be self contained. We will need a way to share a bit of code between modules likely. '''(marco)'''
* Cleanup window management. The requirements changed a lot since the code was written and we didn't do enough refactoring. The UI design is now pretty solid. We should document our window management strategy and then refactor the code to simplify and make it more solid. '''(marco)'''
* Refactor session management, it's scattered around several components right now. '''(marco)'''
* Use gconf as a backend to store the profile. '''(erikos)'''

== Ideas ==

* Remove unnecessary abstraction layers. They makes the code harder to debug and affect performance.
* De-gobjectify. For code which is independent from the GNOME platform we should really use plain python objects. One layer less to care about for new comers, avoid the memory leaks associated to cycle reference and signals in pygobject, less bloat. Do we have a substitute for signals? Perhaps we are using them too heavily anyway?
* Extensibility
** http://trac.edgewall.org/wiki/TracPlugins
** http://www.djangoproject.com/documentation/forms/
** http://twistedmatrix.com/projects/core/documentation/howto/plugin.html
** http://twistedmatrix.com/projects/core/documentation/howto/choosing-reactor.html

== Status ==

* Modularization is being figured out and discussed.
607

edits