Pliant talk forum

Pliant talk forum

Discussion: Pliant installation process

Pliant release 87 will contain a completely new install process.
I've uploaded the first shot and expect to iron it out before
final release 87, if I can get enough feedback.
Message posted by hubert.tonneau on 2003/10/05 14:42:37
I've just uploaded release 87 experimental 11,
and it contains the new installation system.

The simple install process is:
1) Unpack Pliant tarball at disk root
2) Run 'install' script in Pliant directory

Then running Pliant services is now just running 'run' script in Pliant directory

For Win32 users, in order to run the 'install' or 'run' script, you can
just double clic from the Windows file browser.

Of course, Pliant can still be used from the command line through the 'pliant'
instruction (with all the existing options unmodified).


Michel and Marcus, is it better suited for average new Pliant user ?
What more should be polished in the install and first steps process ?
Message posted by marcus on 2003/10/05 15:34:28
> Michel and Marcus, is it better suited for average new Pliant user ?

From a Linux user viewpoint, excellent.

> What more should be polished in the install and first steps process ?
 
Just some minor details on the wording of the messages:

1- "You need an account to be abble to connect to Pliant HTTP
server through your favorite browser."

Should be changed to 

"You need an account to be able to connect to your Pliant HTTP
server through your favorite browser."

2- "So, you can now define a new one, or change an existing one,
or just press enter in order to skip."

Should be changed to 

"Now you can: (i) define a new account, (ii) change an existing account, or (iii)
press Enter to skip."

3- "Then you can force the TCP port Pliant HTTP server will use.
If you are unsure, just press enter since the suggested default
value should be ok."

Should be changed to

"About to define the TCP port the Pliant HTTP server will use. If you are not
sure, then press Enter to select the default port."

3- "Lastly, you can specify the debugging level Pliant will run at.
Debugging level 1 is recommended for all but tiny computer with
less that 64 MB or memory."

Change to 

"Lastly, you can now specify the debugging level the to run the Pliant HTTP 
server. Debugging level 1 is recommended for all but tiny computers with
less that 64 MB of memory."

4- "Congratulation, Pliant is now configured.
You can now start it using the 'run' command,
then connect to it through your favorite browser, using URL
http://localhost:8080/"

Change to 

"Congratulations, Pliant is now configured. You can now start the HTTP server 
using the 'run' command. Then, using your favorite browser, connect to the 
server via the URL http://localhost:8080/"
Message posted by hubert.tonneau on 2003/10/05 17:39:24
Did it.

Just in case you would want to dig in deaper details, the install script
is /pliant/install/install.pli

I have selected a rather minimal set of questions in the 'install' script,
so many extra things have to be defined though the HTTP server interface
in order to get a truely usefull system.
So, an open question is:
. should the 'install' script remain minimal, or should it be extended in
  order to enable to fully configure the system (name of the computer, DNS
  settings, what services to run, web ou DAV sites to configure ...)
. we might want to add to Pliant HTTP site a set of configuration pages
  oriented to help the user set a given service, whereas the current tree
  is exposing the all configuration
Message posted by marcus on 2003/10/05 19:24:43
Another thing: when showing up the existing accounts and asking the user to 
provide a user ID, the message says that the user can also "... change an 
existing account,...".

What may be confusing for a novice is that if (s)he types in an existent
account ID/password, (s)he won't be prompted to change the account. The
system will just continue with the normal install.

Therefore, I think the message should be:

"Now you can: (i) define a new account, (ii) log into an existing account, or (iii)
press Enter to skip."

What do you think?

>. should the 'install' script remain minimal, or should it be extended in
>  order to enable to fully configure the system (name of the computer, DNS
>  settings, what services to run, web ou DAV sites to configure ...)

I think it should stay minimal. The less we require a (potential) Pliant user
to type in a Linux (or Windows) console, the better. 

People would feel more confortable doing  the more complete set up 
via the browser.  As long as the set up Web page is informative. I have to check
the current set up site and perhaps propose suggestions on the wording of 
messages.

>. we might want to add to Pliant HTTP site a set of configuration pages
>  oriented to help the user set a given service, whereas the current tree
>  is exposing the all configuration

You mean a set of pages showing the configuration values for a given service?
That would be enlightenning! It would also inform us (the users) what are the 
services currently supported by Pliant. For instance, I myself didn't know that
Pliant provides a Web mail service!

Message posted by michel on 2003/10/05 21:04:31
Yes its a large progress.

I have tested the 87exp..11 both on linux ans Windows XP and both with existing pliant_security ans pliant_data and without.

I had some trouble in the case of existing data bases because the "computer name" was not recognized thought it was in the pliant_security, perhaps it was with Windows but it did not occurs in the past.I had to update it after.

