New installer available: Testers wanted

Lets not put BIRT in, we have Jasper, if people want BIRT they can download

and install it separately, its quite big…

Fine, but I need it here, and this was the original reason for the

installer, so I will have another version with BIRT.

  1. A “lite install” allowing the user to download and manually

install, with H2. . Footprint is around 60 MB.

This sounds good to me. I am envisioning this range of downloads:

A. Cross-platform Live package

(DHIS 2 Live with H2 as we have it today, no installer)

Well, we can build multiple native installers for the Live Package. it

is just an extra line in the Pom. If we need a multiple platforms

(Mac, Linux, etc) we can build it during the installer build. Of

course, people can just grab the zip file if they want, but BitRock

can build for multiple platforms.

B. Windows on-line installer

Similar to your 2. alternative.

C. Windows off-line installer.

Similar to your 1. alternative. A dedicated Java sounds like a good idea.

Can we achieve this simply by setting JAVA_HOME “temporarily” while starting

DHIS? I guess Bitrock allows for this…?

BitRock can do this, but it may influence other programs. Could the

Launch4j wrapper be used for this, or maybe an alternative environment

variable?

Not sure JAVA_HOME is necessary - we are not compiling anything. I think it could be sufficient to modify the menu shortcut links that start DHIS.

···

2010/3/2 Jason Pickering jason.p.pickering@gmail.com

D. Linux debian package

Bob’s deb as we have it today.

BitRock can also produce a RPM, Deb packages (somehow) but I have not

looked at the details. We might consider rolling all of this up into

BitRock at some point, but it is good to have the deb installer as

well.

Regards,

JPP

Jason P. Pickering

email: jason.p.pickering@gmail.com

tel:+260968395190


Cheers,
Knut Staring

Lets not put BIRT in, we have Jasper, if people want BIRT they can download

and install it separately, its quite big…

Fine, but I need it here, and this was the original reason for the

installer, so I will have another version with BIRT.

  1. A “lite install” allowing the user to download and manually

install, with H2. . Footprint is around 60 MB.

This sounds good to me. I am envisioning this range of downloads:

A. Cross-platform Live package

(DHIS 2 Live with H2 as we have it today, no installer)

Well, we can build multiple native installers for the Live Package. it

is just an extra line in the Pom. If we need a multiple platforms

(Mac, Linux, etc) we can build it during the installer build. Of

course, people can just grab the zip file if they want, but BitRock

can build for multiple platforms.

B. Windows on-line installer

Similar to your 2. alternative.

C. Windows off-line installer.

Similar to your 1. alternative. A dedicated Java sounds like a good idea.

Can we achieve this simply by setting JAVA_HOME “temporarily” while starting

DHIS? I guess Bitrock allows for this…?

BitRock can do this, but it may influence other programs. Could the

Launch4j wrapper be used for this, or maybe an alternative environment

variable?

Not sure JAVA_HOME is necessary - we are not compiling anything. I think it could be sufficient to modify the menu shortcut links that start DHIS.

We set this environment variable (should perhaps think of JAVA_OPTS as well) as a parameter temporarily on jetty startup, that way we are not interfering with how other systems use it. Not sure how you start up jetty, but if its a java -jar command we could just add JAVA_HOME=XX as a parameter to that command like we could add JAVA_OPTS=XX as well.

···

On 2 March 2010 09:21, Knut Staring knutst@gmail.com wrote:

2010/3/2 Jason Pickering jason.p.pickering@gmail.com

D. Linux debian package

Bob’s deb as we have it today.

BitRock can also produce a RPM, Deb packages (somehow) but I have not

looked at the details. We might consider rolling all of this up into

BitRock at some point, but it is good to have the deb installer as

well.

Regards,

JPP

Jason P. Pickering

email: jason.p.pickering@gmail.com

tel:+260968395190


Cheers,
Knut Staring


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

I am just chatting with Knut on this.

I think the better solution would be in the Launch4j exe, where we can
specify a path to the JRE with the <path> directive. We could do the
same for the launch.sh script on Linux. Jetty is called by the
Launch4j wrapper, which accept these parameters.

  <jre>
    <!-- Specify one of the following or both -->
    <path>bundled JRE path</path>
    <minVersion>x.x.x[_xx]</minVersion>
    <maxVersion>x.x.x[_xx]</maxVersion>
    <jdkPreference>jreOnly|preferJre|preferJdk|jdkOnly</jdkPreference>
    <!-- Heap sizes in MB and % of free memory -->
    <initialHeapSize>MB</initialHeapSize>
    <initialHeapPercent>%</initialHeapPercent>
    <maxHeapSize>MB</maxHeapSize>
    <maxHeapPercent>%</maxHeapPercent>
    <opt>text</opt>
    ...
  </jre>

So as long as we bundle the JRE (which sounds like what needs to be
done) then everything should work just fine. It will just increase the
size of the install by about 15 MB.

Maybe Lars or Bob could comment, but this seems like the solution to me.

Regards,
JPP

···

On Tue, Mar 2, 2010 at 10:37 AM, Ola Hodne Titlestad <olatitle@gmail.com> wrote:

On 2 March 2010 09:21, Knut Staring <knutst@gmail.com> wrote:

2010/3/2 Jason Pickering <jason.p.pickering@gmail.com>

>
> Lets not put BIRT in, we have Jasper, if people want BIRT they can
> download
> and install it separately, its quite big...
>

Fine, but I need it here, and this was the original reason for the
installer, so I will have another version with BIRT.

>>
>> 2) A "lite install" allowing the user to download and manually
>> install, with H2. . Footprint is around 60 MB.
>
> This sounds good to me. I am envisioning this range of downloads:
>
> A. Cross-platform Live package
> (DHIS 2 Live with H2 as we have it today, no installer)

Well, we can build multiple native installers for the Live Package. it
is just an extra line in the Pom. If we need a multiple platforms
(Mac, Linux, etc) we can build it during the installer build. Of
course, people can just grab the zip file if they want, but BitRock
can build for multiple platforms.

> B. Windows on-line installer
> Similar to your 2. alternative.
> C. Windows off-line installer.
> Similar to your 1. alternative. A dedicated Java sounds like a good
> idea.
> Can we achieve this simply by setting JAVA_HOME "temporarily" while
> starting
> DHIS? I guess Bitrock allows for this..?

BitRock can do this, but it may influence other programs. Could the
Launch4j wrapper be used for this, or maybe an alternative environment
variable?

Not sure JAVA_HOME is necessary - we are not compiling anything. I think
it could be sufficient to modify the menu shortcut links that start DHIS.

We set this environment variable (should perhaps think of JAVA_OPTS as well)
as a parameter temporarily on jetty startup, that way we are not interfering
with how other systems use it. Not sure how you start up jetty, but if its a
java -jar command we could just add JAVA_HOME=XX as a parameter to that
command like we could add JAVA_OPTS=XX as well.

> D. Linux debian package
> Bob's deb as we have it today.
>

BitRock can also produce a RPM, Deb packages (somehow) but I have not
looked at the details. We might consider rolling all of this up into
BitRock at some point, but it is good to have the deb installer as
well.

Regards,
JPP

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

--
Cheers,
Knut Staring

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

Using Launch4j seems good to me.

···

On Tue, Mar 2, 2010 at 9:47 AM, Jason Pickering jason.p.pickering@gmail.com wrote:

I am just chatting with Knut on this.

I think the better solution would be in the Launch4j exe, where we can

specify a path to the JRE with the directive. We could do the

same for the launch.sh script on Linux. Jetty is called by the

Launch4j wrapper, which accept these parameters.

<!-- Specify one of the following or both -->

<path>bundled JRE path</path>

<minVersion>x.x.x[_xx]</minVersion>

<maxVersion>x.x.x[_xx]</maxVersion>

<jdkPreference>jreOnly|preferJre|preferJdk|jdkOnly</jdkPreference>

<!-- Heap sizes in MB and % of free memory -->

<initialHeapSize>MB</initialHeapSize>

<initialHeapPercent>%</initialHeapPercent>

<maxHeapSize>MB</maxHeapSize>

<maxHeapPercent>%</maxHeapPercent>

<opt>text</opt>

...

So as long as we bundle the JRE (which sounds like what needs to be

done) then everything should work just fine. It will just increase the

size of the install by about 15 MB.

Hi all,

There are platform independent system variables that could be used by any Java installation in any environment, no need to spesify anything. Look here System Properties (The Java™ Tutorials > Essential Java Classes > The Platform Environment) and here http://www.mindspring.com/~mgrand/java-system-properties.htm\.

regards,
murod

···

----- Original Message ----
From: Jason Pickering <jason.p.pickering@gmail.com>
To: Ola Hodne Titlestad <olatitle@gmail.com>
Cc: dhis2-devs <dhis2-devs@lists.launchpad.net>
Sent: Tue, March 2, 2010 2:17:14 PM
Subject: Re: [Dhis2-devs] New installer available: Testers wanted

I am just chatting with Knut on this.

I think the better solution would be in the Launch4j exe, where we can
specify a path to the JRE with the <path> directive. We could do the
same for the launch.sh script on Linux. Jetty is called by the
Launch4j wrapper, which accept these parameters.

  <jre>
    <!-- Specify one of the following or both -->
    <path>bundled JRE path</path>
    <minVersion>x.x.x[_xx]</minVersion>
    <maxVersion>x.x.x[_xx]</maxVersion>
    <jdkPreference>jreOnly|preferJre|preferJdk|jdkOnly</jdkPreference>
    <!-- Heap sizes in MB and % of free memory -->
    <initialHeapSize>MB</initialHeapSize>
    <initialHeapPercent>%</initialHeapPercent>
    <maxHeapSize>MB</maxHeapSize>
    <maxHeapPercent>%</maxHeapPercent>
    <opt>text</opt>
    ...
  </jre>

So as long as we bundle the JRE (which sounds like what needs to be
done) then everything should work just fine. It will just increase the
size of the install by about 15 MB.

Maybe Lars or Bob could comment, but this seems like the solution to me.

Regards,
JPP

On Tue, Mar 2, 2010 at 10:37 AM, Ola Hodne Titlestad <olatitle@gmail.com> wrote:

