I agree as well. It is confusing and might not work. There should actually be a probably be config file, that the installer would write to depending on the installation (or as you mention, read from the hibernate.properties file to know if Postgres/MySQL) needs to be started and then execute appropriate action to ensure they are. Right now, I have constructed the installer to cater to either H2 or Postgres installs, which then (not done yet) make changes to the hibernate.properties files during the installation.
I agree about H2. I would be willing to trash Postgres completely for desktop installs. It really is a lot of effort to get it running, and the installation process is filled with pitfalls due to the security requirements of Postgres. But, it is a good system, and there are reasons for using it, so I do not think it should not be an option. Regards, JPP On Wed, Mar 3, 2010 at 12:04 PM, Bob Jolliffe <bobjolli...@gmail.com> wrote: > On 3 March 2010 09:58, Knut Staring <knu...@gmail.com> wrote: >> On Wed, Mar 3, 2010 at 10:49 AM, Jason Pickering >> <jason.p.picker...@gmail.com> wrote: >>> >>> 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. >> > > One can easily enough implement stop the database, start the database, > stop the webserver, start the webserver as menu options from the tray. > But I can imagine this could be very confusing for users. > >>> >>> 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. > > By far the best way to go longer term with the desktop install would > be to get first class citizenship for the h2 database. Which I > suspect largely means making the dxf dumps more complete. > >> >> 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 11:45 AM, Knut Staring <knu...@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.picker...@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 <bobjolli...@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 <knu...@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.picker...@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. :) >>> >> >>> >>> >> >>> Let me know what you think. >>> >> >>> >>> >> >>> Regards, >>> >> >>> Jason >>> >> >>> >>> >> >>> >>> >> >>> On Tue, Mar 2, 2010 at 8:29 PM, Saptarshi Purkayastha >>> >> >>> <sun...@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.picker...@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.picker...@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.picker...@gmail.com >>> >> tel:+260968395190 >>> > >>> > >>> > >>> > -- >>> > Cheers, >>> > Knut Staring >>> > >>> >>> >>> >>> -- >>> -- >>> Jason P. Pickering >>> email: jason.p.picker...@gmail.com >>> tel:+260968395190 >> >> >> >> -- >> Cheers, >> Knut Staring >> > -- -- Jason P. Pickering email: jason.p.picker...@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