Tools

indeyets said

indeyets  

I just released standalone mvc_installer.

19 comments

indeyets posted to #midgard Aptekarskiy 17.12.2010 (en)

19 comments

Bottom

indeyets  

The advantage from old "Pakefile" approach is, that you can use it from any point of fie-system, no need to get midgardmvc_core checkout, etc.

1) pear install indeyets/midgardmvc_installer
2) midgardmvc

as soon as @bergie merges my pull-request, any attempt to use pakefile-based installer will result in error and it will automatically install this new installer for you

indeyets commented on posted to #midgard Aptekarskiy 17.12.2010 (en)

bergie  

@indeyets great! Next we need to solve some questions on application-specific setup operations like copying folder hierarchy from config to DB

bergie commented on posted to #midgard Punavuori 17.12.2010 (en)

indeyets  

A little tutorial (updated to reflect changes in 1.0.1)

MidgardMVC Installer works with application manifest files, which are just structured YAML-files. You can find example of such file here.

So, if you want to deploy MidgardMVC based application, you should type:

midgardmvc install http_://github.com/path/to/application.yml local/app/path
Installer will:
  • install latest version of AiP, if you do not have it installed, yet
  • get app-definition from the URL (by the way, it can be local path, also!)
  • create minimal Midgard directory structure at local/app/path
  • create Midgard configuration file, php.ini and other required configuration files
  • fetch and install MidgardMVC components listed in application.yml and all their dependencies
  • install PEAR-dependencies of components (if they have any)
  • initialize Midgard database
  • insert initial nodes in database, if that is required
  • create local/app/path/run script, which starts HTTP-server with application on localhost:8001
By default, Installer uses SQLite as the backend for Midgard database, but you can specify additional parameter --db=mysql. This way, Installer will ask you questions about your MySQL setup and use your answers to setup application's Midgard database in MySQL.

indeyets commented on posted to #midgard Aptekarskiy 17.12.2010 (en)

bergie  

@indeyets couple of proposed improvements:

  • Move AppServer configuration to the configuration directory of the installation so that it is easier to discover and change
  • Make PEAR package installations local as well (you had some library in mind for this?)
  • Enable some plugin system so application can supply additional Pake scripts to be run

bergie commented on posted to #midgard Punavuori 17.12.2010 (en)

indeyets  

midgardmvc_installer 1.0.2 is released

What's new:

  • "midgardmvc update_db" — sync db-structure to midgard schema (db is not cleaned, so data stays in DB)
  • "midgardmvc components_update" — gets updated versions of components from upstream, installs new schema files, runs update_db
  • reinit_db, update_db, components_update tasks try to use current dir, if one is not given as parameter
  • "install" task creates "aip.yml" (appserver config) in target dir, instead of using the one bundled with midgardmvc_core
  • better logic for "php.ini" generation (explicitly disable magic_quotes, smarter php extensions setup)

indeyets commented on posted to #midgard Aptekarskiy 21.12.2010 (en)

solt  

@indeyets @bergie I am lost.

Did a fresh Ratatoskr install onto Ubuntu via apt-get install midgard*, discovered pear channel and installed midgardmvc

Now I expect I need to install a DB, vhost, MVC and get to some kind of hello world, but no idea how to?

solt commented on posted to #midgard 13.01.2011 (en)

bergie  

@solt run midgardmvc on the command line :-)

Basically the setup happens with:

bergie commented on posted to #midgard Punavuori 13.01.2011 (en)

solt  

@bergie so it means I need to have a package that provides application.yml. That is most confusing...

With old midcom you had it in pear and were creating symlibks in webdocs space to install within a vhost

Also, what about midgard database? Shall I use midgard-schema to install it?

solt commented on posted to #midgard 13.01.2011 (en)

bergie  

@solt the MVC installer will do everything... install PEAR dependencies, check out MVC components from Git, create database, create web server config, populate database. You just need to have an application.yml. See for example https://github.com/bergie/org_midgard...

bergie commented on posted to #midgard Punavuori 13.01.2011 (en)

solt  

@bergie
#midgardmvc install https://github.com/bergie/org_midgard... /my/path
....
# fetching MidgardMVC components
PHP Catchable fatal error: Argument 1 passed to pakeMidgardMvcComponent::install_mvc_components() must be an array, null given, called in /usr/share/php/midgardmvc_installer/tasks/pakeNewMidgardMvcAppTask.class.php on line 56 and defined in /usr/share/php/midgardmvc_installer/pakeMidgardMvcComponent.class.php on line 6

solt commented on posted to #midgard 13.01.2011 (en)

indeyets  

midgardmvc_installer 1.0.3 is released

What's new:

  • new task: "build_translations" (for building gettext binary message catalogs (.mo files) from .po files)
  • new task: "init_mvc_nodes" for (re)creating MVC-Application's nodes on request
  • new task: "update" (for complete update of installed application)
  • prefer LLDB to GDB in debug-mode
  • (bug #15) properly handle "component already installed" situation
  • (bug #17) do not choke on midgard.conf without mysql host/port

indeyets commented on posted to #midgard Aptekarskiy 24.01.2011 (en)

bergie  

@indeyets great work! Next up: I wonder if a good 'default setup' to advocate to users would be autoupdating apps from cron?

In any case, a next interesting step would be to make the fact that stuff has been updated visible in the interface. A proposed way to do this:

bergie commented on posted to #midgard Punavuori 25.01.2011 (en)

piotras  

Problem executing command. /tmp/pear/cache does not exist or is not a directory

Can installer create these directories? Or is it pear specific?

piotras commented on posted to #midgard 26.01.2011 (en)

indeyets  

@piotras it's pear specific. installer doesn't check stuff on that level

indeyets commented on posted to #midgard Aptekarskiy 26.01.2011 (en)

piotras  

@indeyets OK. Requested new pull to fix MidgardStorage warnings in installer.

piotras commented on posted to #midgard 26.01.2011 (en)

indeyets  

@piotras where? I didn't get any notifications on pull-requests

indeyets commented on posted to #midgard Aptekarskiy 26.01.2011 (en)

indeyets  

midgardmvc_installer 1.0.4 is released

What's new:

  • use midgard.http=Off mode for appserver (connection will be opened manually, per-process)
  • remove explicit call to build_translations in "update" task, as translations are built during component-update phase

indeyets commented on posted to #midgard Aptekarskiy 27.01.2011 (en)

indeyets  

midgardmvc_installer 1.0.5 is released

What's new:

  • "php -n" is used in "run" script to disable any additional php configs
  • correct handling of extended schemas

indeyets commented on posted to #midgard Aptekarskiy 29.03.2011 (en)

ferenc  

Great news!! Let's get it :)

ferenc commented on posted to #midgard Hietalahti 29.03.2011 (en)

Login or register to leave a comment

Publicity
These messages are public and can be seen by anyone.