On 2 March 2010 09:21, Knut Staring <knutst@gmail.com> wrote:

2010/3/2 Jason Pickering <jason.p.pickering@gmail.com>

>
> Lets not put BIRT in, we have Jasper, if people want BIRT they can
> download
> and install it separately, its quite big...
>

Fine, but I need it here, and this was the original reason for the
installer, so I will have another version with BIRT.

>>
>> 2) A "lite install" allowing the user to download and manually
>> install, with H2. . Footprint is around 60 MB.
>
> This sounds good to me. I am envisioning this range of downloads:
>
> A. Cross-platform Live package
> (DHIS 2 Live with H2 as we have it today, no installer)

Well, we can build multiple native installers for the Live Package. it
is just an extra line in the Pom. If we need a multiple platforms
(Mac, Linux, etc) we can build it during the installer build. Of
course, people can just grab the zip file if they want, but BitRock
can build for multiple platforms.

> B. Windows on-line installer
> Similar to your 2. alternative.
> C. Windows off-line installer.
> Similar to your 1. alternative. A dedicated Java sounds like a good
> idea.
> Can we achieve this simply by setting JAVA_HOME "temporarily" while
> starting
> DHIS? I guess Bitrock allows for this..?

BitRock can do this, but it may influence other programs. Could the
Launch4j wrapper be used for this, or maybe an alternative environment
variable?

Not sure JAVA_HOME is necessary - we are not compiling anything. I think
it could be sufficient to modify the menu shortcut links that start DHIS.

We set this environment variable (should perhaps think of JAVA_OPTS as well)
as a parameter temporarily on jetty startup, that way we are not interfering
with how other systems use it. Not sure how you start up jetty, but if its a
java -jar command we could just add JAVA_HOME=XX as a parameter to that
command like we could add JAVA_OPTS=XX as well.

> D. Linux debian package
> Bob's deb as we have it today.
>

BitRock can also produce a RPM, Deb packages (somehow) but I have not
looked at the details. We might consider rolling all of this up into
BitRock at some point, but it is good to have the deb installer as
well.

Regards,
JPP

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

--
Cheers,
Knut Staring

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

Hi there. Maybe we can discuss in Dushanbe next week, but as I see it,
I am not sure how to specify this at runtime with the Launch4j
wrapper.

Anyway, I have been doing a bit of testing while waiting for lots of
data to import, and can get the installer to trigger an unattended
Postgres installation, so I think the rest will be pretty easy.

Once I come up with something that actually works, I will commit it
back to the main branch for testing.

Regards,
Jason

···

On Tue, Mar 2, 2010 at 11:15 AM, Murodullo Latifov <murodlatifov@yahoo.com> wrote:

Hi all,

There are platform independent system variables that could be used by any Java installation in any environment, no need to spesify anything. Look here System Properties (The Java™ Tutorials > Essential Java Classes > The Platform Environment) and here http://www.mindspring.com/~mgrand/java-system-properties.htm\.

regards,
murod

----- Original Message ----
From: Jason Pickering <jason.p.pickering@gmail.com>
To: Ola Hodne Titlestad <olatitle@gmail.com>
Cc: dhis2-devs <dhis2-devs@lists.launchpad.net>
Sent: Tue, March 2, 2010 2:17:14 PM
Subject: Re: [Dhis2-devs] New installer available: Testers wanted

I am just chatting with Knut on this.

I think the better solution would be in the Launch4j exe, where we can
specify a path to the JRE with the <path> directive. We could do the
same for the launch.sh script on Linux. Jetty is called by the
Launch4j wrapper, which accept these parameters.

<jre>
<!-- Specify one of the following or both -->
<path>bundled JRE path</path>
<minVersion>x.x.x[_xx]</minVersion>
<maxVersion>x.x.x[_xx]</maxVersion>
<jdkPreference>jreOnly|preferJre|preferJdk|jdkOnly</jdkPreference>
<!-- Heap sizes in MB and % of free memory -->
<initialHeapSize>MB</initialHeapSize>
<initialHeapPercent>%</initialHeapPercent>
<maxHeapSize>MB</maxHeapSize>
<maxHeapPercent>%</maxHeapPercent>
<opt>text</opt>
...
</jre>

So as long as we bundle the JRE (which sounds like what needs to be
done) then everything should work just fine. It will just increase the
size of the install by about 15 MB.

Maybe Lars or Bob could comment, but this seems like the solution to me.

Regards,
JPP

On Tue, Mar 2, 2010 at 10:37 AM, Ola Hodne Titlestad <olatitle@gmail.com> wrote:

On 2 March 2010 09:21, Knut Staring <knutst@gmail.com> wrote:

2010/3/2 Jason Pickering <jason.p.pickering@gmail.com>

>
> Lets not put BIRT in, we have Jasper, if people want BIRT they can
> download
> and install it separately, its quite big...
>

Fine, but I need it here, and this was the original reason for the
installer, so I will have another version with BIRT.

>>
>> 2) A "lite install" allowing the user to download and manually
>> install, with H2. . Footprint is around 60 MB.
>
> This sounds good to me. I am envisioning this range of downloads:
>
> A. Cross-platform Live package
> (DHIS 2 Live with H2 as we have it today, no installer)

Well, we can build multiple native installers for the Live Package. it
is just an extra line in the Pom. If we need a multiple platforms
(Mac, Linux, etc) we can build it during the installer build. Of
course, people can just grab the zip file if they want, but BitRock
can build for multiple platforms.

> B. Windows on-line installer
> Similar to your 2. alternative.
> C. Windows off-line installer.
> Similar to your 1. alternative. A dedicated Java sounds like a good
> idea.
> Can we achieve this simply by setting JAVA_HOME "temporarily" while
> starting
> DHIS? I guess Bitrock allows for this..?

BitRock can do this, but it may influence other programs. Could the
Launch4j wrapper be used for this, or maybe an alternative environment
variable?

Not sure JAVA_HOME is necessary - we are not compiling anything. I think
it could be sufficient to modify the menu shortcut links that start DHIS.

We set this environment variable (should perhaps think of JAVA_OPTS as well)
as a parameter temporarily on jetty startup, that way we are not interfering
with how other systems use it. Not sure how you start up jetty, but if its a
java -jar command we could just add JAVA_HOME=XX as a parameter to that
command like we could add JAVA_OPTS=XX as well.

> D. Linux debian package
> Bob's deb as we have it today.
>

BitRock can also produce a RPM, Deb packages (somehow) but I have not
looked at the details. We might consider rolling all of this up into
BitRock at some point, but it is good to have the deb installer as
well.

Regards,
JPP

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

--
Cheers,
Knut Staring

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

OK. A quick update.

I managed to get DHIS+Postgres installed on a "clean" system, meaning
one without a Postgres user or previous install Postgres instance.
This is good, as this may be 90% of the cases we will encounter for a
first time install, but it is only part of the problem.

On a system with the postgres user already there, I do not know how to
get the password in order to start the windows service, where the
password needs to be set when the service is installed.

This is not a big deal if you can start the postgres DB from the
command line, but will users know to do this and-or can DHIS start it
if it is not started. So, it will install a new instance of postgres,
but, the service cannot be started, as the password is not correct.
Hmm..maybe there are some bright ideas out there. Perhaps we can set
it to the system account?

So basically, I can release tomorrow for testing an installer that
will install on system without a postgres user. I tried to install
Postgres as a different user by creating a different user account, but
the installer did not manage to create it. Will need some more work
here.

Let me know what you think.

Regards,
Jason

This is what the Netbeans-based installer is doing… Infact it is able to do that for Linux, Windows, Mac and Solaris from the beginning. It was able to detect mysql and jre’s installations on the system, tomcat was not detectable, which could have been detected from the registry or services like MySQL… but it was too much effort and I lost interest in developing that further…

Anyways, what happens when postgres/mysql/tomcat is already installed and running?? The bitrock installer screwed a few things and I know ppl just uninstall it and all the data entered just goes… Possibly most important for an installer is to understand what’s installed and not overwrite anything, which is why msi is so good for Windows.

···

Regards,
Saptarshi PURKAYASTHA
Director R & D, HISP India
Health Information Systems Programme

My Tech Blog: http://sunnytalkstech.blogspot.com

You Live by CHOICE, Not by CHANCE

2010/3/2 Jason Pickering jason.p.pickering@gmail.com

OK. A quick update.

I managed to get DHIS+Postgres installed on a “clean” system, meaning

one without a Postgres user or previous install Postgres instance.

This is good, as this may be 90% of the cases we will encounter for a

first time install, but it is only part of the problem.

On a system with the postgres user already there, I do not know how to

get the password in order to start the windows service, where the

password needs to be set when the service is installed.

This is not a big deal if you can start the postgres DB from the

command line, but will users know to do this and-or can DHIS start it

if it is not started. So, it will install a new instance of postgres,

but, the service cannot be started, as the password is not correct.

Hmm…maybe there are some bright ideas out there. Perhaps we can set

it to the system account?

So basically, I can release tomorrow for testing an installer that

will install on system without a postgres user. I tried to install

Postgres as a different user by creating a different user account, but

the installer did not manage to create it. Will need some more work

here.

Let me know what you think.

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Hi Saptarshi,

It will certainly be a lot of effort, but nothing compared to the
number of man hours devoted to DHIS2. If we cannot get this product
installed on more peoples machine's, all of that development effort is
just wasted. So, it is absolutely critical we get a good installer
together, regardless of the effort that is required.

Could you release what you did in NetBeans, and let others, like
myself that are in need of a proper installer, learn from what has
been done previously. Knut has provided valuable information to me
with a previous BitRock installer that he was working on.

I think there are ways to do this, but we will need to try and be a
bit more clever. :slight_smile:

Let me know what you think.

Regards,
Jason

···

On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha <sunbiz@gmail.com> wrote:

This is what the Netbeans-based installer is doing... Infact it is able to
do that for Linux, Windows, Mac and Solaris from the beginning. It was able
to detect mysql and jre's installations on the system, tomcat was not
detectable, which could have been detected from the registry or services
like MySQL... but it was too much effort and I lost interest in developing
that further...
Anyways, what happens when postgres/mysql/tomcat is already installed and
running?? The bitrock installer screwed a few things and I know ppl just
uninstall it and all the data entered just goes... Possibly most important
for an installer is to understand what's installed and not overwrite
anything, which is why msi is so good for Windows.

