Project Specifications

Coordinator
Apr 8, 2008 at 11:52 PM
Edited Apr 9, 2008 at 2:42 AM
Collection of project-related questions that will need to be addressed:

  1. Should we dock from codeplex and house pre-development discussion on an external site? Mr. Fleck has generously registered MVCMS.Com / MVCMS.Net and has offered to host them on his dedicated server.
  2. What open source license will the project fall under?
  3. Should we follow a more traditional project style and assign a PM & architect? Who?
  4. How complex a CMS?
  5. What form of documentation?
  6. Internationalization

The following have been proposed and supported:
2. LGNU http://www.gnu.org/licenses/lgpl.html
5. SandCastle http://www.sandcastledocs.com
6. "All user visible strings should be from resource strings to aid in translating"
Apr 9, 2008 at 12:15 AM
Before committing ourselves to accepting the generous offer to host the discussion externally, it would a be a good idea to check accessibility from our locations (including office) Other than the uncertainty of access, I am for an independent hosting.
For licenses see http://www.gnu.org/licenses/licenses.html - I was a little surprised that codeplex gave a choice about licenses, The essential point as I see is that the licence should be sufficiently open for the project to be re-started by a new of developers if necessary.
Apr 9, 2008 at 12:34 AM
How complex a CMS? I favour the simplest CMS to ease understanding of the MVC.

Documentation: I favour use of XML documentation, Sandcastle and Sandcastle help builder.

Internationalisation: All user visible strings should be from resource strings to aid in translating.
Coordinator
Apr 9, 2008 at 12:57 AM
1. Should we dock from codeplex and move to mvcms.net
I agree with Tat, we need to ensure that the server is accessible but after using these forums for just a few posts, I certainly welcome the idea of having a more modern styled forum

2. Opensource License
After reviewing the different licenses - I agree with TATWORTH in that the LGNU http://www.gnu.org/licenses/lgpl.html seems to suit this project well.



4. Complexity of the CMS
A content management system is really about organization. I think that we should try to illustrate as many possible techniques as possible (custom views, advanced routing, and maybe even model frameworks) without putting together code that is so complex that it turns people away. This is a great opportunity to showoff Asp.Net as a whole as well the MVC though, so introducing topics such as Linq and maybe even Silverlight would be a good idea.

5. What form of documentation?
I've never used Sandcastle but I've certainly heard of it and would welcome the opportunity to use it.

Apr 9, 2008 at 1:03 AM
I can setup something on the server and you guys can see if it works for you. It is a dedicated server hosted in the layeredtech data center and has never had an issue. I can't say it won't , but they have always been good at support as well. I won't be able to open the server to anything more than CMS type stuff (I can't give you remote access to the box etc.) I can offer a forum package, whatever the group likes, a wiki etc. Just let me know what you like and I will set it up and you can see if it is accessable enough for you. If not, I will point the domain names to wherever the group likes.
Apr 9, 2008 at 1:31 AM
1. I'm happy enough with Codeplex, but don't really care as long as it's not Sourceforge

2. Public Domain; BSD; LGPL
A good post on licenses can be found at: http://www.codinghorror.com/blog/archives/000833.html
For me, the less restrictions, the better.

3. I would have thought an agile approach would work here.

5. Sandcastle sounds great - haven't used it since it was first shown to the public. Hopefully it's a bit more mature now.
Coordinator
Apr 9, 2008 at 1:41 AM

bradl wrote:
3. I would have thought an agile approach would work here.

Yea the agile approach does sound suiting but others may not agree..
Apr 9, 2008 at 6:46 AM
Regarding SourceForge - at some stage it would be advantageous to establish a presence there that merely points to the codeplex entry. I am happy with the project source being at Codeplex.
I can take care of Sandcastle, Sandcastle Help builder and generating the help file. All that is necessary is for each person working on the code to create the xml header and fill it in.
Once the data requirement is settled, I can set up a database, sample data and data layer. This can be installed on any developer's machine. It should be usable even with SQL2005 Express.
Apr 9, 2008 at 10:25 AM
1. Im all for moving to an external forum. These forums are a pain
2.
3. I am pro the PM approach
4. Complex enough to be usefull, simple enough to be understood by beginners
5.
6. resource files sound good
Coordinator
Apr 9, 2008 at 6:21 PM
Edited Apr 9, 2008 at 6:23 PM

