Ah! I see, you're upgrading. Upgrading can be a pain, huh? Hahaha.
As some helping tips - check all your Page types and see if your code is using the right methods (this is just an example):
2.4 Example..
<?phe
class Page extends SiteTree {
public static $db = array (
"Snippet" => "Text",
"ShowInFooter" => "Boolean"
);
function getCMSFields (){
$fields = parent::getCMSFields();
$fields->addFieldToTab ("Root.Main", new TextareaField (Snippet"), "Content");
$fields->addFieldToTab("Root.Main", new CheckboxField("ShowInFooter", "Show in Footer"), "Content");
return $fields;
}
class Page_Controller extends ContentController {
public static $allowed_actions = array ();
public function init (){
parent::init ();
}
}
3.1 Example..
<?php
class Page extends SiteTree {
private static $db = array (
...
);
public function getCMSFields(){
...
}
}
class Page_Controller extends ContentController{
private static $allowed_actions = array ();
public function init (){
...
}
}
Differences are that in your page type's class. You'll need to swap out the public in your statics for private. Functions can be left as public.
In your page type'a controller, you'll just need to change the static $allowed_actions from public to private.
Also another note, some features that existed in 2.4 may no longer exist, are depreciated or altered on 3.1. So for that you may want to see the Silverstripe Docs site.
If you need more help, just reply back with more on your situation :)
P.S. This was all typed on my phone so it might look a little off.
Stephen