API Deprecate legacy tasks

This commit is contained in:
Steve Boyd 2023-01-17 12:26:42 +13:00
parent b0fec1886b
commit 75eae7f2bf
5 changed files with 45 additions and 0 deletions

View File

@ -5,6 +5,7 @@ namespace SilverStripe\CMS\Tasks;
use SilverStripe\CMS\Model\SiteTree; use SilverStripe\CMS\Model\SiteTree;
use SilverStripe\Dev\BuildTask; use SilverStripe\Dev\BuildTask;
use SilverStripe\Dev\Debug; use SilverStripe\Dev\Debug;
use SilverStripe\Dev\Deprecation;
use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DataObject;
use SilverStripe\ORM\DB; use SilverStripe\ORM\DB;
use SilverStripe\Versioned\Versioned; use SilverStripe\Versioned\Versioned;
@ -12,6 +13,8 @@ use SilverStripe\Versioned\Versioned;
/** /**
* Updates legacy SiteTree link tracking into new polymorphic many_many relation. * Updates legacy SiteTree link tracking into new polymorphic many_many relation.
* This should be done for any site upgrading to 4.2.0 * This should be done for any site upgrading to 4.2.0
*
* @deprecated 4.13.0 Will be removed without equivalent functionality to replace it
*/ */
class MigrateSiteTreeLinkingTask extends BuildTask class MigrateSiteTreeLinkingTask extends BuildTask
{ {
@ -21,6 +24,15 @@ class MigrateSiteTreeLinkingTask extends BuildTask
protected $description = 'Updates legacy SiteTree link tracking into new polymorphic many_many relation'; protected $description = 'Updates legacy SiteTree link tracking into new polymorphic many_many relation';
public function __construct()
{
Deprecation::notice(
'4.13.0',
'Will be removed without equivalent functionality to replace it',
Deprecation::SCOPE_CLASS
);
}
public function run($request) public function run($request)
{ {
// Ensure legacy table exists // Ensure legacy table exists

View File

@ -18,6 +18,7 @@ use SilverStripe\Versioned\Versioned;
use SilverStripe\Security\Permission; use SilverStripe\Security\Permission;
use SilverStripe\Security\Security; use SilverStripe\Security\Security;
use SilverStripe\View\Requirements; use SilverStripe\View\Requirements;
use SilverStripe\Dev\Deprecation;
/** /**
* Identify "orphaned" pages which point to a parent * Identify "orphaned" pages which point to a parent
@ -36,6 +37,8 @@ use SilverStripe\View\Requirements;
* before and after orphan removal. * before and after orphan removal.
* *
* @author Ingo Schommer (<firstname>@silverstripe.com), SilverStripe Ltd. * @author Ingo Schommer (<firstname>@silverstripe.com), SilverStripe Ltd.
*
* @deprecated 4.13.0 Will be removed without equivalent functionality to replace it
*/ */
class RemoveOrphanedPagesTask extends Controller class RemoveOrphanedPagesTask extends Controller
{ {
@ -65,6 +68,15 @@ in the other stage:<br />
protected $orphanedSearchClass = SiteTree::class; protected $orphanedSearchClass = SiteTree::class;
public function __construct()
{
Deprecation::notice(
'4.13.0',
'Will be removed without equivalent functionality to replace it',
Deprecation::SCOPE_CLASS
);
}
protected function init() protected function init()
{ {
parent::init(); parent::init();

View File

@ -6,13 +6,26 @@ use SilverStripe\CMS\Model\SiteTree;
use SilverStripe\Control\Controller; use SilverStripe\Control\Controller;
use SilverStripe\ORM\DB; use SilverStripe\ORM\DB;
use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DataObject;
use SilverStripe\Dev\Deprecation;
/**
* @deprecated 4.13.0 Will be removed without equivalent functionality to replace it
*/
class SiteTreeMaintenanceTask extends Controller class SiteTreeMaintenanceTask extends Controller
{ {
private static $allowed_actions = [ private static $allowed_actions = [
'*' => 'ADMIN' '*' => 'ADMIN'
]; ];
public function __construct()
{
Deprecation::notice(
'4.13.0',
'Will be removed without equivalent functionality to replace it',
Deprecation::SCOPE_CLASS
);
}
public function makelinksunique() public function makelinksunique()
{ {
$table = DataObject::singleton(SiteTree::class)->baseTable(); $table = DataObject::singleton(SiteTree::class)->baseTable();

View File

@ -7,6 +7,7 @@ use SilverStripe\CMS\Tasks\MigrateSiteTreeLinkingTask;
use SilverStripe\Dev\SapphireTest; use SilverStripe\Dev\SapphireTest;
use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DataObject;
use SilverStripe\ORM\DB; use SilverStripe\ORM\DB;
use SilverStripe\Dev\Deprecation;
class MigrateSiteTreeLinkingTaskTest extends SapphireTest class MigrateSiteTreeLinkingTaskTest extends SapphireTest
{ {
@ -34,6 +35,9 @@ class MigrateSiteTreeLinkingTaskTest extends SapphireTest
protected function setUp(): void protected function setUp(): void
{ {
if (Deprecation::isEnabled()) {
$this->markTestSkipped('Test calls deprecated code');
}
parent::setUp(); parent::setUp();
// Manually bootstrap all Content blocks with soft coded IDs (raw sql to avoid save hooks) // Manually bootstrap all Content blocks with soft coded IDs (raw sql to avoid save hooks)

View File

@ -5,6 +5,7 @@ namespace SilverStripe\CMS\Tests\Tasks;
use SilverStripe\CMS\Tasks\RemoveOrphanedPagesTask; use SilverStripe\CMS\Tasks\RemoveOrphanedPagesTask;
use SilverStripe\Versioned\Versioned; use SilverStripe\Versioned\Versioned;
use SilverStripe\Dev\FunctionalTest; use SilverStripe\Dev\FunctionalTest;
use SilverStripe\Dev\Deprecation;
/** /**
* <h2>Fixture tree</h2> * <h2>Fixture tree</h2>
@ -40,6 +41,9 @@ class RemoveOrphanedPagesTaskTest extends FunctionalTest
protected function setUp(): void protected function setUp(): void
{ {
if (Deprecation::isEnabled()) {
$this->markTestSkipped('Test calls deprecated code');
}
parent::setUp(); parent::setUp();
$parent1_published = $this->objFromFixture('Page', 'parent1_published'); $parent1_published = $this->objFromFixture('Page', 'parent1_published');