Editing Themes Online?

From what I can see, you can edit all the site content through the dashboard, etc, however, it appears that the only way to edit the template/theme and corresponding CSS is directly via the filesystem.

I've used other CMS systems that allow editing of the theme templates directly through the admin panel (some store the actual theme code and CSS in the db, some just allow editing of the file on the filesystem) I don't care which it does, though it would be really nice to be able to edit it without going to my shell and using VI, or going to my cpanel filemanager and editing there...(or uploading/downloading if I'm editing outside of the actual webserver)...

any plans for this? or did I miss something?


View Replies:
andrew replied on at Permalink Reply
but it wouldn't be that difficult to do, in the big picture. Is this something people are interested in?

Some of the challenge of course is that our template files aren't in a special template language, like Smarty, but rather just PHP files; so there's some security concerns and some head-scratching around the potential to actively break your site :-)
Remo replied on at Permalink Reply
Is that really necessary?

I would never write php code using an "online editor". I came across a couple of online php code editors but all of them are annoying..

It's so much easier to write code with a "real editor". But obviously not everyone thinkgs like that :)

ssh and vi is much more powerful!
wesyah234 replied on at Permalink Reply
changing the template/theme files are mostly a matter of editing html and css. There is relatively little PHP code, and the php code that *is* there is basically just placeholders for the concrete5 pieces.

What I'm talking about is the situation where you have this great CMS and you can edit all the content of the site online, but then the website owner decides they want the background color of the header changed, and you then realize that you have to ssh into the filesystem and find the css file for the active theme, and edit it there.

I've used the CMS Made Simple for most of my other sites, and they have made the templates and the stylesheets editable inside the admin panel:

frz replied on at Permalink Reply
I dunno, I certainly have seen plenty of "choose your background color" type interfaces on other CMS's out there, and I recognize that its a way many people are used to thinking, but I think that misses the point of what makes c5 unique.

For any of the sites my team has made over the years, this would be a complete disaster. Our stylesheets are highly custom beasts, and our layouts tend to be pretty design centric. Giving someone the ability to beat them up with a color picker would cause complete anarchy.

While I appreciate that a lot of Themes might be a good deal more functional than what we tend to deliver, I also can't help but to notice that even the free one's people are converting now are pretty complicated.

What it comes down to is this. We see web site ownership much like home ownership. The home owner SHOULD get in and do some DIY work. It's great when a home owner replaces their own faucet, or even snakes out their own drain - but when you start pulling pipes out of the wall, you might want to call an expert.

What makes c5 so great (imho) is that it is designed to make that site owner feel comfortable messing around with content and arrangement, but it gives developers complete freedom in making a highly custom, marketing driven site. You can comfortably let your clients beat content up till their blue in the face, knowing they can't easily destroy the shared fundamentals like the style sheet.

That make sense? I certainly get the appeal, particularly since we're getting a lot of business/site owners coming here and not really understanding how they can get started... I think that's our next challenge to face, we've gotta some how connect these potential site owners with this great crowd of site developers...
wesyah234 replied on at Permalink Reply
I definitely understand the separation, and you can probably gather that I'm one of those web designers that would like to find a CMS he feels comfortable handing over to his clients.

I think concrete5 might be the one.

Just a clarification though, I wasn't talking about turning C5 into one of those point and click site designers with color pickers, etc. I was just talking about giving certain users the ability to edit template and css files when logged into the admin panel. Certain other users would only have access to the site content, and not the template/css. Other CMS's have this type of separation to avoid the situation you illustrate of having people tinkering with css/template code when they shouldn't be.

If such a separation existed, I'd just create one admin login for myself, and another login to give my clients, so they could just edit certain things on the site, but not the template.

I can definitely live with it the way it is, and I appreciate all the work you guys have put into it and the time you spend monitoring these forums. Thanks!
frz replied on at Permalink Reply
Yeah, i get the general need for what you're saying.. someone somewhere on here was wondering how he made a "red and black" version of a theme for his school.. its a real problem, but i'm not sure we found the real answer yet...

Maybe a package of css templates that weren't image based, and could all be customized ... so pick style, choose colors, get your personalized theme.. i've seen UI's out there that are interesting that way..

