With YourSites 1.10 you can set up your own client site custom actions to call from YourSites or the scheduled processes/cron system.
It features a new plugin architecture to allow you to add custom tasks to your installation and client sites. This build demonstrates this using a new 'global checkin' tasks added to the core software/Joomla menu item in the sites list.
The plugin allows you to set a global or site specific schedule for performing a global checkin.
Technical Explanation of Plugin
The plugin currently has the following methods/hooks:
onGetDropdownIcons( $viewname, $wrappername, &$buttongroup)
This allows you to add toolbar buttons/sub menu items to sites and extensions view.
onHasControllerTask( $viewname, $task)
This allows you to say you have your own controller or cron task from the plugin
onControllerTask( $viewname, $task, $model, & $returnData)
This allows you to execute your own controller task or cron from the plugin
onModelMethod( $modelname, $method, $model, $arguments, & $returnData)
This allows you to add your own model method to the site or extension model.
This allows you to add files and folders to the client plugin installation package so that your client sites can respond to requests from the YourSites server.
onYoursitesConfig( & $form, & $data)
This allows you to add your custom configuration options via a Joomla form to the main configuration form.
onEditSite( & $form, & $data)
This allows you to add your site specitic configuration options via a Joomla form to the site editing form.
onAddToCron( & $actions)
This adds the action to the array of actions to be added to the cron queue passing in the default execution interval
onProcessCron( & $actions)
This adds the action to the array of actions to be processed from the cron queue passing in the default batch size
checkTaskNotInQueue($action, & $subQuery)
Allows you to adds a custom action specific query element to filter out site specific cronjob frequency
Allows you to tell the addToCron process that your action has site specific cron job settings
onGetParamPrefix( $action, & $paramPrefix)
Returns the prefix to allow us to find the site specific interval settings for cron jobs. Make sure if you are adding your task to cron jobs with site specific values that you include these key parameters.
onAddSiteSpecificTasksQuery($action, & $query)
Allows you to find sites with site specific cron settings for your plugin action.
Please let us know how you get on and if you would like us to add more hooks to allow you to extend YourSites functionality.
If you would like us to develop a custom action for you we can give you an estimate of the cost of this if you get in touch via the support forum.