About OnCentral
OnCentral was built to provide developers a central location they could consume content specifically targeted toward a particular technology. The hope is that over time the OnCentral network of Portal sites will become the first place developers come when they wants the latest news about a particular technology, or get solutions from experts who provide content to the rest of us.
The number of Portal sites in the network will grow over time, and as they grow, they will target a specific technology. This will help developers looking for answers. They will now know where to go first.
For a complete list of the Portal sites, click on the Portals link in the top navigation of any of the Portal sites.
OnCentral was created based on onen of those "Ah hah!" moments.
I had built MVC Central, which was a stand-alone web site that provided content specifically toward the Model View Controller (MVC) technologies. There were Articles, Videos and Kits providing content on MVC.
It proved to be a popular site with developers looking for solutions to questions they had about the technology.
Then came the
"Ah Hah!" moment
Then I was building an application for a client and having a problem with a particular exception and I wished there was a site like MVC Central that was just for Exceptions. Then the light went off in my head, and I thought, "Why don't I build the site?" So the process began to re-build and re-factor MVC Central.
I refactored the database schema and realized that I can streamline the schema to work for any story and any Portal topic, such as MVC, Exceptions, CSS, Linq, etc. In addition, I completely had to re-think how this would all work so it can grow dynamically. I wanted to be able to add a portal to the network with little effort, so I went to my whiteboard and started drawing.
After many iterations with the network design, I came to the conclusion that the network will operate with three (3) primary code-bases.
- Dashboard - this is the single web site application where the members will go to author content. They will be able to drill down by choosing which Portal they want to provide content for, then choose the Story Type (such as Kit, Video, Article, etc) and then manage their stories.
- Admin site - this is a site specifically for me, the grand poo-bah, the head honcho, the big cheese, the... well you get the idea. This is a site that I use to manage and approve stories and add new Portals, and any other network related management.
- Portal Sites - these are any number of sites based on a technology, such as MVC Central, Design Patterns Central, Linq Central, etc. Each site would simply be a clone of a single code-base. The CSS can easily be snapped into the new Portal and the slight adjustment to the appSettings and the site is live.
With this thought process in place, I had to now realize this brain storm. This would obviously be easier said than done, but my initial inspired thought was actually taking shape and working. I did have to re-think some things as I went along, but most of this was working.
Months were going by and while things were mostly working, there were obstacles that were constantly getting in the way, many on the personal level. But after many months the sites are live and accepting content.
I hope you will help out by authoring stories.
Thanks for listening,
King Wilder
Owner, OnCentral
Opportunities
I'm looking for skilled and qualified people to help administrate the Portals. It would be preferrable if you are very skilled in that technology and you want to dedicate some time each day in reviewing and approving new stories.
If you are interested, contact me. I need people who are smarter than me (which really isn't hard) and has a good understanding of the technology you are interested in.
Technologies Used
- ASP.NET MVC 3
- Windows Server 2008 R2
- SQL Server 2008
- Entity Framework 4.0
- jQuery
- Telerik Extensions for ASP.NET MVC
- ASPX and Razor Views
- NuGet Packages
- AutoMapper
- T4MVC
- Ninject.Mvc3
- Elmah
- MvcMailer
- MvcInstaller
- MvcSiteMapProvider
- jQuery.RateIt