Wiki Hooks are a proposed addition to wiki, which would enable transporters and built in wiki events (such as forking) to call external web services.
A particular utility for this service would be to enable the following services: - Registering new wiki sites - Archiving wiki pages
# Wiki Event Hooks Certain events in wiki are relevant to services that can be provided to a site author or indeed the federation as a whole. These include: - Page Forks - Wiki Site Creation - Wiki Page Edits (possibly) A configuration file could enable one or more of these wiki-hooks and link them to specific microservices. Later this functionality could be authored in a Site Authoring Plugin.
# Plugin Hooks While it is possible to code REST calls natively in javascript using AJAX, it would be useful for the wiki client to expressly make this service easy to implement with a single line of javascript. Plugins could then make calls to Wiki Microservices to perform their actions, render markup, parse DSL's, or call asynchronous post-processing hooks for actions such as archiving.
# Wiki Archiving
For instance when a new subdomain on a wiki farm was created, the external wiki would be registered for archiving.
Alternatively, when a web page from and external wiki was forked to a wiki that had web-hooks enabled - let's call this an Archiving Wiki - the entire site, or simply the individual wiki page referenced would be archived.
We envisage the creation of a number of Federation Microservices which would perform tasks such as archiving individual wiki pages or entire sites. Wiki Hooks would be able to link into these microservices to perform the required archiving functions.
# Wiki Graphing An additional microservice that Wiki Hooks could call would be specific types of graphing of the federation, that then could be imported into wiki.