Patch title: Release 87 bulk changes
Abstract:
File: /pliant/index.page
Key:
    Removed line
    Added line
module "/pliant/language/context.pli"
module "/pliant/admin/file.pli"
module "/pliant/fullpliant/user.pli"
module "/pliant/fullpliant/this_computer.pli"
module "/pliant/appli/mail/count.pli"

style
  var Str t := ""
  t += "<META NAME=[dq]author[dq] CONTENT=[dq]Hubert Tonneau[dq]>[lf]"
  t += "<META NAME=[dq]description[dq] CONTENT=[dq]Pliant programming language and operating system[dq]>[lf]"
  t += "<META NAME=[dq]keywords[dq] CONTENT=[dq]Pliant,programming,language,free,efficient,reflexive,Hubert,Tonneau,Tibet[dq]>[lf]"
  # style_tag "stylesheet" t

title "Pliant - release "+string:pliant_release_number logo "/pliant/welcome/image/pliant.png" link "/pliant/welcome/philosophy.html#logo"

para
  center
    [The Pliant ]
    link "home web site" "http://fullpliant.org/"
    [ is graciously hosted by ]
    link "Heliogroup" "http://www.heliogroup.fr/"
    [ company.]


header "News about Pliant"

  para
    highlight "security: " ; [ Release 85 has been removed because it had a security hole in forum configutation code. Don't use it.] ; eol
    [Release 87 is a back to stable release after the deap changes in the HTTP server part introduced in release 85.]
  para
    [Release 84 is the stable one.] ; eol
    [Release 86 is more experimental containing the new more powerfull styles in the HTTP server, more flexible HTTP protocol handling, some experimental webdav support, introduction of the Pliant global cache, and base of Pliant vector drawing library.] ; eol
    [The plan for release 87 is to bring back to working the Pliant web browser, on top of the new Pliant vector library.]
  para
    [See ] ; link "changes log" "/pliant/welcome/changelog/" ; [ for extra details.]


header "Pliant documentation"
 
  var Str model := http_request browser_model
  var Float release := http_request browser_release
  if (model="ie" and release<6) or model="opera"
    para
      text "The Pliant web server is assuming that you are running "+model+" release "+string:release+" web browser." ; eol
      font color (color hsl 0 100 75)
        text upper:(model 0 1)+(model 1 model:len)+" "+string:release+" will not work properly on this web site." ; eol
      [In order to get extra details or select a better browser, please have a look at our ] ; link "browsers test report" "pliant/welcome/browser"

  table columns 1 border 0
    cell
      link "Pliant Documentation Initiative" "http://pliant.cx/pliantdocs/babel/universal/" ; eol
      [The new, much improved, Pliant documentation is slowly moving here.]
    cell
      link "Presentation and installation" "/pliant/welcome/" ; eol
      [Pliant design, license, status, how to download it, first steps guide and tutorial. ]
    cell
      link "The Pliant language specifications" "/pliant/language/" ; eol
      [This is the documentation about the language itself, the low level libraries, and the compiler internals.]
    cell
      link "Pliant core applications" "/pliant/appli/" ; eol
      [This is the documentation about higher level features (applications such as the HTTP server or the database engine).]
    cell
      link "FullPliant operating system" "/pliant/fullpliant/" ; eol
      [Use Pliant as an whole operating system on top of Linux kernel.]
    cell
      var Str host := shunt http_request:site_name="pliant.cx" "" "http://pliant.cx"
      link "Pliant forums" host+"/pliant/browse/forum/"
      fixed [:   ]
      link "announce forum" host+"/pliant/browse/forum/pliant.announce/"
      fixed [  ] ; link "newbie questions forum" host+"/pliant/browse/forum/pliant.question/"
      fixed [  ] ; link "talk forum" host+"/pliant/browse/forum/pliant.talk/"
      fixed [  ] ; link "patch forum" host+"/pliant/browse/forum/pliant.patch/"
      eol
      [Here you can exchange questions and ideas with other Pliant users.]


header "Some Pliant services"

  table columns 1 border 0
    if user_name<>""
      var Int count := 0
      each b user:user_name:mailbox
        count += 1
      if count>0
        cell
          link "Mailbox"+(shunt count>1 "es" "") "/pliant/browse/mail/"
          var Int count := mail_count
          if count>0
            fixed [  ] ; highlight "you have "+string:count+" mail"+(shunt count>1 "s" "")
          eol
          text "Will allow you to send mails, read your received mails, and search your mail archives."
    if false # user_name<>""
      cell
        link "PIM" "/pliant/appli/pim/" ; highlight " new" ; eol
        [Record and search in your personal informations database and agenda.]
    if allowed:"administrator"
      cell
        link "The Pliant interpreter" "/pliant/appli/interpreter" ; eol
        [Will allow you to write and test your first tiny Pliant programs using your web browser.]
    if (allowed:"browse_path" or allowed:"browse_file" or allowed:"browse_data")
      cell
        [Browse Pliant ] ; link "files" "/pliant/browse/file/"
        [ or ] ; link "datas" "/pliant/browse/data" no_extension
        [ or ] ; link "types" "/pliant/browse/type" no_extension
        [ or ] ; link "types" "/pliant/browse/type/" no_extension
        [ or even ] ; link "system files" "/pliant/browse/system_file/" no_extension ; eol
        [This will allow you to travel through Pliant site files tree or database and view individual files or datas.]
    if http_request:server:configure or allowed:"browse_configuration"
    if allowed:"browse_configuration"
      cell
        link "Configuring the server" "/pliant/fullpliant/configure"
        if http_request:server:configure
          highlight " - you should start here -"
        eol
        link "Configuring the server" "/pliant/fullpliant/configure" ; eol
        [This will allow you to setup the Pliant HTTP, SMTP, ... servers, using a user friendly interface with inline documentation.]

para
  execute_dynamic_page "pliant:/pliant/protocol/http/login.html"

para
  small
    [This website is powered by ]
    if (constant this_computer:env:"pliant":"system":"distribution"="fullpliant")
      [FullPliant operating system]
    else
      [Pliant HTTP server]
    [ / View server ] ; link "status" "/pliant/fullpliant/status"
    if allowed:"administrator"
      [ or ] ; link "trace" "/pliant/protocol/http/trace"