the best-practices gathering 'Web-Application Framework'. (RC)
ASP.NET MVC (preview 5), NHibernate 2.0.
part I: http://www.codeproject.com/KB/applications/Catharsis.aspx
- New solution
part II: http://www.codeproject.com/KB/applications/Catharsis_part2.aspx
- Home page observation
part III: http://www.codeproject.com/KB/applications/Catharsis_part3.aspx
- Roles and users
part IV: http://www.codeproject.com/KB/applications/Catharsis_part4.aspx
- Localization, translation
part V: http://www.codeproject.com/KB/applications/Catharsis_part5.aspx
- Enter into Catharsis, new Entity
part VI: http://www.codeproject.com/KB/applications/Catharsis_part6.aspx
- Framework Architecture
part XIV: http://www.codeproject.com/KB/applications/Catharsis_part14.aspx
- Dependency Injection (DI, IoC)
Needed Prerequisites !!!
Guidance Automation Toolkit
ASP.NET MVC installed
- role providers (and role, user management using Catharsis application UI)
- every 'built-in\admin' is also Application 'admin' -> firstly should add his user account (using app Catharsis UI) and append roles
- every user can select one 'Current role' which is evaluated against access rules!!! Content is (Current)Role dependent and mixed through all user roles!
- localization (in runtime add or remove languages and translations - everything is stored in db - no .resx files with horrible distribution to translator)
- user can switch UI language using keyboard setting in a browser or selecting (clicking) on a supplied languages list
- UI design know fully corresponds to the sense of Catharsis
- for tracked objects there is design pattern PAX applied (it's my pattern, and I will soon provide some description...)
In a nut shell:
There are three different conditions in Tracked object lifetime
Parental condition = no tracking, raw update and delete (possible condition change = MakeAlive)
Alive condition = any change is tracked (possible condition change = MakeExpired)
eXpired = no changes are possible (last unchangeable condition)
- you can use SQL scripts, or DB backup with a few translations (English and Czech)
(SQL Server backup included)
What will folow next:
1) Next steps, Improve framework and guidance: Items templates, snippets and finally Catharsis Solution generator (with your namespace: Firm.Product....)
2) Documentation. Better then complete description I will prepare Guidance-Tutorial steb-by-step.
It will uncover how to create solution, how every layer works and how to add new entity - untracked and tracked
And please, any recommendations or notes are welcome !!!