Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plans for the rails31 branch #185

Closed
rewritten opened this issue Aug 3, 2012 · 13 comments
Closed

Plans for the rails31 branch #185

rewritten opened this issue Aug 3, 2012 · 13 comments

Comments

@rewritten
Copy link
Collaborator

Hey, I'd really like to contribute, but there's a lot of legacy code that i have some fear to touch. Does the rails31 release plan to be model-compatible to the current master? Do you want to allow upgrading through an upgrade script?

I ask this because there are a few libraries used that are either cold dead or unsupported, or not thread-safe (limiting so the available deployment options, now that heroku allows subprocesses and threads in the same dyno...).

What I'd like to see in an ideal universe:

  • devise for authentication (as it's required anyway by rails_admin, and has open_id, omniauth and other modules as gems)
  • carrierwave for uploads (it uses fog instead of the various aws-s3-something, that are not thread-safe, and it separate very well the concerns!)
  • kaminari for pagination (again, required by rails_admin)
  • bootstrap for layout and component styles and simple interaction (same as above, it's used by rails_admin, and you can even reuse some small part of the rails_admin components for the public interface)
  • rails 3.2 (there is the (in)famous switch of the attr_accessible behavior that we'd better have solved soon...)
  • some nested set implementation for trees instead of acts_as_tree
  • acts_as_audited has a new home and name (audited-activerecord)

More things in a much more ideal universe:

  • exception_notification => airbrake or exceptional, or just let it choose?
  • allow choice of queue system (girl_friday for instance, to avoid spanning workers, or Sidekiq. This will be probably easier in rails4, when the queue interface will be part of rails itself)
  • all templates in haml

So, that said, what I can add depends on how much this can be changed. If you guys want to be 100% database compatible with the current version, many things can't be done, otherwise I'll be more than glad to drown you with pull requests ;)

I'd really like to see this project thrive, as I'm very interested in mass-deploying it into Barcelona time banks.

What do you think?

@herestomwiththeweather
Copy link
Collaborator

this is generally a good list. the goal of this project is to make it easy to adapt (in the spirit of "agile banking") and play well with others (making cucumber available to facilitate conversation with non-programmers, supporting openid 2.0, oauth 1&2, opentransact, UMA's scope format and UMA's emerging dynamic client registration spec). when the project is not meeting this goal, an issue should be created and/or the project should be forked or perhaps abandoned. :)

rails_admin offers a lot of value but as soon as it imposes a choice of one gem over a more preferred gem for important functionality, it will be removed. for instance, authentication is a very important piece of functionality for this project. this quora discussion seems to be a good analysis:

http://www.quora.com/Ruby-on-Rails/How-should-I-choose-an-authentication-gem

in particular, authlogic is very easy to adapt to support standards and better control over views.

model compatibility with the current master would be nice but is not a requirement. if it turns out not to be compatible, an issue should be created and it seems an upgrade script would be a good way to address such an issue.

An expectation was set in https://groups.google.com/forum/#!topic/opensourcecurrency/pOREpVgyijg that the rails31 branch would be stable by the end of August so that it can be merged into master. Until then, fixing issues labeled with high priority will have precedence over other work. @bluefibonacci has recently been doing most of the testing and issue labeling and whether an issue is high priority is up for discussion in the comments of the given issue. (i haven't reviewed the issues and priority statuses in the last day or so and a lot has changed)

the only comments i have on the ideal list is that it seems whether haml is used might be dictated by whoever steps up to drastically improve the user interface style. i like bootstrap but will wait until the time is right for that discussion.

no brainers are rails 3.2 and probably carrierwave but these are currently not high priority issues and will probably wait until after August.

auditing is desirable but needs to be optional because it quickly increases the size of the database.

related, right now, the install script deploys to the bamboo stack. it is currently not a high priority issue to change this to cedar yet.

let me know if more clarification is needed for now. executive summary: for August, if it isn't broke, it need not be fixed. merge rails31 into master by the end of the month. before this can be done, rails31 branch needs to be as stable as master and high priority issues need to be addressed.

@rewritten
Copy link
Collaborator Author

As the rails31 branch has been merged into master, I'd close this.

@acao
Copy link

acao commented Jan 10, 2013

I'd be interested in re-opening this issue (or encouraging more issues to spawn out of this one), because it seems it has been only partially implemented, and could be broken out into subtaks. We could even make it a tag! I'm excited about this.

Would love omniauth integration. We have a developer working on our project who might be interested in helping with this.

I would love to help with a snazzy twitter bootstrap UI implementation as well. I am not a rails developer mind you - I have NodeJS (express, railway, etc) MVC experience, and am also familiar with Angular and such. I've been using bootstrap really extensively, and would be glad to at least implement it using the server side .erb templates for now until we get to the client side javascript framework stage.

If someone could issue a pull request to my fork with bootstrap-sass and all the other assets handling all set up, I would be glad to strip out the jquery UI stuff and basically replace it with a twitter bootstrap approach. I would probably be able to figure out rails 3 asset handling so that we can selectively load javascript components and such as well. Our project is nearing launch, and we would LOVE to have mobile responsiveness built-in, and a nice clean bootstrap UI strategy. The interface that is there already is really nice and of course a lot of love has gone into it, but, you know, bootstrap/sass are sooo powerful!

@rewritten
Copy link
Collaborator Author

@acao You will rather check my new TimeOverflow project. Although much simpler than OSCurrency, it is completely angularjs/bootstrap-based (plus just the select2 jquery plug-in). It's in early dev stage anyway.

@acao
Copy link

acao commented Jan 11, 2013

@rewritten this project looks quite promising! However, we are needing to launch something full featured fairly quickly. I would love to participate in this project in the future, however at this point we are just looking to implement bootstrap using the server side .erb templating and maybe omniauth. However, you may encounter me in the near future! Best of luck on timeoverflow.

@herestomwiththeweather
Copy link
Collaborator

there seems to be support for using twitter bootstrap for the UI. it also seems like it will be quite a bit of work since there is a lot of existing UI functionality. the issue came up on the 8/23 chat but there is not github issue for it: https://github.com/oscurrency/oscurrency/wiki/08-23-2012-rails31-branch-chat

i'm probably not qualified to set up "bootstrap-sass and all the other assets handling all set up" though. maybe someone else will step up to get this ball rolling.

@acao
Copy link

acao commented Jan 11, 2013

Indeed! Yes there is quite a bit of UI work to replace, though some of the clientside ajax jquery ui magic might be best to stay in place as is. I will create a new ticket for this and see where we can get with it.

@herestomwiththeweather
Copy link
Collaborator

cool!

@rewritten
Copy link
Collaborator Author

Check the https://github.com/oscurrency/oscurrency/tree/bootstrap222 branch. I've added external bootstrap files, font-awesome, and swapped the legacy tabs with the bootstrap's ones (they weren't working).

It's based on rails329 branch.

@herestomwiththeweather
Copy link
Collaborator

i installed it and it looks like a good start!

@rewritten
Copy link
Collaborator Author

Should we move this discussion to a pull request on that branch?

@herestomwiththeweather
Copy link
Collaborator

that sounds good, especially since "plans for rails31" is a closed issue and this is a big issue.

@rewritten
Copy link
Collaborator Author

Here there is the pull request: #337

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants