Friday
Feb062009
Status of Lokad Shared Libraries and Roadmap
Lokad Shared Libraries project is an open-source attempt to build a simple and reusable set of libraries for delivering .NET solutions efficiently.
Logically, Lokad Shared Libraries represent open source implementation of xLim version 3.
Status
There is a long way to go ahead, yet here's the status of some logical pieces:
- Action Policies and Exception Handling - implementation within Lokad.Shared.dll, stable and documented.
- Validation and Business Rules - implementation within Lokad.Shared.dll, 80% stable and documented.
- Diagnostics, performance counters and monitoring - implementation within Lokad.Shared.dll, 80% stable.
- Logging - interfaces in Lokad.Shared.dll, integration with log4net in Lokad.Stack.dll.
- Inversion of Control - interfaces in Lokad.Shared.dll, integration with Autofac IoC Container in Lokad.Stack.dll.
- Persistence - currently absent.
- Composite UI - just started within Lokad.Client.dll (currently only Windows.Forms implementation is being done)
- Code Quality and Design Rules - Enforce rules within Lokad.Shared.dll and just started within Lokad.Quality.dll on top of Mono.Cecil.
- Non-deterministic reproducible testing (like Pex but a different and more simple approach) - stable, classes in Lokad.Shared.dll, undocumented.
- Solution structure, build and integration scripts and patterns - implemented in Lokad Shared Libraries, undocumented.
Roadmap
Roadmap for Q1 2009 happens to include:
- documenting pieces, development concepts and approaches that are already implemented in Lokad Shared Libraries and have proven to be efficient in production;
- working on incomplete things as they are implemented in other Open Source Lokad projects. Lightweight UI composition being the primary focus for now;
- fixing any bugs or usability issues, as found by developers using the project.
Bug fixes and patches
Here are general rules of the thumb:
- If an issue is found in the code, then it is fixed as soon as possible to make Lokad codebases more stable. Side effect of the release process is that the latest production version gets published and available for public download.
- New functionality is being added to the libraries, only if it is found to be helpful in two or more different production solutions (additional prototyping phase is usually done also).
Now, this has two effects:
- Patches with issue fixes are gladly accepted and promptly applied to the codebase (especially when they are followed with a unit test that demonstrates a failure).
- Patches with new helper classes, development concepts and ideas are reviewed and added to Lokad Contrib project (I'll publish this one soon). It will serve as an incubator for the code. When the pieces are found to be used in multiple production projects and there is a clear and simple pattern (as determined by the community), then these pieces will be moved to Lokad Shared Libraries.
Credits
Here are the people that should be credited for feedback, concepts, ideas and help:
- Colin Jack
- Geoff Taylor
- Tobin Harris
- Jeremy Gray
- CVertex
Comments Off
Friday, February 6, 2009 at 23:38