What is the current status of Hobo?

101 views
Skip to first unread message

Donald Ziesig

unread,
Jun 4, 2018, 3:49:39 PM6/4/18
to Hobo Users
Hi All!

It's been a long time ;-). I have been maintaining my websites without
updating Ruby or Rails for the past year.  Now I need to upgrade and I
wonder if Hobo is up to speed with Ruby 2.5.1 and Rails 5.2?

I hope everyone has been well.

Don Ziesig


Daniel M

unread,
Jun 5, 2018, 5:21:50 PM6/5/18
to Hobo Users
Good question!
Same situation here!

Ed Gomolka

unread,
Jun 5, 2018, 7:02:08 PM6/5/18
to Hobo Users
I asked a status question a while back. At the time, Ignacio Huerta was the primary maintainer, and he indicated that he didn't have much time to do other than fix major bugs.

I spent a couple of days trying to figure out how upgrade Hobo so that it could handle Rails 5, but I quickly got lost in the weeds. Looking at my old notes, some of the issues that I came across were:

  1. Rails 5 forces the use of strong parameters. This was already deprecated in Rails 4, but Hobo got around it by using the "protected_attributes" gem; however, that gem won't work under Rails 5. This means that Hobo and all apps using Hobo need to be changed.
  2. Hobo uses the Erubis ERB template engine to compile the dryml files, while Rails 5 uses The Erubi engine. The two engines conflict.
  3. Hobo uses "raise_in_transactional_callback", which was deprecated in Rails 4, and removed in Rails 5.
I would be interested in helping to upgrade Hobo as a junior partner. I feel that it would take me much too long on my own.

In the meantime, I have worked out a plan that allows me to gradually move off Hobo if necessary. I have a version that runs on top of Rails 4.2.10, which supports the Webpacker gem, which allows me to run a JavaScript framework in place of DRYML. The main Hobo repository has the 4.2.10 specification, which supports Webpacker, but the Hobo 2.2.6 gem supports an older version of Rails, which does not support Webpacker.

I am using Vue.js as my JavaScript framework. Whenever I need to touch a DRYML page, I convert it to Vue.js. The conversion amounts to quite a bit of work per page.In those cases where I use Vue.js:
  1. I create new index/show/new/create/destroy methods in place of the Hobo controller methods.
  2. I use strong parameters in the controllers
  3. I use Pundit for authorization
  4. I write Vue.js components (which amounts to a lot of code)
Using Vue.js requires a reasonable understanding of the JavaScript world (node, npm, yarn, etc). Creating the Vue.js pages is much more labor intensive than using DRYML, but Vue.js is more stable, and faster. It also gives me more control over the page.

Hopefully, Hobo will get upgraded, but if it doesn't get upgraded, I will eventually be able to move off it. By converting the pages as described above, I will  have taken care of everything except for authentication. Once I have all the pages converted, I will be able to eliminate Hobo and use Devise for authentication in its place.I am still hoping that I won't have to do that, but this gives me a plan to execute on.

Ed G

Donald Ziesig

unread,
Jun 5, 2018, 7:24:38 PM6/5/18
to hobo...@googlegroups.com
Hi Ed, et al!

I have given up on DRYML and like you I am switching to a TypeScript framework (Angular 6).  The problem I am trying to fix is one of latency.  My daughter owns a real-estate company, and I handle all of her IT needs.  I developed a website that our agents use while on the road.  Unfortunately, once they get into the rural areas, the cell signals are weak and the connection latency is very high.  This totally hoses the utility of our website.  (I have the same problem with other websites, but not as bad since the clients don't usually leave the suburbs.)

I ran some experiments with a test website using rails and angular.  While the latency is noticable, it doesn't cripple the app like using hobo and ajax (
The agents are impatient and keep clicking away even though the waiting spinner is showing.  The result is a whole bunch of queries in progress with the results coming back out of order).

What I need is the ability to use other parts of Hobo.  Particularly the models with incorporated data descriptions and the User model with its hobo lifecycle (to handle invited users and users who forget their password - almost all of them at one time or another :-D.)

