The attached diffs add the following functionality to blocks:
- Write to the backup file during the backup routine.
- Encode links during the backup routine.
- Restore its information written to the backup file during the restore routine.
- Decode links during the restore routine.
- Decode content links during restore routine.
Basically, everything a module can do a block can do (in regards to backup/restore).
The diffs were made off of a Moodle 1.7+ install.
Please note that the diffs remove the block method after_restore and replaces it with a more robust instance_restore method. This method was not used by any core blocks in our 1.7+ Perhaps it was added for 3rd party blocks?