I use onBeforeWrite to call an API function and return a field before I save to the DB the first time it is published (least I think it only fires the first time).
But is there a way to tell if its a first time or a save to a already created page?
onBeforeWrite() is called whenever you call write() on the object (new, updating etc etc).
For after publish you can use onAfterPublish().
There is also an onBeforePublish in 2.4.
Page (SiteTree actually) has two introspection methods that might with state-specific logic:
* isNew() returns true if the page is new (and unwritten to the database)
* isPublished() returns true if the page has been published, false if never published.
Awesome, this appears like its just what I was looking for.
So if I wanted to do this I would write it like this?
//do something else