Posted by
arungupta on August 28, 2008 at 5:47 AM PDT

|
Typo
is an open-source Blogging Engine written using Ruby-on-Rails
framework. It provides a lean engine that makes blogging easy. It's
main attribtues are ease of use, usability, beauty and excellent
support of web standards. |
I found out about this application from
Sang "Passion" Shin's
Lab
5543 (part of
FREE
20-week course on Ruby-on-Rails started on Jul 15, 2008).
But instead of using standard WEBrick/Mongrel deployment, I describe
the steps to deploy this application using
GlassFish
v3 that supports native deployment of Rails
applications.
- Typo can be installed as Gem
or from
Sources. Installing as gem
gives the following error:
JRuby
limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
Building native extensions. This could take a while...
/Users/arungupta/tools/rails20/jruby-1.1.3/lib/ruby/1.8/mkmf.rb:7:
JRuby does not support native extensions. Check wiki.jruby.org for
alternatives. (NotImplementedError)
from
/Users/arungupta/tools/rails20/jruby-1.1.3/lib/ruby/1.8/mkmf.rb:1:in
`require'
from extconf.rb:1
ERROR: Error installing typo:
ERROR: Failed to build gem native extension.
/Users/arungupta/tools/rails20/jruby-1.1.3/bin/jruby extconf.rb install
typo
Gem files will remain installed in
/Users/arungupta/tools/rails20/jruby-1.1.3/lib/ruby/gems/1.8/gems/mysql-2.7
for inspection.
Results logged to
/Users/arungupta/tools/rails20/jruby-1.1.3/lib/ruby/gems/1.8/gems/mysql-2.7/gem_make.out |
This is discussed here.
In the meanwhile, download and unzip Typo
5.1.2 as:
~/samples/jruby
>unzip
~/Downloads/typo-5.1.2.zip
Archive: /Users/arungupta/Downloads/typo-5.1.2.zip
creating: typo-5.1.2/
creating: typo-5.1.2/app/
creating: typo-5.1.2/app/apis/
. . .
inflating:
typo-5.1.2/vendor/uuidtools/lib/uuidtools.rb
inflating: typo-5.1.2/vendor/uuidtools/rakefile
inflating: typo-5.1.2/vendor/uuidtools/README |
- Create the database:
| ~/samples/jruby
>sudo mysqladmin
create typo_dev |
Typo 5.1.x works with Rails 2.0.x only and so migrate as shown below:
~/samples/jruby/typo-5.1.2
>~/tools/rails20/jruby-1.1.3/bin/jruby
-S rake db:migrate
(in /Users/arungupta/samples/jruby/typo-5.1.2)
== 1 InitialSchema: migrating
=================================================
-- create_table(:users)
-> 0.0377s
-- create_table(:articles)
-> 0.0189s
-- add_index(:articles, :permalink)
-> 0.0094s
-- create_table(:categories)
-> 0.0069s
. . .
== 69 AddModulesToProfile: migrating
==========================================
-- add_column(:profiles, :modules, :text)
-> 0.0072s
== 69 AddModulesToProfile: migrated (0.0454s)
=================================
== 70 AddUsersToNonAdmins: migrating
==========================================
== 70 AddUsersToNonAdmins: migrated (0.0488s)
================================= |
Typo 5.2 (scheduled in 3 days) will work with Rails 2.1.
- Download GlassFish (nightly,
promoted
or build-your-own)
and install by unzipping. I tried the nightly of 8/24
as:
~/tools/glassfish/v3/8-24
>unzip
~/Downloads/glassfish-snapshot-v3-prelude-08_24_2008.zip
Archive:
/Users/arungupta/Downloads/glassfish-snapshot-v3-prelude-08_24_2008.zip
creating: glassfish/
creating: glassfish/docs/
creating: glassfish/docs/css/
creating: glassfish/docs/graphics/
. . .
inflating: glassfish/lib/templates/login.conf
inflating:
glassfish/lib/templates/profile.properties
inflating: glassfish/lib/templates/server.policy |
- Start GlassFish as:
~/tools/glassfish/v3/8-24/glassfish
>java
-DJRUBY_HOME=/Users/arungupta/tools/rails20/jruby-1.1.3 -jar
modules/glassfish-10.0-SNAPSHOT.jar
Aug 26, 2008 5:56:10 PM com.sun.enterprise.glassfish.bootstrap.ASMain
main
INFO: Launching GlassFish on Apache Felix OSGi platform
Welcome to Felix.
=================
Aug 26, 2008 5:56:11 PM HK2Main start
INFO: contextRootDir =
/Users/arungupta/tools/glassfish/v3/8-24/glassfish/modules
Aug 26, 2008 5:56:11 PM OSGiFactoryImpl initialize
. . .
INFO: APIClassLoader = Class Loader for Bundle
[GlassFish-Application-Common-Module [66] ]
Aug 26, 2008 5:56:13 PM CommonClassLoaderManager Skipping creation of
CommonClassLoader as there are no libraries available
INFO: urls = []
Aug 26, 2008 5:56:13 PM com.sun.enterprise.v3.server.AppServerStartup
run
INFO: Glassfish v3 started in 2176 ms |
- And deploy Typo as:
~/samples/jruby >~/tools/glassfish/v3/8-24/glassfish/bin/asadmin
deploy typo-5.1.2
Command deploy executed successfully. |
The application is available at "http://localhost:8080/typo-5.1.2" and
some of the screenshots follow:







Also check out
Redmine,
Substruct
and
Mephisto
on GlassFish v3. There are some performance issues when running Typo on
GlassFish and this is tracked at
Issue
#5662.
If your Rails application does not work on the gem,
file
bugs here with "jruby" as "subcomponent" (default version is
"v3").
Technorati: rubyonrails
glassfish
v3 jruby ruby typo blogging