Are there any example or resources or even framework which consists of Asp.net MVP + Sandcastle + TDD/Nunit + Fitnesse? - tdd

our dev team is currently using asp.net 2.0 and after a lot of browsing and cross site referencing i found that the new in thing is the asp.net MVC but found that there's a few things that it can't do such as support asp.net controls, view state.
i'm not sure what are the other limitation besides the total change of paradigm where each page will now link to the controller which will be linked to a certain view. so in order to make the learning curve to be less steep, i wanted to pick up on MVP first as i think by just being able to take out the application and domain layer out and make them testable is already a big help to our total process without being too much of a hassle.
after more browsing around, i find that the ndoc is a bit outdated now and is being replaced by sandcastle which has an additional add in call docproject so that should covers the auto generation of the documentation in the codes very well.
and to handle the acceptance test, i find this tool call fitnesse which is based on FIT which should helps.
so being totally new to all of this, i'm wondering if this is a good process overall to have this tool in to cover our team's development process. and if there's other sample/resources/framework out there which covers all of these steps and does a better job than trying to piece in the gap by using several tools, i.e. a framework?
basically my question is is my
overall process above well covered
by the tools that i've researched?
and is there a better way to do the
asp.net tdd + auto doc generation +
acceptance testing?
any advice/feedback is appreciated.
thanks!! :)

Yes, ASP.NET MVC with NUnit and FitNesse are reasonable choices for an 'agile' approach. Just not sure where auto-doc generation fits into this. Will anyone read this generated documentation or will they just look at the code? If you haven't read it yet, get Robert Martin's 'Clean Code' for some good tips on how to make code maintainable and understandable without lots of comments and generated documents.

Related

BDD Framework - Can't Remember Which One Had HTML Integration

I remember learning about a framework when BDD was first getting a lot of attention. This framework had the concept of using the rows or cells of an HTML table to document and run tests/features. So, I'm thinking there was an engine that would walk the cells/rows of the table "executing" each one, and perhaps recording the result. This could also serve as your report of the testing results.
Can someone point me in the right direction for what this framework was? or the ecosystem it came out of? I thought it was related to Ruby gems or concepts but I may be wrong on that.
I'm in interested in recycling some of the ideas that were used in that project / framework.

What are the benefits of using MVC 3 framework?

We have started a new Asp .net web project. We plan to do in in MVC. Is it a good practice to use Microsoft's MVC 3 tool or is it good to define our own structure? Web site requirements are normal. Some people suggest if we use microsoft tool we will loose our control in the project????? Any problems that we may face when we use micosoft MVC 3 tool (Razor)?
no really, there isn't any problem -present and future; if you have deep knowledge about issues such as OOP, ASP.NET structure and how it works, MVC architecture, etc. I suggest you strongly use and enjoy ASP.NET MVC 3 and Razor :D
If you are new to MVC then I would suggest go through basic (or advance dependending upon how much you know) MVC tutorials before deciding arch. Things can be done in various ways and it differs from project to project. Once you build your knowledge about things like DomainModel, serviceLocator, IoC, ViewModel, Helpers, repository pattern etc. you will have better idea about which tool to use. I would start looking at some of the sample projects on the codeplex. (would not be too hard to find)
Good luck
If I said yes, would you go ahead and use it? The same goes for building a house or working on any project. What has worked for me, might not work for you. I would start from reading learning resources on here. I would also suggest reading about HTTP protocol and its stateless nature as well as looking at differences between web forms and mvc frameworks. Good luck.

Whats the best way to describe what a framework is and the benefits of a framework over procedural code?

I am at a company that does not understand the concept of using frameworks and the benefits of them. I have tried to explain that it provides structure and organization but the people I am trying to explain to are still a little fuzzy about it. In your opinion, what is the best way to describe a framework in the most simplest terms and how it could overall benefit a company to transition their code from procedural and spaghetti code to a nice organized framework?
Thank you for your time.
I guess the best explanation I can think of for using a framework are to standardize your design process and save yourself a lot of effort as your code-base grows. Not to mention that a lot of work can be taken care of for you by the framework (which could save hours of coding). A framework can give you all the parts you need to build your application, you just have to assemble them.
The best reasons I can think of for using a framework are:
Code reuse -- If you try and follow the design of the framework you can save yourself a lot of coding time. However, some frameworks do require a time investment to master.
Encapsulation -- You can change the underlying implementation of different parts of the framework in a way that doesn't require a lot of code rewriting.
Extendability -- You can extend the code of the framework to add features you need and if you are careful about your design, you can reuse these features too.
I'm sure there are many other good reasons, but I'm sleepy.
EDIT: A good example of the benefits of a framework can be replacing the database adapter with another ie. switching from mysql to postgresql. This could be awful with functional programming but a framework could make this transition very easy.
Your coworkers most likely already use libraries, which one could define as code that exists outside of your project, and is meant to used in many projects.
A framework is like a library, but usually has other featues, such as
It might enforce changes to your code. For example, you wouldn't replace one method of your WebForms project with a call to the ASP.NET MVC framework - the entire project would be written differently to conform to the framework.
It might restrict the universe of applications that you can write. For example, you might be using a CRUD generating framework that lets you make data entry applications, but wouldn't let you make a video editing application.
However, a framework will usually give you a lot of value in return.
Let them do as they like ,first.
then pick up their shortcomings and
finally generalise your framework to avoid procedural code.
I'm going to concentrate on only a part of the question:
In your opinion, what is the best way to describe a framework in the most simplest terms
Framework == Library + Inversion of Control

