tag:userecho.com,2024-03-29:/feeds/topics/en//UserEcho2024-03-23T17:31:17+00:00tag:support.userecho.com,2024-03-23:/communities/7/topics/47834-kak-nastroit-stil-dlya-user-or-signin/2024-03-23T17:31:17+00:002024-03-23T17:31:17+00:00Как настроить стиль для user_or_signin? [questions] [answered]<p>После кастомизации хидера, возникли некоторые сложности с отображением ссылки на регистрацию.</p><p>А именно - при определенной ширине окна пропадает текст "Sign in / Sign up". При чем, пропадает только текст (иконка на месте), и только для незарегистрированных посетителей (когда залогинен, видна и аватарка и имя пользователя).</p><p><br></p><p>Шаблон navigation содержит такой код:<br></p><pre> <nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> <a class="navbar-brand" href="https://communitypowerea.com/"> <span class="navbar-logo"> <img height="64" src="https://communitypowerea.com/assets/img/logo_square_1.png" width="64"> </span> <span class="text-capitalize">CommunityPower EA</span> </a> <div class="ml-md-auto" id="main_navbar"> <div class="d-lg-block"> <ul class="navbar-nav ml-auto ue-navbar-right-options"> {% language_selector %} {% user_or_signin avatar_size=32 %} </ul> </div> </div> </nav></pre><p>Вот как это выглядит:</p><p><a class="i_item_file file-icon-video" data-file="20644" data-name="Screen Recording 2024-03-23 at 17.03.50.mov" href="/uploaded/file/1/7/38555/eca2cbd9f4c6bdcd6d4cb383c9e7d4ac.mov" title="Screen Recording 2024-03-23 at 17.03.50.mov">Screen Recording 2024-03-23 at 17.03.50.mov</a></p><p><br></p><p>В залогиненом состоянии:</p><p><a class="i_item_file file-icon-video" data-file="20645" data-name="Screen Recording 2024-03-23 at 17.08.39.mov" href="/uploaded/file/1/7/38555/606d03e3b6c4ede3bf8f7b1da8d108db.mov" title="Screen Recording 2024-03-23 at 17.08.39.mov">Screen Recording 2024-03-23 at 17.08.39.mov</a></p><p></p><p>Подскажите, как подрихтовать стиль для user_or_signin, чтобы надпись не исчезала?</p><br/><br/> Vladimir Mullagaliyev replied:<br/><p>Здравствуйте,</p><p></p><p>Надпись пропадает, потому что у нее стоит стиль "d-none", который ее скрывает при маленьком экране (Вы, кстати, зачем-то его еще продублировали в своем CSS). Чтобы она не скрывалась, попробуйте добавить вот такой CSS:</p><p></p><pre>.navbar li.user-menu span.d-none.d-md-inline{ display: inline !important;}</pre>Andrey Khatimlianskyihttps://support.userecho.com/users/38555-andrey-khatimlianskyi/topics/tag:support.userecho.com,2024-02-29:/communities/7/topics/47224-nomera-stranits-vozle-nazvanij-tem-foruma/2024-02-29T17:20:44+00:002024-02-29T17:20:44+00:00Номера страниц возле названий тем форума? [ideas] [under review]<p>Поступило предложение от пользователей -- разместить номера страниц возле названия темы:</p><p><img src="/s/attachments/1/7/25394/8c348d452ed26604b3fe2b173c4bd8a9.png"></p><p></p><p>Может быть удобно для быстрой навигации. Встречал такое на некоторых других форумах:</p><p><img src="/s/attachments/1/7/25394/c5a4c3a8b54c3feb0b46c58519bca765.png"></p><br/><br/> Vladimir Mullagaliyev replied:<br/><p>Спасибо Андрей,</p><p></p><p>Теоретически это возможно, но интерфейс в таком варианте кажется перегруженным и непонятно насколько это нужно пользователям.</p><p>Оставим на голосование.</p>Andrey Khatimlianskiihttps://support.userecho.com/users/25394-andrey-khatimlianskii/topics/tag:support.userecho.com,2024-02-01:/en/knowledge-bases/10/articles/8872-available-interface-languages-in-the-userecho/2024-02-01T15:06:24+00:002024-02-01T15:06:24+00:00Available interface languages in the UserEcho [articles] <p> All activated languages are available in the table below. You can find the translation progress for each language in our translation system <a href="http://translate.userecho.com">http://translate.userecho.com</a></p><p>Feel free to ask about new languages and to contribute in the UserEcho translation.<br></p><p><br></p><p></p><p></p><table><tbody><tr><td><strong>Language</strong></td><td><strong>Code</strong><br></td></tr><tr><td>English</td><td>en</td></tr><tr><td>Русский</td><td>ru</td></tr><tr><td>Español</td><td>es</td></tr><tr><td>Français</td><td>fr</td></tr><tr><td>Deutsch</td><td>de</td></tr><tr><td>Nederlands</td><td>nl</td></tr><tr><td>Íslenska</td><td>is</td></tr><tr><td>Eesti</td><td>et</td></tr><tr><td>Қазақша</td><td>kk</td></tr><tr><td>Português</td><td>pt-br</td></tr><tr><td>Українська</td><td>uk</td></tr><tr><td>Čeština</td><td>cs</td></tr><tr><td>Dansk</td><td>da</td></tr><tr><td>Suomi</td><td>fi</td></tr><tr><td>Magyar</td><td>hu</td></tr><tr><td>Italiano</td><td>it</td></tr><tr><td>日本語</td><td>ja</td></tr><tr><td>한국어</td><td>ko</td></tr><tr><td>Svenska</td><td>sv</td></tr><tr><td>Türkçe</td><td>tr</td></tr><tr><td>中文(简体)</td><td>zh-hans</td></tr><tr><td>Català</td><td>ca</td></tr><tr><td>Polski</td><td>pl</td></tr><tr><td>norsk (bokmål)</td><td>nb</td></tr><tr><td>עברית</td><td>he</td></tr><tr><td> العربيّة</td><td>ar</td></tr></tbody></table><p></p><br/><br/>suggested by: Vladimir MullagaliyevVladimir Mullagaliyevhttps://support.userecho.com/users/2-vladimir-mullagaliyev/topics/tag:support.userecho.com,2024-01-23:/communities/7/topics/9430-golosuem-za-prostyie-smajlyi-emoji-emodzi/2024-01-23T22:22:02+00:002024-01-23T22:22:02+00:00Голосуем за простые смайлы Emoji (эмодзи) 🎅🏾 [ideas] [under review]<p><strong>Добрый день, друзья!</strong></p><p><br></p><p>Как на счет чтобы вставить в редакторов сообщений стандартные смайлы <span>Emoji? 🐰</span></p><p><br></p><p>Самое хорошее в них, что отображаются красиво с мобильных устройств и в почте. 😃<span></span></p><p><br></p><p><strong>Emoji</strong><span> используют мобильные устройства, email, социальные сети, программы массовой рассылки сообщений. Эти крошки крайне популярны) 😺<span></span><br></span></p><p><br></p><p>Надеюсь, что это предложение могло бы стать простым и удобным решением =) </p><p><strong>Поддержите идею голосованием</strong> ❤️<span></span></p><p><br></p><p><strong>PS:</strong> часто клиенты пишут с мобильных телефонов и вставляют <span><span><span>Emoji. А когда с компьютера, то им не откуда брать эти смайлы.</span></span></span></p><p> </p><br/><br/> a kislicyn replied:<br/><p>Поддерживаю идею.</p>Анна Бородинаhttps://support.userecho.com/users/17299-anna-borodina/topics/tag:support.userecho.com,2023-10-05:/en/knowledge-bases/10/articles/20774-how-to-report-a-vulnerability-in-userecho/2023-10-05T21:52:16+00:002023-10-05T21:52:16+00:00How to report a vulnerability in UserEcho [articles] Step-by-step guide on how to report a security bug/vulnerability<br><p>For responsible disclosure of a possible security vulnerability in UserEcho, we'd like you to follow these guidelines.</p><p></p><p>This way we get all the information we need in order to take appropriate and timely action. Thus, we ask you to report it directly to us thus, not to report the vulnerability in any public forums (like GitHub) etc. to ensure that it does not get exploited in the wild. </p><h2>How to report a vulnerability</h2><ul><li>Reach out to us directly at support@userecho.com</li><li>Make sure to provide us with as much and thorough information as you can</li></ul><h3>What we expect from you</h3><p>In order for us to fix and handle the vulnerability appropriately, we need your help. We need you to:</p><ul><li>Not tell anyone about the problem until we have fixed it. You will also not submit it as a CVE during this time.</li><li>Make sure to verify your claim of a security vulnerability by sharing a proof of concept</li><li>Reporting the results of an automated scan is usually not helpful. Please send us proof on how you think an attacker could exploit each of the scan results. </li></ul><h2>What'll happen next?</h2><p>We will acknowledge receipt of your vulnerability report. If we take the security issue further, we'll send you regular updates about our progress. As an acknowledgement of your contribution, we offer to publicly acknowledge your disclosure. <br></p><h2>Bounty Ineligible Issues<br></h2><p>The following items are known issues or accepted risks where we will not reward you:</p><ul><li>Clickjacking.</li><li>Cookie flags.</li><li>SPF, DKIM, DMARC issues.</li><li>Malicious attachments on file uploads or attachments.</li><li>Missing additional security controls, such as HSTS or CSP headers.</li><li>Mobile issues that require a Rooted or Jailbroken device.</li><li>Brute-force, / Rate-limiting, / Velocity throttling, and other denial of service based issues.</li><li>Issues involving server information disclosure, namely `X-Powered-by` and `Server` response headers.</li><li>XSS (or a behavior) where you can only attack yourself (e.g. "Self XSS").</li><li>XSS on pages where admins are intentionally given full HTML editing capabilities, such as custom theme editing</li><li>Low severity issues</li></ul><p><strong><br></strong></p><h2>List of security contributors<br></h2><p>We'd like to thank the contributors for their amazing efforts in making UserEcho safer, and we've therefore gathered <a href="https://support.userecho.com/en/knowledge-bases/10/articles/20402-list-of-security-contributors" title="List of security contributors">a dedicated list of UserEcho security contributors.</a></p><p><br></p><p>The people listed here, are all the first who provided us with actionable security information which helped us fix a particular vulnerability. </p><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:blog.userecho.com,2023-09-11:/blog/optimizing-park-district-operations-leveraging-userecho-helpdesk-knowledge-base-and-feedback-forum/2023-09-11T19:57:59+00:002023-09-11T19:57:59+00:00Optimizing Park District Operations: Leveraging UserEcho Helpdesk, Knowledge base, and Feedback Forum Solutions [articles] <p>A Park District could utilize the UserEcho SAAS product in various ways to enhance their customer engagement and support services. Here are some potential use cases:</p><p></p><figure><img src="/s/attachments/1/2/1/6fe6efc7f3fce8e81b908632c67b402d.jpg"></figure><p></p><p><strong>Helpdesk for Facility Issues: </strong>The Park District can use the Helpdesk solution to manage and address issues related to their facilities, such as maintenance requests, cleanliness concerns, or safety issues. Users could submit tickets through the platform, which would then be tracked, assigned, and resolved by the appropriate staff members.</p><p></p><p><strong>Feedback Forum for Program Suggestions:</strong> A Feedback Forum could allow community members to share their ideas and suggestions for new programs, events, or improvements to existing offerings. This engagement can help the Park District tailor their activities to better meet the needs and preferences of their constituents.</p><p></p><p><strong>Knowledge Base for Information: </strong>The Knowledge Base can be used to provide information about park locations, facilities, operating hours, and rules. This self-service resource can help visitors quickly find answers to common questions without needing to contact the Park District directly.</p><p></p><p>Here is example of real knowledge base that built using UserEcho</p><p><a href="https://feedback.seekingalpha.com/">https://feedback.seekingalpha.com/</a></p><p></p><p><img src="/s/attachments/1/2/1/670a63b591b2268f8b03c1ef2f7edf93.png"></p><p><strong><br></strong><strong>Social Engagement and Community Building:</strong> UserEcho might offer social engagement features that encourage community members to interact with each other, share experiences, and build a sense of community around the Park District's offerings.<br></p><ul></ul><p>City of Elk Grove uses UserEcho to collect ideas about park district development<br></p><p><a href="https://elkgrovecity.userecho.com/">https://elkgrovecity.userecho.com/</a></p><p><br></p><p>Oswegoland Park District uses UserEcho to communicate with district users<br></p><p><a href="https://opdlab.userecho.com/">https://opdlab.userecho.com/</a></p><p><br><strong>Complaints and Resolution Tracking:</strong> The Helpdesk could be used to manage and track complaints, allowing the Park District to address concerns promptly and ensure a high level of customer satisfaction.<br></p><p>Internal Issue Tracking and Resolution: Use the private helpdesk to manage and track internal issues, such as maintenance requests, IT support, or administrative inquiries. Staff members can submit tickets, and designated teams can handle them, ensuring a systematic approach to problem-solving.</p><p></p><p>Park District of Oak Park uses UserEcho for Internal Issue Tracking and Resolution</p><p><a href="https://pdop.userecho.com/">https://pdop.userecho.com/</a></p><p></p><p>To implement these solutions effectively, the Park District should consider customizing the UserEcho platform to align with their specific needs and branding. Regularly reviewing and acting upon the feedback received through UserEcho can lead to continuous improvement and a better overall experience for park district people.</p><p></p><p>We will be glad to see the Park Districts among our customers. Please select which use case you want to implement and we will help with configuration, branding and onboarding.</p><p></p><p><br></p><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2023-07-20:/en/knowledge-bases/10/articles/7895-how-to-make-a-poll-on-your-userecho-community/2023-07-20T15:23:39+00:002023-07-20T15:23:39+00:00How to make a poll on your UserEcho community [articles] <p>Add poll functionality available only for agents and from agent interface</p><p>To create a poll, first you need to create a topic. </p><p></p><p>Then choose poll settings option [1] </p><p><br></p><p><img src="/s/attachments/1/10/1/4d97dc78b8e44ba2cbbf60df7d92a61f.png"></p><p><br></p><p><br></p><p>And setup poll and poll variants, using following settings window.</p><p></p><p><img src="/s/attachments/1/10/1/85575cd2f17f4a67d2352b3e9d6f9cdd.png"></p><p><br><br>You can add poll variants using <strong>+Add new variant button </strong>[1]<br>Also you able to set additional settings for your poll, use checkboxes to turn on required ones. [2]<br><br>Find out poll example below.<br><br></p><p><img src="/s/attachments/1/10/1/82cfd650a6f945b499a17b7a50e6da44.png"></p><p></p><br/><br/> Gella replied:<br/><p>Could you please update the guide with how to find the "polls"? Still with this guide I spent 10 minutes looking for where to do the first part</p><p>"To create poll, first you need to create typical topic. Then choose pool settings in the right action menu."</p>Sergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2023-07-14:/en/knowledge-bases/10/articles/40460-how-to-archive-old-user-tickets-and-notify-users-that-they-need-to-open-a-fresh-ticket-instead-of/2023-07-14T01:58:03+00:002023-07-14T01:58:03+00:00How to archive old user tickets and notify users that they need to open a fresh ticket instead of writing to old one [articles] <p>This task could be accomplished in two steps.</p><p></p><p>1st step - we need to setup helpdesk automation rule to archive tickets older that selected period of time for example 30 days.</p><p></p><p>Open Helpdesk->Topic types and click edit icon to add a new ticket status.</p><p></p><p><img src="/s/attachments/1/10/1/cbfd0eadf17affd88b704e09e007a42c.png"></p><p><br></p><p>Then click +Add button and create and "Archived" status.</p><p></p><p><img src="/s/attachments/1/10/1/72f9577029e98a3e8fda02b294e5b8ac.png"></p><p></p><p>Set logical group "Closed" for it</p><p></p><p><img src="/s/attachments/1/10/1/c70ea6257969ea86d1eb23d958a643ae.png"></p><p></p><p>Then go to the </p><p><strong>Helpdesk -> Automation -> Timer events</strong></p><p>and create event to archive all ticket older than 30 day</p><p></p><p><img src="/s/attachments/1/10/1/6fb6d3729795ace1866aa27ec227ea43.png"></p><p><br></p><p>After activation of this rule all tickets older that 30 days will be archived.</p><p></p><p>2nd step</p><p>Open <strong>Helpdesk -> Automation ->Ticket updates</strong></p><p><strong><br></strong></p><p>And create following rule.<br></p><p><img src="/s/attachments/1/10/1/946039370b8f3bbc6241dfe512c58b2c.png"></p><p>With that rule UserEcho will notify users that they should create a new ticket if current one is older that 30 days.</p><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2023-05-04:/en/knowledge-bases/10/articles/7885-userecho-widgets/2023-05-04T20:57:36+00:002023-05-04T20:57:36+00:00UserEcho widgets [articles] <h3>1. Widget with button</h3><p>Your users will be able to leave private requests to your helpdesk, browse and search through your knowledgebase and chat with your support team.<br><br>It's highly configurable. You can assign helpdesk, knowledgebase, livechat to widget all together or only helpdesk for private requests. You need to insert embedding code to your website only once. After that you will be able to manage all settings from the settings interface.<br><br>You can easily change widget colors and widget labels to match your branding.</p><p></p><p>Below is example how will look a widget button [1] left image below and opened widget - right image. </p><p></p><table><tbody><tr><td><p><img src="/s/attachments/1/10/1/8ea5a9a2345d8c3f1784a0d3289f07c4.png"></p></td><td><p><img src="/s/attachments/1/10/1/3aa9e77e64ef8c1bf01f5ba9306dad57.png"></p></td></tr></tbody></table><p></p><h3>2. Built-in contact form</h3><p>The contact form provides an immediate, convenient way for users to ask the company questions. You can see how feedback form look on the image below. Check <a href="/en/knowledge-bases/10/articles/33469-setting-up-a-built-in-contact-form-for-the-website">More details</a> how to configure and install contact form.<br></p><p><br></p><p><img src="/s/attachments/1/10/1/113a560506b1e174d60ac2c6f27688ff.png"></p><h3>3. Widget API - Custom link or button to call widget</h3><p>It's possible to launch widget popup with javascript call, so you free to assign widget trigger on any of the your site's elements. Check detailed <a href="/en/knowledge-bases/10/articles/38339-how-to-add-widget-with-custom-widget-link-invisible-button">instruction</a> how to make it.</p><p></p><p></p><br/><br/> Sergey Stukov replied:<br/>Hello, it's direct link to the widget settings for your project.<br><a href="https://oae.userecho.com/settings/project/widgets/">https://oae.userecho.com/settings/project/widgets/</a><br>Sergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2023-05-04:/en/knowledge-bases/10/articles/38339-how-to-add-widget-with-custom-widget-link-invisible-button/2023-05-04T15:36:38+00:002023-05-04T15:36:38+00:00How to add widget with custom widget link (invisible button) [articles] <p>You can use custom link to open UserEcho widget. </p><p></p><p>We will provide detailed steps how to implement it on your website.</p><p></p><p>First of all you need to configure your new widget in <strong>Portal -> Widgets</strong>.</p><p></p><p>Once you have it configured set "<strong>Button mode</strong>" to "<strong>Invisible</strong>" under "<strong>Widget button settings</strong>".</p><p><img src="/s/attachments/1/10/2/e0569ff2eefb3e86274bf67ef2a1a472.png"></p><p><br></p><p>This will hide widget button from your website.</p><p><img src="/s/attachments/1/10/2/36d8fef2bf11c3e0b7e0b49c99d80a07.png"></p><p><br></p><p>Now you need to add some custom link to your website. This is example how it could looks like:</p><pre><a href="javascript:;" class="js-ue-feedback">Need help?</a></pre><p><br></p><p>Now when we have the link it's time to make it alive. You have two ways to do it:</p><p><strong>1. Load widget script when users click on the link (no script preload).</strong> It will not add any time to your page load but will take a little time to open the widget. We would still recommend this variant for invisible button.<br></p><p><br></p><p>Replace <strong>[my_alias]</strong> with your project alias and <strong>[my_widget_id]</strong> with your widget ID.</p><pre><!-- Start UserEcho Widget script --><script>!(function () { // opens widget and checking if widget is ready to be opened function openWidget(){ if (typeof UE === 'undefined'){ setTimeout(openWidget,100) }else{ UE.Widget.open() } } // load widget script by link click const ueds = document.querySelectorAll('.js-ue-feedback'); if (ueds) { ueds.forEach(item => { item.addEventListener('click', function () { var _ws = document.createElement("script"); _ws.type = "text/javascript"; _ws.src = "https://[my_alias].userecho.com/s/cdn/widget/v3.js?id=[my_widget_id]"; // this is important to do not wait! _ws.setAttribute("delay", 0); document.body.appendChild(_ws); openWidget(); }) }) }})()</script><!-- End UserEcho Widget script --></pre><p></p><p><strong>2. Load widget script on every page load (script preload).</strong> It will add a little load time to your page but make reaction on the link faster.</p><p></p><p>Replace <strong>[my_alias]</strong> with your project alias and <strong>[my_widget_id]</strong> with your widget ID.</p><pre><!-- Start UserEcho Widget script --><script src="https://[my_alias].userecho.com/s/cdn/widget/v3.js?id=[my_widget_id]"></script><script>!(function () { // open widget by link click const ueds = document.querySelectorAll('.js-ue-feedback'); if (ueds) { ueds.forEach(item => { item.addEventListener('click', function () { UE.Widget.open() }) }) }})()</script><!-- End UserEcho Widget script --></pre><br/><br/>suggested by: Vladimir MullagaliyevVladimir Mullagaliyevhttps://support.userecho.com/users/2-vladimir-mullagaliyev/topics/tag:support.userecho.com,2023-05-04:/en/knowledge-bases/10/articles/38330-how-to-move-article-to-another-knowledge-base/2023-05-04T14:11:31+00:002023-05-04T14:11:31+00:00How to move article to another Knowledge Base? [articles] <p>If you want to move article to another knowledge base.</p><ul><li><a href="/en/knowledge-bases/10/articles/38305-how-to-open-knowledge-base-editor">Open</a> the knowledge base editor first</li><li>Then open article that you want to move </li><li>Click on the <strong>"Edit article properties"</strong> button [1]</li></ul><p><img src="/s/attachments/1/10/1/a5b61059e6cc1d89281a4df95a39c343.png"></p><ul><li>Then click on the <strong>"Change Knowledge base"</strong> button [2]</li></ul><p></p><p><img src="/s/attachments/1/10/1/97440e70845e580ac2b475049692baca.png"></p><p><br></p><ul><li>Select target knowledge base [3]</li><li>Current article type will be mapped to the target knowledge base types, select one that you want. [4]</li><li>Select destination category [5]</li><li>Click <strong>"Save" </strong>[6] button to move article</li></ul><p><img src="/s/attachments/1/10/1/7946e0ed1b73fcc7f455fafc2be0a90d.png"></p><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2023-05-04:/en/knowledge-bases/10/articles/18560-how-to-create-a-new-article/2023-05-04T14:01:13+00:002023-05-04T14:01:13+00:00How to create a new article? [articles] <p>This article describes the sequence of steps required to add or edit articles in the UserEcho - Knowledge Base</p><p></p><p><strong>Step 1</strong></p><p><a href="/en/knowledge-bases/10/articles/38305-how-to-open-knowledge-base-editor">Open</a> the Knowledge Base Editor.</p><p><strong><br></strong></p><p><strong>Step 2</strong></p><p>Select the knowledge base you need if you have several.</p><p><strong><br></strong></p><p><strong>Step 3</strong></p><p>Select the category to which you need to add the article.</p><p><strong><br></strong></p><p><strong>Step 4</strong></p><p>Click the “+Article” button [1]</p><p></p><p><img src="/s/attachments/1/10/1/9a2e29578110133394743c26d1abbd12.png"></p><p></p><p><strong>Step 5</strong><br></p><p>In the window that appears, you can enter the title and description of the article.</p><p><br></p><p><img src="/s/attachments/1/10/1/d2356db1838b4c101663364ae8138cfb.png"></p><p></p><p></p><br><p><strong>Step 6</strong></p><p>To save the article, click the <strong>"Save"</strong> button. [2]</p><p><br></p><p><br></p><blockquote>After the save, the article is saved as a draft and then you can publish it and make it available to your users.</blockquote><p>Also you could instantly publish article by clicking. <strong>"Publish"</strong> button [3]</p><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2023-05-03:/en/knowledge-bases/10/articles/37114-how-to-change-order-of-knowledge-base-articles/2023-05-03T20:10:19+00:002023-05-03T20:10:19+00:00How to change order of Knowledge Base articles [articles] <p>You can use drag and drop to change articles order.</p><p>Just click and hold mouse button on article [1] and drop it to the desired position.</p><p></p><p><img src="/s/attachments/1/10/1/7db41ba679541238101fbca6ca2fd380.png"></p><p></p><p>Please note that you can drag articles only when <strong>Category</strong> is selected.</p><p></p><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2023-05-03:/en/knowledge-bases/10/articles/38306-how-to-enable-user-rating-for-the-knowledge-base-articles/2023-05-03T20:10:02+00:002023-05-03T20:10:02+00:00How to enable user rating for the Knowledge Base articles? [articles] <p>Users able to set positive or negative score, about article content, for negative votes UserEcho ask user for explanation. So in this case you can improve topic content and turn user reaction to the positive state. This feature helps to increase user loyalty and to improve quality of content.<br></p><p></p><p><img src="/s/attachments/1/10/1/de24acdbe00b18dad0e95865d0f9a313.png"></p><p></p><p></p><p>You can toggle user ratings in the knowledge base settings section.</p><ul><li>Click on your user profile at the top right of the screen.</li><li>Select <strong>"Setup"</strong> to open settings.</li><li>Click on the <strong>"Knowledge base" </strong>at the left sidebar</li><li>Click on the <strong>"Common settings"</strong></li><li>Then select Enabled in the helpful panel dropdown<br></li></ul><p></p><p><img src="/s/attachments/1/10/1/fa894f0f9c46434979bd60be751e8a33.png"></p><p><br></p><p></p><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2023-05-03:/en/knowledge-bases/10/articles/7889-how-to-create-knowledge-base-faq-for-your-community/2023-05-03T20:01:16+00:002023-05-03T20:01:16+00:00How to create Knowledge Base (FAQ) for your community [articles] <p>At this moment all new communities created with preconfigured knowledge base. But you able to have multiple knowledge bases. It can be public or private. Find out below details how to create and configure knowledge base for your community.</p><h2>How to add knowledge base<br></h2><p>Follow this steps to create additional database</p><ul><li>Click on your user profile at the top right of the screen.</li><li>Select <strong>"Setup"</strong> to open settings.</li><li>Click on the <strong>"Knowledge base" </strong>at the left sidebar</li><li>Click on the <strong>"Control"</strong></li><li>Click on the <strong>"+Add"</strong> button to create a new database.<br></li></ul><p><img src="/s/attachments/1/10/1/d85ead5c38ab78093e38efe36d474328.png"></p><h3>Additional Information</h3><p>Check following <a href="/en/knowledge-bases/10/articles/18560-how-to-create-a-new-article">article</a> to learn how to create your first article in the knowledge base.<br></p><br/><br/> ae replied:<br/><p>извините, нашла</p>Vladimir Mullagaliyevhttps://support.userecho.com/users/2-vladimir-mullagaliyev/topics/tag:support.userecho.com,2023-05-03:/en/knowledge-bases/10/articles/8248-how-to-include-an-article-content-into-another-article/2023-05-03T19:59:58+00:002023-05-03T19:59:58+00:00How to include an article content into another article [articles] <p>Sometimes you need to include an article content inside another articles. For example, if some articles describe different situation and then some identical steps.</p><p><br></p><p><strong>Option 1:</strong></p><p><em>Easy to use.</em> You can include link from one to another article. Just add a link in the editor.</p><p></p><p><strong>Option 2:</strong></p><p><em>Better representation</em>. You are able to use specific tag to include content from one (common) article to another one.</p><p><br></p><p>{%<strong> </strong>include_topic_description your_topic_id %}</p><p><br></p><p>Where<em> your_topic_id</em> is your included topic ID (The first number in the Article URL. EX: 7913 in the <a href="https://feedback.userecho.com/topics/">https://feedback.userecho.com/topics/</a><strong>7913</strong>-how-to-reset-your-userecho-password/)</p><p><br></p><p>Example:</p><p>{%<strong> </strong>include_topic_description 1 %}</p><p><br></p><p>So, if you current article has text:</p><p></p><blockquote>To activate your account you have to do following steps:<br>{%<strong> </strong>include_topic_description 1 %};</blockquote><p></p><p>And article with ID=1 has text:</p><p></p><blockquote>Step 1: click on link<br>Step 2: check your email</blockquote><p><br></p><p>Your current article will be rendered as:</p><p></p><blockquote>To activate your account you have to do following steps:<br>Step 1: click on link<br>Step 2: check your email</blockquote><p><br></p><p></p><p><strong>Please note! </strong>All users will be able to see included topic content even this topic is not available to a user by direct link (has no access).<br></p><br/><br/> Vladimir Mullagaliyev replied:<br/><p>Иван, спасибо за замечания.</p><p>1. Добавили описание где взять ID</p><p>2. Изменили "содержание" на "текст". Честно говоря в этой части вроде должно быть понятно, так как мы не написали, что надо переключиться в код :)</p><p>3. Была опечатка в переводе, исправили. </p>Vladimir Mullagaliyevhttps://support.userecho.com/users/2-vladimir-mullagaliyev/topics/tag:support.userecho.com,2023-05-03:/en/knowledge-bases/10/articles/38305-how-to-open-knowledge-base-editor/2023-05-03T19:46:13+00:002023-05-03T19:46:13+00:00How to open Knowledge Base editor? [articles] All content work with your Knowledge base is made using knowledge base editor.<br>To open it follow this steps.<br><br><ul><li>Sign in into your account.</li><li>Click on your user profile at the top right of the screen.</li><li>Select <strong>"Agent interface"</strong> in the dropdown menu. See [1] on the image below.</li></ul><p><img src="/s/attachments/1/10/1/e271acb99f23e81f5015acde3bb6cbca.png"></p><p></p><ul><li>Then click on the <strong>"Knowledge base"</strong> icon See [1] on the image below.</li></ul><p><img src="/s/attachments/1/10/1/5dbe6937c1b35cfc1953488a3045561f.png"></p><p></p><ul><li>Done!</li></ul><p><img src="/s/attachments/1/10/1/988bf1e4f3e824fb2aa5fbd3f1a6c36a.png"></p><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2023-04-28:/communities/1/topics/37791-ability-to-perform-sign-up-and-post-by-api/2023-04-28T17:31:08+00:002023-04-28T17:31:08+00:00Ability to perform sign up and post by API [questions] [answered]<p>I'm trying to create a bug reporter in our game for users to submit bugs with. We want them to simply provide an email address and name and be able to submit their bug no questions asked. I had hoped the UE API would allow this, but it seems I must expose my own API token which is dangerous to do?</p><br/><br/> Vladimir Mullagaliyev replied:<br/><p>The problem was resolved via Helpdesk. </p><p><br></p><p>We will post an example for CloudFlare Worker realization here. Please replace HelpdeskId and ApiKey.</p><p><a class="i_item_file file-icon-text" data-file="19583" data-name="cloudflare_worker_new_ticket_example.txt" href="/uploaded/file/1/1/2/68f48d8f59c5c50dcc30b21aa1e6a1bf.txt" title="cloudflare_worker_new_ticket_example.txt">cloudflare_worker_new_ticket_example.txt</a></p><p></p><p>Here is an example how we call the request.</p><p><img src="/s/attachments/1/1/2/e08a0ee54262d613246bd4f44561aec1.png"></p>Scott Richmondhttps://support.userecho.com/users/12436-scott-richmond/topics/tag:support.userecho.com,2023-04-28:/communities/1/topics/37929-six-years-of-consistently-outstanding-service-thank-you/2023-04-28T14:19:50+00:002023-04-28T14:19:50+00:00Six+ years of consistently outstanding service - thank you! [praises] [thanks]My team has been leveraging UserEcho to great success in our software product development efforts for six+ years. The team at UserEcho is responsive, informative, flexible, and eminently professional. It is a pleasure working with them!<br><p></p><br/><br/> Vladimir Mullagaliyev replied:<br/><p>Hi Thomas,</p><p></p><p>Thanks a lot for your feedback! We really appreciate it!</p>thomas richardsonhttps://support.userecho.com/users/23760-thomas-richardson/topics/tag:support.userecho.com,2023-02-13:/en/knowledge-bases/10/articles/7914-delete-your-account/2023-02-13T15:52:12+00:002023-02-13T15:52:12+00:00Delete your account [articles] <p>1. Sign-in as community owner</p><p><br></p><p>2. Click on "Project settings" in the your user actions dropdown.</p><p></p><p><img src="/s/attachments/1/10/1/7802262a8bf2c0b6f5b45f1ed42186dc.png" style="width: 259px;" width="259"></p><p><br>3. If you wish to delete your community click on the <br></p><p>"delete it" link.</p><p></p><p><img src="/s/attachments/1/10/1/613d4a9aa226c93a2ce068fe01f659f9.png" style="width: 475px;" width="475"></p><p>After confirmation your community will be deleted.<br></p><br/><br/> Vladimir Mullagaliyev replied:<br/><p>Мы не видим прилинкованного аккаунта и аватара тоже у Вас нет. Дайте хотя бы линк на то, что Вы хотите удалить. Поисковый запрос или что-то еще.</p>Sergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2023-02-06:/en/knowledge-bases/10/articles/16812-support-portal-template-tags-and-filters/2023-02-06T14:02:07+00:002023-02-06T14:02:07+00:00Support Portal Template Tags and Filters [articles] <p>UserEcho portal templates use tags and filter to operate with templates data.</p><h3>Template Tags</h3><ul> <li><a href="#if">if ... elif ... else ... endif</a></li> <li><a href="#for">for ... empty ... endfor</a> </li> <li><a href="#with">with ... endwith</a> </li> <li><a href="#comment">comment ... endcomment</a></li> <li><a href="#trans">trans</a></li> <li><a href="#paginate">paginate ... endpaginate</a></li> <li><a href="#forum_item_list">forum_item_list</a></li> <li><a href="#comment_list">comment_list</a></li> <li><a href="#user_list">user_list</a></li> <li><a href="#url">url</a></li> <li><a href="#link">link</a></li> <li><a href="#avatar">avatar</a></li> <li><a href="#user_link">user_link</a></li> <li><a href="#image">image</a></li> <li><a href="#language_selector">language_selector</a></li> <li><a href="#user_or_signin">user_or_signin</a></li> <li><a href="#search_form">search_form</a></li> <li><a href="#set_meta">set_meta</a></li> <li><a href="#navigation">navigation</a></li> <li><a href="#new_topic_form">new_topic_form</a></li> <li><a href="#new_ticket_form">new_ticket_form</a></li> <li><a href="#new_comment_form">new_comment_form</a></li> <li><a href="#forum_item_list_filters">forum_item_list_filters</a></li> <li><a href="#comment_filters">comment_filters</a></li> <li><a href="#breadcrumbs">breadcrumbs</a></li> <li><a href="#topic_voting">topic_voting</a></li> <li><a href="#article_voting">article_voting</a></li> <li><a href="#follow_button">follow_button</a></li> <li><a href="#comment_voting">comment_voting</a></li> <li><a href="#comment_actions">comment_actions</a></li> <li><a href="#login_panel">login_panel</a></li> <li><a href="#password_reset_form">password_reset_form</a></li> <li><a href="#user_signup_form">user_signup_form</a></li> <li><a href="#login_openid_form">login_openid_form</a></li> <li><a href="#user_settings_form">user_settings_form</a></li> <li><a href="#user_password_change_form">user_password_change_form</a></li> <li><a href="#user_notifications">user_notifications</a></li> <li><a href="#related_articles">related_articles</a></li> <li><a href="#item_prev_and_next_links">item_prev_and_next_links</a></li> <li><a href="#share_buttons">share_buttons</a></li> <li><a href="#satisfaction_survey">satisfaction_survey</a></li> <li><a href="#user_page_menu">user_page_menu</a></li> <li><a href="#forum_selector">forum_selector</a></li><li><a href="#date_format">date_format</a></li> <li><a href="#powered_by_userecho">powered_by_userecho</a> </li></ul><p></p><h3><a href="#if" id="if">if ... elif ... else ... endif</a></h3><p>The <code>{% if %}</code> tag evaluates a variable, and if that variable is “true” (i.e. exists, is not empty, and is not a false boolean value) the contents of the block are output:</p><pre>{% if portal.section == "login" %} This is login page{% elif portal.section == "password_reset" %} This is password reset page{% else %} This is some page{% endif %}</pre><p>As you can see, the <code>if</code> tag may take one or several <code>{% elif %}</code> clauses, as well as an <code>{% else %}</code> clause that will be displayed if all previous conditions fail. These clauses are optional.<br></p><p><strong><br></strong></p><p><strong>Boolean operators</strong></p><p></p><p><code>if</code> tags may use <code>and</code>, <code>or</code> or <code>not</code> to test a number of variables or to negate a given variable:</p><pre>{% if portal.section == "login" and portal.user %} The user is authenticated{% endif %}{% if not portal.user %} User is not authenticated{% endif %}{% if portal.section == "login" or portal.section == "password_reset" %} Common block for login and password reset{% endif %}</pre><pre>{% if x and y or z %}</pre><p>will be interpreted like:</p><pre>if (x and y) or z</pre><p>Use of actual parentheses in the <a href="https://docs.djangoproject.com/en/2.2/ref/templates/builtins/#std:templatetag-if"><code>if</code></a> tag is invalid syntax. If you need them to indicate precedence, you should use nested <a href="https://docs.djangoproject.com/en/2.2/ref/templates/builtins/#std:templatetag-if"><code>if</code></a> tags.</p><p><a href="https://docs.djangoproject.com/en/2.2/ref/templates/builtins/#std:templatetag-if"><code>if</code></a> tags may also use the operators <code>==</code>, <code>!=</code>, <code><</code>, <code>></code>, <code><=</code>, <code>>=</code>, <code>in</code>, <code>not in</code>, <code>is</code>, and <code>is not</code> which work as follows:</p><h5><code>==</code> operator</h5><p>Equality. Example:</p><pre>{% if somevar == "x" %} This appears if variable somevar equals the string "x"{% endif %}</pre><h5><code>!=</code> operator</h5><p>Inequality. Example:</p><pre>{% if somevar != "x" %} This appears if variable somevar does not equal the string "x", or if somevar is not found in the context{% endif %}</pre><h5><code><</code> operator</h5><p>Less than. Example:</p><pre>{% if somevar < 100 %} This appears if variable somevar is less than 100.{% endif %}</pre><h5><code>></code> operator</h5><p>Greater than. Example:</p><pre>{% if somevar > 0 %} This appears if variable somevar is greater than 0.{% endif %}</pre><h5><code><=</code> operator</h5><p>Less than or equal to. Example:</p><pre>{% if somevar <= 100 %} This appears if variable somevar is less than 100 or equal to 100.{% endif %}</pre><h5><code>>=</code> operator</h5><p>Greater than or equal to. Example:</p><pre>{% if somevar >= 1 %} This appears if variable somevar is greater than 1 or equal to 1.{% endif %}</pre><h5><code>in</code> operator</h5><p>Contained within. This operator is supported by many Python containers to test whether the given value is in the container. The following are some examples of how <code>x in y</code> will be interpreted:</p><pre>{% if "bc" in "abcdef" %} This appears since "bc" is a substring of "abcdef"{% endif %}{% if "hello" in greetings %} If greetings is a list or set, one element of which is the string "hello", this will appear.{% endif %}{% if user in users %} If users is a QuerySet, this will appear if user is an instance that belongs to the QuerySet.{% endif %}</pre><h5><code>not in</code> operator</h5><p>Not contained within. This is the negation of the <code>in</code> operator.</p><h5><code>is</code> operator</h5><p>Object identity. Tests if two values are the same object. Example:</p><pre>{% if somevar is True %} This appears if and only if somevar is True.{% endif %}{% if somevar is None %} This appears if somevar is None, or if somevar is not found in the context.{% endif %}</pre><h5><code>is not</code> operator</h5><p>Negated object identity. Tests if two values are not the same object. This is the negation of the <code>is</code> operator. Example:</p><pre>{% if somevar is not True %} This appears if somevar is not True, or if somevar is not found in the context.{% endif %}{% if somevar is not None %} This appears if and only if somevar is not None.{% endif %}</pre><p><strong><br></strong></p><p><strong>Filters</strong></p><p></p><p>You can also use filters in the <a href="https://docs.djangoproject.com/en/2.2/ref/templates/builtins/#std:templatetag-if"><code>if</code></a> expression. For example:</p><pre>{% if messages|length >= 100 %} You have lots of messages today!{% endif %}</pre><p><strong><br></strong></p><p><strong>Complex expressions</strong><br></p><p><strong><br></strong></p><p>All of the above can be combined to form complex expressions. For such expressions, it can be important to know how the operators are grouped when the expression is evaluated - that is, the precedence rules. The precedence of the operators, from lowest to highest, is as follows:</p><ul> <li><code>or</code></li> <li><code>and</code></li> <li><code>not</code></li> <li><code>in</code></li> <li><code>==</code>, <code>!=</code>, <code><</code>, <code>></code>, <code><=</code>, <code>>=</code></li></ul><p>So, for example, the following complex <a href="https://docs.djangoproject.com/en/2.2/ref/templates/builtins/#std:templatetag-if"><code>if</code></a> tag:</p><pre>{% if a == b or c == d and e %}</pre><p>…will be interpreted as:</p><pre>(a == b) or ((c == d) and e)</pre><p>If you need different precedence, you will need to use nested <a href="https://docs.djangoproject.com/en/2.2/ref/templates/builtins/#std:templatetag-if"><code>if</code></a> tags. Sometimes that is better for clarity anyway, for the sake of those who do not know the precedence rules.</p><p>The comparison operators cannot be ‘chained’ like in Python or in mathematical notation. For example, instead of using:</p><pre>{% if a > b > c %} (WRONG)</pre><p>you should use:</p><pre>{% if a > b and b > c %}</pre><h3><br></h3><h3><a href="#for" id="for">for ... empty ... endfor</a><br></h3><p>Loops over each item in an array, making the item available in a context variable. For example, to display a list of athletes provided in <code>item_list</code>:</p><pre><ul>{% for item in item_list %} <li>{{ item.name }}</li>{% endfor %}</ul></pre><p>You can loop over a list in reverse by using <code>{% for obj in list reversed %}</code>.</p><p>If you need to loop over a list of lists, you can unpack the values in each sublist into individual variables. For example, if your context contains a list of (x,y) coordinates called <code>points</code>, you could use the following to output the list of points:</p><pre>{% for x, y in points %} There is a point at {{ x }},{{ y }}{% endfor %}</pre><p>This can also be useful if you need to access the items in a dictionary. For example, if your context contained a dictionary <code>data</code>, the following would display the keys and values of the dictionary:</p><pre>{% for key, value in data.items %} {{ key }}: {{ value }}{% endfor %}</pre><p></p><p>The for loop sets a number of variables available within the loop:</p><table> <thead> <tr> <th>Variable</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>forloop.counter</code></td> <td>The current iteration of the loop (1-indexed)</td> </tr> <tr> <td><code>forloop.counter0</code></td> <td>The current iteration of the loop (0-indexed)</td> </tr> <tr> <td><code>forloop.revcounter</code></td> <td>The number of iterations from the end of the loop (1-indexed)</td> </tr> <tr> <td><code>forloop.revcounter0</code></td> <td>The number of iterations from the end of the loop (0-indexed)</td> </tr> <tr> <td><code>forloop.first</code></td> <td>True if this is the first time through the loop</td> </tr> <tr> <td><code>forloop.last</code></td> <td>True if this is the last time through the loop</td> </tr> <tr> <td><code>forloop.parentloop</code></td> <td>For nested loops, this is the loop surrounding the current one</td> </tr> </tbody></table><p>The <code>for</code> tag can take an optional <code>{% empty %}</code> clause whose text is displayed if the given array is empty or could not be found:<br></p><pre><ul>{% for item in item_list %} <li>{{ item.name }}</li>{% empty %} <li>Sorry, no items in this list.</li>{% endfor %}</ul></pre><p></p><h3><a href="#with" id="with">with ... endwith</a></h3><p>Caches a complex variable under a simpler name. This is useful when you need to have some variable to be accessible by another name (ex: topic as item).</p><p>For example:</p><p></p><pre>{% with forum=topic.forum item=topic %} Forum: {{ forum.name }}, Topic: {{ item.header }}{% endwith %}</pre><p></p><p>The populated variable is only available between the <code>{% with %}</code> and <code>{% endwith %}</code> tags.</p><h3><br><a href="#comment" id="comment">comment ... endcomment</a><br></h3><h3><code>comment</code></h3><p>Ignores everything between <code>{% comment %}</code> and <code>{% endcomment %}</code>. For example, this is useful when commenting out some code temporary or add some comments to existing code.</p><p></p><p>Sample usage:</p><pre>{% comment %} This is commented text, not visible on the page{% endcomment %}</pre><p><code>comment</code> tags cannot be nested.</p><p></p><h3><a href="#trans" id="trans">trans</a></h3><p></p><p>The <code>{% trans %}</code> template tag translates either a constant string (enclosed in single or double quotes) or variable content:</p><pre><title>{% trans "This is the title." %}</title><title>{% trans myvar %}</title></pre><p>If you’d like to retrieve a translated string without displaying it, you can use the following syntax:<br></p><pre>{% trans "This is the title" as the_title %}<title>{{ the_title }}</title><meta name="description" content="{{ the_title }}"></pre><p>Also <a href="https://docs.djangoproject.com/en/2.2/topics/i18n/translation/#std:templatetag-trans"><code>trans</code></a> tag allows you to mark complex sentences consisting of literals and variable content for translation by making use of placeholders:</p><pre>{% trans "This string will have {{ value }} inside." %}</pre><p>To translate a template expression – say, accessing object attributes or using template filters – you need to bind the expression to a local variable for use within the translation block. Examples:</p><pre>{% trans "That will cost ${{ amount }}." with amount=article.price %}</pre><p>You can use multiple expressions inside a single <code>trans</code> tag:</p><pre>{% trans "This is {{ book_t }} by {{ author_t }}" with book_t=book|title author_t=author|title %}</pre><p>This tag also provides for pluralization. To use it:<br></p><ul> <li>Designate and bind a counter value with the name <code>count</code>. This value will be the one used to select the right plural form.</li> <li>Specify both the singular and plural forms. Provide plural form right after singular or in one argument as a var (list [singular, plural]).</li></ul><p>An example:</p><pre>{% trans "There is only one {{ name }} object." "There are {{ counter }} {{ name }} objects." count counter=list|length %}</pre><p>If some var example_var has both strings in array as ["There is only one {{ name }} object.", "There are {{ counter }} {{ name }} objects."] you can pass that var directly</p><pre>{% trans example_var count counter=list|length %}</pre><p>A more complex example:</p><pre>{% trans "That will cost $ {{ amount }} per year." "That will cost $ {{ amount }} per {{ counter }} years." with amount=article.price count counter=i.length %}</pre><p></p><p></p><h3><a href="#paginate" id="paginate">paginate ... endpaginate</a></h3><p></p><p>The <code>{% paginate %}</code> template tag helps to build list of data with pages.</p><p>If you’d like to retrieve a translated string without displaying it, you can use the following syntax:<br></p><pre>{% paginate topic_list.item_list by 10 %} <ul> {% for item in paginate.item_list %} {{ item.name }} {% endfor %} </ul> {{ paginate | default_pagination }}{% endpaginate %}</pre><p>The code above will limit results in topic_list.item_list by 10 and create a paginator at the end of the list if there is more then 10 items available.</p><p></p><h3><a href="#forum_item_list" id="forum_item_list">forum_item_list</a><br></h3><p>The <code>{% forum_item_list %}</code> template tag returns a dict with data related to topic (article, ticket) list for specific forum or category. The first argument is a forum or a category to select topics. Returns data into variable followed after "as" parameter. Other optional arguments are available:<br></p><ul> <li>filter_status - status ID</li> <li>filter_type - type ID</li> <li>filter_tag - tag ID</li> <li> order - order mode for the list. Accept these values: <ul> <li>"newest" - order by date of creation DESC.</li> <li>"updated" - order by last date of update (new comment, status, etc) DESC.</li> <li>"comments" - order by count of comments DESC.</li> <li>"popular" - order by count of votes DESC.</li> <li>"downvotes" - order by count of negative votes DESC.</li> <li>"upvotes" - order by count of positive votes DESC.</li> <li>"top" - order by vote amount (difference between positive and negative votes) DESC)</li> <li>"categories" - order by category order (useful for articles)</li> </ul> </li> <li> user_filter - uses to filter by specific type related to the specific user. Accepts following values: <ul> <li>"tickets" - all tickets related to the user.</li> <li>"topics" - all topics related to the user.</li> <li>"voted_topics" - all topics user voted for.</li> </ul> </li></ul><p>Returns dict of:</p><ul> <li>item_list - list of selected items (articles, topics or tickets)</li> <li>... other parameters required to build filters for the list</li></ul><p></p><p>Example:</p><pre>{% forum_item_list forum order="updated" as topic_list %}{% for topic in topic_list.item_list %} Topic header: {{ topic.header }}{% endfor %} </pre><p></p><h3><a href="#comment_list" id="comment_list">comment_list</a></h3><p></p><p>The <code>{% comment_list %}</code> template tag returns a dict with data related to comment's list for specific topic, article or ticket. The first argument is a topic, an article or a ticket. Returns data into variable followed after "as" parameter. Other optional arguments are available:</p><ul> <li> order - order mode for the list. Accept these values: <ul> <li>"newest" - order by date of creation DESC.</li> <li>"oldest" - order by date of creation ASC.</li> </ul> </li></ul><p>Returns dict of:</p><ul> <li>item_list - list of selected items (comments)</li> <li>... other parameters required to build filters for the list</li></ul><pre>{% comment_list object order=order as comments %}</pre><p></p><h3><a href="#user_list" id="user_list">user_list</a></h3><p>The <code>{% user_list %}</code> template tag returns a dict with data related to user's list. Returns data into variable followed after "as" parameter. Other optional arguments are available:<br></p><ul><li>support_agents_only - returns only support agents if True.</li><li>users_only - returns only users (exclude support agents) if True.</li><li>filter_language - returns users who has the same language selected as on the current page if True.</li><li>limit - Integer limit of results.</li><li>order - order mode for the list. Accept these values:<ul><li>"newest" - order by date of profile creader DESC.</li><li>"top_commenters" - order by count of comments in community DESC.</li><li>"name" - order by name.</li><li>"top_rating" - order by rating DESC.</li></ul></li></ul><p>Returns dict of:</p><ul><li>item_list - list of selected users</li><li>... other parameters required to build filters for the list</li></ul><p></p><p>Example:</p><pre>{% user_list order="newest" limit=10 as user_list %}{% for user in user_list.item_list %} User: {{ user.display_name }}{% endfor %} </pre><h3><a href="#url" id="url">url</a></h3><p></p><p>The <code>{% url %}</code> template tag returns specific URL. The first argument is the URL name and may accept following values:</p><ul> <li>login_page.</li> <li>new_ticket. Optionally accepts helpdesk forum as a second argument.</li> <li>new_topic. Optionally accepts a community forum or category as a second argument.</li> <li>category_list. Requires a community or a knowledge base forum or category as a second argument.</li> <li>article_list. Requires a knowledge base forum or category as a second argument.</li> <li>topic_list. Requires a community forum or category as a second argument.</li> <li>community_home.</li></ul><p>Feel free to contact us if you need a new link available via tag.<br></p><p></p><p>Example:<br></p><pre>{% url "article_list" forum %}</pre><p></p><h3><a href="#link">link</a></h3><p></p><p>The <code>{% link %}</code> template tag returns an HTML link code for specific URL. It calls portal_url template tag and renders specific HTML code for URL returned. Accepts all the same parameters as portal_url plus additional keyword parameters:</p><ul> <li>label - text on the link</li> <li>target - target parameter for the link</li></ul><p>Example:<br></p><pre>{% link "article_list" forum label="Open article list" target="_blank" %}</pre><p></p><h3><a href="#avatar" id="avatar">avatar</a></h3><p>The <code>{% avatar %}</code> template tag returns an HTML code for user's avatar. Accepts user as a first parameter. Also has additional optional parameter:</p><ul> <li>size - size of avatar in pixels (integer)</li><li>alt - alt parameneter for img code (text)</li></ul><p>Example 1:<br></p><pre>{% avatar user %}</pre><p>Example 2:<br></p><pre>{% avatar user size=64 alt="Avatar alt text" %}</pre><p></p><h3><a href="#user_link" id="user_link">user_link</a></h3><p></p><p>The <code>{% user_link %}</code> template tag returns an HTML code with user's name and link to his profile (in the future when public profile will be available). Accepts user as a first parameter. Also has additional optional parameter:</p><ul> <li>target - where open the link ("_self" or "_blank")</li></ul><p>Example:<br></p><pre>{% user_link user %}</pre><p></p><h3><a href="#image" id="image">image</a></h3><p>The <code>{% image %}</code> template tag returns an HTML code with image for object. You can use the tag to render images for categories, forums, topic types, etc. It will render code with either image or font awesome icon depend on what you've selected for the object in the project settings. Accepts object as a first parameter. Also has additional optional parameters:</p><ul> <li>width- image width.</li> <li>height - image height.</li> <li>add_class - CSS class to add to the image</li> <li>icon_type - Type of iconf for font awesome icons ("default" or "circle")</li> <li>alt - alt text for the image HTML tag</li></ul><p>Example:<br></p><pre>{% image topic.type.image height=18 %}</pre><p></p><h3><a href="#language_selector" id="language_selector">language_selector</a></h3><p>The <code>{% language_selector %}</code> template tag generates HTML for user to select portal interface language.</p><p></p><p>Example:<br></p><ul></ul><pre>{% language_selector %}</pre><p></p><h3><a href="#user_or_signin" id="user_or_signin">user_or_signin</a></h3><p></p><p>The <code>{% user_or_signin %}</code> template tag generates HTML for user to show his avatar and menu or "sign in" label if user is not authenticated. Has an optional parameter:</p><ul> <li>avatar_size - size of avatar in pixels (integer).</li></ul><p></p><p>Example:<br></p><ul></ul><pre>{% user_or_signin %}</pre><p></p><h3><a href="#search_form" id="search_form">search_form</a></h3><p>The <code>{% search_forms %}</code> template tag generates HTML to show search field for portal content. Has an optional parameter:</p><ul> <li>forum - forum where to perform the search. If not provided we do search in all available forums.</li><li>placeholder - placeholder text for the field.</li></ul><p><br></p><p>Example:</p><ul></ul><pre>{% search_form placeholder="Search here..." %}</pre><p></p><h3><a href="#navigation" id="navigation">navigation</a></h3><p>The <code>{% navigation %}</code> template tag generates HTML to show navigation bar for your portal. Has an optional parameter:</p><ul> <li>add_icons - adds icons next to each menu item.</li></ul><p>Example:</p><ul></ul><pre>{% navigation add_icons=True %}</pre><p></p><h3><a href="#new_topic_form" id="new_topic_form">new_topic_form</a></h3><p>The <code>{% new_topic_form %}</code> template tag generates HTML to show form for new topic.</p><p></p><p>Example:</p><ul></ul><pre>{% new_topic_form %}</pre><p></p><h3><a href="#new_ticket_form" id="new_ticket_form">new_ticket_form</a></h3><p>The <code>{% new_ticket_form %}</code> template tag generates HTML to show form for new ticket.</p><p></p><p>Example:</p><ul></ul><pre>{% new_ticket_form %}</pre><p></p><h3><a href="#new_comment_form" id="new_comment_form">new_comment_form</a></h3><p>The <code>{% new_comment_form %}</code> template tag generates HTML to show form for new comment.</p><p></p><p>Example:</p><ul></ul><pre>{% new_comment_form %}</pre><p></p><h3><a href="#forum_item_list_filters" id="list_filters">forum_item_list_filters</a></h3><p>The <code>{% forum_item_list_filters %}</code> template tag generates HTML to show filters for list of topics, articles or tickets (type filter, status filter, tag filter, order, etc.). As input data accepts result of <a href="#forum_item_list">forum_item_list</a> tag.</p><p></p><p>Example:</p><ul></ul><pre>{% forum_item_list forum order="updated" as item_list %}{% forum_item_list_filters item_list %}</pre><p></p><p>comment_filters</p><p></p><h3><a href="#comment_filters" id="comment_filters">comment_filters</a></h3><p>The <code>{% comment_filters %}</code> template tag generates HTML to show filters for list of comments (order, etc.). As input data accepts result of <a href="#comment_list">comment_list</a> tags.</p><p></p><p>Example:</p><ul></ul><pre>{% comment_list forum order="updated" as item_list %}{% comment_filters item_list %}</pre><p></p><p>breadcrumbs</p><p></p><h3><a href="#breadcrumbs" id="breadcrumbs">breadcrumbs</a></h3><p>The <code>{% breadcrumbs %}</code> template tag generates HTML to show breadcrumbs for current page of your portal. Has an optional parameters:</p><ul> <li>add_last - show or hide last item in breadcrumbs.</li> <li>add_home - show or hide first item (home) in breadcrumbs.</li></ul><p>Example:</p><ul></ul><pre>{% breadcrumbs add_last=False %}</pre><p></p><h3><a href="#topic_voting" id="topic_voting">topic_voting</a></h3><p>The <code>{% topic_voting %}</code> template tag generates HTML to show voter for a topic. Requires a topic as a first argument. Has an optional parameter:</p><ul> <li>template - name of template to use to generate the voter. You can use your custom template.</li></ul><p>Examples:</p><ul></ul><pre>{% topic_voting topic %}</pre><pre>{% topic_voting topic template="my_custom_voter" %}</pre><p></p><h3><a href="#article_voting" id="article_voting">article_voting</a></h3><p>The <code>{% article_voting %}</code> template tag generates HTML to show voter for an article. Requires an article as a first argument.</p><p></p><p>Example:</p><ul></ul><pre>{% article_voting article %}</pre><p></p><h3><a href="#follow_button" id="follow_button">follow_button</a></h3><p>The <code>{% follow_button %}</code> template tag generates HTML to show follow button for an object. Requires an object as a first argument. The object can be one of the following: topic, article, ticket, forum, category.</p><p></p><p>Examples:</p><ul></ul><pre>{% follow_button forum %}</pre><pre>{% follow_button topic %}</pre><p></p><h3><a href="#comment_voting" id="comment_voting">comment_voting</a></h3><p>The <code>{% comment_voting %}</code> template tag generates HTML to show voter for a comment. Requires a comment as a first argument.</p><p></p><p>Example:</p><ul></ul><pre>{% comment_voting comment %}</pre><p></p><p>comment_actions</p><p></p><h3><a href="#comment_actions" id="comment_actions">comment_actions</a></h3><p>The <code>{% comment_actions %}</code> template tag generates HTML to show a comment actions (reply, edit, etc). Requires a comment as a first argument.</p><p></p><p>Example:</p><ul></ul><pre>{% comment_actions comment %}</pre><p></p><h3><a href="#login_panel" id="login_panel">login_panel</a></h3><p>The <code>{% login_panel %}</code> template tag generates HTML to show login panel page depends on project settings (login/password, social sign in buttons, SSO, remind password link, registration link, etc).</p><p></p><p>Example:</p><ul></ul><pre>{% login_panel %}</pre><p></p><h3><a href="#password_reset_form" id="password_reset_form">password_reset_form</a></h3><p>The <code>{% password_reset_form %}</code> template tag generates HTML to show password reset form.</p><p></p><p>Example:</p><ul></ul><pre>{% password_reset_form %}</pre><p><br><br></p><h3><a href="#user_signup_form" id="user_signup_form">user_signup_form</a></h3><p>The <code>{% user_signup_form %}</code> template tag generates HTML to show Sign Up form.</p><p></p><p>Example:</p><ul></ul><pre>{% user_signup_form %}</pre><p></p><h3><a href="#login_openid_form" id="login_openid_form">login_openid_form</a></h3><p>The <code>{% login_openid_form %}</code> template tag generates HTML to show Login via OpenId form (the form that user sees when click OpenId sign in button in login panel).</p><p></p><p>Example:</p><ul></ul><pre>{% login_openid_form %}</pre><p></p><h3><a href="#user_settings_form" id="user_settings_form">user_settings_form</a></h3><p>The <code>{% user_settings_form %}</code> template tag generates HTML to show user's profile settings form for current user.</p><p></p><p>Example:</p><ul></ul><pre>{% user_settings_form %}</pre><p></p><h3><a href="#user_password_change_form" id="user_password_change_form">user_password_change_form</a></h3><p>The <code>{% user_password_change_form %}</code> template tag generates HTML to show password change form for current user.</p><p></p><p>Example:</p><ul></ul><pre>{% user_password_change_form %}</pre><p></p><h3><a href="#user_notifications" id="user_notifications">user_notifications</a></h3><p>The <code>{% user_notifications %}</code> template tag generates HTML to show user's notification settings for current user.</p><p></p><p>Example:</p><ul></ul><pre>{% user_notifications %}</pre><p></p><h3><a href="#related_articles" id="related_articles">related_articles</a></h3><p>The <code>{% related_articles %}</code> template tag generates HTML to show articles related to provided article. Requires an article as a first argument. Has an optional parameter:</p><ul> <li>limit - limit count of related articles (1-10, default 5)</li></ul><p></p><p>Examples:</p><ul></ul><pre>{% related_articles article %}</pre><pre>{% related_articles article limit=10 %}</pre><p></p><h3><a href="#item_prev_and_next_links" id="item_prev_and_next_links">item_prev_and_next_links</a></h3><p>The <code>{% item_prev_and_next_links %}</code> template tag generates HTML to show links to previous and next items if exists. Created specially for knowledge base to show previous and next articles but also can be user to show previous and next topics and tickets. Requires an article (topic, ticket) as a first argument. Show links only if they exist. For example, if this is a first item the link to previous will not be shown.</p><p></p><p>Example:</p><ul></ul><pre>{% item_prev_and_next_links article %}</pre><p></p><h3><a href="#share_buttons" id="share_buttons">share_buttons</a></h3><p>The <code>{% share_buttons %}</code> template tag generates HTML to show share in social networks buttons for a page. Usually used on topics and articles pages.</p><p></p><p>Example:</p><ul></ul><pre>{% share_buttons %}</pre><p></p><h3><a href="#satisfaction_survey" id="satisfaction_survey">satisfaction_survey</a></h3><p>The <code>{% satisfaction_survey %}</code> template tag generates HTML to show satisfaction survey for current topic (or ticket) to author. If user is a support agent and not an author of the topic (or ticket) the tag shows satisfaction survey results for current topic (or ticket).</p><p></p><p>Example:</p><ul></ul><pre>{% satisfaction_survey %}</pre><p></p><h3><a href="#user_page_menu" id="user_page_menu">user_page_menu</a></h3><p>The <code>{% user_page_menu %}</code> template tag generates HTML to show user's profile page menu (side menu like settings, topics, tickets, etc). The menu generates depends on current user and project settings.</p><p></p><p>Example:</p><ul></ul><pre>{% user_page_menu %}</pre><p></p><h3><a href="#forum_selector" id="forum_selector">forum_selector</a></h3><p>The <code>{% forum_selector %}</code> template tag returns an object that contains information to show forum selector and selected forum as well. This is helpful tag if you have more than one Helpdesk or Community forum because the list shows only one forum on time. So, you can let the user to change the forum displayed. Requires a forum list as a first argument. Has an optional parameter:</p><ul> <li>view_type - type of element (selector) rendered in html parameter. Can be "select" (default) or "dropdown_button"</li></ul><p>Returns object with attributes:</p><ul> <li>selected - forum (from the list) selected on current page</li> <li>item_count - count of forums in the list</li> <li>item_list - list of forums</li> <li>html - html code to add selector</li></ul><p></p><p>Example:</p><ul></ul><pre>{% forum_selector forums as forum_selector %}{{ forum_selector.html }}{% topic_list forum_selector.selected order="newest" user_filter=portal.section as list_items %}{% for item in list_items.item_list|limit:10 %} Topic: {{ item.name }}{% endfor %}</pre><p></p><p><br></p><h3 id="date_format"><a href="#date_format" id="forum_selector">date_format</a></h3><p>The filter returns a string representation of the datetime in specific format</p><p>Parameter "format" can consists of these values:</p><p><br></p><table><thead><tr><th>Format character</th><th>Description</th><th>Example output</th></tr></thead><tbody><tr><td><strong>Day</strong></td><td> </td><td> </td></tr><tr><td><code>d</code></td><td>Day of the month, 2 digits with leading zeros.</td><td><code>'01'</code> to <code>'31'</code></td></tr><tr><td><code>j</code></td><td>Day of the month without leading zeros.</td><td><code>'1'</code> to <code>'31'</code></td></tr><tr><td><code>D</code></td><td>Day of the week, textual, 3 letters.</td><td><code>'Fri'</code></td></tr><tr><td><code>l</code></td><td>Day of the week, textual, long.</td><td><code>'Friday'</code></td></tr><tr><td><code>S</code></td><td>English ordinal suffix for day of the month, 2 characters.</td><td><code>'st'</code>, <code>'nd'</code>, <code>'rd'</code> or <code>'th'</code></td></tr><tr><td><code>w</code></td><td>Day of the week, digits without leading zeros.</td><td><code>'0'</code> (Sunday) to <code>'6'</code> (Saturday)</td></tr><tr><td><code>z</code></td><td>Day of the year.</td><td><code>1</code> to <code>366</code></td></tr><tr><td><strong>Week</strong></td><td> </td><td> </td></tr><tr><td><code>W</code></td><td>ISO-8601 week number of year, with weeks starting on Monday.</td><td><code>1</code>, <code>53</code></td></tr><tr><td><strong>Month</strong></td><td> </td><td> </td></tr><tr><td><code>m</code></td><td>Month, 2 digits with leading zeros.</td><td><code>'01'</code> to <code>'12'</code></td></tr><tr><td><code>n</code></td><td>Month without leading zeros.</td><td><code>'1'</code> to <code>'12'</code></td></tr><tr><td><code>M</code></td><td>Month, textual, 3 letters.</td><td><code>'Jan'</code></td></tr><tr><td><code>b</code></td><td>Month, textual, 3 letters, lowercase.</td><td><code>'jan'</code></td></tr><tr><td><code>E</code></td><td>Month, locale specific alternative representation usually used for long date representation.</td><td><code>'listopada'</code> (for Polish locale, as opposed to <code>'Listopad'</code>)</td></tr><tr><td><code>F</code></td><td>Month, textual, long.</td><td><code>'January'</code></td></tr><tr><td><code>N</code></td><td>Month abbreviation in Associated Press style. Proprietary extension.</td><td><code>'Jan.'</code>, <code>'Feb.'</code>, <code>'March'</code>, <code>'May'</code></td></tr><tr><td><code>t</code></td><td>Number of days in the given month.</td><td><code>28</code> to <code>31</code></td></tr><tr><td><strong>Year</strong></td><td> </td><td> </td></tr><tr><td><code>y</code></td><td>Year, 2 digits with leading zeros.</td><td><code>'00'</code> to <code>'99'</code></td></tr><tr><td><code>Y</code></td><td>Year, 4 digits with leading zeros.</td><td><code>'0001'</code>, …, <code>'1999'</code>, …, <code>'9999'</code></td></tr><tr><td><code>L</code></td><td>Boolean for whether it’s a leap year.</td><td><code>True</code> or <code>False</code></td></tr><tr><td><code>o</code></td><td>ISO-8601 week-numbering year, corresponding to the ISO-8601 week number (W) which uses leap weeks. See Y for the more common year format.</td><td><code>'1999'</code></td></tr><tr><td><strong>Time</strong></td><td> </td><td> </td></tr><tr><td><code>g</code></td><td>Hour, 12-hour format without leading zeros.</td><td><code>'1'</code> to <code>'12'</code></td></tr><tr><td><code>G</code></td><td>Hour, 24-hour format without leading zeros.</td><td><code>'0'</code> to <code>'23'</code></td></tr><tr><td><code>h</code></td><td>Hour, 12-hour format.</td><td><code>'01'</code> to <code>'12'</code></td></tr><tr><td><code>H</code></td><td>Hour, 24-hour format.</td><td><code>'00'</code> to <code>'23'</code></td></tr><tr><td><code>i</code></td><td>Minutes.</td><td><code>'00'</code> to <code>'59'</code></td></tr><tr><td><code>s</code></td><td>Seconds, 2 digits with leading zeros.</td><td><code>'00'</code> to <code>'59'</code></td></tr><tr><td><code>u</code></td><td>Microseconds.</td><td><code>000000</code> to <code>999999</code></td></tr><tr><td><code>a</code></td><td><code>'a.m.'</code> or <code>'p.m.'</code> (Note that this is slightly different than PHP’s output, because this includes periods to match Associated Press style.)</td><td><code>'a.m.'</code></td></tr><tr><td><code>A</code></td><td><code>'AM'</code> or <code>'PM'</code>.</td><td><code>'AM'</code></td></tr><tr><td><code>f</code></td><td>Time, in 12-hour hours and minutes, with minutes left off if they’re zero. Proprietary extension.</td><td><code>'1'</code>, <code>'1:30'</code></td></tr><tr><td><code>P</code></td><td>Time, in 12-hour hours, minutes and ‘a.m.’/’p.m.’, with minutes left off if they’re zero and the special-case strings ‘midnight’ and ‘noon’ if appropriate. Proprietary extension.</td><td><code>'1 a.m.'</code>, <code>'1:30 p.m.'</code>, <code>'midnight'</code>, <code>'noon'</code>, <code>'12:30 p.m.'</code></td></tr><tr><td><strong>Timezone</strong></td><td> </td><td> </td></tr><tr><td><code>e</code></td><td>Timezone name. Could be in any format, or might return an empty string, depending on the datetime.</td><td><code>''</code>, <code>'GMT'</code>, <code>'-500'</code>, <code>'US/Eastern'</code>, etc.</td></tr><tr><td><code>I</code></td><td>Daylight saving time, whether it’s in effect or not.</td><td><code>'1'</code> or <code>'0'</code></td></tr><tr><td><code>O</code></td><td>Difference to Greenwich time in hours.</td><td><code>'+0200'</code></td></tr><tr><td><code>T</code></td><td>Time zone of this machine.</td><td><code>'EST'</code>, <code>'MDT'</code></td></tr><tr><td><code>Z</code></td><td>Time zone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive.</td><td><code>-43200</code> to <code>43200</code></td></tr><tr><td><strong>Date/Time</strong></td><td> </td><td> </td></tr><tr><td><code>c</code></td><td>ISO 8601 format. (Note: unlike other formatters, such as “Z”, “O” or “r”, the “c” formatter will not add timezone offset if value is a naive datetime (see <a href="https://docs.python.org/3/library/datetime.html#datetime.tzinfo" title="(in Python v3.11)"><code>datetime.tzinfo</code></a>).</td><td><code>2008-01-02T10:30:00.000123+02:00</code>, or <code>2008-01-02T10:30:00.000123</code> if the datetime is naive</td></tr><tr><td><code>r</code></td><td><a href="https://datatracker.ietf.org/doc/html/rfc5322.html#section-3.3"><strong>RFC 5322</strong></a> formatted date.</td><td><code>'Thu, 21 Dec 2000 16:01:07 +0200'</code></td></tr><tr><td><code>U</code></td><td>Seconds since the Unix Epoch (January 1 1970 00:00:00 UTC).</td><td> </td></tr></tbody></table><p>Example:</p><ul></ul><pre>{{ article.created_on|date_format:"Y.m.d" }}</pre><h3><a href="#powered_by_userecho" id="powered_by_userecho">powered_by_userecho</a></h3><p>The <code>{% powered_by_userecho %}</code> template tag generates HTML to add "Powered by UserEcho" to your page. This tag is required to use if you do not have white-label option in your service plan!</p><p></p><p>Example:</p><ul></ul><pre>{% powered_by_userecho %}</pre><p></p><h3><a href="#set_meta" id="set_meta">set_meta</a></h3><p>The <code>{% set_meta %}</code> template tag helps you to set some META variables that we use to generate your page or even you can use in templates "above". For now we only use this parameter:</p><ul> <li>body_class - html classses to be add to <BODY> html tag.</li></ul><p>Example:<br></p><pre>{% set_meta body_class="my-body-class" %}</pre><p><br></p><br/><br/>suggested by: Vladimir MullagaliyevVladimir Mullagaliyevhttps://support.userecho.com/users/2-vladimir-mullagaliyev/topics/tag:blog.userecho.com,2023-02-03:/blog/introducing-article-versioning-to-our-knowledge-base-service/2023-02-03T22:39:21+00:002023-02-03T22:39:21+00:00Revamp Your Knowledge Management: Introducing Article Versioning to Our Knowledge Base Service [articles] <p>As the world becomes increasingly digital, the demand for knowledge management solutions has never been higher. With this in mind, we are proud to announce that we have added article versioning to our Knowledge Base service. This new feature is a game-changer for businesses that need to manage and track changes to their knowledge base content.</p><p><br></p><p><img src="/s/attachments/1/2/1/95db0f9adc6e98889d0856ee72a7f218.png"></p><p><br></p><p>Article versioning is a powerful tool that enables businesses to keep a complete history of changes made to articles in their knowledge base. This means that teams can revert to an earlier version of an article if necessary, without losing any important information or content. It also allows for easy collaboration between team members, as multiple people can work on the same article at the same time, with each version being saved and tracked.</p><p><br></p><p>With this new feature, businesses can now have complete confidence in their knowledge base, knowing that all changes are tracked and that important information is never lost. This is especially important for businesses that need to maintain accurate information for regulatory or compliance reasons.</p><p><br></p><p>The article versioning feature is simple to use and intuitive. When creating or editing an article, users can see a list of all previous versions, and they can compare the changes made to each version. This makes it easy to see who made changes and when, as well as to revert to an earlier version if necessary.</p><p><br></p><p>We understand that our customers rely on our Knowledge Base service to manage their critical business information, and that's why we are always looking for ways to improve and enhance our service. The addition of article versioning is just one example of our commitment to providing the best possible solution for our customers.</p><p><br></p><p>In conclusion, we are thrilled to announce the addition of article versioning to our Knowledge Base service. This new feature will provide our customers with greater control, confidence, and flexibility when managing their critical business information. Whether you are looking to improve collaboration, track changes, or maintain accurate information, article versioning is the solution you need.</p><p></p><p>Read more details about UserEcho Knowledge Base service <a href="https://userecho.com/knowledgebase/">here</a></p><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2023-01-05:/communities/1/topics/37024-why-adding-a-comment-does-not-promote-a-post-to-recently-updated-topics/2023-01-05T14:53:53+00:002023-01-05T14:53:53+00:00Why adding a comment does not promote a post to "recently updated topics"? [questions] [answered]<p>I've just commented a (quite old) post, and would expect it to be moved up in the "recently <strong>updated</strong> topics" list.</p><p>But this does not happen. Refreshed the browser. Still this post won't move up.</p><p>Browser: Edge 108.0 on Win11.</p><p><a href="https://smartgit.userecho.com/#module_2/search/">https://smartgit.userecho.com/</a></p><br/><br/> Sergey Stukov replied:<br/><p>Hi Pavel,</p><p>This project has label "Last updated topics" but actually in settings they setup order by topic creation date, that's why you topic with new comment is not appears on top, if they update ordering to "last updated" everything will work as expected.</p>Pavel Aronskyhttps://support.userecho.com/users/39827-pavel-aronsky/topics/tag:support.userecho.com,2022-12-07:/communities/1/topics/21527-bug-in-image-size-ratio-with-mobile-version/2022-12-07T21:01:58+00:002022-12-07T21:01:58+00:00Bug in image size (ratio) with mobile version? [bugs] [fixed]<p>Hello,</p><p>I observed that, only for some images, the ratio is not kept when displaying the image (on iOS, with Safari).</p><p>But, all the more surprising, the same image shows the correct ratio if the user tap it to show it at maximal size.</p><p></p><p>Wouldn't there be a little bug with the image ratio on mobile, just when displaying the image in the text of a contributor? And being correctly handled when displayed at maximal size?</p><p></p><p>One recent example (with the blue Disney image): <a href="https://laboxideale.userecho.com/en/communities/1/topics/166-application-disney">https://laboxideale.userecho.com/en/communities/1/topics/166-application-disney</a></p><p>Best regards.</p><br/><br/> Vladimir Mullagaliyev replied:<br/>laboxidealehttps://support.userecho.com/users/1563-laboxideale/topics/tag:support.userecho.com,2022-11-24:/en/knowledge-bases/10/articles/8793-sso-integration/2022-11-24T16:08:17+00:002022-11-24T16:08:17+00:00SSO integration [articles] <p></p><p></p><p><strong> What is SSO?</strong></p><p>The system of cross authentication (Single sign-on) allows your users to enter UserEcho without additional registration, using your current username in your project.<br></p><p><strong> How it works?</strong></p><p>When the user navigates to your support forum. You must submit an additional parameter sso_token. The system automatically recognizes the parameter and authenticates the user. Based on information provided with token.</p><p></p><p>Simple link to UserEcho forum looks like that:</p><pre>http://mycommunity.userecho.com/?sso_token=your_sso_token</pre><p>For cross authentication with the widget you need to pass the same parameter:</p><pre>var _ues = {... ,params:{sso_token:"your_sso_token"}};</pre><p><strong>Available parameters</strong></p><p></p><table><tbody><tr><th>Parameter</th><th>Value</th><th>Required?</th><th>Example</th><th>Description</th></tr><tr><td>guid</td><td>Varchar(255)</td><td><strong>yes</strong></td><td>"1000000"</td><td>Unique user ID on the side of your site</td></tr><tr><td>expires</td><td>Unix epoch timestamp</td><td><strong>yes</strong></td><td>1462245336</td><td>Expiration date of token in Unix Epoch Timestamp.<br><a href="http://www.epochconverter.com/" rel="noopener noreferrer">Unix Epoch Timestamp</a> We would recommend to add at least 1 hour to current timestamp.</td></tr><tr><td>display_name</td><td>Varchar(30)</td><td><strong>yes</strong></td><td>"John Doe"</td><td>Name of the user</td></tr><tr><td>email</td><td>Varchar(255)</td><td><strong>recommended</strong></td><td>"john.doe@example.com"</td><td>User's Email</td></tr><tr><td>verified_email</td><td>Boolean</td><td>no</td><td>False</td><td>Is email verified?</td></tr><tr><td>locale</td><td>Varchar(5)</td><td>no</td><td>"en"<a href="https://support.userecho.com/en/knowledge-bases/10/articles/8872-available-interface-languages-in-the-userecho"><br>Available languages</a></td><td>Default language</td></tr><tr><td>avatar_url</td><td>Varchar(255)</td><td>no</td><td>https://mysite.com/avatar.jpg</td><td>Link to image of user avatar</td></tr><tr><td>force_update_avatar</td><td>Boolean</td><td>no</td><td>False</td><td>Force update of user's avatar, even if user already has it.</td></tr><tr><td>allowed_private_forums</td><td>List [forum_id]</td><td>no</td><td>[29966,29965]</td><td>List of forums IDs, user will have access to the provided forums.</td></tr><tr><td>groups</td><td>List [forum_id]</td><td>no</td><td>[1,2,3]</td><td>Assign user to specific groups.<br><br>Skip parameter if you do not use groups in your project.<br><br>If you pass the parameter all current user's groups will be unassigned first, then new groups will e assigned.</td></tr><tr><td>custom_fields</td><td>Dict {field_id:value}</td><td>no</td><td>{"cf_1":"Test value", "cf_2":"on"}</td><td>If your project has some custom fields in a user profile, you are able to pass them through sso.<br>Also now we accept custom fields for topics. If you pass <br>information in this way and user post some topic we check his last SSO <br>data and fill out fields with information provided via SSO.</td></tr><tr><td>enable_moderation</td><td>Boolean</td><td>no</td><td>False</td><td>Enable moderation for all public messages of the user. By default moderation is disabled.</td></tr></tbody></table><p><br></p><p><strong>Process of SSO_TOKEN generation</strong></p><p></p><p>Feel free to use our examples on <a href="https://github.com/UserEcho/userecho_sso_samples" rel="noopener noreferrer">GitHub</a>. We have prepared examples for: <strong>Python</strong>, <strong>Ruby</strong>, <strong>PHP</strong>, <strong>Node.js</strong>, <strong>C#</strong> and <strong>Go</strong>. If this is not enough for you here is description how to make it yourself.<br></p><p><strong>1. Prepare JSON block with user's parameters</strong></p><pre>json_data = { "guid":"1454598", "expires":1462245336, "display_name":"John Doe", "email":"john.doe@gmail.com", "locale":"en", "avatar_url":"http://test.com/avatar/1454598.png" }</pre><p><strong>2. Save as a string</strong></p><pre>json_string = json.dumps(json_data)</pre><p><strong>3. Expand the string </strong></p><p><em><span>Note!</span> Some encryption libraries can do this part automatically. So, if your library does it you can skip this step.</em><br>Attain the length of the block from the end to a multiple of block size AES (times 16) the character whose code is equal to the number of missing characters, for brevity:) Here's a clever algorithm. Ie block size 16. For example we have a string 44. The next multiple of 16 number 48. 48-44 = 4. then finish off a string four characters whose code is 4 (not four, and code 4).</p><pre> pad = AES.block_size - len(json_string) % AES.block_size data = json_string if pad == AES.block_size else json_string + (chr(pad) * pad)</pre><p><strong>4. Generating iv</strong></p><p>iv - initialisation vector (<a href="http://en.wikipedia.org/wiki/Initialization_vector">http://en.wikipedia.org/wiki/Initialization_vector</a>) - need to assign a string of 16 characters, preferably different every time, for safety. we do this randomized</p><pre>iv = randpool.RandomPool(AES.block_size).get_bytes(AES.block_size)</pre><p><strong>5. Encode data with sso_key and iv, then concatenate iv and encrypted data </strong></p><pre> encrypted_bytes = iv + AES.new(sso_key, AES.MODE_CBC, iv).encrypt(data)</pre><p><strong>6. Screening of characters that not allowed in the links </strong></p><pre> sso_token = urllib.quote(base64.b64encode(encrypted_bytes))</pre><p></p><br/><br/> Vladimir Mullagaliyev replied:<br/><p>Здравствуйте,</p><p>Напишите нам запрос в Хелпдеск с Вашей проблемой в настройке, мы Вам поможем. Приложите Ваш код или описание и примеры токена.</p>Vladimir Mullagaliyevhttps://support.userecho.com/users/2-vladimir-mullagaliyev/topics/tag:support.userecho.com,2022-11-01:/communities/1/topics/11823-ability-for-author-to-create-author-support-agents-private-comments/2022-11-01T20:54:21+00:002022-11-01T20:54:21+00:00Ability for author to create "Author & Support agents" private comments [ideas] [under review]<p>Currently, Support Agents can create comments marked as "Author & Support agents" which we use to add extra details to topics that should not be publicly visible (client/sensitive details, configuration, etc.). However there doesn't appear to be a way for the author of a topic to set this visibility on their own comments, they need to request a Support Agent to create a private comment that they can reply to. Please add the ability for authors to create their own private threads.</p><br/><br/> Sergey Stukov replied:<br/><p>If user want to create a private thread, he can use "Create a private ticket link"</p><p></p><figure><img src="/s/attachments/1/1/1/2b544c2a8dee7209d68aa0d471ba5d68.png"></figure><p></p><p>Is it suitable for you?</p>Real Namehttps://support.userecho.com/users/16618-real-name/topics/tag:support.userecho.com,2022-09-16:/en/knowledge-bases/10/articles/7915-can-i-see-which-users-voted-for-a-specific-idea/2022-09-16T14:58:38+00:002022-09-16T14:58:38+00:00Can I see which users voted for a specific idea? [articles] <p>Yes, you can do this if you have a PAID service plan. The menu is available in the agent interface under additional options menu.</p><p></p><p><img src="/s/attachments/1/10/2/a491b9b6a369629e276cb6f32fe58dcc.png"></p><p><br></p><p>You will see popup with detailed info about voters.</p><p></p><p><img src="/s/attachments/1/10/1/32a0dd8ea72e6f49785744366c0e27ce.png"><br></p><br/><br/> Vladimir Mullagaliyev replied:<br/><p>Hello Gabriella,</p><p>This article does have an old screenshot, but it still works the same way.<br></p>Sergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2022-09-15:/en/knowledge-bases/10/articles/7880-how-to-use-context-data-in-email-templates/2022-09-15T12:42:49+00:002022-09-15T12:42:49+00:00How to use context data in email templates [articles] <p>Available in service plans:<strong> Advanced</strong>, <strong>Universal</strong></p><p><strong><br><br></strong>Each email template has own context data. To see all available context for selected notification click on "Availablecontext" button. You will see some <strong>JSON</strong> data. </p><p><br></p><p><strong>Example</strong>:<br><br></p><pre>{ "project": { "mail_footer": "", "name": "UserEcho", "is_white_labeled": false, "alias": "feedback", "logo": "/s/logos/1/1_1.png", "id": 1 }, "notification": { "url": "", "is_reply_allowed": false, "user": { "rating": 245.02, "name_and_title": "Vladimir Mullagaliyev (co-founder)", "is_authenticated": true, "is_staff": true, "id": 3, "date_joined": "2009-12-06T06:19:27Z", "name": "Vladimir Mullagaliyev", "language": "en", "title": "co-founder", "slug": "vladimir-mullagaliyev", "avatar_url": "/s/cache/00/05/0005b4fa20ceaa5106e6b57582177c92.png", "last_login": "2015-10-13T20:05:31.588Z" } }}</pre><br>To add some data from context to your template just place code <strong>{{path.to.context.variable}}</strong><p><br><strong>Example 1</strong>: if you would like to add user's name:</p><p><br></p><pre>{{notification.user.name}}</pre><strong>Example 2</strong>: if you would like to add you project's logo:<p><br></p><pre><img src="{{project.logo}}" width="100" height="100"></pre><br/><br/> Rune Mai (spiir) replied:<br/><p>:Thumbs up: Thanks!</p>Vladimir Mullagaliyevhttps://support.userecho.com/users/2-vladimir-mullagaliyev/topics/tag:support.userecho.com,2022-09-08:/communities/7/topics/36220-integratsiya-s-fiberlyio/2022-09-08T16:43:10+00:002022-09-08T16:43:10+00:00Интеграция с Fiberly.io [ideas] <p>Добавить интеграцию с сервисом <a href="https://fibery.io/">https://fibery.io/</a></p><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2022-09-02:/communities/1/topics/36167-abilit-to-split-a-single-topic-into-multiple-topics/2022-09-02T15:26:23+00:002022-09-02T15:26:23+00:00Abilit to split a single topic into multiple topics [ideas] [completed]<p>Users sometimes include multiple requests or ideas inside a single topic. It would be great to be able to split a single topic into multiple topics such that each resulting topic appears as submitted by the original topic submitter. We could then edit the resulting topics down to contain only one idea each.</p><p></p><p>Here's the workflow we imagine:<br></p><p>1. User submits a topic that includes requests #1, #2, and #3.</p><p>2. Agent splits the topic into three separate topics.</p><p>3. Agent edits one of the topics to include only #1, the next one to include only #2, and the last one to include only #3.<br></p><p>I suppose in this sense, split=duplicate.</p><br/><br/> thomas richardson replied:<br/><p>Ah that's great - thank you Vladimir!</p>thomas richardsonhttps://support.userecho.com/users/23760-thomas-richardson/topics/tag:support.userecho.com,2022-07-21:/communities/7/topics/35607-funktsiya-luchshij-otvet/2022-07-21T19:16:37+00:002022-07-21T19:16:37+00:00Функция - "Лучший ответ" [ideas] [under review]<p>Здравствуйте, есть ли уже или возможно сделать функцию где тот кто задал вопрос на Форуме сообщества может выбрать "Лучший ответ", и чтобы этот лучший ответ переместился в Топ, в самый верх под вопрос. Это удобно. Человек зашел посмотреть чей-то вопрос и сразу под ним увидел лучший ответ. И сделать настройку баллов для рейтинга. Чтобы те чьи ответы были выбраны как лучшие получали больше баллов за это в рейтинге. </p><p></p><p>Спасибо</p><br/><br/> pakvartanyan replied:<br/><p>Спасибо! Если у вас получится, было бы классно. Это удобно для других людей, которые ищут ответ на вопрос и быстро находят лучший вариант. Сотрудник поддержки не всегда может объективно выбрать что прикрепить вверх. </p>pakvartanyanhttps://support.userecho.com/users/26727-pakvartanyan/topics/tag:support.userecho.com,2022-07-20:/en/knowledge-bases/10/articles/35739-how-to-collect-users-requests-from-your-ios-application-to-the-userecho-helpdesk/2022-07-20T21:09:55+00:002022-07-20T21:09:55+00:00How to collect users requests from your iOS application to the UserEcho Helpdesk. [articles] <h2><strong>What is UserEcho contact form for iOS?</strong></h2><p>The contact form provides an immediate, convenient way for users to ask the company questions. You can see how contact form look on the video below below.</p><p></p><iframe allowfullscreen="" frameborder="0" height="450" src="https://www.youtube.com/embed/FgQHQcv42Co" width="100%"><span id="selection-marker-start" class="redactor-selection-marker"></span><span id="selection-marker-end" class="redactor-selection-marker"></span><span id="selection-marker-start" class="redactor-selection-marker"></span><span id="selection-marker-end" class="redactor-selection-marker"></span><span id="selection-marker-start" class="redactor-selection-marker"></span><span id="selection-marker-end" class="redactor-selection-marker"></span><span id="selection-marker-start" class="redactor-selection-marker"></span><span id="selection-marker-end" class="redactor-selection-marker"></span><span id="selection-marker-start" class="redactor-selection-marker"></span><span id="selection-marker-end" class="redactor-selection-marker"></span></iframe><p></p><h2><strong>Contact form settings</strong></h2>For your form, you can specify a name it is used for convenience and in it you can write what your form is for or where it is located. This is useful if you will be using multiple forms on your resources.<br><br>Select the interface language for the form if your site supports multiple languages.<br><br>Customize the color of the buttons on the form<br><br>Set the title that will be on the form.<br><br>Select the Helpdesk where the requests with the form will go if you have more than one helpdesk.<br><br>Click on the button [1] as shown in the screenshot and set allowed domains to *. This will allow widget to load from iOS app <strong>WKWebview</strong><p></p><figure style="margin: 0px; color: rgb(0, 0, 0); text-align: start; background-color: rgb(255, 255, 255);"><img style="max-width: 100%; width: auto;"></figure><p></p>During customization, a preview of the form will be displayed on the right so you can always see how your form will look. The only difference is that its width is dynamic and it will occupy the entire width allotted for it on your mobile application.<br><br>After changing the form settings, click the save button and you can proceed to installing the form code on the site.<p></p><p><br></p><h2><strong>Embedding the contact form into your iOS application</strong></h2><p>On the list of widgets, click the blue button opposite the widget [1] and collect widget ID 1.1.14 on the screenshot.</p><p></p><figure style="margin: 0px; color: rgb(0, 0, 0); text-align: start; background-color: rgb(255, 255, 255);"><img style="max-width: 100%; width: auto;"></figure><h2>Open xcode and follow instructions</h2><p>This example uses swift language.<br></p><p></p><p>Create a <strong>UEView.swift</strong> file</p><p></p><pre>import SwiftUIimport WebKit struct UEView: UIViewRepresentable { var ue_widget_id: String func makeUIView(context: Context) -> WKWebView { return WKWebView() } func updateUIView(_ webView: WKWebView, context: Context) { let content = String("<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"><script src="<a href="https://linkhub.userecho.com/s/cdn/widget/v3.js?id=\(ue_widget_id)"></script><div" class="redactor-autoparser-object">https://linkhub.userecho.com/s... id='ue-embedded-form'>") webView.loadHTMLString(content, baseURL: nil) }}</pre><p><br></p><p>Now use it in your <strong>ContentView</strong><strong><br></strong></p><pre>struct ContentView: View { @State private var showUEView = false var body: some View { NavigationView { List { NavigationLink("Ask an question") { UEView(ue_widget_id: "32851.1.2") } } } }}<br></pre><p>That's it. You will have UserEcho contact form embedded in your application</p><p></p><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2022-07-19:/en/knowledge-bases/10/articles/20199-can-i-embed-the-userecho-support-portal-in-a-mobile-app/2022-07-19T03:31:41+00:002022-07-19T03:31:41+00:00Can I embed the UserEcho support portal in a mobile app? [articles] <p>Yes, this is possible. Just follow these steps:</p><p><a href="https://support.userecho.com/en/knowledge-bases/10/articles/20195-how-to-integrate-userecho-support-portal-with-mobile-application-android-example"><br></a></p><p><a href="https://support.userecho.com/en/knowledge-bases/10/articles/20195-how-to-integrate-userecho-support-portal-with-mobile-application-android-example">Detailed instruction, how to embed UserEcho into Android application.</a></p><p></p><p><a href="https://support.userecho.com/en/knowledge-bases/10/articles/20198-how-to-integrate-userecho-support-portal-with-mobile-application-ios-example">Detailed instruction, how to embed UserEcho into iOS application.</a></p><p></p><p><a href="https://support.userecho.com/en/knowledge-bases/10/articles/35739-how-to-collect-users-requests-from-your-ios-application-to-the-userecho-helpdesk">How to collect users requests from your iOS application to the UserEcho Helpdesk.</a></p><p></p><ul></ul><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2022-07-18:/communities/1/topics/35664-is-there-a-way-to-keep-user-comments-in-forum-in-moderation-until-they-confirm-their-email-address/2022-07-18T03:38:36+00:002022-07-18T03:38:36+00:00Is there a way to keep user comments in forum in moderation until they confirm their email address? [ideas] [completed]<p>My problem is that there are people who register fake accounts in order to post comments on my forum. These are not bots, but deliberate people, who don't want to use their real email addresses. I'd like to keep such comments invisible to the rest of the people (and don't send out email notifications regarding these replies) unless the commenters have confirmed their email addresses. Is this possible at all?</p><br/><br/> neochief replied:<br/><p>Thank you, Vladimir!</p>neochiefhttps://support.userecho.com/users/1725-neochief/topics/tag:support.userecho.com,2022-05-12:/communities/1/topics/34984-ga4-support/2022-05-12T18:58:35+00:002022-05-12T18:58:35+00:00GA4 support [questions] [answered]<p>Google is retiring Universal Analytics next year. Instead you should use GA4 (Google Analytics 4). Can we connect a GA4 property to our UserEcho account?</p><br/><br/> Ulrik Zakariasson replied:<br/><p>Thank you, works fine.</p>Ulrik Zakariassonhttps://support.userecho.com/users/38611-ulrik-zakariasson/topics/tag:support.userecho.com,2022-05-04:/communities/1/topics/10518-we-should-have-manage-collaborators-command-in-ticket-view/2022-05-04T16:48:57+00:002022-05-04T16:48:57+00:00We should have (Manage Collaborators) command in Ticket view [ideas] [completed]<p>When we open a ticket in Ticket View we have some of the commands in the side bar of the page, but not (Manage Collaborators).</p><p>Add a collaborator to the ticket we should go to the support agent interface and try to find the ticket in the large list of tickets to add a new collaborator to it.</p><br/><br/> Vladimir Mullagaliyev replied:<br/>Ali Sa'ad Eddeenhttps://support.userecho.com/users/17107-ali-saad-eddeen/topics/tag:support.userecho.com,2022-05-04:/communities/7/topics/3730-vyigruzka-bazyi-znanij-v-pdf-formirovanie-manuala/2022-05-04T16:33:37+00:002022-05-04T16:33:37+00:00Выгрузка базы знаний в pdf - формирование мануала [ideas] [completed]Здравствуйте! Ко мне сегодня обратился пользователь с интересной просьбой - можно ли выгрузить нашу базу знаний (а по сути это справка по системе) в pdf. То есть им нужна печатная версия мануала. Наверное, функция экзотическая, но в целом идея мне показалось интересной, т.к. в нашей базе знаний всегда самая актуальная версия справки. <br/><br/> Vladimir Mullagaliyev replied:<br/><p>Здравствуйте,</p><p></p><p>Такая возможность сейчас есть. Мы делаем экспорт базы пока по запросу.</p>Еленаhttps://support.userecho.com/users/2536-elena/topics/tag:support.userecho.com,2022-05-04:/communities/7/topics/8513-izmenit-avatar-sotrudnika-podderzhki/2022-05-04T16:23:38+00:002022-05-04T16:23:38+00:00Изменить аватар сотрудника поддержки? [ideas] [completed]<p>Добрый день!</p><p>Подскажите пожалуйста, есть ли возможность изменять аватар сотрудника поддержки если я вхожу в список администраторов проекта?</p><br/><br/> Vladimir Mullagaliyev replied:<br/>Поздняков Владимирhttps://support.userecho.com/users/17185-pozdnyakov-vladimir/topics/tag:support.userecho.com,2022-05-04:/communities/1/topics/10332-microsoft-teams-connector/2022-05-04T16:22:08+00:002022-05-04T16:22:08+00:00Microsoft Teams Connector [ideas] [completed]<p>With the preview release of Microsoft Teams, a UserEcho connector similar to the Slack integration would be fantastic! Here are some resources that might be useful.</p><ul><li><a href="https://products.office.com/en-us/microsoft-teams/group-chat-software">Microsoft Teams</a></li><li><a href="https://dev.office.com/microsoft-teams">Microsoft Teams Dev Center</a></li><li><a href="https://msdn.microsoft.com/en-us/microsoft-teams/connectors">Getting Started with Connectors</a></li></ul><br/><br/> Vladimir Mullagaliyev replied:<br/>Real Namehttps://support.userecho.com/users/16618-real-name/topics/tag:support.userecho.com,2022-05-04:/communities/1/topics/6206-chat-messages-dont-get-transferred/2022-05-04T16:17:46+00:002022-05-04T16:17:46+00:00Chat messages don't get transferred [bugs] [fixed]I embedded chat into my dashboard.<br>When I open it up, and write a line, I get in on my UserEcho dashboard. <br>But when I'm replying to it, it doesn't show. I do see that userecho.com/http-bind gets resolved, and my reply message is in it, but it doesn't appear in the chat window. <br>After this, the connection breaks, and whatever I write from the dashboard, doesn't show on the agent interface, and vice versa. <br><br>The only way I can make it work is when I reload the page. Then I see the chat window.<br><br>Is use the following script to initiate the UserEcho module:<br><br><pre>var _ues = { host:'reevio.userecho.com',<br> forum:'44129',<br> lang:'en',<br> tab_show:false<br>};<br><br>(function() {<br> var _ue = document.createElement('script'); _ue.type = 'text/javascript'; _ue.async = true;<br> _ue.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.userecho.com/js/widget-1.4.gz.js';<br> var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(_ue, s);<br>})();</pre><br/><br/> Vladimir Mullagaliyev replied:<br/>Kristóf Mihályhttps://support.userecho.com/users/9713-kristof-mihaly/topics/tag:support.userecho.com,2022-05-04:/communities/7/topics/20745-pri-vvode-soobscheniya-klientom-v-chate-otrazhat-ryadom-pohozhie-voprosyi/2022-05-04T15:50:43+00:002022-05-04T15:50:43+00:00При вводе сообщения клиентом в чате отражать рядом похожие вопросы. [ideas] [under review]<p>Здравствуйте. Было бы хорошо чтобы когда клиент писал свой вопрос в чате рядом с чатом или еще как-то отображались ответы из базы знаний и форума. </p><p>По возможности чтобы он мог или продолжить печать и задать вопрос оператору или перейти по ссылке.</p><p>Пример с вашего же форму когда я начинал печатать сообщение. </p><p><img src="/s/attachments/1/7/23786/94081f094377c9356a5f11dafaee6439.png"></p><br/><br/> Виталий Новиков replied:<br/><p>Идея как это можно организовать на примере тильды: </p><p><img src="/s/attachments/1/7/23786/5505651a4971f90150c774a9c15f96f8.png"></p>Виталий Новиковhttps://support.userecho.com/users/23786-vitalij-novikov/topics/tag:support.userecho.com,2022-05-04:/communities/7/topics/34861-sobstvennyie-statusyi-tem/2022-05-04T15:47:26+00:002022-05-04T15:47:26+00:00Собственные статусы тем [questions] [answered]<p>Здравствуйте,</p><p>Подскажите, пожалуйста, есть ли в вашем сервисе возможность создания собственных статусов для тем?</p><p>Если есть то скиньте, пожалуйста, инструкцию как их создать</p><br/><br/> Vladimir Mullagaliyev replied:<br/><p>Сергей, здравствуйте.</p><p></p><p>Да, такая возможность есть. Вам нужно зайти в Настройки Проекта -> Форум сообщества -> Типы топиков / Статусы.</p><p>На нужно типе нажать на редактирование статусов и добавить нужные вам.</p>сергей кобяковhttps://support.userecho.com/users/37111-sergej-kobyakov/topics/tag:support.userecho.com,2022-04-05:/en/knowledge-bases/10/articles/20402-list-of-security-contributors/2022-04-05T15:05:07+00:002022-04-05T15:05:07+00:00List of security contributors [articles] <p>We regularly get reports about security issues in UserEcho and appreciate those very much, we'd like to thank the following people for their amazing efforts in making UserEcho more secure:</p><p></p><ul><li>Shivam Kumar Agarwal - <a href="https://www.facebook.com/shivamkumar.agarwal.9">shivam-kumar</a></li><li>Trunin Mikhail - <a href="https://truwa.pro/">truwa</a></li><li>Vladimir Vlasov - <a href="http://accessdenied.su/">adsec2s</a></li><li>Borovinskih Egor - <a href="https://hackerone.com/fallenskill">FaLLenSkiLL</a></li><li>Sergey Bobrov - <a href="https://twitter.com/Black2Fan">BlackFan</a></li><li><a href="https://tinu-x00.com/">Tinu Tomy</a></li><li><a href="https://linkedin.com/in/faizan-ahmed-830444236">Faizan Ahmed</a></li></ul><p><br><em><strong>Note:</strong> we include only people in this list who bring us actionable items. Sending us results of automated scans is usually not helpful and won't automatically qualify you for a credit. Additionally, we only credit the first person who points out a problem that we can fix. Consecutive reports of the same issue will not be credited.</em></p><br/><br/>suggested by: Vladimir MullagaliyevVladimir Mullagaliyevhttps://support.userecho.com/users/2-vladimir-mullagaliyev/topics/tag:support.userecho.com,2021-12-16:/communities/7/topics/33428-status-topika-vo-vsplyivashke-sortirovki/2021-12-16T20:47:45+00:002021-12-16T20:47:45+00:00Статус топика во всплывашке сортировки [ideas] [completed]<p>Прошу рассмотреть возможность отображать статус статьи во всплывашке сортировки статей.</p><p><img src="/s/attachments/1/7/21860/88aa150c7f9adcd451509404af030d49.png" style="width: 713px;" width="713"></p><br/><br/> Vladimir Mullagaliyev replied:<br/><p>Здравствуйте Галина,</p><p></p><p>Мы добавили статус статьи в это окно сортировки.</p>Галина К.https://support.userecho.com/users/21860-galina-k/topics/tag:support.userecho.com,2021-12-08:/en/knowledge-bases/10/articles/33469-setting-up-a-built-in-contact-form-for-the-website/2021-12-08T22:42:35+00:002021-12-08T22:42:35+00:00Setting up a built-in contact form for the website [articles] <h2><strong>What is UserEcho contact form for website?</strong></h2><p>The contact form provides an immediate, convenient way for users to ask the company questions. You can see how feedback form look on the image below.</p><p><img src="/s/attachments/1/10/1/7fe84860c085caa8909853d6f448ef47.png"></p><h2><strong>Adding a new contact form in settings</strong><br></h2><p>To add contact form open settings of your project and use following path</p><p><strong>Helpdesk->Sources->Embedded form</strong></p><p>Then press button "Add embedded helpdesk form" like shown on the image below.</p><p></p><p><img src="/s/attachments/1/10/1/0ac7a262e499581932fd2acbccdb896a.png"></p><p></p><p>You contact form will be automatically added and now we going to set it up.</p><h2><strong>Contact form settings</strong></h2>For your form, you can specify a name it is used for convenience and in it you can write what your form is for or where it is located. This is useful if you will be using multiple forms on your resources.<br><br>Select the interface language for the form if your site supports multiple languages.<br><br>Customize the color of the buttons on the form<br><br>Set the title that will be on the form.<br><br>Select the Helpdesk where the requests with the form will go if you have more than one helpdesk.<br><br>Please note that to increase security, you need to indicate on which site the installation of the form is allowed for this, click on the button [1] as shown in the screenshot<p><em></em></p><p><img src="/s/attachments/1/10/1/ac9a5f4256628a51e022ac47deadbcbc.png"></p><p></p>During customization, a preview of the form will be displayed on the right so you can always see how your form will look. The only difference is that its width is dynamic and it will occupy the entire width allotted for it on your site.<br><br>After changing the form settings, click the save button and you can proceed to installing the form code on the site.<h2><strong>Installing the contact form code on the site</strong></h2><p>On the list of widgets, click the blue button opposite the widget [1] to get the embed code, it consists of two parts.</p><br>Insert the first part [2] before the closing <body> tag<br><br>Insert the second part [3] where you want to see the inline form.<p></p><p><img src="/s/attachments/1/10/1/319fcc2c2d8bb27a4aa57c48fe264fac.png"></p><p>The form automatically occupies the entire width of the space provided to it and automatically changes its height depending on the user input.<br><br>This completes the installation of the feedback form.</p><br/><br/>suggested by: Sergey StukovSergey Stukovhttps://support.userecho.com/users/1-sergey-stukov/topics/tag:support.userecho.com,2021-10-22:/communities/7/topics/32785-kak-operatoru-byit-onlajn-v-chate-cherez-telefon-i-otvechat-ne-propuskat-uvedomleniya/2021-10-22T00:18:37+00:002021-10-22T00:18:37+00:00как оператору быть онлайн в чате через телефон и отвечать, не пропускать уведомления [questions] [answered]<p>Здравствуйте, оператор не всегда может быть за компьютером. Как можно сделать чтобы уведомления приходили на телефон, чтобы не пропустить обращение клиентов и в телефоне отвечать. Может такая возможность есть через Телеграм как-то настроить или есть приложение мобильное какое-то с Push?</p><br/><br/> pakvartanyan replied:<br/><p>Спасибо, Сергей, что понимаете. Это благодарю, как раз-таки вашему сервису. Получаете обратную связь. Отвечаете, прислушиваетесь. Значит всё работает. Делаете важное и нужное дело. Желаю сил побольше и выдающегося успеха. Будем ждать приложение или интеграцию с телеграм. </p>pakvartanyanhttps://support.userecho.com/users/26727-pakvartanyan/topics/tag:stamul.com,2021-10-21:/knowledge-bases/68/articles/32908-integration-with-telegram/2021-10-21T21:10:48+00:002021-10-21T21:10:48+00:00Integration with Telegram [articles] <p>The “Telegram” channel connects to UserEcho through the Telegram bot, to which your clients send messages, then they will be sent to the selected Helpdesk section and your agents will be able to process them as standard tickets from the agent interface.</p><p>The settings for connecting the Telegram bot are located in the section:</p><p><strong>Settings> Helpdesk> Sources> Telegram</strong></p><h3>Creating a bot in Telegram</h3><p>In the Telegram search, find <strong>@botfather</strong> and create your bot using the "<strong>/newbot</strong>" command. At this stage, you need to decide on the name of the bot.</p><p>You will receive a link to the bot in Telegram and a digital access token. You will need a token to connect the bot to UserEcho.</p><p>To configure integration, you need to specify the API token of your Telegram bot.</p><p><img height="264" width="624"></p><br><br><p>After specifying the token, the bot will be linked to the Helpdesk section and now agents can process all incoming requests through the agent interface</p><br/><br/>suggested by: Vladimir MullagaliyevVladimir Mullagaliyevhttps://support.userecho.com/users/2-vladimir-mullagaliyev/topics/tag:stamul.com,2021-10-21:/knowledge-bases/68/articles/32907-how-to-report-a-vulnerability-in-userecho/2021-10-21T21:10:48+00:002021-10-21T21:10:48+00:00How to report a vulnerability in UserEcho [articles] Step-by-step guide on how to report a security bug/vulnerability<br><p>For responsible disclosure of a possible security vulnerability in UserEcho, we'd like you to follow these guidelines.</p><p></p><p>This way we get all the information we need in order to take appropriate and timely action. Thus, we ask you to report it directly to us thus, not to report the vulnerability in any public forums (like GitHub) etc. to ensure that it does not get exploited in the wild. </p><h2>How to report a vulnerability</h2><ul><li>Reach out to us directly at support@userecho.com</li><li>Make sure to provide us with as much and thorough information as you can</li></ul><h3>What we expect from you</h3><p>In order for us to fix and handle the vulnerability appropriately, we need your help. We need you to:</p><ul><li>Not tell anyone about the problem until we have fixed it. You will also not submit it as a CVE during this time.</li><li>Make sure to verify your claim of a security vulnerability by sharing a proof of concept</li><li>Reporting the results of an automated scan is usually not helpful. Please send us proof on how you think an attacker could exploit each of the scan results. </li></ul><h2>What'll happen next?</h2><p>We will acknowledge receipt of your vulnerability report. If we take the security issue further, we'll send you regular updates about our progress. As an acknowledgement of your contribution, we offer to publicly acknowledge your disclosure. <br></p><h2>Bounty Ineligible Issues<br></h2><p>The following items are known issues or accepted risks where we will not reward you:</p><ul><li>Clickjacking.</li><li>Cookie flags.</li><li>SPF, DKIM, DMARC issues.</li><li>Malicious attachments on file uploads or attachments.</li><li>Missing additional security controls, such as HSTS or CSP headers.</li><li>Mobile issues that require a Rooted or Jailbroken device.</li><li>Brute-force, / Rate-limiting, / Velocity throttling, and other denial of service based issues.</li><li>XSS (or a behavior) where you can only attack yourself (e.g. "Self XSS").</li><li>XSS on pages where admins are intentionally given full HTML editing capabilities, such as custom theme editing</li></ul><p><strong><br></strong></p><h2>List of security contributors<br></h2><p>We'd like to thank the contributors for their amazing efforts in making UserEcho safer, and we've therefore gathered <a href="/en/knowledge-bases/10/articles/20402-list-of-security-contributors" title="List of security contributors">a dedicated list of UserEcho security contributors.</a></p><p><br></p><p>The people listed here, are all the first who provided us with actionable security information which helped us fix a particular vulnerability. </p><br/><br/>suggested by: Vladimir MullagaliyevVladimir Mullagaliyevhttps://support.userecho.com/users/2-vladimir-mullagaliyev/topics/tag:stamul.com,2021-10-21:/knowledge-bases/68/articles/32906-list-of-security-contributors/2021-10-21T21:10:48+00:002021-10-21T21:10:48+00:00List of security contributors [articles] <p>We regularly get reports about security issues in UserEcho and appreciate those very much, we'd like to thank the following people for their amazing efforts in making UserEcho more secure:</p><p></p><ul><li>Shivam Kumar Agarwal - <a href="https://www.facebook.com/shivamkumar.agarwal.9">shivam-kumar</a></li><li>Trunin Mikhail - <a href="https://truwa.pro/">truwa</a></li><li>Vladimir Vlasov - <a href="http://accessdenied.su/">adsec2s</a></li><li>Borovinskih Egor - <a href="https://hackerone.com/fallenskill">FaLLenSkiLL</a></li><li>Sergey Bobrov - <a href="https://twitter.com/Black2Fan">BlackFan</a></li></ul><p><br><em><strong>Note:</strong> we include only people in this list who bring us actionable items. Sending us results of automated scans is usually not helpful and won't automatically qualify you for a credit. Additionally, we only credit the first person who points out a problem that we can fix. Consecutive reports of the same issue will not be credited.</em></p><br/><br/>suggested by: Vladimir MullagaliyevVladimir Mullagaliyevhttps://support.userecho.com/users/2-vladimir-mullagaliyev/topics/tag:stamul.com,2021-10-21:/knowledge-bases/68/articles/32904-can-i-embed-the-userecho-support-portal-in-a-mobile-app/2021-10-21T21:10:48+00:002021-10-21T21:10:48+00:00Can I embed the UserEcho support portal in a mobile app? [articles] <p>Yes, this is possible. Just follow these steps:</p><p><a href="/en/knowledge-bases/10/articles/20195-how-to-integrate-userecho-support-portal-with-mobile-application-android-example"><br></a></p><p><a href="/en/knowledge-bases/10/articles/20195-how-to-integrate-userecho-support-portal-with-mobile-application-android-example">Detailed instruction, how to embed UserEcho into Android application.</a></p><p></p><p><a href="/en/knowledge-bases/10/articles/20198-how-to-integrate-userecho-support-portal-with-mobile-application-ios-example">Detailed instruction, how to embed UserEcho into iOS application.</a></p><p></p><ul></ul><br/><br/>suggested by: Vladimir MullagaliyevVladimir Mullagaliyevhttps://support.userecho.com/users/2-vladimir-mullagaliyev/topics/