anchor.diff:  	end),
   	[Pid ! Message || #watcher{pid=Pid} <- Watchers],
   	ok.
  +
  +readArchive(Id) when is_binary(Id) ->
  +	{atomic, Archive} = mnesia:transaction(fun()->
  +		case mnesia:read({board, Id}) of
  +			[] -> undefined;
  +			_  -> mnesia:match_object(#archive{ board_id=Id, _='_' })
  +		end
  +	end),
  +	[ erlang:binary_to_term(Zipped) || {ok, Zipped} <-[
  +		snappy:decompress(Data) || #archive{data=Data} <- lists:sort(fun(#archive{id=Aid}, #archive{id=Bid})-> Aid >= Bid end, Archive)]
  +	].
   
   watchers(Id) when is_binary(Id) ->
   	{atomic, Watchers} = mnesia:transaction(fun()->
  
positive.code: 	board_id
  }).
  
  -define(Tables, [
  	{board,   [{attributes, record_info(fields, board)}]},
  	{watcher, [{attributes, record_info(fields, watcher)}]}
  ]).
  
  init([]) ->
  
negative.code: -module(fingwb_whiteboard).
  
  -export([init/1, create/0, watch/1, unWatch/1, publish/2, notify/2, watchers/1, readArchive/1]).
  
  -record(board, {
  	id,
  