---
Regards,
Saptarshi PURKAYASTHA
Director R & D, HISP India
Health Information Systems Programme

My Tech Blog: http://sunnytalkstech.blogspot.com
You Live by CHOICE, Not by CHANCE

2010/3/2 Jason Pickering <jason.p.pickering@gmail.com>

OK. A quick update.

I managed to get DHIS+Postgres installed on a "clean" system, meaning
one without a Postgres user or previous install Postgres instance.
This is good, as this may be 90% of the cases we will encounter for a
first time install, but it is only part of the problem.

On a system with the postgres user already there, I do not know how to
get the password in order to start the windows service, where the
password needs to be set when the service is installed.

This is not a big deal if you can start the postgres DB from the
command line, but will users know to do this and-or can DHIS start it
if it is not started. So, it will install a new instance of postgres,
but, the service cannot be started, as the password is not correct.
Hmm..maybe there are some bright ideas out there. Perhaps we can set
it to the system account?

So basically, I can release tomorrow for testing an installer that
will install on system without a postgres user. I tried to install
Postgres as a different user by creating a different user account, but
the installer did not manage to create it. Will need some more work
here.

Let me know what you think.

Regards,
Jason

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

A couple of comments:

While it maybe somewhat instructive to have a look at the Netbeans installer, it was not targeted at Postgres and I doubt much of it would be transferable to BitRock.

Also, I really think we shouldn’t waste our time trying to detect all sorts of things. Rather, there are two options:

  1. Create a nonstandard username for Postgres (i.e. not “postgres”) and run it on a nonstandard port (i.e. not 5432). This should avoid 99% of conflicts

  2. State very clearly in the docs and on dhis2.org that the FULL installer is for people who don’t already have a database engine installed. If you already have Postgres, it would be much better to go with the minimal installer, which is just DHIS2 Live and a few links in the menu. THEN we add clear instructions as to how to modify hibernate.properties, and all is well.

Similar clear instructions for server installation, where the full installer would not be used would do the trick. I see very little value in putting more work into the installer at this point (beyond making Postgres an option).

I agree with Lars that we should strongly promote Postgres over Mysql (even more so after Oracle’s takeover). However, I think we should promote the use of H2 unless it is a server-type installation.

Knut

···

On Wed, Mar 3, 2010 at 6:01 AM, Jason Pickering jason.p.pickering@gmail.com wrote:

Hi Saptarshi,

It will certainly be a lot of effort, but nothing compared to the

number of man hours devoted to DHIS2. If we cannot get this product

installed on more peoples machine’s, all of that development effort is

just wasted. So, it is absolutely critical we get a good installer

together, regardless of the effort that is required.

Could you release what you did in NetBeans, and let others, like

myself that are in need of a proper installer, learn from what has

been done previously. Knut has provided valuable information to me

with a previous BitRock installer that he was working on.

I think there are ways to do this, but we will need to try and be a

bit more clever. :slight_smile:

Let me know what you think.

Regards,

Jason

On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha sunbiz@gmail.com wrote:

This is what the Netbeans-based installer is doing… Infact it is able to

do that for Linux, Windows, Mac and Solaris from the beginning. It was able

to detect mysql and jre’s installations on the system, tomcat was not

detectable, which could have been detected from the registry or services

like MySQL… but it was too much effort and I lost interest in developing

that further…

Anyways, what happens when postgres/mysql/tomcat is already installed and

running?? The bitrock installer screwed a few things and I know ppl just

uninstall it and all the data entered just goes… Possibly most important

for an installer is to understand what’s installed and not overwrite

anything, which is why msi is so good for Windows.


Regards,

Saptarshi PURKAYASTHA

Director R & D, HISP India

Health Information Systems Programme

My Tech Blog: http://sunnytalkstech.blogspot.com

You Live by CHOICE, Not by CHANCE

2010/3/2 Jason Pickering jason.p.pickering@gmail.com

OK. A quick update.

I managed to get DHIS+Postgres installed on a “clean” system, meaning

one without a Postgres user or previous install Postgres instance.

This is good, as this may be 90% of the cases we will encounter for a

first time install, but it is only part of the problem.

On a system with the postgres user already there, I do not know how to

get the password in order to start the windows service, where the

password needs to be set when the service is installed.

This is not a big deal if you can start the postgres DB from the

command line, but will users know to do this and-or can DHIS start it

if it is not started. So, it will install a new instance of postgres,

but, the service cannot be started, as the password is not correct.

Hmm…maybe there are some bright ideas out there. Perhaps we can set

it to the system account?

So basically, I can release tomorrow for testing an installer that

will install on system without a postgres user. I tried to install

Postgres as a different user by creating a different user account, but

the installer did not manage to create it. Will need some more work

here.

Let me know what you think.

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Jason P. Pickering

email: jason.p.pickering@gmail.com

tel:+260968395190


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp


Cheers,
Knut Staring

I think Knut has a very valid point and hence the reason I stopped working on the Netbeans installer is because I think its very complex and we don’t really need that complexity

In my opinion, the Bitrock installer was meeting the required goal of being able to put the components and then we run a .bat script. This is simple and I don’t see much sense in more effort

···

Regards,
Saptarshi PURKAYASTHA
Director R & D, HISP India
Health Information Systems Programme

My Tech Blog: http://sunnytalkstech.blogspot.com

You Live by CHOICE, Not by CHANCE

On 3 March 2010 09:27, Knut Staring knutst@gmail.com wrote:

A couple of comments:

While it maybe somewhat instructive to have a look at the Netbeans installer, it was not targeted at Postgres and I doubt much of it would be transferable to BitRock.

Also, I really think we shouldn’t waste our time trying to detect all sorts of things. Rather, there are two options:

  1. Create a nonstandard username for Postgres (i.e. not “postgres”) and run it on a nonstandard port (i.e. not 5432). This should avoid 99% of conflicts
  1. State very clearly in the docs and on dhis2.org that the FULL installer is for people who don’t already have a database engine installed. If you already have Postgres, it would be much better to go with the minimal installer, which is just DHIS2 Live and a few links in the menu. THEN we add clear instructions as to how to modify hibernate.properties, and all is well.

Similar clear instructions for server installation, where the full installer would not be used would do the trick. I see very little value in putting more work into the installer at this point (beyond making Postgres an option).

I agree with Lars that we should strongly promote Postgres over Mysql (even more so after Oracle’s takeover). However, I think we should promote the use of H2 unless it is a server-type installation.

Knut

On Wed, Mar 3, 2010 at 6:01 AM, Jason Pickering jason.p.pickering@gmail.com wrote:

Hi Saptarshi,

It will certainly be a lot of effort, but nothing compared to the

number of man hours devoted to DHIS2. If we cannot get this product

installed on more peoples machine’s, all of that development effort is

just wasted. So, it is absolutely critical we get a good installer

together, regardless of the effort that is required.

Could you release what you did in NetBeans, and let others, like

myself that are in need of a proper installer, learn from what has

been done previously. Knut has provided valuable information to me

with a previous BitRock installer that he was working on.

I think there are ways to do this, but we will need to try and be a

bit more clever. :slight_smile:

Let me know what you think.

Regards,

Jason

On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha sunbiz@gmail.com wrote:

This is what the Netbeans-based installer is doing… Infact it is able to

do that for Linux, Windows, Mac and Solaris from the beginning. It was able

to detect mysql and jre’s installations on the system, tomcat was not

detectable, which could have been detected from the registry or services

like MySQL… but it was too much effort and I lost interest in developing

that further…

Anyways, what happens when postgres/mysql/tomcat is already installed and

running?? The bitrock installer screwed a few things and I know ppl just

uninstall it and all the data entered just goes… Possibly most important

for an installer is to understand what’s installed and not overwrite

anything, which is why msi is so good for Windows.


Regards,

Saptarshi PURKAYASTHA

Director R & D, HISP India

Health Information Systems Programme

My Tech Blog: http://sunnytalkstech.blogspot.com

You Live by CHOICE, Not by CHANCE

2010/3/2 Jason Pickering jason.p.pickering@gmail.com

OK. A quick update.

I managed to get DHIS+Postgres installed on a “clean” system, meaning

one without a Postgres user or previous install Postgres instance.

This is good, as this may be 90% of the cases we will encounter for a

first time install, but it is only part of the problem.

On a system with the postgres user already there, I do not know how to

get the password in order to start the windows service, where the

password needs to be set when the service is installed.

This is not a big deal if you can start the postgres DB from the

command line, but will users know to do this and-or can DHIS start it

if it is not started. So, it will install a new instance of postgres,

but, the service cannot be started, as the password is not correct.

Hmm…maybe there are some bright ideas out there. Perhaps we can set

it to the system account?

So basically, I can release tomorrow for testing an installer that

will install on system without a postgres user. I tried to install

Postgres as a different user by creating a different user account, but

the installer did not manage to create it. Will need some more work

here.

Let me know what you think.

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Jason P. Pickering

email: jason.p.pickering@gmail.com

tel:+260968395190


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Cheers,
Knut Staring

Hi. Sounds reasonable. I have something right now that will install
postgres with a non-standard user name and on a non-standard port.
Clean up scripts delete this user after an uninstall as well. I am
just adding a registry check, and if there are any other versions of
postgres already installed, the installer will abort. What do you
think about this?

···

On Wed, Mar 3, 2010 at 10:27 AM, Knut Staring <knutst@gmail.com> wrote:

