We've for years been struggling on what Rich Text Editor to use for our clients. The large share of our client request concern issues with the editor, and we have summarized the causes to be 90% of the time a combination of the following:
Client does not understand anything of HTML and can only use what the editor provides.
Client wants to do "advanced stuff" like specifically formatted footers under photos (we create classes for these kinds of requests), combined with floating boxes and special fonts.
Client copies stuff from other places - especially Word.
Images go into the article as well.
From a client-perspective, these are not overly crazy things, and I want to be able to actually support this. However, after so many years and trying several editors (mainly CKEditor and TinyMCE) we always end up with continuous requests because things go wrong. We generally fix it manually or hack up things in the editor, but I am really interested if this is normal. Are there Rich Text Editors that can do the above easily and without causing much trouble? Do your clients also have problems with these things?
Rich text editing on the web is a complex problem. Effectively, vendors that sell products like ckeditor and tinyMCE are restricted by what the browsers provide in terms of a rich text editing engine.
Each editor is merely an iframed document with contentEditable set to true. This exposes the underlying RTE engine of the browser, including all the quirks and implementation specifics of that browser.
Bottom line is, you are never going to achieve a word like experience in the browser with the current state of browsers. Period. Your clients will always have an unrealistic expectation of rich text editing on the web.
Our job is to mitigate the problems through managing expectations. They need to know that this is the web, not Word. They need to know that most things will work OK, and some will work poorly. They also need to know that things are never going to be consistent across all browsers.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I help make promo/event websites that shoot up and come down anywhere from a month to six months.
Clients ask for minute text edits a lot during the creation period, and during the live period they sometimes like to swap out images or text every few weeks to function as updates. It's inconvenient for the client to do this all through emails and phone calls.
I have been asked to do research to find a CMS that will let the clients do minor edits like this.
I was pointed to big dogs like Wordpress, Drupal, Joomla, and Typo3, but these are all very heavy-handed.
I settled on trying ImpressPages because of its inline editing and undo log but it too began to ask for a lot - I tried to adapt an old project to it but it insists all content calls and form submissions adhere to its framework so it's definitely not easy to drop in.
I don't need a CMS that handles page creation or any sort of overhead.
What I need is a CMS that doesn't care about any facet of the page other than editing text, swapping images, and probably a pretty secure login. Since we take care of the backend and it's only live for a few months it doesn't need detailed project maintenance and certainly the client should not have access to that.
Do you have any suggestions for lightweight CMSs that are easy to pop into a project?
11/11/14 EDIT:
Results so far:
I think a good alternative for this problem is Create.js and one of its children ContentBlocks, however they require node.js and REST which I have yet to really figure out. Quite different from what I know. However, this system allows for editing in-line on the page and saving right there, with no overhead menus or settings or anything. Just edit divs. Here's a link:
http://createjs.org/
children projects can be found by snooping the github
There are more CMS options out there than almost any other web technology. That said some are more and less easy to customize. It sounds like you've steered away from most of the common answers, although I really think you might want to look at WordPress again, with a little setup work and customizing the admin page it can be super lean and "dead simple" like Tumblr's interface.
That said there are a few more good options that are very light and yet full of potential!
Database back end
Perch – This one isn't free, but it's not expensive. It is built with the designer in mind (by other designers) and is also built with the end user in mind, thus it is light, flexible and the interface is not daunting to the non dev. And has very very good support.
Cake PHP – A lovely bit of OSS work, that will need some setting up by you or another dev, but once you have boilerplate/templates it should be simple to roll and unroll small sites.
Anchor – Another OSS project that seeks to be powerful but slight in it's footprint, but probably more structured (less pre-dev time required) than Cake PHP.
Flat file
No DB required, the user just puts their stuff in folders (like on their desktop) and then they get webpages - kinda brilliant and maybe just what you're looking for.
Pico – Uses PHP templates, but a simple file folder based structure, so there is very little learning curve to running or setting up the site.
Kirby – While this is not free, it is very well supported by original developers. It is designed with the goal of being dead simple to use and support.
Dropplets – This one is very very simple, possibly too simple, but there is very little to make a confusing interface out of. This one is very blog focused.
Hope that helps guide your search, as this list is far from exhaustive.
I have also been looking something easy and lightweight for clients to use for days. There are tons of options but there always seems to be something a bit off.
Finally yesterday I found two very good candidates:
Really impressed with both of them have been developing with Drupal, Conrete5, Wordpress.. but this is what simple sites need! Wow!
TidyCMS
http://tidycms.com/
Free / cheap license
Static pages hosted on your site + a connector that connects to the hosted editor. Basic package free.
"TidyCMS is a flat databaseless CMS that makes HTML-files editable and dynamic."
A Finnish startup who are creating a super simple product!
It could not be easier you just throw in a static html-template and put a TidyCMS-conector folder and browse to the subfolder. The subfolder connects to the hosted editor. The editor lets you click on page elements to make them editable. The interface is pretty okay. A bit rough though still, with some glithes. Seems to be in heavy development, but it's already pretty usable. The UI hangs sometimes, for instance when saving changes and you have to reload.
Instant Update
http://instant-update.com/
Open Source! Free! GNU General license.
This seems to be more mature. Also handles static html/php -files but the CMS seems to need a database. The inline editing is pretty good and stylish. The system also has backend with simple user and page management. Still in development by a small group of guys. I'm sure they'll welcome more people.
I am usual software developer (not Usability specialist); so it is interesting for me to know opinion of usability professionals about the following question.
I would like to know: how often usability specialists recommend using feature AutoComplete (http://en.wikipedia.org/wiki/Autocomplete) in modern GUIs? Has presence of the AutoComplete in GUI become a 'standard' to the moment?
This depends a lot on the overall design. Autocomplete increases usability only in some cases, in other it may be inappropriate or distracting. The only way to know in your particular case is to conduct usability testing.
I've implemented autocomplete on several different projects with user base ranging from 200 to 500 and have collected feedback on this feature. From my experience, users love it as long as it's fast.
My favorite control to do autocomplete is jQuery's: http://docs.jquery.com/Plugins/autocomplete
It doesn't start filtering until shortly after the user is done typing. This is important because you don't want to flood the server w/ too many ajax requests.
With Microsoft SharePoint 2007 I replaced the out-of-the-box search with a live search that does autocomplete. This is probably the most used feature in the site
I created a few "portlets" with large amounts of grid data and I use a built in quick find that filters the data for the user. These are also used quite a bit
One other thing to mention is I'm not too certain how 508 compliant it is so you may want to provide an alternative so the page w/ autocomplete can fail gracefully without sacraficing the user experience
Look at discussion on http://www.linkedin.com/groupItem?view=&gid=79272&type=member&item=49087267&qid=3ed96f17-25c4-4cac-b92d-69c37925f5bc&goback=%2Egna_79272; it is devoted to the Auto-Complete feature too. Some exampkles and ideas were written there.
I am bouncing around the idea of creating a custom document versioning system to use on business rule manuals. These manuals are broken up into outlined sections which contain one rule per section which are outlined in various ways (1.1, 1.2, etc). There are many manuals which contain the same rule for different locations in the country (down to the state/county level), however many locations will have different versions of the rules depending on business needs or whatnot.
My thought is to create a system which will manage versions of each section/rule separately. This would make the management of this mess much easier to maintain (think hundreds of manuals times hundreds of rules), and it would make fielding query requests from management much quicker.
Ok, it's a fairly easy and straightforward design to this point. Now for the monkey wrench. These rules are regulated by government agencies, so they must be submitted to and approved by state agencies. In doing this, many states require only the exact pages which are updated for each request to be submitted for approval. Once they are approved, these pages will get a new effective date and the rest of the manual will remain the same. There are business reasons for this process.
So my choice of document format has to allow for flowing layout much like Word, however I need to be able to programatically determine the page range of these sections and if changes or additions will cause a repagination.
The most complex layout will contain only tables, headers/footers, and a table of contents. I have thought about using OOXML, but I don't see a way to determine pagination without loading Word which is something I would prefer to avoid. I could create my own pagination algorithm, but that sounds a lot like reinventing the wheel.
Can anyone offer pointers to a solution whether it is an open document format, a book, or something else? Thank you for taking the time to read this.
If you want a truly modular document, then DocBook might be worth a look. You have all the rich formatting you need but it does need a bit of work. It really depends on who's doing the authoring and what tools they're comfortable using. DocBook is a rich mark-up language and you can do anything from work in the base plain text file or look at a number of WYSIWYG editors, e.g. ArborText.
It's not Word though - which might be enough to put your authors off!
If you did go with DocBook, you would maintain each document section in a separate text file so your versioning solution would work well. DocBook can produce output in a number of formats simultaneously so you could have an HTML version, an OOXML version, and a PDF version produced from the same source. A PDF version of each changed section might be appropriate to send to government agencies for approval.
On pagination, you could make life a lot easier for yourself by not having continuous page numbers. Use section or chapter based page numbering, e.g. page I-1, I-2, ..., II-1, II-2.
In GWT javadoc, we are advised
If you only need a simple label (text,
but not HTML), then the Label widget
is more appropriate, as it disallows
the use of HTML, which can lead to
potential security issues if not used
properly.
I would like to be educated/reminded about the security susceptibilities. It would be nice to list the description of the mechanisms of those risks.
Are the susceptibilities equally potent on GAE vs Amazon vs my home linux server?
Are they equally potent across the browser brands?
Thank you.
The security risk of using the HTML widget is that it doesn't escape html characters like the Label widget does. This opens up the possibility of Cross-site scripting (XSS). Therefore you should not use it to display data supplied from users. There's risk in itself to use it for string literals in your code.
How your GWT project is deployed doesn't matter much for the security risk, as the risk is there anyway if you allow user supplied data being printed back unescaped. But how your site is used, e.g. how much content is user contributed, and how popular your page is have a huge effect of how likely it is that someone actually will exploit a weakness.
Though ... if you have a habit of typing malicious javascript in your own sourcecode using Labels won't help anyway... :P
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
Suppose someone is building you a CMS (Content Management System) from scratch. What are the most important features to include and why?
security - OWASP Top 10
user management & user roles
action and view permissions
content versioning and audit
some form of workflow and notifications
i18n support on literals and object versions
normalized database schema design
some form of content import-export
assets management and thumbnail generation for uploads
Valid XHTML (compressed with GZIP)
Rich text editing (e.g FCKeditor) which generates accessible markup
Valid and minified CSS and javascript (e.g using YUI)
automatically generated sitemaps.org document
integration with Google Analytics
automatic RSS feeds
open search support
print css and/or print versions of content
SEO consideration for duplicate content (e.g use of canonical tag)
I think from a developer's perspective it would be an open modular architecture. IMHO there are always things to add which the CMS platform isn't providing out of the box. Also, it should be database-based.
Existing modules should cover the most important tasks: news, contacts, documents, forums, shop, survey, events, image gallery, navigation, links, fulltext-search, login, newsletter, etc.
From the user's perspective I think that the content editor (WYSIWYG) is the most important piece. The ability to edit inside the "live" page is a great feature. Upload of images with automated resizing and the upload of files should be easy.
The existence of page/control and website templates is also very helpful when you're starting with a CMS. Versioning of documents/pages is also a often required feature and a work-flow engine, where there are authors who create content and editors who are allowed to unlock it.
RSS syndication is another important feature that should be available in a modern CMS.
For international site it very important that the CMS had some sort of built-in multi-lingual support.
Then I think a good CMS nowadays must provide tools for Search Enginge Optimization, e.g. there must be a way to define and insert search engine friendly URLs.
Not mentioned already: A CMS system should easily integrate into an existing software infrastucture, so interoparability is a strong requirement.
Example: If your CMS supported WebDav, you win Microsoft Office as editing tools without any extra expenses.
My number one requirement when choosing a CMS system is the ability to skin it easily and control the markup.
Users can be really fussy about getting the layout EXACTLY as they want.
1) WYSIWYG editor. Being able to edit HTML content as if it were in Microsoft Word. That includs the ability to upload your own images.
2) Creating new pages without query strings ie) not 'pages.aspx?pageid=5' but 'contact.aspx'
3) Additional features such as news, photo gallery, blog, user management, etc...
Personally I really like the CMS starter kit Microsoft has available on codeplex. It is very well done and uses XML file storage so it doesn't need a database!
In addition to the things that others have mentioned:
Caching
If you page comprises lots of "pieces" - e.g. a Banner pane, Left pane, Main pane, Right pane and Footer pane, and perhaps each of those will have multiple "widgets" in them, then the effort of constructing the page becomes significant (both in database calls, and in rendering at the web server). Having some intelligent caching that is able to detect when any of the underlying content blocks has changed will make a big different to performance
CMS Matrix may be a useful comparison resource of existing CMS products
The features you need the most will naturally depend on how the CMS is going to be used, and by whom. For some, licensing will be the greatest issue, while for others, some obscure requirement like support for TIFF files could be the thing.
If you want en extensive list of CMS features, take a look at CMS Feature Lists
When working with clients, I often heard a number of requirements that, in my opinion, had little to do with what a modern CMS really needs. Far too often emphasis was on features that should have been in the domain of template designers, such as support for responsive design (whatever that really means), the ability to add brand elements etc.
I compiled a list of the top 5 features a modern CMS needs at http://www.simoahava.com/content-management/modern-cms-top-5-features/
Modular architecture and strong security are the most important features from a technical standpoint. Complete control over content, source code and the software solution itself are all huge perks for any CMS.
Simo Ahava