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

Edit pages via web-interface #3

Closed
trans opened this issue Jun 15, 2010 · 17 comments
Closed

Edit pages via web-interface #3

trans opened this issue Jun 15, 2010 · 17 comments

Comments

@trans
Copy link

trans commented Jun 15, 2010

It would most awesome if there were an online admin interface in which one could edit a sites pages. That's the one feature I've been missing in a file-base CMS.

@gma
Copy link
Owner

gma commented Jun 15, 2010

It's a great idea in principle, but I'm not really sure how it'd work. Are you thinking it would just allow you to edit the files that are stored on disk?

Would it need to talk to a version control system when you save a change? Incorporating VCS support seems a little too complicated to me, and yet without it I can't imagine myself using it. Distributed version control provides a backup for free.

Warrants further thought. Perhaps I've not managed to see a great way to do it? Feel free to persuade me... (or contribute a front end - it would make sense for it to be a separate app).

@tuupola
Copy link
Contributor

tuupola commented Jun 16, 2010

IMO the web based admin interface defies the whole idea of Nesta. CMS for developers who like to edit their text using their favourite text editor :)

@gma
Copy link
Owner

gma commented Jun 16, 2010

It does rather. It's not just editing the content, it's the flexibility that Sinatra gives you over design and layout that I'd worry about. You can start flinging your Markdown into a new directory, tweak a bit of the code, and it'll just get served up. You can create sidebars in templates that couldn't be controlled by the UI.

Having a UI would make me feel resistant to doing this kind of quick hack; I'd feel as though I'd be giving something up by hacking a Nesta site into something that wouldn't work with a UI. That might be reason enough not to make one.

The other side of the coin; it's really easy for me to make a friend a small site with Nesta, and it's much faster to develop a design in TextMate than in a "proper" CMS like Radiant. But when I'm done, they can't edit their content on a Nesta site. A few weeks back I set a site up in Nesta and then spent 45 minutes porting the whole thing to Radiant. The finished site was much better than it would have been had I built it in Radiant from the outset (where layout changes are more painful to test). But then it didn't really take me long to port it. I've got another friend (a designer) who is yet to get his shiny new Nesta site installed on his laptop. He's adamant he's up for learning how to add and push new content; will be interesting to see how he gets on.

My current thoughts are that it might be better to spend the effort on knocking out more themes.

@trans
Copy link
Author

trans commented Jun 16, 2010

I don't think the two have to be mutually exclusive. Basically we are talking about adding a web-based file manager as an admin interface with file editing capabilities and integration with the git repo. There would be no limit to what you could do with the admin interface beyond the ususal limitations of working via browser vs. a command-line. Then any commits made on the web can easily be gained downstream via a simple git pull.

I'm thinking the best of both worlds here --not one or the other.

I have the same issue gma mentions. I want an elegant file-based CMS that I can give my friends and customers access to reduce my maintenance overhead.

@gma
Copy link
Owner

gma commented Jun 16, 2010

Okay. I'm envisaging a UI with it's own copy of the content git repo (the repo that you push to when you publish a page needs to be a bare repo, so we can't use that).

The UI should therefore know how to commit a local change and then publish that change to the site (this sounds like a good workflow, as well as a requirement due to how git works). It would be well worth teaching the UI (and the user) how to resolve conflicts when git push fails, having done a git pull (preferably a git pull --rebase) first.

It'd be great, and I'd love to see such a thing as an option (I don't think it belongs in the core code base), but it's not at the top of my priority list at the moment. Current todo list goes something like this:

  1. Get it working out of the box on heroku.
  2. Document deployment properly.
  3. Move the Nesta site to it's own domain.
  4. Make a few themes and slap them on the new site.
  5. ?

Of course, there's nothing to stop somebody else starting something, and I could chip in later... You're not the only person who's asked about it:

http://twitter.com/IntegralHack/status/14709817037

@rbq
Copy link

rbq commented May 1, 2011

VCS backed Markdown in a content directory sounds familiar. But I guess Gollum won't spare the metadata when editing.

@gma
Copy link
Owner

gma commented May 2, 2011

Interesting thought, thanks – perhaps we could fork and patch it…

@efoxepstein
Copy link

I needed a very simple web UI for a project, so I started a gem. It's still very, very buggy and primitive. If anyone wants to help out, it'd be much appreciated.

https://github.com/elitheeli/nestadmin

Eli

@lilith
Copy link

lilith commented Aug 25, 2011

How about Cloud9 integration? Perhaps we could even get content editing working on Heroku that way..

@gma
Copy link
Owner

gma commented Aug 25, 2011

Cloud9 is an interesting thought; has anybody tried it?

A while ago I was thinking "if I were to do a UI, I'd start with an API and build user interfaces on top of it…". I'd also like a desktop app for it you see, and then I'd have to make an iOS version…

But it's nowhere near the top of my todo list at the moment. Where is nestadmin unto @elitheeli? Any thoughts about how to make git commits from the UI?

@efoxepstein
Copy link

This project's still on my todo list, but also somewhat towards the bottom. I can't imagine wanting to merge copy, so I'd have the server just serve up the latest version of each page. Does this make any sense?

On Aug 25, 2011, at 5:14 PM, gma wrote:

Cloud9 is an interesting thought; has anybody tried it?

A while ago I was thinking "if I were to do a UI, I'd start with an API and build user interfaces on top of it…". I'd also like a desktop app for it you see, and then I'd have to make an iOS version…

But it's nowhere near the top of my todo list at the moment. Where is nestadmin unto @elitheeli? Any thoughts about how to make git commits from the UI?

Reply to this email directly or view it on GitHub:
#3 (comment)

@lilith
Copy link

lilith commented Aug 26, 2011

What do you mean by "merge copy"?

@efoxepstein
Copy link

"Copy" (the noun) as in text or content. Sorry, rereading that now it seems ambiguous.

On Aug 26, 2011, at 11:04 AM, nathanaeljonesreply@reply.github.com wrote:

What do you mean by "merge copy"?

Reply to this email directly or view it on GitHub:
#3 (comment)

@lilith
Copy link

lilith commented Aug 26, 2011

Well, you wouldn't need to handle merging in the CMS, I'd just run 'pull', 'commit', and 'push' from the Cloud9 side. Although all of this is a moot point until Cloud9 opens up an API. Right now you'd have to run your own copy of Cloud9 on a separate server, which would be pointless.

@gma
Copy link
Owner

gma commented Aug 31, 2011

On 26 Aug 2011, at 01:56, elitheeli wrote:

This project's still on my todo list, but also somewhat towards the bottom. I can't imagine wanting to merge copy, so I'd have the server just serve up the latest version of each page. Does this make any sense?

It does make sense, especially given that Nesta doesn't actually depend on git at all.

If two people edit the same page at the same time, I suppose one would lose their changes, but that's arguably not going to be a significant problem in most of the places that people would use Nesta.

@lilith
Copy link

lilith commented Sep 18, 2011

In my experience, sites that have enough concurrent editors to have issues with file conflicts are using a DB-backed beast of a CMS.

Online editing for Nesta would probably never be a primary edit method, but would be extremely useful for fixing broken links or spelling errors when we're away from our development machine.

If there was a way to tell GitHub to push changes to a server, it would be easy to do from GitHub.

On my non-heroku servers, I'm already using GitHub/Cloud9 to edit content live. I just have a admin page on the web site that runs git pull and restarts the server.

@gma
Copy link
Owner

gma commented Mar 4, 2012

I'm closing this for the moment; no plans to incorporate it into Nesta itself.

@gma gma closed this as completed Mar 4, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants