Development of a CMS system based on ASP.NET technology

#Custom software development #.NET #.NET Core

SHARE

Many website users believe that an individual who can develop a website must be a trained specialist. But that isn't necessarily true. Let's take an example such as a simple computer program. Originally designed by programmers, this computer program is intended for ordinary users looking for help in their work. These programs are designed primarily to simplify the work of ordinary users who are already familiar with computer systems. Internet technologies are not an exception in this regard.
 
It has been a long time since the first websites created with the HTML language appeared on the Internet. Now is the time for programs that make creating websites a lot easier for normal people who are just using a computer system.

A CMS (Content Management System) is a set of programs designed specifically for site management of content.

A content management system (CMS) enables even non-programmers to create and manage websites of any complexity. A visual editor built into the content management system enables users to create interactive pages that can be instantly edited by using the text editor built into the site. In addition to that, the CMS features many more advanced features, such as user management, article and news publishing, forums, blogs, online shopping, bulletin board galleries and so on.

Most CMS have a lot of functions that are not always used. To create a small site, portfolio site, or photo gallery, you don’t need a powerful CMS with a ton of features. In such cases it is best to use a CMS on files without a database. Such systems load the server much less and present fewer problems when moving a site to hosting because no need to address issues with the database, encoding and others.

Development of a CMS system

When creating a CMS, it is important to realize that it will likely be used by people who do not have experience working with Web sites. It is also necessary to keep the system secure. In order to do this, we will find out where the system is vulnerable, and create some protection measures available to a very narrow circle of users.

As we learned earlier, a content management system is a program designed to work on the Internet or as a web application. The term surfing the Internet refers to running a CMS on a hosting provided by a service provider. Hosting offers a preinstalled version of the operating system and other software on a remote web server.

The server software helps the server administrator organize client sites and the more complex user organize visual tools for working with the site. The web server is a computer designed to run service software on, as well as by utilizing the HTTP protocol to interact with browsers: it receives http requests from browsers and gives them html pages , images, files, media streams or other data.

For Windows systems, ASP.NET is the primary web-application and web-service development tool in use today. Ever since IIS version 6.0, ASP.NET support has been included.

Classification of CMS systems

A CMS can be categorised into the following groups according to the way in which information is stored:

  • the ones using the databases

  • The ones using flat files

The database can be used to store large data sets that help fill out a site using the CMS, as well as website data in general. Advantages of systems using databases include a wide range of features, additions, and extensions. The disadvantage, although insignificant, is the difficulty in mastering these systems, as well as setting them up.

CMSs that do not use databases to store site content. For that purpose, they are using various types of files such as txt, xml, and others. Advantages of file systems include ease of installation, absence of database problems when purchasing a hosting, and cost-savings due to the fact that a cheaper tariff plan can be chosen.

ASP.NET MVC 3

ASP.NET is a web development framework for building server-side web applications. The ASP.NET framework is part of the .NET framework, which enables the functionality of the .NET Framework to be used in ASP.NET applications.

ASP.NET MVC 3 enables application developers to build web apps according to the MVC pattern. 

Some of the benefits of ASP.NET MVC include:

  • The ASP.NET MVC framework component can be easily extended and customized. The developer can use their own view engine, URL routing policy, and other components.

  • Improved ASP.NET routing support. Use this powerful URL mapping component to create applications with friendly URLs that can be found in searches. In order for URLs to be search engine optimized, they must be free of file name extensions and support URL naming patterns that will allow search engine addressing.

  • ASP.NET MVC even provides support for existing ASP.NET features such as Windows Authentication, URL authentication, Membership and Roles, Output and Data Caching, Session State Management, Configuration System, and Provider Architecture.

Razor - the view engine

ASP.NET 3 uses the Razor view engine. Its key advantages include:

  • A clear and concise syntax is much easier to read, thus resulting in fewer Views to write

  • Due to its connection to existing languages like C# and Visual Basic it is easy to learn

  • Visual Studio supports syntax highlighting 

MVC (Model-View-Controller)

  • ASP.NET MVC supports features like Forms and Windows Authentication, URL Authentication, Membership and Roles, Output and Data Caching, Session State and Profile Management, Health Monitoring, Configuration System, and Provider Architecture.

Razor - the view engine

ASP.NET 3 uses the Razor view engine. Its key advantages include:

A clear and concise syntax is much easier to read, thus resulting in fewer Views to write

The simplicity of learning is due to the fact that C# and Visual Basic are pre-existing languages.

  • Support for syntax highlighting in Visual Studio

MVC (Model-View-Controller)

The MVC design pattern has become popular lately. It separates the business logic from the UI. We need to understand what a design pattern is.

A design pattern is a set of reusable solutions. If an architecture is made up of a framework of reusable parts, then a design pattern contains reusable solutions as well.

