[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: State of Perl-based database setup utilities for LedgerSMB 1.3
- Subject: Re: State of Perl-based database setup utilities for LedgerSMB 1.3
- From: "Adam Thompson" <..hidden..>
- Date: Sat, 28 May 2011 02:03:02 -0500
> -----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