An other problem is that the install process does not take account of the custom indications and, by the way, when you run the process you only launch http and not the others servers.

Just a little thing it will be a good idea to include at the end of the install script the first run of pliant, perhaps with a choice.

An other gadget can be to unclude, in both install and run files, a pliant logo for shortcuts, usefull for Xwindows and windows.

At least, is it not time to begin automatic multi-language design ?

Message posted by hubert.tonneau on 2003/10/06 10:29:50
> I think it should stay minimal. The less we require a (potential) Pliant user
> to type in a Linux (or Windows) console, the better.

So now it's even better: there is only 'run'

It will ask for user ID and password the first time it runs, and that's all.
Message posted by hubert.tonneau on 2003/10/06 11:03:31
Notice that we could even switch to a no question at all process,
where an initial account would be automatically created with a fixed
user ID and password, as it is with some SOHO devices.
Also it's very questionable from the security point of view.

Another more interesting feature could be to let the user select
user and password on http://pliant.cx/ web site just before downloading,
then send an already configured custom tarball.

The third solution could be to try to accept any user and password the
first time Pliant is accessed through the browser, and just record that
as the user and password.

So, the question might be: is it ok to ask for user ID and password on
the console, the first time Pliant 'run' is lauched, or should we try
to reach the 'no question at all on the console' ?
Message posted by maybe pom on 2003/10/06 15:41:40
pliant87 experimental 13 does not contain scripts any more ???
Message posted by marcus on 2003/10/06 15:51:30
Some time ago I convinced a friend of mine to install Pliant on his Windows
box; a tipical worst-case-scenario kind of user.

One day I receive a phone call from him, in panic, asking me where he should
'click' to install the package...

> So, the question might be: is it ok to ask for user ID and password on
> the console, the first time Pliant 'run' is lauched, or should we try
> to reach the 'no question at all on the console' ?

Security issues aside, if any, I would say we should strive to reach the 
'no question at all on the console'.
Message posted by hubert.tonneau on 2003/10/06 16:05:15
> One day I receive a phone call from him, in panic, asking me where he should
> 'click' to install the package...

The answer is now: clic on the 'run' executable in Pliant directory.

> Security issues aside, if any, I would say we should strive to reach the 
> 'no question at all on the console'.

I asked several places, and concluded that still asking for User ID and password
on the console is probably the right thing to do at the moment (until we have
the Pliant browser) because if we don't do that, the user will have to go
in Pliant configuration and create an account, what he might not want to do
right from the beginning.
I mean administrating users account is probably not the first thing you want to
install Pliant for, so with the two questions in the console, we solve it
properly right from the beginning.
Message posted by marcus on 2003/10/06 18:12:09
> I asked several places, and concluded that still asking for User ID and password
> on the console is probably the right thing to do at the moment (until we have
> the Pliant browser) because if we don't do that, the user will have to go
> in Pliant configuration and create an account, what he might not want to do
> right from the beginning.

True.
Message posted by hubert.tonneau on 2003/10/06 19:44:51
With the latest experimental release, Pliant under Windows will automatically
launch the browser as soon as the HTTP server is running.
Message posted by hubert.tonneau on 2003/10/06 20:58:15
With experimental 16, under Windows, if you start from an empty Pliant
configuration, Pliant will work in no question at all, no login mode:
. the password is random generated, then clear stored in user_secret.pdb
. and login informations are automatically passed to the browser

The only small problem is that the password remains visible in the URL.
Message posted by marcus on 2003/10/14 19:36:45
I've downloaded and untarred release 87 x 24.

I can't find the 'install' and 'run' scripts in the pliant directory.
Message posted by hubert.tonneau on 2003/10/14 20:44:12
> I can't find the 'install' and 'run' scripts in the pliant directory.

There is no more 'install' and 'run' script.
The only single script is now 'fullpliant'.

It does both, and the reason for naming it 'fullpliant' rather than 'install'
or 'run' is that if you move it the a full of binary directory, then the new
name is still meaningfull.

Also if you switch from one experimental to the other other by hand, or form
an experimental to the final release 87, you will have to manually delete
the /pliant/binary/default-debug1.dump file
On the other hand, users switching from a plain release to another plain
release have nothing to do and the reason is that the release number is
recoreded in the .dump file, so the file is automatically rebuilt if the
release number does not match.
Message posted by marcus on 2003/10/16 13:05:43
I have upgraded my server to 87x24. But I am experiencing a strange problem: my
homepage is at /marcus/index.html. It is an html file. 

When I try to access the page via the URL http:/localhost/marcus/ the server
says

      The requested page does not exist on this server.

But if I try the URL http:/localhost/marcus/index.html it works.

Moreover, if I replace the index.html file with a index.page, then it also works.

