1.. _touch: 2 3########################################## 4Using touch-screen devices with django CMS 5########################################## 6 7.. important:: 8 9 These notes about touch interface support apply only to the **django CMS admin and editing 10 interfaces**. The visitor-facing published site is **wholly independent** of this, and the 11 responsibility of the site developer. 12 13 14******* 15General 16******* 17 18django CMS has made extensive use of double-click functionality, which lacks an exact equivalent in 19touch-screen interfaces. The touch interface will interpret taps and touches in an intelligent way. 20 21Depending on the context, a tap will be interpreted to mean *open for editing* (that is, the 22equivalent of a double-click), or to mean *select* (the equivalent of a single click), according to 23what makes sense in that context. 24 25Similarly, in some contexts similar interactions may *drag* objects, or may *scroll* them, 26depending on what makes most sense. Sometimes, the two behaviours will be present in the same view, 27for example in the page list, where certain areas are draggable (for page re-ordering) while other 28parts of the page can be used for scrolling. 29 30In general, the chosen behaviour is reasonable for a particular object, context or portion of the 31screen, and in practice is quicker and easier to apprehend simply by using it than it is to explain. 32 33Pop-up help text will refer to clicking or tapping depending on the device being used. 34 35Be aware that some hover-related user hints are simply not available to touch interface users. For 36example, the overlay (formerly, the *sideframe*) can be adjusted for width by dragging its edge, 37but this is not indicated in a touch-screen interface. 38 39 40.. _device-support: 41 42************** 43Device support 44************** 45 46Smaller devices such as most phones are too small to be adequately usable. For example, your Apple 47Watch is sadly unlikely to provide a very good django CMS editing experience. 48 49Older devices will often lack the performance to support a usefully responsive frontend 50editing/administration interface. 51 52The following devices are known to work well, so newer devices and more powerful models should also 53be suitable: 54 55* iOS: Apple iPad Air 1, Mini 4 56* Android: Sony Xperia Z2 Tablet, Samsung Galaxy Tab 4 57* Windows 10: Microsoft Surface 58 59We welcome feedback about specific devices. 60 61 62******************** 63Your site's frontend 64******************** 65 66django CMS's toolbar and frontend editing architecture rely on good practices in your own frontend 67code. To work well with django CMS's responsive management framework, your own site should be 68friendly towards multiple devices. 69 70Whether you use your own frontend code or a framework such as Bootstrap 3 or Foundation, be aware 71that problems in your CSS or markup can affect django CMS editing modes, and this will become 72especially apparent to users of mobile/hand-held devices. 73 74 75************ 76Known issues 77************ 78 79General issues 80-------------- 81 82* Editing links that lack sufficient padding is currently difficult or impossible using 83 touch-screens. 84 85* Similarly, other areas of a page where the visible content is composed entirely of links with 86 minimal padding around them can be difficult or impossible to open for editing by tapping. This 87 can affect the navigation menu (double-clicking on the navigation menu opens the page list). 88 89* Adding links is known to be problematic on some Android devices, because of the behaviour of the 90 keyboard. 91 92* On some devices, managing django CMS in the browser's *private* (also known as *incognito*) 93 mode can have significant performance implications. 94 95 This is because local storage is not available in this mode, and user state must be stored in a 96 Django session, which is much less efficient. 97 98 This is an unusual use case, and should not affect many users. 99 100 101CKEditor issues 102--------------- 103 104* Scrolling on narrow devices, especially when opening the keyboard inside the CKEditor, does not 105 always work ideally - sometimes the keyboard can appear in the wrong place on-screen. 106 107* Sometimes the CKEditor moves unexpectedly on-screen in use. 108 109* Sometimes in Safari on iOS devices, a rendering bug will apparently truncate or reposition 110 portions of the toolbar when the CKEditor is opened - even though sections may appear to missing 111 or moved, they can still be activated by touching the part of the screen where they should have 112 been found. 113 114 115Django Admin issues 116------------------- 117 118* In the page tree, the first touch on the page opens the keyboard which may be undesirable. This 119 happens because Django automatically focuses the search form input. 120