jejacks0n / mercury

Mercury Editor: The Rails WYSIWYG editor that allows embedding full page editing capabilities directly inline.
http://jejacks0n.github.com/mercury
Other
2.63k stars 530 forks source link

Full CMS implemented with mercury #385

Closed sarink closed 10 years ago

sarink commented 11 years ago

Hey guys,

In addition to the cmsimple example, I've also created a fork of this beautiful editor and made a full fledged CMS out of it.

I'm not sure this was the proper place to talk about it, but I just wanted to let others know and maybe get some feedback/help/thoughts. There's still a lot of things that I've left open ended and that I'd like to do, but it is fully functional as-is and I think a really good starting point!

https://github.com/sarink/mercury

Thanks

jdbrown371 commented 11 years ago

Thanks. I like how you include devise with it. I'm not sure how it will work with some of the other gems in my project but I'll try it out tomorrow.

On Mon, Jun 3, 2013 at 4:13 PM, Kabir Sarin notifications@github.comwrote:

Hey guys,

In addition to the cmsimple example, I've also created a fork of this beautiful editor and made a full fledged CMS out of it.

I'm not sure this was the proper place to talk about it, but I just wanted to let others know and maybe get some feedback/help/thoughts. There's still a lot of things that I've left open ended and that I'd like to do, but I think it's a really good starting point!

https://github.com/sarink/mercury

— Reply to this email directly or view it on GitHubhttps://github.com/jejacks0n/mercury/issues/385 .

jejacks0n commented 11 years ago

That's awesome! Thanks for the heads up and contribution for others. I'm taking a short break from Mercury 2, but will be hitting the ruby side more shortly, and this is invaluable to me. I may contact you about it when it becomes my focus. =)

sarink commented 11 years ago

Of course! I look forward to hearing comments if anyone else finds this useful

Most notable changes are: -Implemented back end for ALL types of mercury regions, including storage and retrieval/display -Enhanced snippet functionality so they are straight forward and easy to create -Basic page system -Rails admin integration for those more advanced tasks -Built in authentication through devise (w/custom User model) -Built in Drag-n-drop images/assets "gallery" + uploader -Automatically adds an "edit page" link at the bottom of your application.html

jdbrown371 commented 11 years ago

I plan to use it (possibly) to enable users to edit their own personal profile page. e.g. users/profile/1

On Wed, Jun 5, 2013 at 12:24 PM, Kabir Sarin notifications@github.comwrote:

Of course! I look forward to hearing comments if anyone else finds this useful

Most notable changes are: -Implemented back end for ALL types of mercury regions, including storage and retrieval/display -Enhanced snippet functionality so they are straight forward and easy to create -Basic page system -Rails admin integration for those more advanced tasks -Built in authentication through devise (w/custom User model) -Built in Drag-n-drop images/assets "gallery" + uploader -Automatically adds an "edit page" link at the bottom of your application.html

— Reply to this email directly or view it on GitHubhttps://github.com/jejacks0n/mercury/issues/385#issuecomment-18989142 .

sarink commented 11 years ago

By default, if you just set up devise, it includes an "edit" page for users.

Or do you mean your admin users (the ones that would have access to mercury)?

I began implementing a way to manage users within a mercury itself (via a "panel"), but in the end decided to just leave it up to rails-admin. The code was mostly working... You can find it in there, commented out. I will probably revisit this sometime.

jdbrown371 commented 11 years ago

Ordinary user will have access to editing their profile page in my app. The admin users will be able to edit main static pages. At least, this is how I want things to work. Admins will not be able to edit user profiles but of course can suspend accounts etc.

On Wed, Jun 5, 2013 at 2:16 PM, Kabir Sarin notifications@github.comwrote:

By default, if you just set up devise, it includes an "edit" page for users.

Or do you mean your admin users (the ones that would have access to mercury)?

I began implementing a way to manage users within a mercury panel itself, but in the end decided to just leave it up to rails-admin. The code was mostly working... You can find it in there, commented out.

— Reply to this email directly or view it on GitHubhttps://github.com/jejacks0n/mercury/issues/385#issuecomment-18996510 .

sarink commented 11 years ago

This is set up so that every User has an admin flag, if true, the user is granted access to mercury and also rails-admin. In rails-admin, you can edit the configuration to allow admins to do whatever you need them to do to users.

Or, you could uncomment some of my user code (which will add the toolbar button and the panel view within mercury) then implement your own UserController for these actions.

jejacks0n commented 11 years ago

Have you looked at doing a similar thing with Mercury2? It's basically a complete rewrite (not yet finished), has slightly different regions -- as well as an example region with image manipulation using caman.js (http://camanjs.com/), and loads/saves totally differently now.. how painful do you think an integration with that would be?

jdbrown371 commented 11 years ago

I don't know yet because I need to spend time with each gem and actually do something. I'll try them all.

Jason

On Wed, Jun 5, 2013 at 5:03 PM, jejacks0n notifications@github.com wrote:

Have you looked at doing a similar thing with Mercury2? It's basically a complete rewrite (not yet finished), has slightly different regions -- as well as an example region with image manipulation using caman.js ( http://camanjs.com/), and loads/saves totally differently now.. how painful do you think an integration with that would be?

— Reply to this email directly or view it on GitHubhttps://github.com/jejacks0n/mercury/issues/385#issuecomment-19008367 .

sarink commented 11 years ago

I started this weeks ago, mercury2 wasn't anywhere near ready or even anything to look at really at that point...

I never really liked the way images were implemented, I always felt an "asset gallery" where you can then drag your assets on to the page was a lot nicer from a UI standpoint. My image panel is currently very basic - but I'd like to expand it to include image manipulation. I don't particularly like the idea of client side image manipulation, I personally think that that should be something left up to the server, and then just save a new file to your "gallery". Caman looks sweet, but I wish it had more features (particularly cropping and resizing)

Forcing the dev to create new regions specific to their project felt like it was a lot of work. Particularly because when you create a region, you've got to figure out how to store and retrieve it (there could be new js written, some ruby functions, migrations....) For this reason, my vision was to implement everything as snippets, because those were so straight forward (create an options form, create a preview template). I wanted to be able to do advanced stuff without having to really dive into the CMS code itself every time.

I'll check out the loads/saves and how you handle different regions. And the rest of mercury2, been meaning to see the improvements you've made anyway!

jejacks0n commented 11 years ago

That was meant for @sarink, in terms of the javascript library.

jejacks0n commented 11 years ago

I'd just like to get some feedback on it. Since you know how to implement it so well it'd be good to get an idea on where I may have missed something, or simplified this for your sort of project.