Welcome Guest, Not a member yet? Register   Sign In
Creating Web Installer for CI Based Application
#5

(This post was last modified: 10-20-2015, 12:48 PM by jLinux.)

(10-20-2015, 12:27 PM)mwhitney Wrote: A lot of the work in guiding the process is simply anticipating what a user might do wrong. 

One of the biggest things is tracking what has already been done to prevent the installer from doing anything which might be dangerous on a site which has already been configured to a certain point (or already completed installation). In most cases, you'll probably want layered, even potentially redundant checks in an installer to make sure the installer is permitted to take the requested action.

I agree, and I'm OK doing the work, but one thing I've learned when developing websites, is you cant account for 100% of possible cases, and even if you can (or think you can), you should assume that theres a possibility that something can get through.

So with that assumption, if the installer is a CI controller, and they do something that somehow brings down CI (that somehow gets past all the sanity checking I put in place), then that means they cant re-install anything, especially if its a fatal error..

I plan on having the install not rely on the database at all, rather it will configure the config/{database,config,constants,custom}.php files from templates in the install directory. But if they get thrown into place from the install and it breaks the application, then theres nothing they can do, the installer itself is down as well.

This is the only part I'm skeptical about... When I worked for a company called JAWA, I was in the NOC, and we had a major outage, and we were able to bring the ESXi server up, but we had to login to the interface and start some of the important servers... then we realized that whoever created the password repository (which had the password for this), was kept in one of the servers that were on this ESXi host... lol, yeah, sucked. 

Trust me, I actually would rather have the installer as part of CI, that would save a lot of work, and a lot of code, this is why im kinda on the fence...

What do you think is better..
  1. Having the installer as a CI class, and on the off-chance, something they configure brings down CI, just have them re-download the entire installation file (or whatever the install method was). (Less work/code, but more vulnerable)
  2. Or do all the extra work involved in creating an installer thats totally independent, but allow the installer to be able to remedy any fatal errors that may be caused in the install process (More code/work, less vulnerable)

In the independent install, it would still be possible to include system/core/Common.php and anything in system/helpers/* or application/helpers/*, to make the install easier, which id probably end up doing, since they're just functions, not classes

P.S. Thanks for the tips thus far, much appreceated
Reply


Messages In This Thread
RE: Creating Web Installer for CI Based Application - by jLinux - 10-20-2015, 12:48 PM



Theme © iAndrew 2016 - Forum software by © MyBB