As of Wagn 1.6, developers can extend Wagn without forking its code by creating a "pack".
"Packs" are ways to extend Wagn's functionality. In the long term, we envision that a "pack" may refer to several things:
The Wagn 1.6 upgrade involves three key tasks:
1. You must run database migrations for Wagn 1.6 to work. Please backup your database before migrating in case there are any issues.
rake db:migrate
Why are migrations necessary? Because we've updated the handling of "built-in" cards, like *navbox, *now, *version, *account links, etc. They are now real cards that use the new "card pack" views API.
2. You will need to install, configure, and run "bundler" if you are using git.
- Install bundler
gem install bundler
- Use bundler to install / update your other gems.
bundle install #WAIT! This is the basic command, but read the following before running it.If you just run that command, bundler will install all the gems Wagn ever uses, including many that you probably don't need, upping the odds that you'll encounter problems.
So it's best to specify which groups of gems you DON'T need:
# sample install command for wagns using mysql bundle install --without test hosting sqlite postgres # sample install command for wagns using postgres bundle install --without test hosting sqlite mysqlBundler sometimes stumbles on the mysql gem because it doesn't know where the database is stored. You may find this bundler configuration document helpful in resolving that issue, especially this command:
bundle config build.mysql --with-mysql-config=XXXXX
FAQ - Foolhardily Anticipated Questions
Why is this necessary? Wagn is a Ruby-on-Rails application, and it needs gems to run. Gems are specially-packaged independent ruby programs/libraries. Bundler is the gem management system used in Rails 3 (on which Wagn will soon run), and it dramatically improves gem maintenance.Why is this worth it? Installing gems with bundler can sometimes take a little extra time upfront, but saves a ton of time in the long term. Bundler stores your configuration preferences in a .bundler file and uses that file to keep your gems up to date with Wagn. It may be hard to notice the headaches you're not having, but this is an investment in many non-headaches in the future.Do I want those extra "gem groups"? Not unless you're feeling hard core. The "test" group is recommended for programmers interested in modifying or extending Wagn. They are needed to run Wagn tests (rspec, cucumber, etc). The "hosting" group is not needed to host a wagn site; it includes gems that we use on our hosted wagns and are not needed in most hosting scenarios. The database groups are only needed if you're using that database.
git submodule update --init
√- 1. knock off the biggest hoptoad errors
√ 2. the mime type instantiation warnings
√ 3. Slavic's various windows/sqlite patches
Unlike most releases, 1.5.4 will basically be defunct until we run migrations. So we will need to handle downtime, including:
1. a static web message
2. preparing clients for downtime
--Ethan McCutchen.....Wed Apr 27 10:44:55 -0700 2011
I may have a way to do this without downtime. but I do have a way to put up a maintenance message now.
--Ethan McCutchen.....Fri May 06 20:02:47 -0700 2011
Unless there is urgency about some of the migrations above, I think I'm going to punt for now and avoid adding any extra complexity to this release. Can do in a point release soon.
--Ethan McCutchen.....Fri May 06 20:16:51 -0700 2011