Message posted by hubert.tonneau on 2003/10/16 13:08:19
Adding index.page is now only tried for dynamic pages.
Message posted by maybe Marcus on 2003/10/16 13:15:18
Another thing: I used to use the following code for user log in

button(shunt user_name="" "Login" "Change login" )
  goto_url "/newlogin.html" options "link "+(string http_request:url_path)+" user "+(string user_name)

But now the compiler gives me an error message

   Failed to compile http_request   ('url_path')
Message posted by hubert.tonneau on 2003/10/16 13:18:48
There have been a very important clean up in the URL encoding decoding,
which is probably very good from the security point of view

You now have two fields:
  http_request:encoded_path
and
  http_request:path

The 'link' .page instruction will automatically HTTP encode, so if you plan to use a
'link' instruction, you should use 'path'

On the other hand, if you want to get the exact URL in order to build some HTML
code by hand, you may want to use 'encoded_path'


Message posted by maybe Marcus on 2003/10/20 15:15:54
I wonder if it is possible to specify the port number when running the
install command 'fullpliant'
Message posted by hubert.tonneau on 2003/10/20 15:26:31
No, it's automatically assigned, through selecting the first usable in 80, 8080, 8081, 8082, etc.

Also, if you want to force it to let's say 8084, then under Linux, all you need is
execute a shell command like this before running FullPliant executable:
echo '<pdata path="/env/pliant/http/port">8084</pdata>' >>/pliant_security/this_computer.pdb
Message posted by michel on 2003/10/28 09:28:03
Just a little thing
On Windows the automatic opening of the browser is pretty, but
frequently the browser open before rhe total compilation od the HTTP server and gives an error message.
Can you introduce a conditional opening or a few second delay in this process.
If not it is not a real problem
Message posted by hubert.tonneau on 2003/10/28 09:31:33
In /pliant/fullpliant/run.pli, try to replace the line:

    os_ShellExecute 0 "open" url "" "c:\" 1

with

    thread
      sleep 2
      os_ShellExecute 0 "open" url "" "c:\" 1

and tell me if it's help. On my computer I never get any problem.
Message posted by michel on 2003/10/28 10:40:35
It seems to be OK.
I say it sems because the defect did not occured at each time, i'll confirm in few days.
Message posted by maybe Marcus on 2003/10/28 19:55:39
> On Windows the automatic opening of the browser is pretty

This feature is only available in the install for Windows, right? Because in 
Linux I don't remember seeing a browser being opened automatically after 
the install.
Message posted by hubert.tonneau on 2003/10/28 20:08:35
> This feature is only available in the install for Windows, right?

Yes, because under Linux, there is no standard way to find the browser
name.

If you want, I can lauch it when I discover a 'mozilla' executable, but
I doubt Linux users would like it.
One important reason is that Linux can be a multi user environment, and if I
pass the password in the command line, another user may see it through browsing
/proc directory. I know, it's a stupid Unix feature, but it's there. 
Message posted by maybe pom on 2003/10/29 06:44:02
On RedHat linux, there is a 90 lines long script shell, /usr/bin/htmlview, 
that seeks for a browser and launch it with the URL given as a parameter. 
It is, for instance, used for CUPS configuration (which is done through a 
local port using HTTP protocol). I don't know if the same script exists on 
Debian.

I don't think Linux users would mind if a browser was launched, because more
and more configuration tools (CUPS, Webmin, aso) already do it.
Message posted by hubert.tonneau on 2003/10/29 09:00:05
1) htmlview does not seem to be part of any Debian package.
2) the security issue still holds.
Message posted by marcus on 2003/11/19 13:57:43
Michel, I have reviewed the installation steps shown in the pliantdocs repository.
I've done that only for Linux users. Could you please verify if something is 
missing for Windows users?

The documentation is available at

http://playground.scs.ryerson.ca:8080/pliantdocs/babel/en/

As for the other OSs, could someoneelse proof-read it?

Thanks.

p.s.:

Next semester (January), I will be using Pliant in one of my courses (60 
students). Therefore, I would like to iron out all the details regarding 
installation before the Holidays.

Hubert, could you help me trace what is the problem with my secure proxy 
connection? I am still unable to upload tgz balls to extra1.fullpliant.org

Thanks.
Message posted by michel on 2003/11/19 15:10:00
Here id my direction for use :

Under Windows XP (or previous one)

- Chose the disk or partition where you want to install Pliant, we”ll call P this volume,

- download Pliant compressed archive file (for instance pliant-88.zip) where you want but don't forgot it. We advise to create a directory named P:/pliant/archives/ and make it the future archive directory for Pliant and corelated softwares,

