Import asp.net and html pages in Umbraco CMS - asp.net

I am new to Umbraco CMS. I have an existing website which is developed in asp and asp.net.
Now I have requirement to convert this existing website to new website using Umbraco CMS.
The pages available in existing website are almost all static pages..
My question : Is there any way to import these static pages into my Umbraco website.
So that I can skip the manual content creation of these pages in Umbraco.

In short, it depends on how much you need to edit on the original pages and how many pages there are.
If the content is never going to be edited, then you can maybe create most as just normal masterpages (umbraco templates). You can then just add in Navigations and other CMS spec
Or another way of doing it would be to create 1 template and add a big text box to the DocType which you can then paste the HTML into. However this will mean you will end up with loads of HTML in the DB.
If you want to make it a 'true' Umbraco site and use as much of the CMS functionality as possible then there is no really easy way of converting HTML into an Umbraco site.
If the data was in a DB you could use CMSImport and map the old to the new DocType fields, but you would still probably have to do some HTMLTidy work on it before importing.
Depending on the amount of pages, the best and easiest way is usually to just copy and paste in my opinion because it allows you the chance to perform a content audit at the same time and clean up HTML where necessary.

I did this before.
Created a basic template / view with header and footer and main content area.
Then use Screaming Frog (or a similar tool) to crawl the site.
Use the output of the page crawl to make a comma delimited list of Urls
then use this to find each page.
For each page, create an Umbraco page with the name of the url, ie /something-page-name = 'Something Page Name' Use HTML Agility pack to navigate the HTML and pull out key elements such as Title, Description etc and locate the main content by navigating the DOM and literally take the InnerHTML of that section into the content field of the Umrbaco page and save and publish it.
Make sure you allow your content editor in Umbraco to edit all the html elements found in the source page. Ie you may have section or small tags which the editor may not recognise.

Related

What Web content can and should be served dynamically vs staticly?

Until recently I've been using WordPress for my nonprofit's website, but have noticed most my site's content is fairly static (I think), and would probably benefit from being served as a static page instead of having to retrieve data from a Sql database.
(Yah I use a caching plugin, but those things are notoriously complicated to set up and manage things like expiration and recaching).
Which got me thinking... Theoretically, what parts of my site actually need to be 'dynamic' to run? And more importantly would there actually be a speed benefit from converting the pages that don't have to be dynamic from wordpress to regular html?
(Note: I'm ignoring the time it would take to convert dynamic files into static ones, just focusing on the visitor's experience).
Eg.
-Things like a home or about page, with their headers and footers and jquery and CSS design - could in theory be static.
-Blog posts could also be static and even a list of new posts and snippets could be generated off the server and converted to a static page.
-User facing options - creating events, a donation form, purchasing items with limited inventory - do these all have to be dynamic? If they're embedded into the page then does the whole page slow down from the dynamic request, or can just that section (eg a login modal) be run dynamically.
Yes, it sounds like you could serve up those pages statically. The reason I like using a content management system like Wordpress is that it separates the design from the content and it's easy to make edits. Separating the design from the content means that you can easily make design changes to your whole site by tweaking the CSS of your theme or changing the theme entirely.And even if you only edit the 'About' page once in a blue moon, it's nice to be able to do it quickly and easily. Database calls to get content shouldn't slow things down in a way that would be noticeable compared to a static page.
If you really want to make some pages static, you could try a plugin like this for Wordpress that can wrap your Wordpress theme around a static page:
https://wordpress.org/plugins/static-pages/
But I think you are overthinking the Static/Dynamic thing a little bit.
Hope this helps,
Kristen

Drupal Publishing

