October 2010 - Posts

As with most open source projects, S#arp Architecture relies on its user base to for support, ideas, bug fixes, etc. We've been very fortunate to have a passionate user base that really fosters a sense of sharing. In the past few months 3 community members in particular have stepped up to help out with code, answering questions on the group and on StackOverflow, and documentation. We have decided to offer these gents positions on the S# team.

Please join us in welcoming Geoffrey Smith, Seif Attar, and Dan Smith to the S# team.

 Geoffrey Smith

 Geoffrey offered to help out with documentation and UI. He will be joining the main S#arp Architecture team and lending a hand with the 2.0 rewrite. One of his first tasks will be to spice up the Northwind sample. If you have ideas of items you would like to see in a Kitchen sink type sample, let him know. Geoffrey is relatively new to the .NET / C# world, coming from a Java / Python background. He most recently used S#arp Architecture and Lucene.net to index and search a large document repository. As a guilty pleasure, he enjoys working with the Arduino-based ArduPilot to create fully autonomous drones.

Seif Attar

Seif will be joining us in the role of the S#arp Architecture Contrib project lead. He has been developing software for 8 years, mainly using C#. Being a Linux user and free software advocate, he was very happy to find out about the Alt.Net movement as he could finally combine his work with his sense of community. He has been using S#arp Architecture and learning from its community since early 2009. He is active on the mailing list as well as StackOverflow.

Dan Smith

Dan is joining us on the S#arp Architecture Contrib team. He is currently the lead programmer for a medical device sales and training company in Connecticut. He uses S# day to day at work along with techniques he has learned from the WCHM project using AutoMapper and MEF.

 

Both Seif and Dan will be involved with the 2.0 rewrite on the Contrib as well as the main project. We know the community will join us in welcoming them

Now that we have published our 2.0 road map, several people have asked us how are we going to get there. Simple, one step at a time.

One step at a time

We have previously blogged about Templify (here and here) being the way we are going to deliver a S#arp Architecture solution. That was step one for us, so you could say that we are already starting to deliver 2.0. Our next steps will be as follows (subject to change)

  1. Create an initial 2.0 release that includes (v1.7.X)
    1. Convert solution and projects to Visual Studio 2010
    2. Convert all projects to .NET 4.0
    3. Reorganize the solution structure for the solution template (moving to a Who Can Help Me based folder structure)
    4. Solution to use new MSBUILD based build system
    5. Package for Templify
    6. Document new Build process
    7. Add documents for Templify
  2. Create next release that includes (v1.8.X)
    1. LINQ Specifications
    2. Component composition
    3. Component registration
    4. Isolate NHibernate
  3. Create the next release (v1.8.5.X)
    1. Support for Castle 2.5
    2. Support for NH 3.0 (whether it is a GA release or not)
    3. Fluent NHiberate compiled against NH 3.0
    4. Support for MVC 3
    5. Change Validation (Data Annotations for UI, NHibernate.Validator for Model)
  4. Create the next release (v1.9.X)
    1. Convert Default Package to use Spark as its default view engine
    2. Add documentation (blogs and wiki) on how to properly setup the Spark environment
    3. Include the new Plugin architecture
    4. Add documentation (blogs and wiki) on the new Plugin architecture
    5. Support for NoRM / MongoDb
    6. Support for Azure
  5. Create the 2.0 release (v2.0.X)
    1. Final bug fixes
    2. Update all documentation
    3. Add samples via Blog posts
    4. Update Northwind
    5. Update Who Can Help Me
    6. Start creation of 3rd sample

All of this is subject to change based on the needs of the community / the team.

Conclusion

As you can see, we have an ambitious schedule a head of us. The team and I are really excited about what we have planned and cannot wait to share it with everyone. Some of it is very exciting, like the Plugin architecture and alternate data store support.

S#arp Architecture 1.6.5 will be the last stable release until 2.0 is released. The interim releases will all be listed as Alphas or Betas and should only be used in production if YOU are comfortable with it. If you are not or need to wait for a stable release, please wait for 2.0. For each release, we will also provide another Templify package. If you want the full source, you can download it from GitHub.

Last week Howard van Rooijen blogged about Templify. I am happy to announce that Templify is now the offical way to create a S#arp Architecture solution. Templify comes packaged with a S#arp Architecture package, so there is nothing you need to do, other than install Templify, to get it going. I'll leave the details on how to install and use Templify for Howard's post. This article assumes you have Templify installed already.

What about NuPack?

We've been asked several times about how Templify fits with NuPack and are we going to provide a package for NuPack delivery? Templify might appear to be similar to NuPack, but they solve different problems. NuPack is designed to managed assemblies at a project level. While it can work on a solution level, it really is meant for the project level. This might change in the future, but for now that is the way it goes. Templify is both a package creator and a package deployer. It can create a package from your existing project as well as deploy packages others provide you. With regards to creating a package for NuPack, this is something me might provide in the future, but it would be for updating assemblies, not the package. We've had our fill with Visual Studio templates and are really not keen on going back to their use.

 Getting started with Templify

 

  1. If you haven’t already done so, install the T4Toolbox from http://www.codeplex.com/t4toolbox. This enables Visual Studio with templating capabilities. (This is needed for the CRUD scaffolding generator.) Please note any incompatibilities noted within the section entitled "Installing and Configuring Prerequisites."
  2. Optionally install the T4 Editor Community Edition from http://www.t4editor.net/downloads.html which will add basic coloring to the templates from within Visual Studio. Or use the free version of Tangible T4 Editor from http://t4-editor.tangible-engineering.com/T4-Editor-Visual-T4-Editing.html. It works for Visual Studio 2008 and Visual Studio 2010.
  3. You’re now ready to create your S#arp Architecture project:
    1. Using Windows Explorer navigate to the directory you would like to create the solution folder in
    2. Right click the folder and click "Templify Here"


      This will bring up the Templify UI.


    3. Select the Template you would like to use, then enter the name of your solution.

    4. Click the "Deploy Template" button and wait until you see the "Package Sucessfully Deployed" message appear.


    5. Browse the new solution folder and you will see your new S#arp Architecture solution structure. Happy coding


 To read more about S#arp Architecture's template and code Generation, please go here: http://wiki.sharparchitecture.net/VSTemplatesAndCodeGen.ashx.

More Posts