A managed service client provisioning system built on Magento.
This module was developed to manage and automate some client setup workflows for our development team internally. When our team onboards a new managed services account, we typically have to repeat a similar process for inherting the web application. For example, a staging server must be constructed, a task management project needs to be created, and a deployment pipeline needs to be configured. This module was designed to allow a system administrator to use a series of Magento admin panel forms to create new client profiles that would in turn execute the series of provisioners needed to facilitate the onboarding process.
N/A
public function provision($id, $profileId = null)
{
$provisioner = Mage::getModel('clientele/provisioner')->load($id);
if (!is_numeric($profileId)) {
$profile = Mage::getModel('clientele/profile')->loadDefault();
} else {
$profile = Mage::getModel('clientele/profile')->load($id);
}
if (!$profile->getId()) {
throw new Exception(sprintf('Profile %d does not exist', $profileId));
}
if ($provisioner->getId()) {
$provisioner->getTypeInstance(true)
->run($profile);
}
return $provisioner->getResult();
}