Regarding SourceForge - at some stage it would be advantageous to establish a presence there that merely points to the codeplex entry. I am happy with the project source being at Codeplex.

I went ahead and submitted an application over there, should take 1-3 business days to get setup.


TATWORTH wrote:
Once the data requirement is settled, I can set up a database, sample data and data layer. This can be installed on any developer's machine. It should be usable even with SQL2005 Express.

Radic, the owner of reliablesite.net (asp.net hosting company) has offered to host our project on his servers and has even proposed creating a special coupon for it ("MVCMS") which will give people 15% off of their monthly hosting bill). I think this may be something we may want to exploit because it would allow us to have a centralized domain that we could test upon and once the project is ready for the public, it will be a lot easier to showcase the application.
Apr 9, 2008 at 8:28 PM


ChanceUSC wrote:

Regarding SourceForge - at some stage it would be advantageous to establish a presence there that merely points to the codeplex entry. I am happy with the project source being at Codeplex.
{quote}
I went ahead and submitted an application over there, should take 1-3 business days to get setup.


TATWORTH wrote:
Once the data requirement is settled, I can set up a database, sample data and data layer. This can be installed on any developer's machine. It should be usable even with SQL2005 Express.

Radic, the owner of reliablesite.net (asp.net hosting company) has offered to host our project on his servers and has even proposed creating a special coupon for it ("MVCMS") which will give people 15% off of their monthly hosting bill). I think this may be something we may want to exploit because it would allow us to have a centralized domain that we could test upon and once the project is ready for the public, it will be a lot easier to showcase the application.
{quote} Sounds great. Once we get that setup I can point traffic, just let me know. Thanks for doing all the leg work.
Coordinator
Apr 9, 2008 at 9:13 PM
Edited Apr 9, 2008 at 9:14 PM

mrfleck wrote:


ChanceUSC wrote:

Regarding SourceForge - at some stage it would be advantageous to establish a presence there that merely points to the codeplex entry. I am happy with the project source being at Codeplex.

I went ahead and submitted an application over there, should take 1-3 business days to get setup.


TATWORTH wrote:
Once the data requirement is settled, I can set up a database, sample data and data layer. This can be installed on any developer's machine. It should be usable even with SQL2005 Express.


Radic, the owner of reliablesite.net (asp.net hosting company) has offered to host our project on his servers and has even proposed creating a special coupon for it ("MVCMS") which will give people 15% off of their monthly hosting bill). I think this may be something we may want to exploit because it would allow us to have a centralized domain that we could test upon and once the project is ready for the public, it will be a lot easier to showcase the application.

Sounds great. Once we get that setup I can point traffic, just let me know. Thanks for doing all the leg work.

{quote}

No problem at all Mike. You and your company were extremely generous to offer up a portion of your dedicated server but its quite understandable that you are limited in what you can use on the server & more importantly - if our bandwidth usage spikes on release, I don't think it would be fair for you to have to answer for the that.
Apr 9, 2008 at 9:33 PM
This will be the best of both worlds. Fyi, I redirected traffic to the codeplex site until hosting is ready and we have a chance to figure out what we will put there.
Coordinator
Apr 10, 2008 at 2:19 AM
I'm happy w/ most of the agreement here. Regarding complexity / simplicity, here's my thoughts, though.

One feature of the MVC framework is that it's pluggable at all layers. Swap view engines, change your controller factory, whatever, just roll with it. That said, I've seen some of the starter kits that try to do too much. So, my vote is to start simple, with a fairly mundane deployment; call it build one. Then we start adding to it from there. Agreed w/ whoever said we should go AP; so in that vein, we build it and then refactor it to add the desired level of complexity / features.
Coordinator
Apr 10, 2008 at 2:41 AM
Edited Apr 10, 2008 at 4:07 AM

