Umbraco vs Orchard
There are a number of open source asp.net CMS around, such as n2 and mojoportal. Even our company build an opensource CMS, AdvGenCMS. That is still in beta status. We just started to rolling out for some customers to test. Thus, we are still using some opensource cms. There are two of them I like most, Umbraco and Orchard. I love Orchard a lot, it is using MVC, Fluent Hibernate and Autofac. Moreover, the admin interface has a lot of functions and you can drag and drop the widget. That is easy to use. The major problem used too many opensource libraries. I need the system to be simpler.
So, I come to the second choice, Umbraco. This is widely supported, a number of companies are using this.
Moreover, the admin interface is very simple, nice and clean, that is a out of box solution!
Team Foundation Server On Cloud
My company started to use Team Foundation Service, which is the Team Foundation Server On Cloud. That is free to use up to 5 Users for each project.
I found that is useful for us. That saves the administration effort to manage a Team Foundation Server in our Office and save the cost of hardware. All Server Load goes to Microsoft. In additional, we can always use the latest version of Team Foundation Server. We do not need to worry about upgrading the software and install the patches. Lastly, it has a nice interface for Agile Development. We can create the user stories and do the sprint planning. That is so great! I highly recommend this.
P.S. It support GIT. We started to use it for our PHP projects too.
WebGrid is great!
I used a lot of opensource grid control, such as PagedList.Mvc. They are great! But I found they are not working with Ajax very easily! But I found MVC3 has a default Grid control calls, WebGrid. It work perfectly with Ajax. You just need to say the gird name in "ajaxUpdateContainerId".
Code
var grid = new WebGrid(Model.result, defaultSort: "StudentId", rowsPerPage: 100, ajaxUpdateContainerId: "grid"); |
In the area you need to display the gird
Code
@grid.GetHtml() |
That is easy!!!
If you are using MVC3, you can save your time to look for third party control.
The installer is built in AdvGenCMS
Finally, we built an installation program for AdvGenCMS. Now, you only need to open the solution and publish the AdvCMS folder. Then you create the database and assign a user with db_owner role. Finally, please run the website and fill in the details.
Edit Connection String in code and save into web.config
I am building an installer for my CMS, AdvGenCMS. The first part is adding connection string and saves it into web.config. That is doable in C#. Just like the following code:
Code
Configuration config = WebConfigurationManager.OpenWebConfiguration("~"); | |
ConnectionStringsSection connectionStrSection = config.GetSection("connectionStrings") as ConnectionStringsSection; | |
string conntectStr = String.Format("data source={0};Initial Catalog={1};uid={2};password={3};Intergrated Security=SSPI",serverModel.ServerName,serverModel.DatabaseName,serverModel.UserName,serverModel.UserPassword); | |
if (connectionStrSection != null) | |
{ | |
if ( connectionStrSection.ConnectionStrings["AdvCMS.Data.Linq.Properties.Settings.AdvCMSConnectionString"] == null) | |
{ | |
ConnectionStringSettings setting = new ConnectionStringSettings(); | |
setting.Name = "AdvCMS.Data.Linq.Properties.Settings.AdvCMSConnectionString"; | |
connectionStrSection.ConnectionStrings.Add( | |
setting); | |
} | |
connectionStrSection.ConnectionStrings["AdvCMS.Data.Linq.Properties.Settings.AdvCMSConnectionString"].ConnectionString = conntectStr; | |
connectionStrSection.ConnectionStrings["AdvCMS.Data.Linq.Properties.Settings.AdvCMSConnectionString"].ProviderName = "System.Data.SqlClient"; | |
config.Save(); | |
} |
We can use WebConfigurationManager.OpenWebConfiguration("~") to get the whole configuration and then use config.GetSection("connectionStrings") to get the connection string section. Now, we can play around the connection string section freely.
