Source Code Release

Topics: Roadmap, Source Code Control
Coordinator
Mar 8, 2012 at 9:30 PM
  • I finally have a good build that I feel I can move forward with...  It is definately rough around the edges but I do feel I have the major components in place to allow me to build upon.  As in the past I was constantly building and then starting over and starting over and on and on...
  • But I think I am to a point where I can build on the foundation I checked in...
  • Included in build is a three teired aproach...
  • Server --> Domain --> Client
    • The Server will house the DAL consisting of the Entities and their corresponding WCF Data Services...
    • XERP is build upon creating many entities.  Eech entity will contain just the tables it requires to meet the client functionality...
    • In this manner we never have to deal with one massive entity and get lost in 100's of joins and urelated tables we can just concentrate on a given module and pull in the data tables that are required to drive it resulting in a very manageable entity very specific and targeted for a given piece of ERP functionality...
  • Domain is client side and will encompass a Service Reference that will refererence the corresponding Server Side DAL Project...
    • It will have a service class that will comunicate CRUD for the corresponding WCF Data Service...
    • As well in instances where object tracking is required a singleton class repository will exist for tracking client side changes as to control server side trips to the db and allow for batch CRUD when apropriate...
  • Client will be of the ViewModel -- Model Pattern...
    • leveraging the Simple MVVM Toolkit to maintain best practics of MVVM pattern...
    • We will have one project per Maintenance and or functional form...
    • Each UI will hook with a Domain Service class to allow for CRUD functionality to the targeted Server DAL Entity/WCF Data Service
    • Default Client will be WPF but having the Domain in seperate layer will allow us to build SilverLight or HTML5 views as well...
      • should be able to copy the WPF's ViewModel and it will consume the same domain...
      • copy the WPF XAML and tweak it accordingly for SilverLight...
      • Of course HTML5 would require some addtional work as you would probably want to leverage knockout js and would have to rewrited the model in knockout js...
  • Server Config and Client Config are done via custom XML to allow for a single maintenance for SQL connection string and URL endpoint management...
  • The Log In Projects AppConfig file will point to the Client Config XML location and a webconfig file server side will point to the Server Config XML file...
  • The Server Config and Client Config XML files will be the single point of configuration for all server and client project perspectively...
  • Allowing you to change the SQL Server location in one place and it will feed to all the server DAL projects...
  • As with the Client URL end point to consume the WCF Data services it can be done in the Client config XML file that will allow you to change it one place...
  • At this point I am concentrating on the core functionalities...
    • Log In will set Session
    • Session will be a singleton Session class allowing it to be instanciation only once and live throughout the live cycle of the application instance...
    • Main Menu
      • NestedMenu Technology allowing for nth level menu nesting...
      • Menu Mainteance Program to manage menu creation...
    • Menu Security Maintenance
      • Allow System Users to be assigned MenuItems...
    • System User Management
      • Screen to add and set users up in the system to allow them to login...
  • Currently the screens are very vanilla as I concentrate on core functionality I have not had the time to pretty up the screens...
  • At some point before adding Modules I think the work should be captured as to allow any one trying to do Customer ERP or any system developement that would require Custom Log In and Menu Maintenance
  • They could use the base development as a good root to build their system...