Request a topic or
contact an Arke consultant
404-812-3123
All posts tagged 'cms'

Arke Systems Blog

Useful technical and business information straight from Arke.

About the author

Author Name is someone.
E-mail me Send mail

Recent comments

Archive

Authors

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2024

The 5 minute MVC CMS

[Code at the bottom]

 

I had a client that needed a solution that could meet the following requirements:

  • Must be able to add and remove page from their website
  • Must be able to change the content of each of the pages
  • Users of the website would need to be able to have a logon state
  • The pages would need to show up in the navigation menu
  • Must be able to do all of this without using a developer, re-engineering their site, installing a CMS system, or taking more than 4 hours of custom development time. 

 

They also had the following merits:

  • Those who would change the content were proficient in Html, CSS, and basic web technology
  • All pages would have the same layout
  • Existing website written in ASP.NET MVC

 

In the end, the content managers had access to a "PartialPages" folder that set under the main site on the webserver.  The managers could add, remove, and edit these files.  They could also update the SiteMap.xml file for these pages, allowing for the navigation menu to update based on their changes. 

 

CODE:

 

 AreaRegistration - Routing:

 

context.MapRoute(
    "FiveMinuteCMS_Default",  // Route name
    "FiveMinuteCMS/{id}",      // URL with parameters
    new { controller = "FiveMinuteCMS", action = "Pages", id = UrlParameter.Optional }
);

 

 Controller:

 

public ActionResult Pages(string id)
{
    PagesModel model = new PagesModel();
    model.Page = System.IO.File.ReadAllText(HttpContext.Server.MapPath
        ("~/PartialPages/" + id + ".html"));       
    return View(model);
}

 

Model:

 

public class PagesModel
{
    public string Page { get; set; }
}

 

Pages View:

 

@model MySampleProject.Areas.FiveMinuteCMS.Models.PagesModel
@{
    // Any layout will do
    Layout = "~/Areas/FiveMinuteCMS/Views/Shared/_Content.cshtml";
}

@Html.Raw(Model.Page)

 

 

Sample Partial Page file:

 

<div id=”PartialContentBody”>               
    <span>Hello World</span>
</div>

 

For the site map and navigation, I used Maarten Balliauw's MvcSiteMapProvider


Tags: , ,
Categories: ASP.NET | MVC | CMS
Posted by Trenton Adams on Tuesday, August 20, 2013 4:46 PM
Permalink | Comments (0) | Post RSSRSS comment feed

SharePoint problems, copying from old content management systems

Different content management and versioning systems have different methods on how they track versions.  So when migrating from one system to another, you can run into issues.  We recently experienced this when moving some data from an old CVS tracking system to a new SharePoint system (though this also affects old Novell systems). 

 The quickest way to move a large number of file to SharePoint is, of course, through the Explorer window.  That way you don't have to manually make all your folders and everything else you might need.  However, this can lead to problems, such as these errors:

Error 0x8007011A: The mounted file system does not support extended attributes.  

or

Invalid MS-DOS function

Both of these indicate that the old CMS has some extended file attributes that SharePoint doesn't handle.  Stripping them is the only reliable way to allow SharePoint to manage these files.
You can let the web interface do this for you, but that means making all your own folders.  Not terribly quick when you're dealing with large moves.  There is a quick workaround that I used, and that is to move the files to a neutral location, zip them up, and then unzip them.  Archiving them that way actually strips those extended attributes, and Zip doesn't support them.  So now you have clean files you can copy over to SharePoint (sans any versioning from the old system).

Right now, we're also looking at building an app to automate this process, and possibly add some intelligence to it.

Also, does anyone know of any tools that can examine this kind of extended data?  That would make our lives a lot easier.


Categories: SharePoint
Posted by Wayne Walton on Thursday, April 3, 2008 12:51 PM
Permalink | Comments (0) | Post RSSRSS comment feed