| 

.NET C# Java Javascript Exception

7

On my Twitch stream I planned to show how to migrate a legacy ASP.NET application to ASP.NET Core, to start a completely new ASP.NET Core project and to show some news about the .NET Developer Community. When I did the first stream and introduced the plans to the audience, it somehow turns into the direction to migrate the legacy application. So I chose the old Sharpcms project to show the migration, which is maybe not the best choice because this CMS doesn't use the common ASP.NET patterns.

About the sharpcms

Initially the Sharpcms was built by a Danish developer. Back when he stopped maintaining it, me and my friend Thomas Huber asked him to take over his project and to continue maintaining this project. He said yes and since than we were the main contributors and coordinators of this project.

This is where my Twitter handle was born. Initially I planned to use this Twitter account to promote the sharpcms, but I used it off-topic. I promoted blog posts, community events using this account as well did some interesting discussions on twitter. I used it too much, it got linked everywhere and it didn't make sense to change it anymore. Anyway the priorities changed. The sharpcms wasn't the main hobby project anymore, but I still used this Twitter handle. It still kinda makes sense to me, because I work with CSharp and I'm a kind of a CMS expert. (I developed on two different ones for years and used a lot more.)

We had huge plans with this project, but as always plans and priorities change with new family members and new jobs. We haven't done anything on that CMS for years. Actually I'm not sure whether this CMS is still used or not.

Anyway. This is one of the best CMS systems from my perspective. Easy to setup, lightweight and fast to run and easy to use for users without a technical background. Creating templates for this CMS need a good knowledge of XML and XSLT, because XML is the base of this CMS and XSLT is used for the templates. This was super fast with the .NET Framework. Caching wasn't really needed for the sharpcms.

Juergen.IO.Stream

In the first show on Twitch I introduced the plans about to migrate the sharpcms and the other one about to start a plain new ASP.NET Core project. It turns out that the audience wanted to see the migration project. I introduced the sharpcms, showed the original sources and started to create .NET Standard libraries to show the difficulties.

I wasn't that pessimistic than the audience, cause I still knew that CMS. There where not too much dependencies to the classic ASP.NET and System.Web stuff. And as expected it wasn't that hard.

The rendering of the output in the sharpcms is completely based on XML and XSLT. The sharpcms creates a XML structure that get's interpreted and rendered using XSLT templates.

XSLT is a XML based programming language that navigates through XML data and crates any output. It actually is a programming language, you are able to create decision statements, loops, functions and variables. It is limited, but as well as Razor, ASP or PHP you mix the programming language with the output you wanna create, which makes it easy and intuitive to use.

This means there is no rendering logic in the C# codes. All the C# code does is to work on the request and to create the XML data containing the data to show. At the end it transforms the XML using the XSLT templates.

The main work I needed to do to create the Sharpcms running is to wrap the ASP.NET Core request context into a request context that looks similar to the System.Web version that was used inside the Sharpcms. Because it heavily uses the ASP.NET WebForm page object and its properties.

The migration strategy was to get it running even if it is kinda hacky and to clean it up later on. Know we are in this state. The old Sharpcms sources are working on ASP.NET Core using .NET Standard libraries.

The Sharpcms.Core running on Azure: https://sharpcms.azurewebsites.net

Performance

Albert Weinert (a community guy, former MVP and a Twitch streamer as well) told me during the first stream, that XSLT isn't that fast in .NET Core. Unfortunately he was right. The transformation speed and the speed of reading the XML data isn't that fast.

We'll need to have a look into the performance and to find a way to speed it up. Maybe to create a alternative view engine to replace the XML and XSLT based view engine somewhen. It would also be possible to have multiple view engines. Razor, Handlebars or Liquid would be an option. All of these already have .NET implementations which can be used here.

Next steps

Even though the CMS is now running on ASP.NET Core, there's still a lot to do. Here are the next issues I need to work on:

  • Build on Azure DevOps #8

  • Performance:

    • Get rid of the physical XML data and move the data to a database #4
    • Speed up the XSL transformation #3
    • Find another way to render the UI, maybe using razor, handlebars or liquid #2
    • Add caching #1
  • Cleanup the codes #9

  • User password encryption #5

  • Provide NuGet packages to easily use the sharpcms #6

    • Provide a package for the frontend as well #7
  • Map the Middleware as routed one, like it should work in ASP.NET core 3.0

Join me