A couple of comments:
While it maybe somewhat instructive to have a look at the Netbeans
installer, it was not targeted at Postgres and I doubt much of it would be
transferable to BitRock.
Also, I really think we shouldn't waste our time trying to detect all sorts
of things. Rather, there are two options:
1) Create a nonstandard username for Postgres (i.e. not "postgres") and run
it on a nonstandard port (i.e. not 5432). This should avoid 99% of conflicts
2) State very clearly in the docs and on dhis2.org that the FULL installer
is for people who don't already have a database engine installed. If you
already have Postgres, it would be much better to go with the minimal
installer, which is just DHIS2 Live and a few links in the menu. THEN we add
clear instructions as to how to modify hibernate.properties, and all is
well.
Similar clear instructions for server installation, where the full installer
would not be used would do the trick. I see very little value in putting
more work into the installer at this point (beyond making Postgres an
option).
I agree with Lars that we should strongly promote Postgres over Mysql (even
more so after Oracle's takeover). However, I think we should promote the use
of H2 unless it is a server-type installation.
Knut

On Wed, Mar 3, 2010 at 6:01 AM, Jason Pickering > <jason.p.pickering@gmail.com> wrote:

Hi Saptarshi,

It will certainly be a lot of effort, but nothing compared to the
number of man hours devoted to DHIS2. If we cannot get this product
installed on more peoples machine's, all of that development effort is
just wasted. So, it is absolutely critical we get a good installer
together, regardless of the effort that is required.

Could you release what you did in NetBeans, and let others, like
myself that are in need of a proper installer, learn from what has
been done previously. Knut has provided valuable information to me
with a previous BitRock installer that he was working on.

I think there are ways to do this, but we will need to try and be a
bit more clever. :slight_smile:

Let me know what you think.

Regards,
Jason

On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha <sunbiz@gmail.com> >> wrote:
> This is what the Netbeans-based installer is doing... Infact it is able
> to
> do that for Linux, Windows, Mac and Solaris from the beginning. It was
> able
> to detect mysql and jre's installations on the system, tomcat was not
> detectable, which could have been detected from the registry or services
> like MySQL... but it was too much effort and I lost interest in
> developing
> that further...
> Anyways, what happens when postgres/mysql/tomcat is already installed
> and
> running?? The bitrock installer screwed a few things and I know ppl just
> uninstall it and all the data entered just goes... Possibly most
> important
> for an installer is to understand what's installed and not overwrite
> anything, which is why msi is so good for Windows.
>
> ---
> Regards,
> Saptarshi PURKAYASTHA
> Director R & D, HISP India
> Health Information Systems Programme
>
> My Tech Blog: http://sunnytalkstech.blogspot.com
> You Live by CHOICE, Not by CHANCE
>
>
> 2010/3/2 Jason Pickering <jason.p.pickering@gmail.com>
>>
>> OK. A quick update.
>>
>> I managed to get DHIS+Postgres installed on a "clean" system, meaning
>> one without a Postgres user or previous install Postgres instance.
>> This is good, as this may be 90% of the cases we will encounter for a
>> first time install, but it is only part of the problem.
>>
>> On a system with the postgres user already there, I do not know how to
>> get the password in order to start the windows service, where the
>> password needs to be set when the service is installed.
>>
>> This is not a big deal if you can start the postgres DB from the
>> command line, but will users know to do this and-or can DHIS start it
>> if it is not started. So, it will install a new instance of postgres,
>> but, the service cannot be started, as the password is not correct.
>> Hmm..maybe there are some bright ideas out there. Perhaps we can set
>> it to the system account?
>>
>> So basically, I can release tomorrow for testing an installer that
>> will install on system without a postgres user. I tried to install
>> Postgres as a different user by creating a different user account, but
>> the installer did not manage to create it. Will need some more work
>> here.
>>
>> Let me know what you think.
>>
>> Regards,
>> Jason
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs
>> Post to : dhis2-devs@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> More help : https://help.launchpad.net/ListHelp
>
>

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

--
Cheers,
Knut Staring

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

Are you installing Postgres as a service? I am agnostic as to whether that is a good idea, but if we do, we should probably call it dhis2postgres or similar (which is what we did before).

k

···

On Wed, Mar 3, 2010 at 10:23 AM, Jason Pickering jason.p.pickering@gmail.com wrote:

Hi. Sounds reasonable. I have something right now that will install

postgres with a non-standard user name and on a non-standard port.

Clean up scripts delete this user after an uninstall as well. I am

just adding a registry check, and if there are any other versions of

postgres already installed, the installer will abort. What do you

think about this?

On Wed, Mar 3, 2010 at 10:27 AM, Knut Staring knutst@gmail.com wrote:

A couple of comments:

While it maybe somewhat instructive to have a look at the Netbeans

installer, it was not targeted at Postgres and I doubt much of it would be

transferable to BitRock.

Also, I really think we shouldn’t waste our time trying to detect all sorts

of things. Rather, there are two options:

  1. Create a nonstandard username for Postgres (i.e. not “postgres”) and run

it on a nonstandard port (i.e. not 5432). This should avoid 99% of conflicts

  1. State very clearly in the docs and on dhis2.org that the FULL installer

is for people who don’t already have a database engine installed. If you

already have Postgres, it would be much better to go with the minimal

installer, which is just DHIS2 Live and a few links in the menu. THEN we add

clear instructions as to how to modify hibernate.properties, and all is

well.

Similar clear instructions for server installation, where the full installer

would not be used would do the trick. I see very little value in putting

more work into the installer at this point (beyond making Postgres an

option).

I agree with Lars that we should strongly promote Postgres over Mysql (even

more so after Oracle’s takeover). However, I think we should promote the use

of H2 unless it is a server-type installation.

Knut

On Wed, Mar 3, 2010 at 6:01 AM, Jason Pickering > > > jason.p.pickering@gmail.com wrote:

Hi Saptarshi,

It will certainly be a lot of effort, but nothing compared to the

number of man hours devoted to DHIS2. If we cannot get this product

installed on more peoples machine’s, all of that development effort is

just wasted. So, it is absolutely critical we get a good installer

together, regardless of the effort that is required.

Could you release what you did in NetBeans, and let others, like

myself that are in need of a proper installer, learn from what has

been done previously. Knut has provided valuable information to me

with a previous BitRock installer that he was working on.

I think there are ways to do this, but we will need to try and be a

bit more clever. :slight_smile:

Let me know what you think.

Regards,

Jason

On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha sunbiz@gmail.com > > >> wrote:

This is what the Netbeans-based installer is doing… Infact it is able

to

do that for Linux, Windows, Mac and Solaris from the beginning. It was

able

to detect mysql and jre’s installations on the system, tomcat was not

detectable, which could have been detected from the registry or services

like MySQL… but it was too much effort and I lost interest in

developing

that further…

Anyways, what happens when postgres/mysql/tomcat is already installed

and

running?? The bitrock installer screwed a few things and I know ppl just

uninstall it and all the data entered just goes… Possibly most

important

for an installer is to understand what’s installed and not overwrite

anything, which is why msi is so good for Windows.


Regards,

Saptarshi PURKAYASTHA

Director R & D, HISP India

Health Information Systems Programme

My Tech Blog: http://sunnytalkstech.blogspot.com

You Live by CHOICE, Not by CHANCE

2010/3/2 Jason Pickering jason.p.pickering@gmail.com

OK. A quick update.

I managed to get DHIS+Postgres installed on a “clean” system, meaning

one without a Postgres user or previous install Postgres instance.

This is good, as this may be 90% of the cases we will encounter for a

first time install, but it is only part of the problem.

On a system with the postgres user already there, I do not know how to

get the password in order to start the windows service, where the

password needs to be set when the service is installed.

This is not a big deal if you can start the postgres DB from the

command line, but will users know to do this and-or can DHIS start it

if it is not started. So, it will install a new instance of postgres,

but, the service cannot be started, as the password is not correct.

Hmm…maybe there are some bright ideas out there. Perhaps we can set

it to the system account?

So basically, I can release tomorrow for testing an installer that

will install on system without a postgres user. I tried to install

Postgres as a different user by creating a different user account, but

the installer did not manage to create it. Will need some more work

here.

Let me know what you think.

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Jason P. Pickering

email: jason.p.pickering@gmail.com

tel:+260968395190


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Cheers,

Knut Staring

Jason P. Pickering

email: jason.p.pickering@gmail.com

tel:+260968395190


Cheers,
Knut Staring

Yes, it is being installed as a service. There is no way (that I know
of) to kick Postgres into action with the DHIS2 live package, so it
needs to be running prior to DHIS2 trying to start.

···

On Wed, Mar 3, 2010 at 11:25 AM, Knut Staring <knutst@gmail.com> wrote:

Are you installing Postgres as a service? I am agnostic as to whether that
is a good idea, but if we do, we should probably call it dhis2postgres or
similar (which is what we did before).
k

On Wed, Mar 3, 2010 at 10:23 AM, Jason Pickering > <jason.p.pickering@gmail.com> wrote:

Hi. Sounds reasonable. I have something right now that will install
postgres with a non-standard user name and on a non-standard port.
Clean up scripts delete this user after an uninstall as well. I am
just adding a registry check, and if there are any other versions of
postgres already installed, the installer will abort. What do you
think about this?

On Wed, Mar 3, 2010 at 10:27 AM, Knut Staring <knutst@gmail.com> wrote:
> A couple of comments:
> While it maybe somewhat instructive to have a look at the Netbeans
> installer, it was not targeted at Postgres and I doubt much of it would
> be
> transferable to BitRock.
> Also, I really think we shouldn't waste our time trying to detect all
> sorts
> of things. Rather, there are two options:
> 1) Create a nonstandard username for Postgres (i.e. not "postgres") and
> run
> it on a nonstandard port (i.e. not 5432). This should avoid 99% of
> conflicts
> 2) State very clearly in the docs and on dhis2.org that the FULL
> installer
> is for people who don't already have a database engine installed. If you
> already have Postgres, it would be much better to go with the minimal
> installer, which is just DHIS2 Live and a few links in the menu. THEN we
> add
> clear instructions as to how to modify hibernate.properties, and all is
> well.
> Similar clear instructions for server installation, where the full
> installer
> would not be used would do the trick. I see very little value in putting
> more work into the installer at this point (beyond making Postgres an
> option).
> I agree with Lars that we should strongly promote Postgres over Mysql
> (even
> more so after Oracle's takeover). However, I think we should promote the
> use
> of H2 unless it is a server-type installation.
> Knut
>
> On Wed, Mar 3, 2010 at 6:01 AM, Jason Pickering >> > <jason.p.pickering@gmail.com> wrote:
>>
>> Hi Saptarshi,
>>
>> It will certainly be a lot of effort, but nothing compared to the
>> number of man hours devoted to DHIS2. If we cannot get this product
>> installed on more peoples machine's, all of that development effort is
>> just wasted. So, it is absolutely critical we get a good installer
>> together, regardless of the effort that is required.
>>
>>
>> Could you release what you did in NetBeans, and let others, like
>> myself that are in need of a proper installer, learn from what has
>> been done previously. Knut has provided valuable information to me
>> with a previous BitRock installer that he was working on.
>>
>> I think there are ways to do this, but we will need to try and be a
>> bit more clever. :slight_smile:
>>
>> Let me know what you think.
>>
>> Regards,
>> Jason
>>
>>
>> On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha >> >> <sunbiz@gmail.com> >> >> wrote:
>> > This is what the Netbeans-based installer is doing... Infact it is
>> > able
>> > to
>> > do that for Linux, Windows, Mac and Solaris from the beginning. It
>> > was
>> > able
>> > to detect mysql and jre's installations on the system, tomcat was not
>> > detectable, which could have been detected from the registry or
>> > services
>> > like MySQL... but it was too much effort and I lost interest in
>> > developing
>> > that further...
>> > Anyways, what happens when postgres/mysql/tomcat is already installed
>> > and
>> > running?? The bitrock installer screwed a few things and I know ppl
>> > just
>> > uninstall it and all the data entered just goes... Possibly most
>> > important
>> > for an installer is to understand what's installed and not overwrite
>> > anything, which is why msi is so good for Windows.
>> >
>> > ---
>> > Regards,
>> > Saptarshi PURKAYASTHA
>> > Director R & D, HISP India
>> > Health Information Systems Programme
>> >
>> > My Tech Blog: http://sunnytalkstech.blogspot.com
>> > You Live by CHOICE, Not by CHANCE
>> >
>> >
>> > 2010/3/2 Jason Pickering <jason.p.pickering@gmail.com>
>> >>
>> >> OK. A quick update.
>> >>
>> >> I managed to get DHIS+Postgres installed on a "clean" system,
>> >> meaning
>> >> one without a Postgres user or previous install Postgres instance.
>> >> This is good, as this may be 90% of the cases we will encounter for
>> >> a
>> >> first time install, but it is only part of the problem.
>> >>
>> >> On a system with the postgres user already there, I do not know how
>> >> to
>> >> get the password in order to start the windows service, where the
>> >> password needs to be set when the service is installed.
>> >>
>> >> This is not a big deal if you can start the postgres DB from the
>> >> command line, but will users know to do this and-or can DHIS start
>> >> it
>> >> if it is not started. So, it will install a new instance of
>> >> postgres,
>> >> but, the service cannot be started, as the password is not correct.
>> >> Hmm..maybe there are some bright ideas out there. Perhaps we can set
>> >> it to the system account?
>> >>
>> >> So basically, I can release tomorrow for testing an installer that
>> >> will install on system without a postgres user. I tried to install
>> >> Postgres as a different user by creating a different user account,
>> >> but
>> >> the installer did not manage to create it. Will need some more work
>> >> here.
>> >>
>> >> Let me know what you think.
>> >>
>> >> Regards,
>> >> Jason
>> >>
>> >> _______________________________________________
>> >> Mailing list: https://launchpad.net/~dhis2-devs
>> >> Post to : dhis2-devs@lists.launchpad.net
>> >> Unsubscribe : https://launchpad.net/~dhis2-devs
>> >> More help : https://help.launchpad.net/ListHelp
>> >
>> >
>>
>>
>>
>> --
>> --
>> Jason P. Pickering
>> email: jason.p.pickering@gmail.com
>> tel:+260968395190
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs
>> Post to : dhis2-devs@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> More help : https://help.launchpad.net/ListHelp
>
>
>
> --
> Cheers,
> Knut Staring
>

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

--
Cheers,
Knut Staring

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

If we are committed to using the dhis2-live model for the desktop
installs - with the tray icon+jetty+hibernate-points-to-whatever -
then it makes sense to expand on our current lonely "exit" option to
include others such as upgrading the war, updating the database and
what have you. This is also a direction it seems the openmrs guys are
considering taking with our approach. We can then build in as much or
as little flexibility is desired. There are many rich maintenance use
cases which we can deal with here rather than with an uber-smart
installer. The important thing with the trayicon app is that it has
full control over the webserver - so it could pause it, run psql or
mysql scripts - unpause etc. Also manage hibernate connections
through a nicer gui dialog than hand editing hibernate.properties.
There's a list of maintenance tasks which we should consider. Given
that it is easy for the app to read the hibernate.properties (and
manage the webserver) it could also be possible to intelligently
select between running pgdumps vs mysqldumps and restores and the
like. My two cents. Anyone interested in doing a little bit of
swing?

Cheers
Bob

···

On 3 March 2010 08:27, Knut Staring <knutst@gmail.com> wrote:

A couple of comments:
While it maybe somewhat instructive to have a look at the Netbeans
installer, it was not targeted at Postgres and I doubt much of it would be
transferable to BitRock.
Also, I really think we shouldn't waste our time trying to detect all sorts
of things. Rather, there are two options:
1) Create a nonstandard username for Postgres (i.e. not "postgres") and run
it on a nonstandard port (i.e. not 5432). This should avoid 99% of conflicts
2) State very clearly in the docs and on dhis2.org that the FULL installer
is for people who don't already have a database engine installed. If you
already have Postgres, it would be much better to go with the minimal
installer, which is just DHIS2 Live and a few links in the menu. THEN we add
clear instructions as to how to modify hibernate.properties, and all is
well.
Similar clear instructions for server installation, where the full installer
would not be used would do the trick. I see very little value in putting
more work into the installer at this point (beyond making Postgres an
option).
I agree with Lars that we should strongly promote Postgres over Mysql (even
more so after Oracle's takeover). However, I think we should promote the use
of H2 unless it is a server-type installation.
Knut

On Wed, Mar 3, 2010 at 6:01 AM, Jason Pickering > <jason.p.pickering@gmail.com> wrote:

Hi Saptarshi,

It will certainly be a lot of effort, but nothing compared to the
number of man hours devoted to DHIS2. If we cannot get this product
installed on more peoples machine's, all of that development effort is
just wasted. So, it is absolutely critical we get a good installer
together, regardless of the effort that is required.

Could you release what you did in NetBeans, and let others, like
myself that are in need of a proper installer, learn from what has
been done previously. Knut has provided valuable information to me
with a previous BitRock installer that he was working on.

I think there are ways to do this, but we will need to try and be a
bit more clever. :slight_smile:

Let me know what you think.

Regards,
Jason

On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha <sunbiz@gmail.com> >> wrote:
> This is what the Netbeans-based installer is doing... Infact it is able
> to
> do that for Linux, Windows, Mac and Solaris from the beginning. It was
> able
> to detect mysql and jre's installations on the system, tomcat was not
> detectable, which could have been detected from the registry or services
> like MySQL... but it was too much effort and I lost interest in
> developing
> that further...
> Anyways, what happens when postgres/mysql/tomcat is already installed
> and
> running?? The bitrock installer screwed a few things and I know ppl just
> uninstall it and all the data entered just goes... Possibly most
> important
> for an installer is to understand what's installed and not overwrite
> anything, which is why msi is so good for Windows.
>
> ---
> Regards,
> Saptarshi PURKAYASTHA
> Director R & D, HISP India
> Health Information Systems Programme
>
> My Tech Blog: http://sunnytalkstech.blogspot.com
> You Live by CHOICE, Not by CHANCE
>
>
> 2010/3/2 Jason Pickering <jason.p.pickering@gmail.com>
>>
>> OK. A quick update.
>>
>> I managed to get DHIS+Postgres installed on a "clean" system, meaning
>> one without a Postgres user or previous install Postgres instance.
>> This is good, as this may be 90% of the cases we will encounter for a
>> first time install, but it is only part of the problem.
>>
>> On a system with the postgres user already there, I do not know how to
>> get the password in order to start the windows service, where the
>> password needs to be set when the service is installed.
>>
>> This is not a big deal if you can start the postgres DB from the
>> command line, but will users know to do this and-or can DHIS start it
>> if it is not started. So, it will install a new instance of postgres,
>> but, the service cannot be started, as the password is not correct.
>> Hmm..maybe there are some bright ideas out there. Perhaps we can set
>> it to the system account?
>>
>> So basically, I can release tomorrow for testing an installer that
>> will install on system without a postgres user. I tried to install
>> Postgres as a different user by creating a different user account, but
>> the installer did not manage to create it. Will need some more work
>> here.
>>
>> Let me know what you think.
>>
>> Regards,
>> Jason
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs
>> Post to : dhis2-devs@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> More help : https://help.launchpad.net/ListHelp
>
>

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

--
Cheers,
Knut Staring

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

Not installing postgres as a Windows service would remove a
significant amount of the complexity of the installation. If it could
be done, it would really be great. So, prior to launching jetty,
Postgres would need to be fired up manually. It is certainly worth
considering if this is possible.

···

On Wed, Mar 3, 2010 at 11:31 AM, Bob Jolliffe <bobjolliffe@gmail.com> wrote:

If we are committed to using the dhis2-live model for the desktop
installs - with the tray icon+jetty+hibernate-points-to-whatever -
then it makes sense to expand on our current lonely "exit" option to
include others such as upgrading the war, updating the database and
what have you. This is also a direction it seems the openmrs guys are
considering taking with our approach. We can then build in as much or
as little flexibility is desired. There are many rich maintenance use
cases which we can deal with here rather than with an uber-smart
installer. The important thing with the trayicon app is that it has
full control over the webserver - so it could pause it, run psql or
mysql scripts - unpause etc. Also manage hibernate connections
through a nicer gui dialog than hand editing hibernate.properties.
There's a list of maintenance tasks which we should consider. Given
that it is easy for the app to read the hibernate.properties (and
manage the webserver) it could also be possible to intelligently
select between running pgdumps vs mysqldumps and restores and the
like. My two cents. Anyone interested in doing a little bit of
swing?

Cheers
Bob

On 3 March 2010 08:27, Knut Staring <knutst@gmail.com> wrote:

A couple of comments:
While it maybe somewhat instructive to have a look at the Netbeans
installer, it was not targeted at Postgres and I doubt much of it would be
transferable to BitRock.
Also, I really think we shouldn't waste our time trying to detect all sorts
of things. Rather, there are two options:
1) Create a nonstandard username for Postgres (i.e. not "postgres") and run
it on a nonstandard port (i.e. not 5432). This should avoid 99% of conflicts
2) State very clearly in the docs and on dhis2.org that the FULL installer
is for people who don't already have a database engine installed. If you
already have Postgres, it would be much better to go with the minimal
installer, which is just DHIS2 Live and a few links in the menu. THEN we add
clear instructions as to how to modify hibernate.properties, and all is
well.
Similar clear instructions for server installation, where the full installer
would not be used would do the trick. I see very little value in putting
more work into the installer at this point (beyond making Postgres an
option).
I agree with Lars that we should strongly promote Postgres over Mysql (even
more so after Oracle's takeover). However, I think we should promote the use
of H2 unless it is a server-type installation.
Knut

On Wed, Mar 3, 2010 at 6:01 AM, Jason Pickering >> <jason.p.pickering@gmail.com> wrote:

Hi Saptarshi,

It will certainly be a lot of effort, but nothing compared to the
number of man hours devoted to DHIS2. If we cannot get this product
installed on more peoples machine's, all of that development effort is
just wasted. So, it is absolutely critical we get a good installer
together, regardless of the effort that is required.

Could you release what you did in NetBeans, and let others, like
myself that are in need of a proper installer, learn from what has
been done previously. Knut has provided valuable information to me
with a previous BitRock installer that he was working on.

I think there are ways to do this, but we will need to try and be a
bit more clever. :slight_smile:

Let me know what you think.

Regards,
Jason

On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha <sunbiz@gmail.com> >>> wrote:
> This is what the Netbeans-based installer is doing... Infact it is able
> to
> do that for Linux, Windows, Mac and Solaris from the beginning. It was
> able
> to detect mysql and jre's installations on the system, tomcat was not
> detectable, which could have been detected from the registry or services
> like MySQL... but it was too much effort and I lost interest in
> developing
> that further...
> Anyways, what happens when postgres/mysql/tomcat is already installed
> and
> running?? The bitrock installer screwed a few things and I know ppl just
> uninstall it and all the data entered just goes... Possibly most
> important
> for an installer is to understand what's installed and not overwrite
> anything, which is why msi is so good for Windows.
>
> ---
> Regards,
> Saptarshi PURKAYASTHA
> Director R & D, HISP India
> Health Information Systems Programme
>
> My Tech Blog: http://sunnytalkstech.blogspot.com
> You Live by CHOICE, Not by CHANCE
>
>
> 2010/3/2 Jason Pickering <jason.p.pickering@gmail.com>
>>
>> OK. A quick update.
>>
>> I managed to get DHIS+Postgres installed on a "clean" system, meaning
>> one without a Postgres user or previous install Postgres instance.
>> This is good, as this may be 90% of the cases we will encounter for a
>> first time install, but it is only part of the problem.
>>
>> On a system with the postgres user already there, I do not know how to
>> get the password in order to start the windows service, where the
>> password needs to be set when the service is installed.
>>
>> This is not a big deal if you can start the postgres DB from the
>> command line, but will users know to do this and-or can DHIS start it
>> if it is not started. So, it will install a new instance of postgres,
>> but, the service cannot be started, as the password is not correct.
>> Hmm..maybe there are some bright ideas out there. Perhaps we can set
>> it to the system account?
>>
>> So basically, I can release tomorrow for testing an installer that
>> will install on system without a postgres user. I tried to install
>> Postgres as a different user by creating a different user account, but
>> the installer did not manage to create it. Will need some more work
>> here.
>>
>> Let me know what you think.
>>
>> Regards,
>> Jason
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs
>> Post to : dhis2-devs@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> More help : https://help.launchpad.net/ListHelp
>
>

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

--
Cheers,
Knut Staring

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

Not installing postgres as a Windows service would remove a
significant amount of the complexity of the installation. If it could
be done, it would really be great. So, prior to launching jetty,
Postgres would need to be fired up manually. It is certainly worth
considering if this is possible.

I guess that could be done from the tray app as well .. in fact it
probably could be done from within the dhis startup process itself.
On startup see if there is any pre-run shell script to run first by
checking for scripts somewhere in dhis2_home, if so run that first,
wait for it, then proceed to launch app. Gives me a few security
wobblies though :slight_smile:

···

On 3 March 2010 09:35, Jason Pickering <jason.p.pickering@gmail.com> wrote:

On Wed, Mar 3, 2010 at 11:31 AM, Bob Jolliffe <bobjolliffe@gmail.com> wrote:

If we are committed to using the dhis2-live model for the desktop
installs - with the tray icon+jetty+hibernate-points-to-whatever -
then it makes sense to expand on our current lonely "exit" option to
include others such as upgrading the war, updating the database and
what have you. This is also a direction it seems the openmrs guys are
considering taking with our approach. We can then build in as much or
as little flexibility is desired. There are many rich maintenance use
cases which we can deal with here rather than with an uber-smart
installer. The important thing with the trayicon app is that it has
full control over the webserver - so it could pause it, run psql or
mysql scripts - unpause etc. Also manage hibernate connections
through a nicer gui dialog than hand editing hibernate.properties.
There's a list of maintenance tasks which we should consider. Given
that it is easy for the app to read the hibernate.properties (and
manage the webserver) it could also be possible to intelligently
select between running pgdumps vs mysqldumps and restores and the
like. My two cents. Anyone interested in doing a little bit of
swing?

Cheers
Bob

On 3 March 2010 08:27, Knut Staring <knutst@gmail.com> wrote:

A couple of comments:
While it maybe somewhat instructive to have a look at the Netbeans
installer, it was not targeted at Postgres and I doubt much of it would be
transferable to BitRock.
Also, I really think we shouldn't waste our time trying to detect all sorts
of things. Rather, there are two options:
1) Create a nonstandard username for Postgres (i.e. not "postgres") and run
it on a nonstandard port (i.e. not 5432). This should avoid 99% of conflicts
2) State very clearly in the docs and on dhis2.org that the FULL installer
is for people who don't already have a database engine installed. If you
already have Postgres, it would be much better to go with the minimal
installer, which is just DHIS2 Live and a few links in the menu. THEN we add
clear instructions as to how to modify hibernate.properties, and all is
well.
Similar clear instructions for server installation, where the full installer
would not be used would do the trick. I see very little value in putting
more work into the installer at this point (beyond making Postgres an
option).
I agree with Lars that we should strongly promote Postgres over Mysql (even
more so after Oracle's takeover). However, I think we should promote the use
of H2 unless it is a server-type installation.
Knut

On Wed, Mar 3, 2010 at 6:01 AM, Jason Pickering >>> <jason.p.pickering@gmail.com> wrote:

Hi Saptarshi,

It will certainly be a lot of effort, but nothing compared to the
number of man hours devoted to DHIS2. If we cannot get this product
installed on more peoples machine's, all of that development effort is
just wasted. So, it is absolutely critical we get a good installer
together, regardless of the effort that is required.

Could you release what you did in NetBeans, and let others, like
myself that are in need of a proper installer, learn from what has
been done previously. Knut has provided valuable information to me
with a previous BitRock installer that he was working on.

I think there are ways to do this, but we will need to try and be a
bit more clever. :slight_smile:

Let me know what you think.

Regards,
Jason

On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha <sunbiz@gmail.com> >>>> wrote:
> This is what the Netbeans-based installer is doing... Infact it is able
> to
> do that for Linux, Windows, Mac and Solaris from the beginning. It was
> able
> to detect mysql and jre's installations on the system, tomcat was not
> detectable, which could have been detected from the registry or services
> like MySQL... but it was too much effort and I lost interest in
> developing
> that further...
> Anyways, what happens when postgres/mysql/tomcat is already installed
> and
> running?? The bitrock installer screwed a few things and I know ppl just
> uninstall it and all the data entered just goes... Possibly most
> important
> for an installer is to understand what's installed and not overwrite
> anything, which is why msi is so good for Windows.
>
> ---
> Regards,
> Saptarshi PURKAYASTHA
> Director R & D, HISP India
> Health Information Systems Programme
>
> My Tech Blog: http://sunnytalkstech.blogspot.com
> You Live by CHOICE, Not by CHANCE
>
>
> 2010/3/2 Jason Pickering <jason.p.pickering@gmail.com>
>>
>> OK. A quick update.
>>
>> I managed to get DHIS+Postgres installed on a "clean" system, meaning
>> one without a Postgres user or previous install Postgres instance.
>> This is good, as this may be 90% of the cases we will encounter for a
>> first time install, but it is only part of the problem.
>>
>> On a system with the postgres user already there, I do not know how to
>> get the password in order to start the windows service, where the
>> password needs to be set when the service is installed.
>>
>> This is not a big deal if you can start the postgres DB from the
>> command line, but will users know to do this and-or can DHIS start it
>> if it is not started. So, it will install a new instance of postgres,
>> but, the service cannot be started, as the password is not correct.
>> Hmm..maybe there are some bright ideas out there. Perhaps we can set
>> it to the system account?
>>
>> So basically, I can release tomorrow for testing an installer that
>> will install on system without a postgres user. I tried to install
>> Postgres as a different user by creating a different user account, but
>> the installer did not manage to create it. Will need some more work
>> here.
>>
>> Let me know what you think.
>>
>> Regards,
>> Jason
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs
>> Post to : dhis2-devs@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> More help : https://help.launchpad.net/ListHelp
>
>

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

--
Cheers,
Knut Staring

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

I’m pretty sure it is - and I think I did it (though I certainly also used it as service). Looking through my bat scripts (attached) I see this line:

@@DHIS2DIR@@\pgsql\bin\pg_ctl start -D @@DHIS2DIR@@\pgsql\data

tools.7z (9.45 KB)

···

On Wed, Mar 3, 2010 at 10:35 AM, Jason Pickering jason.p.pickering@gmail.com wrote:

Not installing postgres as a Windows service would remove a

significant amount of the complexity of the installation. If it could

be done, it would really be great. So, prior to launching jetty,

Postgres would need to be fired up manually. It is certainly worth

considering if this is possible.

On Wed, Mar 3, 2010 at 11:31 AM, Bob Jolliffe bobjolliffe@gmail.com wrote:

If we are committed to using the dhis2-live model for the desktop

installs - with the tray icon+jetty+hibernate-points-to-whatever -

then it makes sense to expand on our current lonely “exit” option to

include others such as upgrading the war, updating the database and

what have you. This is also a direction it seems the openmrs guys are

considering taking with our approach. We can then build in as much or

as little flexibility is desired. There are many rich maintenance use

cases which we can deal with here rather than with an uber-smart

installer. The important thing with the trayicon app is that it has

full control over the webserver - so it could pause it, run psql or

mysql scripts - unpause etc. Also manage hibernate connections

through a nicer gui dialog than hand editing hibernate.properties.

There’s a list of maintenance tasks which we should consider. Given

that it is easy for the app to read the hibernate.properties (and

manage the webserver) it could also be possible to intelligently

select between running pgdumps vs mysqldumps and restores and the

like. My two cents. Anyone interested in doing a little bit of

swing?

Cheers

Bob

On 3 March 2010 08:27, Knut Staring knutst@gmail.com wrote:

A couple of comments:

While it maybe somewhat instructive to have a look at the Netbeans

installer, it was not targeted at Postgres and I doubt much of it would be

transferable to BitRock.

Also, I really think we shouldn’t waste our time trying to detect all sorts

of things. Rather, there are two options:

  1. Create a nonstandard username for Postgres (i.e. not “postgres”) and run

it on a nonstandard port (i.e. not 5432). This should avoid 99% of conflicts

  1. State very clearly in the docs and on dhis2.org that the FULL installer

is for people who don’t already have a database engine installed. If you

already have Postgres, it would be much better to go with the minimal

installer, which is just DHIS2 Live and a few links in the menu. THEN we add

clear instructions as to how to modify hibernate.properties, and all is

well.

Similar clear instructions for server installation, where the full installer

would not be used would do the trick. I see very little value in putting

more work into the installer at this point (beyond making Postgres an

option).

I agree with Lars that we should strongly promote Postgres over Mysql (even

more so after Oracle’s takeover). However, I think we should promote the use

of H2 unless it is a server-type installation.

Knut

On Wed, Mar 3, 2010 at 6:01 AM, Jason Pickering > > >> jason.p.pickering@gmail.com wrote:

Hi Saptarshi,

It will certainly be a lot of effort, but nothing compared to the

number of man hours devoted to DHIS2. If we cannot get this product

installed on more peoples machine’s, all of that development effort is

just wasted. So, it is absolutely critical we get a good installer

together, regardless of the effort that is required.

Could you release what you did in NetBeans, and let others, like

myself that are in need of a proper installer, learn from what has

been done previously. Knut has provided valuable information to me

with a previous BitRock installer that he was working on.

I think there are ways to do this, but we will need to try and be a

bit more clever. :slight_smile:

Let me know what you think.

Regards,

Jason

On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha sunbiz@gmail.com > > >>> wrote:

This is what the Netbeans-based installer is doing… Infact it is able

to

do that for Linux, Windows, Mac and Solaris from the beginning. It was

able

to detect mysql and jre’s installations on the system, tomcat was not

detectable, which could have been detected from the registry or services

like MySQL… but it was too much effort and I lost interest in

developing

that further…

Anyways, what happens when postgres/mysql/tomcat is already installed

and

running?? The bitrock installer screwed a few things and I know ppl just

uninstall it and all the data entered just goes… Possibly most

important

for an installer is to understand what’s installed and not overwrite

anything, which is why msi is so good for Windows.


Regards,

Saptarshi PURKAYASTHA

Director R & D, HISP India

Health Information Systems Programme

My Tech Blog: http://sunnytalkstech.blogspot.com

You Live by CHOICE, Not by CHANCE

2010/3/2 Jason Pickering jason.p.pickering@gmail.com

OK. A quick update.

I managed to get DHIS+Postgres installed on a “clean” system, meaning

one without a Postgres user or previous install Postgres instance.

This is good, as this may be 90% of the cases we will encounter for a

first time install, but it is only part of the problem.

On a system with the postgres user already there, I do not know how to

get the password in order to start the windows service, where the

password needs to be set when the service is installed.

This is not a big deal if you can start the postgres DB from the

command line, but will users know to do this and-or can DHIS start it

if it is not started. So, it will install a new instance of postgres,

but, the service cannot be started, as the password is not correct.

Hmm…maybe there are some bright ideas out there. Perhaps we can set

it to the system account?

So basically, I can release tomorrow for testing an installer that

will install on system without a postgres user. I tried to install

Postgres as a different user by creating a different user account, but

the installer did not manage to create it. Will need some more work

here.

Let me know what you think.

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Jason P. Pickering

email: jason.p.pickering@gmail.com

tel:+260968395190


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Cheers,

Knut Staring


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Jason P. Pickering

email: jason.p.pickering@gmail.com

tel:+260968395190


Cheers,
Knut Staring

Yeah, it is certainly possible, but this is not how the DHIS2 live app
is launched. It is not launched with a bat script.

So, if we want users to have a "double clickable" icon to start the
application and not a batch file, then it would need to occur from
within the DHIS2 Live EXE itself. That is how I see it, but maybe Bob
has other comments.

The downside of this is that users may need the Postgres service
running anyway, for instance if they need to use the PivotTables
without having DHIS2 running.

I think a service is the best way to go at this point for the Desktop
install. It is not that much more complex to add a custom user and a
custom service. Comments welcome however.

···

On Wed, Mar 3, 2010 at 11:45 AM, Knut Staring <knutst@gmail.com> wrote:

I'm pretty sure it is - and I think I did it (though I certainly also used
it as service). Looking through my bat scripts (attached) I see this line:
@@DHIS2DIR@@\pgsql\bin\pg_ctl start -D @@DHIS2DIR@@\pgsql\data