I am trying to keep the existing data intact as much as possible.  I was able to download the active database from Heroku and use it to initialize the database in my test app.  Now I am implementing the new version of the web site one page at a time.  Like you found, this is very time-consuming, but the payoff will be worth it.

Good luck,

Don
--
You received this message because you are subscribed to the Google Groups "Hobo Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hobousers+...@googlegroups.com.
To post to this group, send email to hobo...@googlegroups.com.
Visit this group at https://groups.google.com/group/hobousers.
For more options, visit https://groups.google.com/d/optout.


Ed Gomolka

unread,
Jun 5, 2018, 9:38:07 PM6/5/18
to Hobo Users
I considered Angular, Elm, and React before settling on Vue.js.

I did not try using Angular because I got the impression that it would be too restrictive for the hybrid approach that I wanted, and it seemed to have a significant learning curve. I may be doing it an injustice, since I never actually tried it. I experimented directly with Elm, React, and Vue.js. Vue.js struck me as being the simplest to learn and use. Also, it has the reputation of being one of the fastest frameworks available: https://www.stefankrause.net/js-frameworks-benchmark6/webdriver-ts-results/table.html
React would have been my second choice.

With regard to the problem of impatient agents, you could disable the submit button after the agent presses it, and then re-enable the button when the information comes back from the server.

Ed

Ignacio Huerta

unread,
Jun 8, 2018, 1:33:28 AM6/8/18
to hobousers
Hi everyone!

Imanol Alvarez and me have worked a bit on upgrading to Rails 5 in the last couple of months. The Erubis/ERB issue is now solved, and a few other issues are solved. Still, there is work to be done. I hope we make it happen :).

Warm regards,
Ignacio

To unsubscribe from this group and stop receiving emails from it, send an email to hobousers+unsubscribe@googlegroups.com.

To post to this group, send email to hobo...@googlegroups.com.
Visit this group at https://groups.google.com/group/hobousers.
For more options, visit https://groups.google.com/d/optout.



--
+45 42 997 196

Ed Gomolka

unread,
Jun 8, 2018, 10:01:37 AM6/8/18
to Hobo Users
Hi Ignacio:

That is very welcome news!

Are there changes that haven't made it into the main Github repository yet? The last update there was 3 months ago.
Is there something that I can help with?

Thx,

Ed
+45 42 997 196

Mike Payson

unread,
Jun 8, 2018, 3:08:50 PM6/8/18
to hobo...@googlegroups.com
Does anyone know whatever happened to Kitcoder? Tom Locke announced it here a couple years back, seemingly as a alpha level piece of software, but since then nothing. I'm not very optimistic at this point, but I sure would like to see something come of that, it looked like a brilliant tool. 
www.MakersToolWorks.com - Tools for Makers

Ignacio Huerta

unread,
Jun 11, 2018, 2:30:55 AM6/11/18
to hobousers
I will check if there is something hidden away and get back to you Ed. Thanks for the help offer! :)

To unsubscribe from this group and stop receiving emails from it, send an email to hobousers+unsubscribe@googlegroups.com.

To post to this group, send email to hobo...@googlegroups.com.
Visit this group at https://groups.google.com/group/hobousers.
For more options, visit https://groups.google.com/d/optout.

Stefan Haslinger

unread,
Jun 12, 2018, 3:12:09 AM6/12/18
to Hobo Users
 Another hi all, here from Vienna!

I am going to retire my last production Hobo app in end of this month, and I am not sure, if I can be helpful with the upgrade itself.
But I will definitely use this old app of mine and run all the tests against any new version. 

So if there is any new or intermediate version to test, please let us know.

Cheers and warm regards,
Stefan

Ignacio Huerta

unread,
Jun 20, 2018, 2:02:57 PM6/20/18
to hobousers
Hi Ed,

The latest change was from April 25th, and it's in the branch rails5_new2 (https://github.com/Hobo/hobo/tree/rails5_new2)

Basically, we are trying to get unit (rake test) and integration tests to pass. If you want, you can clone that branch and see where it breaks.

