[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: State of Perl-based database setup utilities for LedgerSMB 1.3



> -----Original Message-----
> From: Luke [mailto:..hidden..]
> Sent: Friday, May 27, 2011 21:28
> To: Development discussion for LedgerSMB
> Subject: Re: [Ledger-smb-devel] State of Perl-based database setup
> utilities for LedgerSMB 1.3
>
> On Fri, 27 May 2011, Chris Travers wrote:
>
> > database, do we want to treat creating a new company database as a
> > build process or an administrative task for dependency and/or UI
> > reasons?
>
> I would want it to be administrative.  Integrated with the codebase.
>
> No company database should be required to run, and new ones,
> including the first, should be creatable within 1.3, not externally to 
> it.
>
> Unless I'm missing something in what you're talking about here--I would
> assume that the system-wide database would still have to be created as
> a part of the build process, although even that should probably be a
> required pending step upon first admin login.
>
> I would personally prefer as much possible to be integrated into the
> app's first run, although I don't necessarily expect that in 1.3.
>
> Luke


I've seen a number of PHP applications that take the approach of not 
having any install-time deps or configuration whatsoever - so the app can 
be installed 100% automatically from, e.g. an RPM, but that then do sanity 
checks upon startup.
So the first time you run the app, it tells you that you need to go edit 
such-and-such a config file, and the app steps you through the initial 
setup steps.
I don't love it 100%, but it does eliminate the need for installation 
scripts altogether.

A major concern here would be that you can only use a package for the 
first / default company; any separate installs would have to be done 
manually... but then the same setup logic would apply, I just mean you'd 
have to untar an archive and set up a webserver appropriately instead of 
"yum install ledgersmb".

Just re-reading Luke's post, I think this is what he's already talking 
about.

FWIW, I think having the install script deal with webserver setup is bad - 
there are as many ways to set up a webserver as there are web server 
admins.  Not to mention that, for example, OpenBSD's httpd, while derived 
from Apache 1.x, has very little in common with setting up Apache 2.x 
under Ubuntu... in fact, I'd say from the average user's perspective they 
look like completely incompatible packages from a configuration 
standpoint.
Most distros have a distro-specific way to handle automatic website setup; 
sometimes it's clean but weird (Ubuntu), sometimes it's messy (OpenBSD, 
IIRC - haven't looked lately).  Until we're at the point of having 
distro-ready packages, there still needs to be an interim way to deal with 
this, so I don't think, even if everyone agreed with my opinion, it could 
change overnight anyway.

Thoughts?

-Adam