what are the advantages of MVC3 over MVC2

i am currently learning MVC2. actually working on my first MVC2 project.As the MVC3 beta is launched and available to download. please suggest me should i use MVC3(Beta) or continue with MVC2 and second thing is, if i move to MVC3 then what major advantages i will get from it.
My project is an ERP application.
Please suggest me what should i do.
Thanks
I suggest you take a look at this blog post from Scott Gu :
http://weblogs.asp.net/scottgu/archive/2010/11/09/announcing-the-asp-net-mvc-3-release-candidate.aspx
To name some advantages, you can use the Razor View Engine, which depending on your requirements, it will make your view code nicer. I believe that's the case for an ERP System.
This is not 100% mvc3 related, but with the RC you get NuGet installed with it, if you're planning on using external libraries to help you out, that's a great way to manage them.
Partial Page output caching is a great feature for systems that share bits and pieces across different ui's.
Unobtrusive JavaScript and Validation is also another great new feature that will help you keep your code's maintainability among other benefits.
MVC3 also has some benefits from the dynamic aspects of .NET 4, and that also helps you keep your view code cleaner.
And my end point would be, MVC3 is already on RC stage....it already has Go Live license and support...if you're learning, I would suggest learning the latest, you will get all the knowledge you need to use mvc 1 and 2, and also the new things about mvc 3.
One factor is the release date of MVC 3 compared to the release date of your application, i.e. you should not ship an application based on a beta version of MVC.
If you switch to MVC 3 beta, you should be aware that there may be changes in the final release, so you may have to make changes for each version until the relase, and your application is only guaranteed to work with one specific pre-release version, until the final release of MVC 3.

ASP.NET MVC2 Rich Text Editor

basically, my question is pretty much similar and has been asked numerous times. Which WYSIWYG editor is better now that Telerik has released their MVC editor, would it be wise to purchase the entire suite instead?
Selections:
TinyMCE
CKEditor
Telerik MVC Editor
Disclaimer: As part of the Telerik MVC team (and one of the editor developers), my opinion is quite biased, yet I can shed some light on the differences between the editors.
All of them are open source
Despite Todd's answer, the Telerik MVC editor is open-source, under GPLv2 license (with a commercial license available). Our support is well known, so I guess this is where we stand out (though it is paid). On the other hand, both TinyMCE and CKEditor have huge communities, which may help quickly, too.
Different feature set
This has been the first release of the Telerik MVC editor, while CK and TinyMCE have been around the block for a very long time. We have mixed feelings about this -- while we are missing out on quite a few tools/features, we have invested a lot of time in polishing the existing ones (converting list items to headings, pasting from MS Word). Our bet is on cleaner, more robust code (4k LoC vs 14k LoC in TinyMCE without plug-ins).
It depends on your requirements
After all, with the Telerik suite, you get... well... a suite of components with common code and themes. So if you need the dedicated support and the other components and the limited feature set does not make a difference, Telerik would be a nice choice. If you need a full-scale editor and want to bet on more feature-complete products, TinyMCE and CKEditor are the wiser choice.
I hope this helps and does not contain much happy talk.
Some Background:
While there are some very good third-party components for ASP.NET I tend to stay away from them for the open source alternative. The reason goes back to an issue I has with a chart component a few years ago. It had a bug that the company would not fix in the current version and instead wanted us to purchase an upgrade while not guaranteeing that would fix the problem.
They did offer a demo that we could not use in production (which was the only place we were getting the problem) so the problem continued until the component was replaced.
My Answer
From My experience I would recommend going with the open source alternative. I have used CKEditor and TinyMCE with success in PHP projects. CKEditor can be styled nicely and TinyMCE has tons of documentation from the millions of people who use it daily.
The greatest benefit to open source is being able to change the code to meet your needs or fix a problem specific to your environment.
My last ASP.NET MVC app required all components to be open source for the same reason as mentioned above with the end result being more stable than the previous that included some purchased components.
Hope this helps.
Wordpress uses TinyMCE, so I am very familiar with using it (though getting it to look like wordpress is a little bit of an undertaking).
I have successfully implemented TinyMCE into 2 of my Asp.Net MVC websites with very little effort.
As with any, there is a ramp up time, but TinyMCE has never disappointed me.
We are using CKEditor_3.x in our MVC 2 app.
It works great.
On save:
Just 1 important note, in your CKEditor config file be sure to set:
config.htmlEncodeOutput = true;
Or you will get an error message.
Later on display
You will need to decode is like:
<%=HttpUtility.HtmlDecode(Html.TextAreaFor(model => model.Description).ToHtmlString())%>
Good luck!

Resources