we're going to being focusing our attention more on the "owner" side of the equation for a little bit here so we may come up with something.. keep the good feedback coming!
ScottC replied on at Permalink Reply
I would definitely leverage my manpower toward something other than this. Aside from the initial install, one should fire up a FTP client if they need to tweak the layout.

I have typography based template running now, works very well. No images at all.
andrew replied on at Permalink Reply
Far be it from me to lobby for more work for myself ;-) but I can see where this post is coming from, definitely. Franz, I think you may be overthinking what is being asked for here.

I don't think we're talking about anything more than the ability to edit the actual HTML/PHP/CSS of files within the themes/whatever/ directory through the dashboard itself.

Obviously, there are definite caveats:

1. Remo is right: any coder isn't going to want to use this for more than trivial changes, which is why it's absolutely key that current practices remain in place, and the files are physically on the drive, in the themes directory.

2. The files themselves will have to be writable by the web server, or the web server setup in such a way that allows this to be the case without exposing the templates to everyone on the box.

But I can see the appeal: for example, Franz, we've talked about how it might be nice to be able to allow people to add their Google Analytics code, or other stat tracker code, through the dashboard. Well that's exactly what this would allow: open up the theme, inspect "elements/footer.php" and paste the code in there, and click save.

I like brainstorming.
Remo replied on at Permalink Reply
..this might be useful every once a while but for me this wouldn't have a high priority.

From my point of view, there are a few more important features requests!
Remo replied on at Permalink Reply
Why not use something like pspad or coda.. These tools have built-in ftp support that makes it quite easy to edit a page..
markcmyers replied on at Permalink Reply
I can't explain why, but online template and css editing seems more awkward, maybe because I'm just used to editing locally and uploading. I'm migrating to Concrete from CMS Made Simple, which provides online editing. I never liked it. Concrete's scheme feels more natural to me.

By the way, guys. If you've ever had one girlfriend after another, and then finally met The One--that's what Concrete is for me. Great job. Thanks.

wesyah234 replied on at Permalink Reply
Thanks Andrew... that really summarizes my intentions when starting the post.

The problem with editing locally and uploading is that you don't usually have a full installation of the CMS locally, you might only have it on a remote webserver...

But all in all, the benefits of C5 over other CMSs I've used is well worth the change in method for this part of the site maintenance.

I like markcmyers' comments... a former CMSMS user like me !!
frz replied on at Permalink Reply
Thanks for the kind words.. ;)

Andrew, yeah i'm seeing the value in this slowly.. (how dare you suggest I could be wrong... this is an outrage!)

What i'm thinking is it might be cool to continue to have themes be dropped in.. not give up any of custom power we give to developers... buuut, let them define a parameter in their stylesheet that we can have a "theme tweaker" look to..

so you add a //c5editable type comment to any line in yer css file you might want to let a site owner tweak.

then in the dashboard there'd be a tool that sniffs the css file, and gives you a list of things you can mess with. Pick one of em and you get (what i hope could be a 3rd party) style editor where you can pick a new color and mess with position properties...

I think it's a good compromise. The folks who are just looking to make a simple blue css template red for their local sports team can do so easily, while the ad agencies can lock their clients down to not be able to do anything outside of content..

biggest question in my mind: does a 3rd part stylesheet editor exist that's any good?

it would have to be LAMP based and have a friendly license.
Remo replied on at Permalink Reply
I'm not sure if this is the perfect idea..

I just did a couple of things with WordPress, they have an online editor too, just a huge ugly textarea where you can quickly change a couple of things.

I see the point of having a few customizable css properties. Like you can add functions to the wordpress admin interface with your theme to let the users select their colors but isn't that another thing?
wesyah234 replied on at Permalink Reply
adding tags to the css to activate things in the admin interface is definitely a stretch from what I was originally suggesting... all I'm suggesting is a function inside the dashboard to list the files that are part of a given theme, and allow one to open any of those files in a big textarea, then save back any changes.

I think I could also install one of those small online php filemanagers that also let you edit files... I know I've used one in the past....
JCinch replied on at Permalink Reply
I think that It's a brill idea! I actually posted a feature request; nobody's replied yet. Please, include this in the near future! I'm wanting to create my own theme, for failtewexford.com , but I can't. I don't know CSS (and don't have any plans learning it) and I'm not good with coding. For that I might even give c5 a thumbs down, but I don't want to do that. Is there any other free way so far, that I can make my own theme online for c5?