- go to this directory and left click on pliant-88.zip, to unpack it, the destination must be P:/ . If you run a previous version of Windows, you have perhaps to install an unpacking tool, for example “PowerZip V4.02” which is free 
(e.g. http://patilec.free.fr/page1.htm ).

- go to “T:/pliant” directory and left click on fullpliant.exe file.
Pliant language is first precompiled, and the following lines then appear:

     WELCOME TO FULLPLIANT
     You need an account to be able to connect to your Pliant HTTP
     server through your favorite browser.
     User ID:

- You should enter a user id for the administrator of your Fullpliant system. After you will have pressed the Enter key, you will be asked for a password. This password will be used within Fullpliant world only. Once the password entered, 

- Fullpliant will precompile the HTTP server, and the following lines should eventually appear:

     HTTP server is running.
     Using your favorite browser, connect to the server via the URL
     http://localhost/ 

- and your favorite browse is automatically launched. 
Message posted by marcus on 2003/11/19 15:46:09
Thanks, Michel.

I have implemented your suggestions. Please proof-read it at 
http://playground.scs.ryerson.ca:8080/pliantdocs/babel/universal/pliant/welcome/install_step_by_step.html?os+%22win
Message posted by michel on 2003/11/19 17:09:11
I don't agree :
First, it it's not a good idea to install Pliant on C:\ directory because,
- the number of entries uner /C are limited by windows it is for that reaseon that a lot of win software are installed in c:\program files\
- if you have an havy problem with windows and have to format c:\ you lost Pliant and all you have putten undr \pliant\, don't forgott that yoy have no logical links under windows. I insist, by sad experience on the utility of creating a partition or to put a new disk for Pliant.

Second, winzip is not a free software, you have to pay for it, you can find a lot of freeware, but not th one indicated by Hubert which has desapeared.

Third, for windows user rhe sentence :
" Run the 'fullpliant' executable in the 'pliant' directory by left-clicking on the 'fullpliant' executable in your C:\ directory. " is not clear, I prefer :
" Run "fullpliant.exe" by left-clicking on it in the "P:\pliant" directory.

Forth, you also have to give a password.

Sorry, friendly

Michel
Message posted by marcus on 2003/11/19 17:31:55
Thanks. Fixed. Please verify.

Friendly, as usual.

Marcus
Message posted by michel on 2003/11/19 17:47:42
Nice but I have to be more explicit for the first sentence, please replace:
 "...to install Pliant in disk/partition P", by 
 "...to install Pliant in disk/partition P:\, you can install Pliant in C:\ 
but it is better to use a dedicated partition for Pliant and related applications."

Message posted by marcus on 2003/11/19 17:53:23
Done.
Message posted by hubert.tonneau on 2003/11/22 17:07:05
Release 89 is fixing a problem with the 'Test strong crypto access' not
propely discovering that configuration is wrong.
Does it help Marcus ?
Message posted by marcus on 2003/11/22 20:09:02
The problem is my pliantdocs tools are not compatible with Pliant newer releases.

So, on my end here, it might solve the test crypto process, but will render 
the documentation unaccessible.

Right?
Message posted by hubert.tonneau on 2003/11/23 15:22:15
We have some serious problem with documentation specific tools:
I have not written them, so don't want to maintain them because if people start
to send contributions without later maintaining, they will send more and more nice
but dirty tricks and I don't want to cope with those because it would prevent me
to face the main issue which is to provide an overall consistent system, and
keep it consistent over time.

So, for the documentation, you have several solutions:
. get an up to date version from the patch creator
. switch back your documentation pages to using the default style and discuss
  with me the extensions we might add to the main tree that would make the
  thing easier

Also, there is one very serious problem which is that documentation would need
a stable document model in Pliant, what we currently don't have. The problem is
even harder with multilingual support.
So, on one side with need to improve documentation right now,
and on the other one, proper tools will not be available sooner than in one or
two years.
Message posted by marcus on 2003/11/26 01:53:21
> . get an up to date version from the patch creator

I did not understand what you mean. 

> . switch back your documentation pages to using the default style and discuss
>   with me the extensions we might add to the main tree that would make the
>   thing easier

Wow. That would be tough. But we may have another, less drastic, solution:
Currently, the only doc.style specific tool I use is the 'sample' meta. Thus, I
wonder if it would be feasible to write a simple new doc.style which is basically
Pliant's default style. The only difference is that contains a mock 'sample'
meta which accepts the same syntax of the docstyle 'sample' meta, i.e.:

  sample label fileExtension
     program
       body

But produces a different effect: instead of creating that table-like cell which
shows an (optional) button 'Execute' on it, and shows the program 'body', it 
creates a simple table-like cell which just shows the heading 'label' and the 
program 'body'.

All I would need to do is to replace the current doc.style with this new one.

What do you think?