On Wed, Mar 3, 2010 at 10:35 AM, Jason Pickering > <jason.p.pickering@gmail.com> wrote:

Not installing postgres as a Windows service would remove a
significant amount of the complexity of the installation. If it could
be done, it would really be great. So, prior to launching jetty,
Postgres would need to be fired up manually. It is certainly worth
considering if this is possible.

On Wed, Mar 3, 2010 at 11:31 AM, Bob Jolliffe <bobjolliffe@gmail.com> >> wrote:
> If we are committed to using the dhis2-live model for the desktop
> installs - with the tray icon+jetty+hibernate-points-to-whatever -
> then it makes sense to expand on our current lonely "exit" option to
> include others such as upgrading the war, updating the database and
> what have you. This is also a direction it seems the openmrs guys are
> considering taking with our approach. We can then build in as much or
> as little flexibility is desired. There are many rich maintenance use
> cases which we can deal with here rather than with an uber-smart
> installer. The important thing with the trayicon app is that it has
> full control over the webserver - so it could pause it, run psql or
> mysql scripts - unpause etc. Also manage hibernate connections
> through a nicer gui dialog than hand editing hibernate.properties.
> There's a list of maintenance tasks which we should consider. Given
> that it is easy for the app to read the hibernate.properties (and
> manage the webserver) it could also be possible to intelligently
> select between running pgdumps vs mysqldumps and restores and the
> like. My two cents. Anyone interested in doing a little bit of
> swing?
>
> Cheers
> Bob
>
> On 3 March 2010 08:27, Knut Staring <knutst@gmail.com> wrote:
>> A couple of comments:
>> While it maybe somewhat instructive to have a look at the Netbeans
>> installer, it was not targeted at Postgres and I doubt much of it would
>> be
>> transferable to BitRock.
>> Also, I really think we shouldn't waste our time trying to detect all
>> sorts
>> of things. Rather, there are two options:
>> 1) Create a nonstandard username for Postgres (i.e. not "postgres") and
>> run
>> it on a nonstandard port (i.e. not 5432). This should avoid 99% of
>> conflicts
>> 2) State very clearly in the docs and on dhis2.org that the FULL
>> installer
>> is for people who don't already have a database engine installed. If
>> you
>> already have Postgres, it would be much better to go with the minimal
>> installer, which is just DHIS2 Live and a few links in the menu. THEN
>> we add
>> clear instructions as to how to modify hibernate.properties, and all is
>> well.
>> Similar clear instructions for server installation, where the full
>> installer
>> would not be used would do the trick. I see very little value in
>> putting
>> more work into the installer at this point (beyond making Postgres an
>> option).
>> I agree with Lars that we should strongly promote Postgres over Mysql
>> (even
>> more so after Oracle's takeover). However, I think we should promote
>> the use
>> of H2 unless it is a server-type installation.
>> Knut
>>
>> On Wed, Mar 3, 2010 at 6:01 AM, Jason Pickering >> >> <jason.p.pickering@gmail.com> wrote:
>>>
>>> Hi Saptarshi,
>>>
>>> It will certainly be a lot of effort, but nothing compared to the
>>> number of man hours devoted to DHIS2. If we cannot get this product
>>> installed on more peoples machine's, all of that development effort is
>>> just wasted. So, it is absolutely critical we get a good installer
>>> together, regardless of the effort that is required.
>>>
>>>
>>> Could you release what you did in NetBeans, and let others, like
>>> myself that are in need of a proper installer, learn from what has
>>> been done previously. Knut has provided valuable information to me
>>> with a previous BitRock installer that he was working on.
>>>
>>> I think there are ways to do this, but we will need to try and be a
>>> bit more clever. :slight_smile:
>>>
>>> Let me know what you think.
>>>
>>> Regards,
>>> Jason
>>>
>>>
>>> On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha >> >>> <sunbiz@gmail.com> >> >>> wrote:
>>> > This is what the Netbeans-based installer is doing... Infact it is
>>> > able
>>> > to
>>> > do that for Linux, Windows, Mac and Solaris from the beginning. It
>>> > was
>>> > able
>>> > to detect mysql and jre's installations on the system, tomcat was
>>> > not
>>> > detectable, which could have been detected from the registry or
>>> > services
>>> > like MySQL... but it was too much effort and I lost interest in
>>> > developing
>>> > that further...
>>> > Anyways, what happens when postgres/mysql/tomcat is already
>>> > installed
>>> > and
>>> > running?? The bitrock installer screwed a few things and I know ppl
>>> > just
>>> > uninstall it and all the data entered just goes... Possibly most
>>> > important
>>> > for an installer is to understand what's installed and not overwrite
>>> > anything, which is why msi is so good for Windows.
>>> >
>>> > ---
>>> > Regards,
>>> > Saptarshi PURKAYASTHA
>>> > Director R & D, HISP India
>>> > Health Information Systems Programme
>>> >
>>> > My Tech Blog: http://sunnytalkstech.blogspot.com
>>> > You Live by CHOICE, Not by CHANCE
>>> >
>>> >
>>> > 2010/3/2 Jason Pickering <jason.p.pickering@gmail.com>
>>> >>
>>> >> OK. A quick update.
>>> >>
>>> >> I managed to get DHIS+Postgres installed on a "clean" system,
>>> >> meaning
>>> >> one without a Postgres user or previous install Postgres instance.
>>> >> This is good, as this may be 90% of the cases we will encounter for
>>> >> a
>>> >> first time install, but it is only part of the problem.
>>> >>
>>> >> On a system with the postgres user already there, I do not know how
>>> >> to
>>> >> get the password in order to start the windows service, where the
>>> >> password needs to be set when the service is installed.
>>> >>
>>> >> This is not a big deal if you can start the postgres DB from the
>>> >> command line, but will users know to do this and-or can DHIS start
>>> >> it
>>> >> if it is not started. So, it will install a new instance of
>>> >> postgres,
>>> >> but, the service cannot be started, as the password is not correct.
>>> >> Hmm..maybe there are some bright ideas out there. Perhaps we can
>>> >> set
>>> >> it to the system account?
>>> >>
>>> >> So basically, I can release tomorrow for testing an installer that
>>> >> will install on system without a postgres user. I tried to install
>>> >> Postgres as a different user by creating a different user account,
>>> >> but
>>> >> the installer did not manage to create it. Will need some more work
>>> >> here.
>>> >>
>>> >> Let me know what you think.
>>> >>
>>> >> Regards,
>>> >> Jason
>>> >>
>>> >> _______________________________________________
>>> >> Mailing list: https://launchpad.net/~dhis2-devs
>>> >> Post to : dhis2-devs@lists.launchpad.net
>>> >> Unsubscribe : https://launchpad.net/~dhis2-devs
>>> >> More help : https://help.launchpad.net/ListHelp
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> --
>>> Jason P. Pickering
>>> email: jason.p.pickering@gmail.com
>>> tel:+260968395190
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~dhis2-devs
>>> Post to : dhis2-devs@lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>> More help : https://help.launchpad.net/ListHelp
>>
>>
>>
>> --
>> Cheers,
>> Knut Staring
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs
>> Post to : dhis2-devs@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> More help : https://help.launchpad.net/ListHelp
>>
>>
>

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

--
Cheers,
Knut Staring

--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190

Yeah, it is certainly possible, but this is not how the DHIS2 live app

is launched. It is not launched with a bat script.

So, if we want users to have a “double clickable” icon to start the

application and not a batch file, then it would need to occur from

within the DHIS2 Live EXE itself. That is how I see it, but maybe Bob

has other comments.

The downside of this is that users may need the Postgres service

running anyway, for instance if they need to use the PivotTables

without having DHIS2 running.

Well, could be a resource issue, of course - you’d rather not have Jetty eat resources when not needed. On the other hand, the Postgres service would always be running (assuming you set it to automatic). I don’t think it would be to onerous to ask a user to start DHIS2 before refreshing the Pivot table, but the resource issue could be real.

I think a service is the best way to go at this point for the Desktop

install. It is not that much more complex to add a custom user and a

custom service. Comments welcome however.

I say go with what is easiest for you. But I in general like the use of the tray application, especially if we can get developers from OpenMRS working on it. We could perhaps also use it for the Public Health Information Toolkit (PHIT)

http://www.openhealthconsortium.org/wiki/doku.php?id=phit

The needs of many tools are very similar - even PHP apps like iHRIS perhaps, if ran on Quercus http://quercus.caucho.com/ as Saptarshi has suggested. So the Launcher/installer/updater could be factored out as a separate project, perhaps (though I know you just merged the installer it with trunk…)

Knut

···

On Wed, Mar 3, 2010 at 10:49 AM, Jason Pickering jason.p.pickering@gmail.com wrote:

On Wed, Mar 3, 2010 at 11:45 AM, Knut Staring knutst@gmail.com wrote:

I’m pretty sure it is - and I think I did it (though I certainly also used

it as service). Looking through my bat scripts (attached) I see this line:

@@DHIS2DIR@@\pgsql\bin\pg_ctl start -D @@DHIS2DIR@@\pgsql\data

On Wed, Mar 3, 2010 at 10:35 AM, Jason Pickering > > > jason.p.pickering@gmail.com wrote:

Not installing postgres as a Windows service would remove a

significant amount of the complexity of the installation. If it could

be done, it would really be great. So, prior to launching jetty,

Postgres would need to be fired up manually. It is certainly worth

considering if this is possible.

On Wed, Mar 3, 2010 at 11:31 AM, Bob Jolliffe bobjolliffe@gmail.com > > >> wrote:

If we are committed to using the dhis2-live model for the desktop

installs - with the tray icon+jetty+hibernate-points-to-whatever -

then it makes sense to expand on our current lonely “exit” option to

include others such as upgrading the war, updating the database and

what have you. This is also a direction it seems the openmrs guys are

considering taking with our approach. We can then build in as much or

as little flexibility is desired. There are many rich maintenance use

cases which we can deal with here rather than with an uber-smart

installer. The important thing with the trayicon app is that it has

full control over the webserver - so it could pause it, run psql or

mysql scripts - unpause etc. Also manage hibernate connections

through a nicer gui dialog than hand editing hibernate.properties.

There’s a list of maintenance tasks which we should consider. Given

that it is easy for the app to read the hibernate.properties (and

manage the webserver) it could also be possible to intelligently

select between running pgdumps vs mysqldumps and restores and the

like. My two cents. Anyone interested in doing a little bit of

swing?

Cheers

Bob

On 3 March 2010 08:27, Knut Staring knutst@gmail.com wrote:

A couple of comments:

While it maybe somewhat instructive to have a look at the Netbeans

installer, it was not targeted at Postgres and I doubt much of it would

be

transferable to BitRock.

Also, I really think we shouldn’t waste our time trying to detect all

sorts

of things. Rather, there are two options:

  1. Create a nonstandard username for Postgres (i.e. not “postgres”) and

run

it on a nonstandard port (i.e. not 5432). This should avoid 99% of

conflicts

  1. State very clearly in the docs and on dhis2.org that the FULL

installer

is for people who don’t already have a database engine installed. If

you

already have Postgres, it would be much better to go with the minimal

installer, which is just DHIS2 Live and a few links in the menu. THEN

we add

clear instructions as to how to modify hibernate.properties, and all is

well.

Similar clear instructions for server installation, where the full

installer

would not be used would do the trick. I see very little value in

putting

more work into the installer at this point (beyond making Postgres an

option).

I agree with Lars that we should strongly promote Postgres over Mysql

(even

more so after Oracle’s takeover). However, I think we should promote

the use

of H2 unless it is a server-type installation.

Knut

On Wed, Mar 3, 2010 at 6:01 AM, Jason Pickering > > >> >> jason.p.pickering@gmail.com wrote:

Hi Saptarshi,

It will certainly be a lot of effort, but nothing compared to the

number of man hours devoted to DHIS2. If we cannot get this product

installed on more peoples machine’s, all of that development effort is

just wasted. So, it is absolutely critical we get a good installer

together, regardless of the effort that is required.

Could you release what you did in NetBeans, and let others, like

myself that are in need of a proper installer, learn from what has

been done previously. Knut has provided valuable information to me

with a previous BitRock installer that he was working on.

I think there are ways to do this, but we will need to try and be a

bit more clever. :slight_smile:

Let me know what you think.

Regards,

Jason

On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha > > >> >>> sunbiz@gmail.com > > >> >>> wrote:

This is what the Netbeans-based installer is doing… Infact it is

able

to

do that for Linux, Windows, Mac and Solaris from the beginning. It

was

able

to detect mysql and jre’s installations on the system, tomcat was

not

detectable, which could have been detected from the registry or

services

like MySQL… but it was too much effort and I lost interest in

developing

that further…

Anyways, what happens when postgres/mysql/tomcat is already

installed

and

running?? The bitrock installer screwed a few things and I know ppl

just

uninstall it and all the data entered just goes… Possibly most

important

for an installer is to understand what’s installed and not overwrite

anything, which is why msi is so good for Windows.


Regards,

Saptarshi PURKAYASTHA

Director R & D, HISP India

Health Information Systems Programme

My Tech Blog: http://sunnytalkstech.blogspot.com

You Live by CHOICE, Not by CHANCE

2010/3/2 Jason Pickering jason.p.pickering@gmail.com

OK. A quick update.

I managed to get DHIS+Postgres installed on a “clean” system,

meaning

one without a Postgres user or previous install Postgres instance.

This is good, as this may be 90% of the cases we will encounter for

a

first time install, but it is only part of the problem.

On a system with the postgres user already there, I do not know how

to

get the password in order to start the windows service, where the

password needs to be set when the service is installed.

This is not a big deal if you can start the postgres DB from the

command line, but will users know to do this and-or can DHIS start

it

if it is not started. So, it will install a new instance of

postgres,

but, the service cannot be started, as the password is not correct.

Hmm…maybe there are some bright ideas out there. Perhaps we can

set

it to the system account?

So basically, I can release tomorrow for testing an installer that

will install on system without a postgres user. I tried to install

Postgres as a different user by creating a different user account,

but

the installer did not manage to create it. Will need some more work

here.

Let me know what you think.

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Jason P. Pickering

email: jason.p.pickering@gmail.com

tel:+260968395190


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Cheers,

Knut Staring


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Jason P. Pickering

email: jason.p.pickering@gmail.com

tel:+260968395190

Cheers,

Knut Staring

Jason P. Pickering

email: jason.p.pickering@gmail.com

tel:+260968395190


Cheers,
Knut Staring