By using the MVC pattern you can separate data, presentation, and user interaction into three separate components:

Model. The model provides data to the view and also responds to requests (usually from the controller) by adjusting its state.

  • Behavior (Controller). Provides information to the model and perception about whether or not there is a need for an appropriate response.

The advantages of the MVC development approach:

  • A clear separation of logical layers. Separating the view from the controller makes it possible to replace views without altering controller code; and freedom from the model's implementation lets you delegate only interfaces and replace models if necessary.

  • Full control over the markup code. Full control over the markup can be especially important if your web application uses client-side code in the user's browser.

  • Logical separation of functionality. MVC Framework web applications are separated into controller actions, each of which has its own URI.

  • Beautiful URLs. Flexible routing systems facilitate the creation of beautiful URLs.

  • Transparent request processing. Request processing is handled in a systematic way, dividing it into a small number of very straightforward steps.

  • Extensible. The MVC Framework lets you use different libraries for processing views, use your own algorithms for creating controller objects, and expand the library components.

Easy automated testing. For instance, when testing the application logic code (controller), you can replace the model with a lightweight version created just for testing and with a minimal set of data.

Full support for all ASP.NET features

The disadvantages are:

  • High "threshold of entry" into technology

Deep knowledge of HTML, CSS, JavaScript is required

Lack of state storage mechanism

Complexity of creating libraries of components

ASP.NET MVC 3 implements the Model-View-Controller pattern, which is widely used in web programming.

The MVC pattern separates the application data model logic from presentation and business logic. Additionally, logical separation is practically implemented in ASP.NET MVC, where controllers and views are stored in folders that use specific naming conventions to identify relationships.

A HTTP request sent to the web server is handled by the ASP.NET runtime, which initializes the MVC Framework and passes the request to the routing component for processing. On the basis of the routing table loaded at the start of the web application, the routing module determines the names of the controller and the controller method that should process the request, as well as the request parameters that should be passed to that controller.

After this, the request context is generated, which contains the parameters of the request and the application execution environment (e.g., the request URL, the server and client IP addresses), and then an instance of the controller class is created and control is transferred by calling the appropriate method of the controller class.

A controller method selected the view to be presented to the user in response to input from the request parameters and passed control to an MVC view engine that already rendered the view.

Make sure the hosting supports ASP.NET 4 and ASP.NET MVC 2 or later before installing the XCMS distribution kit on a web server. Next, proceed through authorization or registration on the hosting and then enable ASP.NET 4 Integrated Pipeline in the hosting admin panel.

Next, you need to unpack the XCMS distribution on your web server. To enter the XCMS administration panel, you need to add the word admin to the URL of the main page of your site, separated by a slash (/), in the address bar of your browser. 

In the first login authorization, admin is used as the login and admin as the password. Changing the password after the first authorization is recommended.

Author

Check other articles

Bitsorchestra
5 5

What our clients say

Bits Orchestra team are outstanding developers​. They listen carefully to our business needs and easily turns our business objectives into a well thought out and executed development effort. Roman is very bright and definitely the most capable developer that has worked on our site. He is not only a Kentico expert but has successfully tackled other complicated development assignments demonstrating expertise in both front and backend development. Roman takes initiative to suggest enhancements that make site maintenance easier while improving the customer experience. The team is very responsive to our work requests and has great follow up. They have also worked very business partners and this has reflected positively on our company. Roman is a true partner for us and a tremendous asset to our organization. We will continue to work with them and would highly recommend Roman and his team for your development needs. He and his team will exceed your expectations!
 Alan Lehmann
Alan Lehmann
President at In energy sector

What our clients say

The Bits Orchestra team does excellent work. They are always available and I appreciate our frequent calls and screen-shares together. Their dedication to the projects and knowledge of Kentico is outstanding. They truly care about the quality of their work, and became a part of our team easily!
Shena Lowe
Shena Lowe
Managing Partner at Consensus Interactive

What our clients say

We hired Roman for a Kentico analysis project and have been very satisfied. He is very skilled and professional. We are looking to hire him and his team again on future projects.
Sylvain Audet
Sylvain Audet
CEO at MyDevPartner.com

What our clients say

Roman and team have taken over an existing Kentico EMS site for a large US Oil Company. So far, they have handled every single request that we have thrown at them and these were diverse, challenging, often bespoke, usually urgent and almost daily, over the last 11 months. Their work is of an extremely high quality, they are capable, quick and we have great confidence in the support that we are getting.
Jon Hollis
Jon Hollis
Head of Web Development at confidential

What our clients say

Bits Orchestra team was very helpful, they had a good understanding of the brief and deep knowledge of the system. They were always keen to provide advice and recommendations that benefit the project substantially.
Ramon Lapenta
Ramon Lapenta
Senior Front End Developer at Cyber-Duck Ltd