Warm regards,
Ignacio



--
You received this message because you are subscribed to the Google Groups "Hobo Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hobousers+unsubscribe@googlegroups.com.
To post to this group, send email to hobo...@googlegroups.com.
Visit this group at https://groups.google.com/group/hobousers.
For more options, visit https://groups.google.com/d/optout.

Ed Gomolka

unread,
Jun 20, 2018, 3:35:22 PM6/20/18
to Hobo Users
Thanks! I'll check it out.

Ed

On Wednesday, June 20, 2018 at 12:02:57 PM UTC-6, Ignacio Huerta wrote:
Hi Ed,

The latest change was from April 25th, and it's in the branch rails5_new2 (https://github.com/Hobo/hobo/tree/rails5_new2)

Basically, we are trying to get unit (rake test) and integration tests to pass. If you want, you can clone that branch and see where it breaks.

Warm regards,
Ignacio


On 12 June 2018 at 09:12, Stefan Haslinger <stefan.h...@gmail.com> wrote:
 Another hi all, here from Vienna!

I am going to retire my last production Hobo app in end of this month, and I am not sure, if I can be helpful with the upgrade itself.
But I will definitely use this old app of mine and run all the tests against any new version. 

So if there is any new or intermediate version to test, please let us know.

Cheers and warm regards,
Stefan

--
You received this message because you are subscribed to the Google Groups "Hobo Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hobousers+...@googlegroups.com.

To post to this group, send email to hobo...@googlegroups.com.
Visit this group at https://groups.google.com/group/hobousers.
For more options, visit https://groups.google.com/d/optout.

HuBandiT

unread,
Jan 12, 2019, 12:22:34 PM1/12/19
to Hobo Users
Greetings everyone,

Where are we currently? What areas need help (coding, project management, testing)? Do we have a roadmap?

2018. június 20., szerda 20:02:57 UTC+2 időpontban Ignacio Huerta a következőt írta:
Hi Ed,

The latest change was from April 25th, and it's in the branch rails5_new2 (https://github.com/Hobo/hobo/tree/rails5_new2)

Basically, we are trying to get unit (rake test) and integration tests to pass. If you want, you can clone that branch and see where it breaks.

Warm regards,
Ignacio


On 12 June 2018 at 09:12, Stefan Haslinger <stefan.h...@gmail.com> wrote:
 Another hi all, here from Vienna!

I am going to retire my last production Hobo app in end of this month, and I am not sure, if I can be helpful with the upgrade itself.
But I will definitely use this old app of mine and run all the tests against any new version. 

So if there is any new or intermediate version to test, please let us know.

Cheers and warm regards,
Stefan

--
You received this message because you are subscribed to the Google Groups "Hobo Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hobousers+...@googlegroups.com.

To post to this group, send email to hobo...@googlegroups.com.
Visit this group at https://groups.google.com/group/hobousers.
For more options, visit https://groups.google.com/d/optout.

Ed Gomolka

unread,
Jan 15, 2019, 1:58:02 PM1/15/19
to Hobo Users
Nothing much new since the last posting, as far as I know.
The Rails 4 version of Hobo used various deprecated gems and approaches that are not supported by Rails 5.
That makes the Hobo upgrade to Rails 5 a bit problematic

HuBandiT

unread,
Jan 19, 2019, 1:26:32 PM1/19/19
to Hobo Users
Is there an itemized list or something somewhere that could help with slicing the problem into smaller, manageable chunks for purposes of discussion and design?

Ignacio Huerta

unread,
Jan 28, 2019, 4:41:40 AM1/28/19
to hobousers
Hi everyone,

Imanol Álvarez was the last working on the upgrade.

This is the last state of the branch: https://github.com/Hobo/hobo/tree/rails5_new2

We need to make sure all the unit and integration pass, before we can start testing the upgrade with real applications. If anyone wants to give it a try to run the tests and debug one of the errors that would be great :).

Warm regards,
Ignacio



Reply all
Reply to author
Forward
0 new messages