This class is intended to demonstrate that source control hooks are called on the server
when corresponding actions are peformed in Atelier. Enabling this class in the managment
portal will write diagnostic information to the Atelier console during events, such as
save, compile, etc. Note that the methods in section 'Menu Items' here are included for completeness,
in reality only those methods in the section marked 'Events' will be called.
Users wishing to take advantage of server side source control hooks with Atelier should
subclass %Studio.SourceControl.Base directly.
Called in the activated source control class after we have compiled all the classes but before we exit.
Note that this is a class method and it does not require the source
control class to be instanciated in order for it to be called. By default it will call the OnAfterClassCompile()
if there is a source control class instanciated, but you can override this to do whatever you require.
List is a subscripted array of items that were compiled. Status is the current compile return
error %Status, so the callback can check if there was any error in compiling the list of classes.
Called in the class compiler after we have compiled all the classes before we exit
List is a subscripted array of items that were compiled. Status is the current compile return
error %Status, so the callback can check if there was any error in compiling the list of classes.
method OnAfterCompile(InternalName As %String) as %Status
Called after the compile of the item is done.
method OnAfterDelete(InternalName As %String) as %Status
This is called after the item is loaded but before it is sent to Studio
so you have a chance to modify this copy before it appears in the editor.
It is passed a reference to the object that represents this item so it
can be modified before Studio reads this information.
This is called after the item has been saved to the database.
It may be passed a reference to the object representing the item
just saved. It can be use to export this documement to an external form for example.
This is called if you compile a class and the compilation updates the classes storage.
It is called after the storage has been updated so you can determine how to deal with this
change in the class. The Location is the global reference to the class definition that was changed.
Called in the activated source control class before starting a compile after we have resolved the list of classes
but before we have started the compile itself. Note that this is a class method and it does not require the source
control class to be instanciated in order for it to be called. By default it will call the OnBeforeClassCompile()
if there is a source control class instanciated, but you can override this to do whatever you require.
Returning an error here will abort the compile.
List is a subscripted array of items that will be compiled.
Called in the class compiler after we have resolved the list of classes to be compiled but
before we have started the compile itself.
List is a subscripted array of items that will be compiled.
method OnBeforeCompile(InternalName As %String, ByRef qstruct As %String) as %Status
Called before the compile of the item is done.
It is passed a qstruct which can be inspected and modified.
method OnBeforeDelete(InternalName As %String) as %Status
Called before an item is deleted. Returning an error code prevents the delete from occuring.
Called before the item is saved to the Cache database it is passed
a reference to the current temporary storage of this item so that it
can be modified before the save completes. If you quit with an error
value then it will abort the save.
Inherited description: This is called for every menu item returned to Studio to allow the menu to be enabled/disabled without
having to write a custom query for MenuItems. The DisplayName of this menu is
also passed by reference and this may be modified to change the appearance of this menu item. The MenuName
is the main menu name then the submenu name separated by a ','. If Enabled is set to -1 then it will remove
this menu item from the list totally, 0 will gray the menu item out and the default 1 will display the menu item as normal.
Callback invoked when the portal-based Source Control hooks instantiate the source control class.
Operations that occur in this callback should be lightweight as the source control class needs to
be instantiated afresh every time a source control action is performed.
method RemoveFromSourceControl(InternalName As %String, Description As %String = "") as %Status