If you like to join me in the stream to work together with me on the Sharpcms.Core, feel free to tell me. I would be super happy to do a pair programming session to work on a specific problem. It would be great to have experts on this topics in the stream:

  • Razor or Handlebars to create an alternative view engine
  • Security and Encryption to make this CMS more secure
  • DevOps to create a build and release pipeline

Summary

Migrating the old Sharpcms to ASP.NET Core was fun, but it's not yet done. There is a lot more to do. I'll continue working on it on my stream, but will also do some other stuff in the streams.

If you like to work on the Sharpcms to help me to solve some issues or to start creating a modern documentation. Feel free. This would help a lot.

.net visual-studio csharp asp.net
Weitere News:
4 Meinungen
0
Maybe you won't find this exacl tool in a spring break essay, but the website itself contains a lot of information as regards technical development and progress.
0
COPE TECHS ist eine Organisation von Technologieexperten mit dem Ziel, Personen mit technologischen Schwierigkeiten zu helfen. Wir bieten die besten Hacking-Dienste an. Unser Ziel ist nicht die Verwendung von Diebstahl, sondern die Unterstützung von Einzelpersonen bei der Überwindung von Technologieproblemen mit unseren Fähigkeiten.
* Zum Beispiel: Es gibt so viele Einzelpersonen, die gegenüber Banken und anderen Darlehensfirmen eine Menge Schulden schulden und hart daran arbeiten, zurückzuzahlen, aber wirklich nicht bezahlen können. Unsere Dienstleistungen können Ihnen dabei helfen, wir haben eine Möglichkeit, Bitcoin zu generieren und auf ein PayPal-Konto einzuzahlen. Dadurch können Sie Ihre Schulden bezahlen.
* Ein anderes Beispiel für unseren Service: Ein Mann oder eine Frau, die den / die Ehepartner des Betrugs verdächtigt, aber keinen Beweis erbracht haben, wir könnten helfen, indem Sie das Ehepartner-Mobiltelefon HACKEN, damit er / sie Zugriff auf Chats, E-Mails, Standort, Telefonanrufe erhält und SMS des Ehepartners, wo immer er ist.
* Wir helfen auch Studenten an Universitäten / Colleges / Hochschulen, die Noten / Ergebnisse zu ändern und sie vor Wiederholungsprüfungen zu schützen und ihnen ein besseres Studium zu ermöglichen.
Andere Dienstleistungen, die wir anbieten, sind:
* Clearing von fehlerhaften Aufzeichnungen von Gerichten und Polizeieinrichtungen.
* Erkennung von Schwachstellen in der Computersystemsicherheit
* Finanzierung eines PayPal-Kontos
* Cyber ​​Attacks und vieles mehr
Denken Sie daran: "So lange es TECHNOLOGIE ist, kann es gehackt werden"
Wir gehören zum HACKERS-Forum HackerOne und haben die Top-Hacker im Forum immer bereit, das Risiko einzugehen und einen Job zu erledigen. Wenn Sie Hacking-Services benötigen, wenden Sie sich bitte an: COPETECHS@GMAIL.COM
Wir freuen uns, für Sie zu hacken.
0
Dearest Esteems,

We are Offering best Global Financial Service rendered to the general public with maximum satisfaction,maximum risk free. Do not miss this opportunity. Join the most trusted financial institution and secure a legitimate financial empowerment to add meaning to your life/business.

Contact Dr. James Eric Firm via
Email: fastloanoffer34@gmail.com
urgentloanoffer22.blogspot.com/
Whatsapp +918929509036
Best Regards,
Dr. James Eric.
Executive Investment
Consultant./Mediator/Facilitator
0
Dearest Esteems,

We are Offering best Global Financial Service rendered to the general public with maximum satisfaction,maximum risk free. Do not miss this opportunity. Join the most trusted financial institution and secure a legitimate financial empowerment to add meaning to your life/business.

Contact Dr. James Eric Firm via
Email: fastloanoffer34@gmail.com
urgentloanoffer22.blogspot.com/
Whatsapp +918929509036
Best Regards,
Dr. James Eric.
Executive Investment
Consultant./Mediator/Facilitator
Schreibe einen Kommentar:
Themen:
asp.net csharp visual-studio .net
Entweder einloggen... ...oder ohne Wartezeit registrieren
Benutzername
Passwort
Passwort wiederholen
E-Mail
TOP TECHNOLOGIES CONSULTING GmbH