What db structure fits for site builder - asp.net-mvc

I need to build web application that will do:
build web pages.
build template for page.
add module(by module I mean ContacUs form, Search, Billing System...). Each module can be constructed by submodules or diveded to submodules
build module(add form, textbox, button...) and that all entered data by user could be saved in db
Can you advise me a DB structure that will contain it all
I looked some cms db, but it's NOT this.
Please, don't ask why I mess with it. I just need to build it.

I suggest you DotnetNuke.
DotNetNuke is the leading Web Content Management Platform for Microsoft ASP.NET, powering over 600,000 production web sites worldwide. The flexible DotNetNuke platform functions as either a Web CMS or a web application development framework. Depending on your role within your organization, DotNetNuke provides powerful benefits to support your Web initiatives.
http://www.dotnetnuke.com/tabid/125/Default.aspx

Related

Should I Separate Visual Studio Projects for MVC REST APIs and Razor Pages?

I have a Razor Pages project to serve up some web pages. I will also need a backend to support a REST API that may be called from multiple environments (aforementioned razor pages, desktop apps, iPhone apps, Android apps, etc.). I could add MVC Controllers to the Razor Pages project, or I could add a separate MVC project to the solution. Which is preferable from a software design perspective?
Obviously, if I wanted to host my API separately from my web pages, then that would infer separate projects. However, in my case this is not a requirement. Additionally, having separate projects that both need to launch on startup complicates things due to the restraints of CORS (Cross Origin Request Sharing) as well as the need to add authentication to two places.

Add command-line UI to existing asp.net MVC web app Visual Studio project

Please let me know if this question has already been answered elsewhere. I wasn't able to find it, but I have a hard time believing it's not out there already.
I have an intranet web app project in Visual Studio 2012 written in C#, using asp.net and MVC. I'd like to add a command-line UI, so users have a choice whether to go through the browser or just hit the app directly from their shell. The web app merely allows a pretty way to upload a file/folder and display the output, so writing a command-line UI is trivial.
What's the best way to add a second UI to my existing project?
First, make sure that your main MVC project is divided into layers that separate the UI from the implementation code. This means that code that can be shared by the MVC application and by whatever project you use to publish the EndPoints for your command-line tool.
Then, create a new project that exposes the methods you want to access using the command-line tool. The easiest way to do this is using the newest Web API, which will be very easy to comprehend if you've used MVC controllers in the past.
Then, you need to create the command line tool.
This project can be written in another solution since it will only be
used to consume the API endpoints.
You need to create a mini-parser so users can pass arguments to function calls. Some reference articles here and here
You need to give feedback to the user when he/she calls yourprocess.exe -? or yourprocess.exe -help so they know which
commands are available
And most importantly, you need to find a way to authenticate calls to the server. You can either do basic authentication or make use of
a SSL Certificate. Here are some additional resources:
Web API Authentication best practice
RESTFul Authentication with WebAPI
User Authentication in ASP.NET Web API
http://www.asp.net/web-api/overview/security/working-with-ssl-in-web-api

Configuration Setup for Asp.net mvc 3 application

i have an asp.net mvc 3 application that i want to deploy but i want to somehow automate the deployment process of the application. For example if i upload code to http://www.domain.com. when site is run for the first time it should check if database is setup if not it should run the sql server scripts from the scripts folder to user's specified server for his specified database. Then there are some settings that it should accept from the user and store in web.config like smtp, Official Email, phone etc. These are settings that are required only once in the lifetime of the application. Then there are settings that application should prompt at the end of the financial year.
what is best way (even a way would be highly appreciable) of doing this kind of stuff in asp.net mvc.
Rather than outlining the whole process here, I will instruct you to check the Orchard setup, it does something similar, you might want to check out how they do it:
http://orchardproject.net/

Windows Azure & ASP.NET MVC site deployed on it?

is it possible to deploy asp.net MVC site on windows AZURE platform? I understand we can deploy a WCF service, but what about full site? Will it work? Will it scale (i.e. load balance)?
We're having a project to develop - a donation site, which will be advertised a lot and will receive a lot of traffic. I do want to try AZURE, but is it possible for AZURE to run the full asp.net mvc site?
Yes - you just need to make sure that MVC dlls are copied to bin folder and MVC project is added as a web role.
Here's a tutorial.
Also take a look here:
MVCCloudService
PS. Remember about Azure prices.
As others mentioned, MVC2 sites are totally OK for Azure. Your second question: will it scale (auto-balance) needs more explanation:
If you have more then one compute instance (VM) allocated to your application, MVC2 site will auto-balance provided you haven't made any mistakes with keeping session-information inside the URLs.
However, if you want to automatically adjust the number of compute instances per load on the site, you will either have to write the scaling logic yourself (check this site to get started http://convective.wordpress.com/2010/10/12/autoscaling-in-windows-azure/ ) or use a third-party scaling engine like # http://www.paraleap.com/
HTH

Asp.net MVC/Silverlight and Sharepoint 2010 integration

Just a sidenote: I'm not sure whether I should post this to serverfault as well, because some MOSS admin may have some info for me as well?
Additional note 1: I've found this document (Asp.net MVC 2 & Sharepoint integration) if anybody with sufficient expirience is willing to comment on its content whether this can be used in my described scenario or not.
Additional note 2: I've discovered (later) that Silverlight is supported in Sharepoint 2010 so I'm considering it as well. So if anyone would comment on silverlight integration as well.
A bit of explanation first (without Asp.net MVC/Silverlight)
Is it possible to integrate the two? Is it possible to write an application that would share at least credential information with MOSS?
I have to write a MOSS application that has to do with these technologies:
MOSS 2010
Personal client certificates authentication (most probably on USB keys)
Active Directory Federation Services
Separate SQL DB that would serve application specific data (separate as not being part of MOSS DB)
How should it work?
Users should authenticate using personal certificates into MOSS 2010
There would be a certain part of MOSS that would be related to my custom application
This application should only authorize certain users via AD FS - I guess these users should have a certain security claim attached to them
This application should manage users (that have access to this app) with additional (app specific) security claims related to this application (as additional application level authorization rights for individual application parts)
This application should use custom SQL 2008 DB heavily with its own data
This application should have the possibility to integrate with external systems as well (Exchange for instance to inject calendar entries, ERP systems etc)
This application should be able to export its data (from its DB) to files. I don't know if it's possible, but it would be nice if the app could add these files to MOSS and attach authorization info to them so only users with sufficient rights would be able to view/open these files.
Why Asp.net MVC/Silverlight then?
I'm very well versed in Asp.net MVC (also with the latest version) and I haven't done anything on Sharepoint since version 2003 (which doesn't do me no good or prepare me for the latest version in any way shape or form). This project will most probably be a death march project so I would rather write my application as a UI rich Asp.net MVC application and somehow integrate it into MOSS. But not only via a link, because I would like to at least share credentials, so users wouldn't need to re-login when accessing my app. Using Asp.net MVC I would at least have the possibility to finish on time or be less death marching. Is this at all possible?
I haven't done any serious project using SIlverlight, but I will sooner or later have to. So I'm also considering a jump into it at this moment, because it still might make this application development easier than strict Sharepoint 2010.
Questions
Is it possible to integrate Asp.net MVC/Silverlight into MOSS as described above?
If integration is not possible, would it be possible to create a completely MOSS based application that would work as described?
Which parts of MOSS 2010 should I use to accomplish what I need?
The Patterns and Practices Sharepoint Guidance release on CodePlex has a model-view-presenter equivalent to MVC but targeted at SharePoint development.

Resources