Migrate from Kooboo CMS 2.0 to 3.0

Sites

"Applications" in V2 has been renamed "Sites." Each site can manage its own layout, content display template, script, theme, page, label, and file management. In V3, there are some new features like robot.txt, URL redirects publishing queue and system diagnosis.

Besides the development improvement, in V3, the content repository has been separated from the sites. We will explain the difference below.

Content repository

Content repository is now independent from Sites. One content repository can belongs to multiple websites. When creating a new website, you can either use an existing content database (by inputting the name of that database) or create a new one. The content inheritance concept has been replaced by content broadcasting. You can enable the content broadcasting feature under database settings. When enabled, you will be able to define content broadcasting and receiving rules to send content to or receive content from other websites.

The "Text" schema from V2 has been renamed Content type. We do not have binary schema any more. We have a new media library to store multimedia files if needed, or you can store binary files in text content.

In V3, all the content management pages are template based which means that you are able to modify the content list page, content edit page, and category selection windows yourself. You can enable this "Custom Template" feature in the Database setting and change them in the content type editing screen.

Unfortunately, there is no migration tool, so you have to perform database migration manually.

Layout and content display template

The following names has been changed from V2 to V3.

Layout template = Layout

Content template = View

Text resource = Label

The template syntax has been changed into MVC styles and arranged under two main classes: Url.FrontUrl() and Html.FrontHtml(). Label syntax has been simplified to this format: "textstring".label().

In V3, we keep the ASP.NET webform syntax and add the new Razor view engine. Some helpers are provided to make the template coding much easier. You can always find help in the right sidebar of the layout or view template editing screen, including data rule designer and code helpers for most important APIs like Html meta, layout position tag, etc.

To migrate, rewrite layout template to layout, content template to view, and text resource to label. You can change kooboo API to newer API and keep the major part of your existing templates

Pages

The concept for Pages is very simliar to that in V2. You can configure the page by inserting widgets into predefined position and assign their parameters. You can now insert more than just content template or module into a position, you can directly query content from data folder or insert reuseable static html blocks.

A visual sitemap view of pages has been added. The sitemap allows easy access to all the available page operations.

Extensions

Extensions must be rebuilt under the new Visual Studio extension development template. Many of the APIs have been changed, so extensions need to be rebuilt before they can be used in the new Kooboo version.