I'm new to web design. I basically just jumped into this learning as I went. People recommended CMS's like Joomla & Drupal and I installed them spent a few hours trying to figure them out and gave up. I then proceeded to just design my web site in a text editor b/c it was easier just to learn html, css, js, etc. Well now I've got somewhere between 20 & 30 webpages I need to get published to the web. I have three CMS's installed on my host server and I've sort of decided to use drupal. So I've got drupal open and the example drupal home page. I can not figure out how to just change that page to my html page I've already created.
I feel like this is such a stupid question but I have googled myself into carpal tunnel. Can someone point in the right direction?
You can do this very easily by using a PHP snippet in the article, blog entry or whatever. You need to activate the PHPfilter module, and to make sure that the content type you are working with accepts PHP code... and that you as a Drupal user is allowed to use PHP code.
Otherwise, its simple, put something like this in the body of the content:
<?php
print file_get_contents("/path/to/file.html");
?>
A CMS does not manage html pages, it manages content. In case of Drupal, content is nodes, blocks, users, ...
The next important thing in a CMS/Drupal is separation of content and design. With a CMS like Drupal, you create/use a so called theme, which is a template for your content that defines HTMl structures, CSS and so on. That is more or less the same for all pages of a website.
Once you have that, the advantage of a CMS kicks in. You can now create content, as much as you want (more or less) and it will all be displayed using that previously created/downloaded theme. Without having to write HTML/CSS for every new page. And you can change your design/structure in a single place, and every single page of your website will be affected at the same time.
As you can see, that is completely different from what you have done with static HTML files. Which also means, that there is no easy way to "import" it into Drupal. You basically have to re-create the complete site, this time with using Drupal, and then add your content to it. And you will have to learn Drupal while doing that.
So, when you are finished with your website as static pages, just upload them to a hoster and be done with it. And maybe start with a CMS from the beginning with the next project...

Using a Template for Web Page

We have a fairly large public website and have recently redsigned it with a new layout. The problem now is that with our redesign we find ourselves constantly hardcoding the html layout for all of our pages. This is clearly not the best solution.
My question is what are some options on ways to share/inherit, in a sense, a web template that all our ASP.Net projects can pull from for the layout. Specifically the HTML side of the layout. Any changes made to this template will update all web sites that use it. I'm sure this exists but do not know how to approach it.
Master Pages is what you are looking for. See: http://www.asp.net/master-pages/tutorials
or http://www.asp.net/master-pages/tutorials/creating-a-site-wide-layout-using-master-pages-vb
That's the technical solution. Oftentimes, the bigger challenge in retrofitting sites that were built with numerous one-offs is determining which parts of your pages belong in the master page or content areas. Keep in mind that you can have multiple content areas and you can provide default content in a master page that can later be overriden in a content page. It's very flexible. Have fun!
The simplest approach I know is to create a header and footer file for every page. Include the header just after the <body> tag and the footer just before </body>. You content goes in between.
I prefer a more sophisticated approach with a templating system like Smarty, but that's PHP. I don't know what your ASP options are.

ASP.NET - best method for website where user can create articles (like a blog)

I'm an ASP.NET newbie, but not so new at programming in general.
I'm creating a commercial website, and I want to allow an admin to add new articles (an article consists of text, images and various properties such as category).
I am trying to decide the optimal Modus Operandi. This site is commercial, so SEO is a major consideration. This means that I want each url to be "unique". That is, if someone navigates to an article about raccoons, he should be redirected to www.mysite.com/articles/raccoons. This means - I can't have one page that loads the appropriate article dynamically a-la AJAX (gotta use deep-linking)
So how exactly do I do this? suppose the admin entered his text, uploaded the images and set the article properties. I create a new subfolder, save the images to the server (I understand that saving images to a DB is a big no-no), their addresses in a DB, and the content itself to the DB. But now what?
How do I go about creating the actual page?
Is there a function for creating a new aspx file? then what about its corresponding cs file? Or is it unwise to use aspx? Maybe plain html? but then how does it work with my site's master page? Or maybe just create another copy of a general aspx file which is populated with an article according to a parameter?
I would like to know what is the "smartest" approach before I dive in too deep.
You can Consider ASP.Net MVC for this. What you need is more like a Content Management System rather than a Blog, as you mentioned an administrator will add articles.
By Using ASP.Net MVC, you have a very clean implementation there, your urls will stay as you need it for SEO, You dont have to create aspx pages on the fly but the framework will let you deal with new urls from your class files.

ASP routing vs relative links

I'm trying to implement routing on a simple site using web forms 3.5 SP1. The problem is that the site is using a simple form of CMS, so the user can create html content and add images.
Since all the 'articles' in the database are stored with the image urls relative to the Default.aspx and my route is idCat/*categoryPath, all the images now appear broken.
I guess I could parse all the src and href attributes in the articles on the fly, but I'm hoping for a better solution...
In most WYSIWYG editors there is a configuration value to set the full path for uploaded images.
UPDATE: For you comment, ckEditor! It is much more robust and has the option I have mentioned.

Resources