I am one of the founders of Upmin, and I am leading the development of our admin framework for Rails. It is still pretty early, but I would love to get your feedback on it as we try to prioritize our development efforts.
This is great compared to the other admin frameworks I tried, but I think you should now spend some time on UI polishing (size of the fields and filters, visual hierarchy) to make it pleasant to use without any additional customization.
Looks really cool! Just a small note that I'm having some weird font issues on Windows using Chrome. (not really obvious until you download and view the full size)
This looks awesome. Pretty much exactly what I need. Do you think this will work fast enough with databases with a large number of records? Some tables in my rails app have 1 million + records.
Did rails development for 6ish years full time, about 6 months ago I joined a startup using Django. The admin is QUITE nice, its very flexible in terms of models but as well as templates, allowing you to override specific blocks from a standard template, rather than copying a template.
This looks like the very beginning of the Django admin, something that Rails could seriously use. Admin functionality isn't meant to be user friendly, its essentially a CRUD system that mimics your schema.. something that would be quite handy in Rails. While I've always painfully just created my own admin for every project, I've used https://github.com/activeadmin/activeadmin a few times, and known others who have as well. It's great, but again not nearly as simple as Django.
Personally I would love to see a Django Admin style tool for Rails.
Of course, you do kind of get this with Rails Scaffold, but its not admin, its all user facing as its produced with the model and controller, far from ideal.
Certainly ActiveAdmin has given me a share of headaches as I built my website. That being said - it works, and I'm familiar with it(and Arbre) now. How do you plan to get established sites like mine to switch to Upmin with such a high upfront cost(namely, reconfiguring Upmin to have all the same functionality I bled for for ActiveAdmin?) Any kind of migration plan?
If you already have active admin setup with a lot of things built on it, I wouldn't suggest changing it until you needed to add new stuff, or it was falling short somewhere for you. No point wasting the dev time if it works.
I would love to talk to you more about what you have customized, and what all would need to be reconfigured to get started with upmin to learn from you if you don't mind sharing. My email is jon [at] upmin.com.
I know exactly how you feel. Arbre is neat and all but I think it's a bad idea to use yet another language for your admin stuff. I always use partials so I can work in slim. I probably wouldn't switch now but I'll definitely think about it for my next project.
Truthfully, I haven't used rails_admin a lot. I can say that it is definitely more polished since it has been around much longer, but I have never tried to customize it or add in custom code so I don't know how it does there.
Maybe someone else with more experience with rails_admin could comment?
Interesting, but the big gap here is for projects where your rails app is an API (using rails-api) only. We've been struggling with the best way to build an admin panel in this case - I'm reluctant to add asset pipeline etc to the rails app just for the admin panel, and I've also found the admin panels tend to use large amounts of RAM etc.
The other solutions all have downsides - you can build admin APIs into the API and have a separate app call them, but it's more work. You could make a separate rails app which calls the same DB, but then you have to keep the model code in sync.
Consider using different/manifests layouts if you're concern is client-side. If it's compiling assets I think your concern is misplaced.
> admin panels tend to use large amounts of RAM etc
I don't think this is the case, or a huge concern depending on you're environment. Further, you could separate the apps into engines, they're great for this. TaskRabbit did a write up on this: http://tech.taskrabbit.com/blog/2014/02/11/rails-4-engines/
Personally however, I've normally roll out the app as one piece with active-admin, generically speaking most apps have little admin-specific logic to them, for example, it's normally something like: "Do <x> for user(s)", "Approve <x> content", the type of operations you do can easily fit under the simplistic nature of what active-admin offers. This isn't a catch all however, some applications require more of an integrative approach, in which case it's development as normal, bits of functionality injected here and there so-to-speak.
You could use a rails engine to share the same models between two rails applications. Depending on the size of the project though, you may find that the economy of sharing models is a false one - applications of sufficient size may benefit from having separate models for user and admin interactions (see also: Domain Driven Design).
There's no reason you need to host the admin panel on the same server as your API. You can even add your admin tool to your existing repository and deploy that single repo to two different servers, one of which you mount the admin engine in and the other you don't.
fwiw, we use active-admin for our Ember front-end/Rails backend app. We don't have a lot of actions that our admins can take but it's been really nice to expose some of the account details for support tickets, etc...
I am biased, but I didn't like a few things about active admin:
1. Customizing views requires that you use Arbre. Learning an entirely new tool for generating webpages when every developer is already familiar with partials, html, erb, etc seemed backwards to me.
2. I tried to design upmin-admin so it was easier to setup. Active admin requires a little bit more work (but truthfully not a ton more).
3. Adding things like actions was significantly easier in upmin-admin. You basically just say what method you want to have on an admin page and it makes it work.
That said, this is very early stage (beta at best) and active admin has been under development for a while, so active admin is definitely more polished right now. That should change over time.
How does Upmin approach forms for relationships? With both rails_admin and Active Admin, I found complex relationships like has many through multiple, and has one with scoped collections frustratingly hard. (in fairness I know it's not easy to automate)
Right now, we don't do much more than show relationships. I think we can do much better than Active Admin or Rails Admin (and hopefully they can learn from us :D) but it won't be added in for at least a week. If you want to create the issue on GitHub I can try to keep you updated on the status of this. - https://github.com/upmin/upmin-admin-ruby/issues
Nil/Empty String - not right now. If you (or I can) create an issue we can get this supported correctly.
DataMapper - An issue exists for this, but it is not currently implemented. I'm not 100% sure the scope of supporting it, but from what little research I have done it shouldn't be a major undertaking.
I've always been at peace with Rails' lack of default opinions or framework for admin views...I kind of just thought that Admin was just a hard problem to solve anyway, so why even bother. But then again, I probably would've thought that about ORM, and yet ActiveRecord can fill in very admirably...Hope this project is successful in creating that kind of happy balance between abstraction and customization.
I love it, great job guys, one suggestion though, mixing the admin logic and customisations with the model isn't a great idea, some models are already fat models, so maybe creating separate model config files would be better, thank you.
Given its recency, is it safe to assume this works for Rails 4.2.0beta? I'm working on a new project for a client and was a little dismayed that both Rails Admin and ActiveAdmin currently have problems with 4.2.0.
I haven't tested it with 4.2.0 beta yet. I can give it a go this weekend and I will add it as an issue on github as well. If you comment on the issue or email me - jon [at] upmin.com - I can make sure to update you on this.
Yes, but you will need to add you own authentication in the routes. We are looking at other ways to add auth soon, but for now this was the simplest way to get started.
Honestly, I have no idea. All of our development efforts were geared towards Rails 3 & 4. If you have any issues and want to email us (email below) we can try to help out, but I can't really promise anything for 2.3.
[+] [-] joncalhoun|11 years ago|reply
I am one of the founders of Upmin, and I am leading the development of our admin framework for Rails. It is still pretty early, but I would love to get your feedback on it as we try to prioritize our development efforts.
Thanks!
[+] [-] Spone|11 years ago|reply
[+] [-] michaelmior|11 years ago|reply
https://www.dropbox.com/s/fokwygisejzzk4m/Screenshot%202014-...
[+] [-] jsnk|11 years ago|reply
[+] [-] andybak|11 years ago|reply
[+] [-] abbottry|11 years ago|reply
This looks like the very beginning of the Django admin, something that Rails could seriously use. Admin functionality isn't meant to be user friendly, its essentially a CRUD system that mimics your schema.. something that would be quite handy in Rails. While I've always painfully just created my own admin for every project, I've used https://github.com/activeadmin/activeadmin a few times, and known others who have as well. It's great, but again not nearly as simple as Django.
Personally I would love to see a Django Admin style tool for Rails.
Of course, you do kind of get this with Rails Scaffold, but its not admin, its all user facing as its produced with the model and controller, far from ideal.
[+] [-] jprince|11 years ago|reply
[+] [-] joncalhoun|11 years ago|reply
I would love to talk to you more about what you have customized, and what all would need to be reconfigured to get started with upmin to learn from you if you don't mind sharing. My email is jon [at] upmin.com.
[+] [-] spinlock|11 years ago|reply
I know exactly how you feel. Arbre is neat and all but I think it's a bad idea to use yet another language for your admin stuff. I always use partials so I can work in slim. I probably wouldn't switch now but I'll definitely think about it for my next project.
[+] [-] backwardm|11 years ago|reply
[+] [-] joncalhoun|11 years ago|reply
If you have any questions there is almost always someone on our HipChat support room - http://www.hipchat.com/gvREostp6
[+] [-] fishtoaster|11 years ago|reply
[+] [-] joncalhoun|11 years ago|reply
Maybe someone else with more experience with rails_admin could comment?
[+] [-] jordanthoms|11 years ago|reply
The other solutions all have downsides - you can build admin APIs into the API and have a separate app call them, but it's more work. You could make a separate rails app which calls the same DB, but then you have to keep the model code in sync.
Anybody found a good solution to this?
[+] [-] 1qaz2wsx3edc|11 years ago|reply
Consider using different/manifests layouts if you're concern is client-side. If it's compiling assets I think your concern is misplaced.
> admin panels tend to use large amounts of RAM etc
I don't think this is the case, or a huge concern depending on you're environment. Further, you could separate the apps into engines, they're great for this. TaskRabbit did a write up on this: http://tech.taskrabbit.com/blog/2014/02/11/rails-4-engines/
Personally however, I've normally roll out the app as one piece with active-admin, generically speaking most apps have little admin-specific logic to them, for example, it's normally something like: "Do <x> for user(s)", "Approve <x> content", the type of operations you do can easily fit under the simplistic nature of what active-admin offers. This isn't a catch all however, some applications require more of an integrative approach, in which case it's development as normal, bits of functionality injected here and there so-to-speak.
[+] [-] ZoFreX|11 years ago|reply
[+] [-] psychometry|11 years ago|reply
[+] [-] nchuhoai|11 years ago|reply
[+] [-] spinlock|11 years ago|reply
[+] [-] moondev|11 years ago|reply
[+] [-] joncalhoun|11 years ago|reply
1. Customizing views requires that you use Arbre. Learning an entirely new tool for generating webpages when every developer is already familiar with partials, html, erb, etc seemed backwards to me.
2. I tried to design upmin-admin so it was easier to setup. Active admin requires a little bit more work (but truthfully not a ton more).
3. Adding things like actions was significantly easier in upmin-admin. You basically just say what method you want to have on an admin page and it makes it work.
That said, this is very early stage (beta at best) and active admin has been under development for a while, so active admin is definitely more polished right now. That should change over time.
[+] [-] thebenedict|11 years ago|reply
[+] [-] joncalhoun|11 years ago|reply
[+] [-] CGamesPlay|11 years ago|reply
- I need my fields to be nillable. Does upmin differentiate nil and empty string?
- How difficult is it to add support for DataMapper?
[+] [-] joncalhoun|11 years ago|reply
DataMapper - An issue exists for this, but it is not currently implemented. I'm not 100% sure the scope of supporting it, but from what little research I have done it shouldn't be a major undertaking.
[+] [-] danso|11 years ago|reply
[+] [-] joncalhoun|11 years ago|reply
[+] [-] ramigb|11 years ago|reply
[+] [-] joncalhoun|11 years ago|reply
[+] [-] panorama|11 years ago|reply
[+] [-] joncalhoun|11 years ago|reply
[+] [-] frequentflyeru|11 years ago|reply
[+] [-] joncalhoun|11 years ago|reply
[+] [-] gxespino|11 years ago|reply
[+] [-] gdiocarez|11 years ago|reply
[+] [-] joncalhoun|11 years ago|reply
Our email address is support [at] upmin.com
[+] [-] frequentflyeru|11 years ago|reply
[deleted]