Patch title: Release 85 bulk changes
Abstract:
File: /pliant/appli/cluster/configure.page
Key:
    Removed line
    Added line
module "/pliant/language/compiler.pli"
module "/pliant/language/context.pli"
module "/pliant/fullpliant/this_computer.pli"
module "database.pli"
module "common.pli"
module "daemon.pli"

requires "administrator"

title "Clustering administration"

para
  table columns 2 border 0
    cell
      var Str cluster_service := this_computer "pliant" "cluster" "service"
      select "Clustering service: " cluster_service noeol
        option "No" "false"
        option "Yes" "true"
    cell
      [Enables other computer to pick datas on this one.]
    cell
      var Str cluster_daemon := this_computer "pliant" "cluster" "daemon"
      select "Clustering daemon: " cluster_daemon noeol
        option "No" "false"
        option "Yes" "true"
    cell
      [Enables this computer to pick datas on others.]
  button "Update"
    this_computer "pliant" "cluster" "service" := cluster_service
    this_computer "pliant" "cluster" "daemon" := cluster_daemon
    reload_page

table columns 7
  cell header
    [Area ID]
  cell header
    [Label]
  cell header
    [From]
  cell header
    [To]
  cell header
    [Mode]
  cell header
    [Status]
  cell
    void
  each a cluster_database:data:area
    cell
      text keyof:a
    cell
      text a:label
    cell
      each sc a:src_computer
        text keyof:sc ; eol
    cell
      each dc a:dest_computer
        text keyof:dc ; eol
    cell
      text (shunt a:frequency=undefined "manual" a:mode)
    cell
      text (shunt a:error<>"" "error" a:status=" " "sleeping" a:status="R" "running" "?")
    cell
      page button "Edit"
        title "'"+keyof:a+"' clustering area"
        table columns 2 border 0
          cell
            [Label:]
          cell
            input "" a:label length 80
          cell
            [Comment:]
          cell
            text_input "" a:comment columns 80 rows 10
        header "Involved computers"
          table columns 2
            cell header [Source computers]
            cell header [Target computers]
            cell
              each dc a:src_computer
                fixed (text keyof:dc) ; eol
            cell
              each dc a:dest_computer
                fixed (text keyof:dc) ; eol
          input "Computer: " (var Str co) length 30 noeol
          button "add source" noeol
            a:src_computer create co
            reload_page
          button "remove source" noeol
            a:src_computer delete co
            reload_page
          button "add target" noeol
            a:dest_computer create co
            reload_page
          button "remove target"
            a:dest_computer delete co
            reload_page
          table columns 2
            cell header [Line ID]
            cell header [Pliant modules to load]
            each m a:module
              cell
                text keyof:m
              cell
                input "" m length 40
          input "Module line ID: " (var Str mid) noeol
          button "add" noeol
            a:module create mid
            reload_page
          button "remove"
            a:module delete mid
            reload_page
        header "Files replication"
          table columns 3
            cell header [Line ID]
            cell header [Source path]
            cell header [Target path]
            each fp a:file_path
              cell
                text keyof:fp
              cell
                input "" fp:src length 40
              cell
                input "" fp:dest length 40
          input "File line ID: " (var Str fid) noeol
          button "add" noeol
            a:file_path create fid
            reload_page
          button "remove" noeol
            a:file_path delete fid
            reload_page
          table columns 2 border 0
            cell [Source filter:]
            cell
              text_input "" a:src_file_filter columns 80 rows 3
              small
                [Keywords are 'path' 'source' 'target' and 'exclude' 'count' 'append' 'modify']
                fixed [   ]
                button "try to compile"
                  reload_page
            cluster_filter a "src_file" (var Str err)
            if err<>""
              cell void
              cell color lsh 50 20 0
              cell color (color hsl 0 20 50)
                text err
            cell [Target filter:]
            cell
              text_input "" a:dest_file_filter columns 80 rows 3
              small
                [Keywords are 'path' 'source' 'target' and 'exclude' 'count' 'append' 'modify']
                fixed [   ]
                button "try to compile"
                  reload_page
            cluster_filter a "dest_file" (var Str err)
            if err<>""
              cell void
              cell color lsh 50 20 0
              cell color (color hsl 0 20 50)
                text err
        header "Database replication"
          table columns 3
            cell header [Line ID]
            cell header [Source path]
            cell header [Target path]
            each dp a:data_path
              cell
                text keyof:dp
              cell
                input "" dp:src length 40
              cell
                input "" dp:dest length 40
          input "Data line ID: " (var Str did) noeol
          button "add" noeol
            a:data_path create did
            reload_page
          button "remove"
            a:data_path delete did
            reload_page
          table columns 2 border 0
            cell [Source filter:]
            cell
              text_input "" a:src_data_filter columns 80 rows 3
              small
                [Keywords are 'path' 'key' 'source' 'target' and 'exclude' 'count' 'append' 'modify']
                fixed [   ]
                button "try to compile"
                  reload_page
            cluster_filter a "src_data" (var Str err)
            if err<>""
              cell void
              cell color lsh 50 20 0
              cell color (color hsl 0 20 50)
                text err
            cell [Target filter:]
            cell
              text_input "" a:dest_data_filter columns 80 rows 3
              small
                [Keywords are 'path' 'key' 'new_value' 'source' 'target' and 'exclude' 'count' 'append' 'modify']
                fixed [   ]
                button "try to compile"
                  reload_page
            cluster_filter a "dest_data" (var Str err)
            if err<>""
              cell void
              cell color lsh 50 20 0
              cell color (color hsl 0 20 50)
                text err
        header "Replication rules"
          table columns 2 border 0
            cell
              [Mode:]
            cell
              select "" a:mode noeol
                option "" ""
                option "count (no change is applied, only report is updated)" "count"
                option "append (only new datas are replicated, no change or deletion is applied)" "append"
                option "modify (all changes are replicated, except deletion)" "modify"
                option "delete (full replication)" "delete"
              fixed [   ]
              if a:mode<>"" and (exists a:dest_computer:computer_fullname) and a:status=" "
                button "run it now"
                  cluster_sync keyof:a "" a:mode
                  reload_page
            cell
              [Auto start frequency:]
            cell
              input "" a:frequency length 6 noeol ; [ seconds]
              fixed [   ]
              text "current status: "+(shunt a:status="R" "running" "sleeping")
            cell
              [Time filter:]
            cell
              text_input "" a:time_filter columns 80 rows 3
              small
                [Keywords are 'start' 'run' 'day_of_week' 'hour' ...]
                fixed [   ]
                button "try to compile"
                  reload_page
            cell void
            cluster_filter a "time" (var Str err)
            if err<>""
              cell color lsh 50 20 0
              cell color (color hsl 0 20 50)
                text err
            else
              cell void     
            cell
              [Post process:]
            cell
              text_input "" a:post_process columns 80 rows 3
              small
                [Keywords are 'error' 'file_total_count' 'file_append_count' ... 'data_total' 'data_append' ...]
                fixed [   ]
                button "try to compile"
                  reload_page
            cell void
            cluster_filter a "post" (var Str err)
            if err<>""
              cell color lsh 50 20 0
              cell color (color hsl 0 20 50)
                text err
            else
              cell void     
            cell
              [Timeout:]
            cell
              input "" a:timeout length 4 noeol ; [ seconds]
            cell
              [Transfert encoding:]
            cell
              select "" a:clear noeol
                option "ciphered" "false"
                option "clear" "true"
        button "Update"
          goto_backward
        if a:start=defined
          table columns 1
            cell header [Last sync lap report]
            cell
              table columns 2 border 0
                cell [Started on:]
                cell text:(string a:start)
                cell [Terminated on:]
                cell text:(string a:stop)
                if a:error<>""
                  cell [Error:]
                  cell color lsh 50 20 0 (text a:error)
                  cell color (color hsl 0 20 50) (text a:error)
                cell [Files total:]
                cell (text (string a:file_total_count)+" files, "+(string a:file_total_size)+" bytes")
                cell [Files append:]
                cell (text (string a:file_append_count)+" files, "+(string a:file_append_size)+" bytes")
                cell [Files modified:]
                cell (text (string a:file_modified_count)+" files, "+(string a:file_modified_size)+" bytes")
                cell [Files deleted:]
                cell (text (string a:file_deleted_count)+" files, "+(string a:file_deleted_size)+" bytes")
                cell [Data total:]
                cell (text (string a:data_total)+" nodes")
                cell [Data append:]
                cell (text (string a:data_append)+" nodes")
                cell [Data modified:]
                cell (text (string a:data_modified)+" nodes")
                cell [Data deleted:]
                cell (text (string a:data_deleted)+" nodes")
input "Area ID: " (var Str aid) noeol
button "Create the area" noeol
  cluster_database:data:area create aid
  reload_page
button "Delete the area"
  cluster_database:data:area delete aid
  reload_page