3 ms·
I've implemented this kind of thing in Django before, and I found that the problem I have with inline editing in general is one of affordance. Like the example
by danellis 14y ago
I've implemented this kind of thing in Django before, and I found that the problem I have with inline editing in general is one of affordance. Like the example in the video, if there are no controls, you have to be already familiar with the site to know that text is editable. 'Hover-over' affordance isn't really acceptable, because you won't move your mouse there unless you already have a reason to, and a user shouldn't be required to 'scan' the page with the mouse to find out which bits are reactive.
On the other hand, having "edit" links or buttons next to every field really litters up the page.
Has anybody written about good solutions to this?
- unoti 14y agoI prefer a cluttered page that the users know how to use, to a clean page they don't realize they can edit. I also wonder what the best practice is here. The shown solution is fine for internal tools, but not very good for a site designed to be intuitive to new users that will not have training.
- daGrevis 14y agoWe gone even further. By pressing <C-q>, click events are disabled (all except for clicking on translatable string) and all places, that are editable, are highlighted. By clicking on them, a popup opens. Then you can edit and press save. It's saved in the database. You can edit anything that uses `inline_trans` template tag. If text is translated, the newest version is shown instead from database. Sadly, it doesn't support variables yet. There is a page that shows all translations that can't be translated like that. For example, string that contain variables or strings that aren't in templates. It get those strings by using `polib`. Then there is a script that parses templates and gets all strings that are marked as "inline translatable". The same way `maketrans` does it. Then there is a script that merges results from database with existing PO file. It's done because taking strings from database is kinda slow and it's done using GNU's `gettext`. Yes, you need Linux server to use it. :) After having to maintain it for a few months, I can surely say that it was a terrible idea. We aren't a CMS too and it wasn't a must-have feature! It was done only for making life of business a little easier. Saying that, it would be a lot easier to teach business to use something like Django Rosetta.
- goinnn 14y agoIf you enable the toolbar: https://github.com/Yaco-Sistemas/django-inplaceedit#install-in-your-basehtml https://github.com/Yaco-Sistemas/django-inplaceedit#install-... You have a button to enable/disable the inplace editing. When this is enabled every thing that you can inplaceedit are indicated. So you don't have to scan the page Please use the application