pvencill wrote:
I'm happy w/ most of the agreement here. Regarding complexity / simplicity, here's my thoughts, though.

One feature of the MVC framework is that it's pluggable at all layers. Swap view engines, change your controller factory, whatever, just roll with it. That said, I've seen some of the starter kits that try to do too much. So, my vote is to start simple, with a fairly mundane deployment; call it build one. Then we start adding to it from there. Agreed w/ whoever said we should go AP; so in that vein, we build it and then refactor it to add the desired level of complexity / features.


I agree completely that we should start off simple and expand as we move forward (especially considering how we are building on top of a preview where half of what we code may be invalid in a few months) but at the same time, I think its a good idea to have at least some idea of where we are going and how we should get there. What I've always disliked about most open-source projects is they seem to be pulled in 10 different directions.

I am the farthest from someone that likes to do documentation but at the same time, I've burnt myself on more than one occasion by starting an application without knowing where exactly I was going. When you factor in a group of people that don't know each others strengths, weaknesses, or even coding practices you could end up with a project that gets out of hand quickly.

I'm not trying to force my practices onto anyone here, I simply am voicing my opinions.
Apr 10, 2008 at 8:41 AM
I like the idea of a simple start - how about this structure
1) Database with no user validation (data added by script) containing simplest CMS tables plus stored procedures
2) Common functions project
3) Data layer project
4) Business layer project if required
5) Presenter project
6) ASP.NET site with no AJAX, Silverlight
7) Variuous NUnit and NUnitAsp projects to test the above

With that as a working model we can add
A) User/Contributor validation followed by direct data entry
B) Add eighth and ninth projects for AJAX.NET and Silverlight to demonstrate that MVC allows this flexibility


Coordinator
Apr 10, 2008 at 1:38 PM
I think I follow you pretty well; some comments / thoughts below:

1) ok
2) Utils is almost always a must. ;). Call it Mvcms.Utils
3) Fine; do you mean here data access layer only, or are we talking a domain model? i.e. Mvcms.Data or Mvcms.Models(?)
4) This one I can see; not sure yet what it'll look like yet
5) Not sure what you mean here, unless this is where you'd group custom view engines
6) This would be the actual MVC framework project; based on what I've seen, all the controller implementations and view implementations have to go here if we're following their design.
7) Sure.
8) Do we want a separate project for Filters? They're MVC Framework specific, but I would want them portable in their own dll for reuse

I'm cool w/ A and B as-is.

Apr 10, 2008 at 8:21 PM
and

C) Add more types of CMS structure
D) Make the user/contributor authentication switchable in web .config between inbuilt user/password, windows account or maybe even the ASPNETDB database!
Apr 10, 2008 at 9:13 PM

in the initial iterations consider only those features that would allow us to cut our teeth on using MVC in a serious large application. something presumably none of us have done before. As always there will be surprises around every corner. but at least try to get the data model right. When writing code make sure that we state the obvious. so that if the way to do things change in later versions and the original developer is not around and we have a new developer who is not familiar with the previous versions of mvc, the new developer can read the comment and correct the code. this practice will have to continue till mvc library reaches RC status.
we should not distract ourselves with other technologies and libraries like javascript libraries or wcf. try to stay focussed on showcasing MVC. this way developers who wants to understand real-life large scale MVC usage can directly pick up their stuff.
how about making the CSS and Javascript customisable. As part of the CMS setup, we can have the user choose if they want to use prototype-windows, script.aculo.us, yui, jquery, jsext or whatever can choose that. we can have people who are working on those individual libraries to come over and help us add support for them. it would possibly affect only the view level. as far as css is concerned, i would suggest that we use the reset-font-grids.css from yui before we add our own css.
we may still want to do things like template languages and ability to write plugins. but even this should be in later sessions.
I also suggest we do some ui prototyping.
Apr 10, 2008 at 9:34 PM
Just as long as we remember version 1 should be KISS