anchor.diff:  %% Meeting
   %%
   action(meeting, add, Args) ->
  -    case getopt(["name", "start", "end"], Args) of
  -        {[[Name], Start, End], Metadata} ->
  -            case call(meeting, add, [#uce_meeting{id=[Name],
  -                                                  start_date=parse_date(Start),
  -                                                  end_date=parse_date(End),
  -                                                  metadata=Metadata}]) of
  +    case getopt(["domain", "name", "start", "end"], Args) of
  +        {[none, _, _, _], _Metadata} ->
  +            error(missing_parameter);
  +        {[_, none, _, _], _Metadata} ->
  +            error(missing_parameter);
  +        {[[Domain], [Name], Start, End], Metadata} ->
  +            case call(meeting, add, [Domain, #uce_meeting{id=[Name],
  +                                                          start_date=parse_date(Start),
  +                                                          end_date=parse_date(End),
  +                                                          metadata=Metadata}]) of
                   {ok, created} ->
                       success(created);
                   {error, Reason} ->
                       error(Reason)
  -            end;
  -        {[none, none, none], _Metadata} ->
  -            error(missing_parameter)
  +            end
       end;
   
   action(meeting, delete, Args) ->
  -    case getopt(["name"], Args) of
  -        {[[Name]], _} ->
  -            case call(meeting, delete, [[Name]]) of
  +    case getopt(["domain", "name"], Args) of
  +        {[none, _], _} ->
  +            error(missing_parameter);
  +        {[_, none], _} ->
  +            error(missing_parameter);
  +        {[[Domain], [Name]], _} ->
  +            case call(meeting, delete, [Domain, [Name]]) of
                   {ok, deleted} ->
                       success(deleted);
                   {error, Reason} ->
                       error(Reason)
  -            end;
  -        {[none], _} ->
  -            error(missing_parameter)
  +            end
       end;
   
   action(meeting, get, Args) ->
  -    case getopt(["name"], Args) of
  -        {[[Name]], _} ->
  -            case call(meeting, get, [[Name]]) of
  +    case getopt(["domain", "name"], Args) of
  +        {[none, _], _} ->
  +            error(missing_parameter);
  +        {[_, none], _} ->
  +            error(missing_parameter);
  +        {[[Domain], [Name]], _} ->
  +            case call(meeting, get, [Domain, [Name]]) of
                   {ok, Record} ->
                       display(json, Record, record_info(fields, uce_meeting));
                   {error, Reason} ->
                       error(Reason)
  -            end;
  -        {[none], _} ->
  -            error(missing_parameter)
  +            end
       end;
   
   action(meeting, update, Args) ->
  -    case getopt(["name", "start", "end"], Args) of
  -        {[[Name], Start, End], Metadata} ->
  -            case call(meeting, update, [#uce_meeting{id=[Name],
  -                                                     start_date=parse_date(Start),
  -                                                     end_date=parse_date(End),
  -                                                     metadata=Metadata}]) of
  +    case getopt(["domain", "name", "start", "end"], Args) of
  +        {[none, _, _, _], _Metadata} ->
  +            error(missing_parameter);
  +        {[_, none, _, _], _Metadata} ->
  +            error(missing_parameter);
  +        {[[Domain], [Name], Start, End], Metadata} ->
  +            case call(meeting, update, [Domain, #uce_meeting{id=[Name],
  +                                                             start_date=parse_date(Start),
  +                                                             end_date=parse_date(End),
  +                                                             metadata=Metadata}]) of
                   {ok, updated} ->
                       success(updated);
                   {error, Reason} ->
                       error(Reason)
  -            end;
  -        {[_Name, _Start, _End], _Metadata} ->
  -            error(missing_parameter)
  +            end
       end;
   
   action(meeting, list, Args) ->
  -    Res = case getopt(["status"], Args) of
  -              {[[Status]], _} ->
  -                  call(meeting, list, [Status]);
  -              {[none], _} ->
  -                  {error, missing_parameter}
  +    Res = case getopt(["domain", "status"], Args) of
  +              {[none, _], _} ->
  +                  {error, missing_parameter};
  +              {[_, none], _} ->
  +                  {error, missing_parameter};
  +              {[[Domain], [Status]], _} ->
  +                  call(meeting, list, [Domain, Status])
             end,
       case Res of
           {ok, Records} ->
  
positive.code: %%
  
  action(user, add, Args) ->
      case getopt(["uid", "auth", "credential"], Args) of
          {[[Uid], [Auth], [Credential]], Metadata} ->
              case call(user, add, [#uce_user{uid=Uid,
                                              auth=Auth,
                                              credential=Credential,
                                              metadata=Metadata}]) of
                  {ok, created} ->
                      success(created);
                  {error, Reason} ->
                      error(Reason)
              end;
          {[_Uid, _Auth, _Credential], _Metadata} ->
              error(missing_parameter)
      end;
  
  action(user, delete, Args) ->
      case getopt(["uid"], Args) of
          {[[Uid]], _} ->
              case call(user, delete, [Uid]) of
                  {ok, deleted} ->
                      success(deleted);
                  {error, Reason} ->
                      error(Reason)
              end;
  
negative.code: %%
  %% Info
  %%
  action(infos, get, Args) ->
      case getopt(["domain"], Args) of
          {[none], _} ->
              error(missing_parameter);
          {[[Domain]], _} ->
              case call(infos, get, [Domain]) of
                  {ok, Infos} ->
                      display(erlang, Infos);
                  {error, Reason} ->
                      error(Reason)
              end
      end;
  
  action(infos, update, Args) ->
      case getopt(["domain"], Args) of
          {[[Domain]], Metadata} ->
              case call(infos, update, [Domain, Metadata]) of
                  {ok, updated} ->
                      success(updated);
                  {error, Reason} ->
  