Jump to content

Developer Documentation

Misc. Changes

Club Navbar

IPS 4.4.0 provides a new method

	 * Can be used by 3rd parties to add own club navigation tabs before they get sorted
	 * @param array $tabs	Tabs
	 * @param \IPS\Node\Model|NULL $container	Container
	 * @return array
	protected function _tabs( array $tabs, \IPS\Node\Model $container = NULL ) : array

which allows hooks to add own tabs to club navigation bar.

Changes to the queue/task system:
We've created 3 new constants

	'REBUILD_SLOW'		=> 50,	// Number of items to be rebuit per-cycle for routines that take a while
	'REBUILD_NORMAL'	=> 250,	// Number of items to be rebuit per-cycle for most routines
	'REBUILD_QUICK'		=> 500,	// Number of items to be rebuit per-cycle for routines that are fast

which should be used in your queue extensions depending on the task and the time it takes.


Editor Buttons:
It's now easier to add or remove buttons to the editor within the \IPS\Helpers\Form\Editor class.
Additional plugins are handled via $defaultOptions['ipsPlugins']

New useful methods:

Item::lastModificationDate() - The sitemap generation uses this method to get the last modification date.

Email Templates Change:

If your custom application includes email templates, please create also emailstats__key language strings for each email template. This language strings are used for the email statistics which were introduced in IPS 4.4.0

New Form Helper:

New Traits:

  • Content\ItemTopic - implements the logic to allow content items to create, update and delete their topic ( pages app & downloads app)

Core BC Breaks (warnings):

  • Node\Model::canOnAny and Node\Model::can() got a new parameter
  • Node\Model::modPermission 3rd parameter is required, there's no default value anymore
  • Member::moderateNewContent got a new parameter
  • Member::postRegistration got a new parameter
  • Content\Item::followers() & containerFollowers - method signature changed, the last parameter was replaced
  • Content\Item::can() , canComment ,canReview , canCommentReview, moderateNewItems, moderateNewComments, moderateNewReviews- got a new parameter $considerPostBeforeRegistering which is used to determine if the content was created by a guest 
public static function canOnAny( $permission, $member=NULL, $where = array(), $considerPostBeforeRegistering = TRUE )



Additional Information:

  1. ActiveRecord - new property $caches allow you to define datastore keys which will automatically be cleared after save&delete was called. There's no need to implement this logic anymore..
  2. The \IPS\Helpers\Table\Content constructor got a new parameter for a callback function, which is executed at the end of the getRows method. This way you don't need to implement an own Content Table Helper just to prepare the data for the output.
  3. Most of the not extensible classes like share services, file storage engines, package types, payment gateways, license key generation methods, server types, converters, and widget types or classes which were required to be placed in a specific directory are extensible now...
Edited by Daniel F

  Report Document

  • Create New...