A client has recently asked for my advice on web editing software. There are lots of programs out there for editing web sites and according to a quick Google search there are free Windows programs to do most things that you would want to do.
The first thing I’m wondering about is whether the best option is to just get a Linux PC for web editing. PCs capable of running Linux are almost free nowadays (any system which is too slow for the last couple of Windows versions will do nicely). While some time will have to be spent in learning a new OS someone who uses Linux for such tasks will be able to use fully-featured programs such as the GIMP which are installed as part of the OS. While it is possible to configure a Windows system to run rsync to copy a development site to the production server and to have all the useful tools installed it’s much easier to run a few apt-get or yum commands to install the software and then copy some scripts to the user’s home directory.
The next issue is whether web editing is the best idea. Sites that are manually edited tend to be very simple, inconsistent, or both. Some sort of CMS seems to be the better option. WordPress is a CMS that I’m very familiar with so it’s easy for me to install it for a client, while I try and resist the temptation to force my favorite software on clients there is the issue that I can install WordPress quickly which therefore saves money for my client. WordPress is a CMS that supports installing different themes (and has a huge repository of free themes). The content that it manages consists of “pages” and “posts”, two arbitrary types of document. Supporting two types of document with a common look and feel and common important data in a side-bar seems to describe the core functionality used by most web sites for small businesses.
Does anyone have any other ideas for ways of solving this problem? Note that it should be reasonably easy to use for someone who hasn’t had much experience at doing such things, it shouldn’t take much sysadmin time to install or cost to run.
Raspberry Pi with Raspbian / Google coder or a Beaglebone Black with Debian. Set it up on a TV or headless and play to your heart’s content. Practice setting up web sites / PHP or whatever – silent, almost no power cost, no weight and you can chuck it into a coat pocket / store it in a Tupperware box when you’re not using it.
That gives you Linux and all the web tools you’d ever need for minimal outlay – I keep meaning to sit down myself and work through O’Reilly’s Head First HTML and CSS in my copious free time :)
The few times I’ve encountered this recently I’ve suggested one of the many static-site generators.
Writing in markdown-markup is generally easy for others to use. Sure there might be pain integrating with git, for people that are generally unused to such things, but the gain is worth the pain.
With commit hooks you can trigger a rebuild each time the user pushes to the repository (that you host, for example).
Ahhh whatever happened to Netscape Composer?
Web-based CMSes have been the trendiest thing for some time now. And programmers still enjoy defining their websites entirely in code (then rendering it one way or another). But I do also miss the days when software tasks like document authoring were done with, you know, standalone application software running on your own computer.
Trick question…. the answer is *don’t*.
If you value your site, and you have an option, don’t modify a live site. Use an offline development server instead, modify the off-line version – test, re-test, and when you are certain the changes work as desired – then upload them to the live site. Belt *and* suspenders ;)
The best way to ensure your offline changes will work identically on the live site is to replicate the live site as closely as possible on your development server. For that reason I recommend Virtualmin. While there are many ways to run a local webserver for development Virtualmin will happily import your live site using site backups from cPanel, Plesk etc. That way you know that all your paths, email hosting, ftp accounts, MySQL/PostGres etc all “just work”. If the live site is a CMS you can just update the changes to the database – if it’s a static site use FTP (Iceweasel/Firefox has a great FTP extension).
If someone still insists on working on a live site – back it up first (and download a copy of the backup) – then make your changes. If it’s a static site (no CMS) I’d suggest using the “It’s All Text” extension for Iceweasel/Firefox (https://addons.mozilla.org/en-US/firefox/addon/its-all-text/?src=search). Install it, then configure it to use your favourite text editor. I’d suggest Kate or Kwrite, but there are other equally useful text editor out there.
Don’t forget to check the validity of your code before publishing.
Hope that helps.
Ehheh. Maybe the client is unlike any I’ve ever dealt with and could handle all that formality, still express as much creativity as they demand control over, and tolerate a rigorous process, even for simple changes like fixing a typo.
On the other hand I’d expect something equally disastrous from most people given a WYSIWYG editor. I would fully expect to see a scrolling, flashing-text marquee stuck on there, layout converted into nested tables, HTML syntax broken where they tried pasting some snippet into it, an ‘under construction’ animated GIF and more hotlinked from other people’s hosting, and the homepage renamed to “Copy (1) of Home page.htm”.
I think all the ideas above must be balanced, and any existing CMS has made their own design choices. Some amount of WYSIWYG feel which is not too disconnected from what the underlying markup is suited for. A structure that adequately separates layout/design from content. Easy previewing of changes and easy restoration from regular backups/older revisions. I don’t think any off-the-shelf CMS has ever seemed ‘just right’ to me, for any project.
It’s amazing how much has changed in recent years. It doesn’t seem so long ago that PHP wasn’t available, or was disallowed for users on shared hosting. Now we have a choice of many scripting languages, and may even use several on the same website. Pages don’t need to correspond to flat files any more, and even the cheapest hosting lets users create a database with custom structure. We have all manner of editors, from standalone, to web-based (server and client-side), to the browsers themselves. There are new markup languages, or we can convert from other document formats to HTML. Or a whole website can be generated on-the-fly from a data model in its own source code.
@Stephen C.
Confusing – I’ve never had clients that “did things themselves” (or they wouldn’t be clients!). A development server (usually in a VBox machine) is something I provide them with. The trick, if any, is to hide the “formality” – in many cases they don’t fully comprehend that “publish” means synchronise the dev copy with the production copy (or even that there is two servers). Publish is just a button. Review is just seeing how the changes look in a variety of browsers at various viewport sizes – which sounds more complicated than it actually is (submit to a site that does that for them). Not as “simple” but then simple is a synonym for not wise. ;)
There are a variety of CMS that do WYSIWYG. How well they do that is dependant on the clients requirements (HTML5? Responsive? PageSpeed targets, Accessible standards compliant, Secure etc).
The original question being editors… I really haven’t come across any that do all the tasks properly yet don’t require an understanding of HTML and CSS, and none that come close to making Javascript simple for non-coders. Again – it depends on the “users” requirements (how much they’re willing to compromise?). Quanta, Bluefish, Nvu/Komposer and others are “not bad” – I can’t say the same for Dreamweaver, but for some it’s a more comfortable choice, because, like Joomla/WordPress, everyone else is doing it. For those that do want to “do it themselves” but don’t want to learn code (or care about standards) hosted solutions are easier (wwwub123, blogger, wordpress etc).
And Netscape Composer isn’t dead – the most direct descendant is Iceape/Seamonkey. I can’t say it does a better job than many “Word processors” both closed and open source.
Netscape Composer (part of the suite) -> Mozilla Composer (part of their Application Suite -> Seamonkey/Iceape. The same code base is part of Nvu/KompoZer/Blue Griffon.
For CMS that do a reasonable job of WYSIWYG editing – Concrete5, E107, ModX, and Typo3 are all good (unless commerce is a requirement).
Back to the original editing question. Another alternative is to use some of Firefox/Iceweasel’s excellent extensions that either plugin to Firebug or provide alternative means of editing pages (and scripts/CSS). Additionaly a little javascript (bookmarklet) allows modifying any page on any site – the user can then simply save the results as a single HTML page.