Early Access to module: Ticket Plus & HelpDesk

Hello community, I am pleased to announce that I have finally started working on a module to complement the “Tickets” module that comes natively with Dolibarr. I’ve spent some time reading and receiving comments from both acquaintances and strangers about certain limitations, especially of the “public part” that clients/suppliers access to open a ticket.

For this reason, I have opted to develop a new frontend, very minimalist and compatible with phone screens, aiming to be very light in Kb and offer very fast navigation. But at the same time, it’s 100% integrated with Dolibarr, so we DO NOT NEED any external provider for the “helpdesk” and we can manage all the information from the Dolibarr panel with our user.

That is to say, I have included:

  • a section for the ARTICLES of the “Knowledge Center” (native to Dolibarr, you have to activate it in “Modules”)
  • a section for the personal TICKETS of each user (you need to activate the “Tickets” module)

Features of which I am very proud:

  • in the search query among the knowledge articles (or FAQs) I am implementing the use of chatGPT “embeddings”, through the OpenAI API, which you can optionally activate if you want from the settings, by entering your OpenAI API key. However, you must register on the OpenAI API Platform, but it’s quick and very economical… probably a single euro allows you to handle more than 10,000 search queries from your visitors.

  • the ticket system (opening a new ticket or consulting existing ones) will require a VERY SIMPLE but I believe HIGHLY EFFECTIVE authentication system: each time a client “accesses” they are sent a TEMPORARY AND UNIQUE 6-digit code that must be validated in the “access” window. But we are not exactly talking about a “login”, because my module will not create any “user in Dolibarr” for these types of queries.

Crowdfunding: Early Access at a discounted price

For the development and launch of this module, I have implemented an “Early Access” approach. This model is ideal for those who recognize the value and potential of my work, offering them the opportunity to acquire the module at an initial price that is four times lower than the final price. This initial price will increase progressively every 15 days, reaching the final price over a period of one and a half months.

This strategy not only facilitates the funding of the module’s development from the first week but also works similarly to a “crowdfunding” scheme. By purchasing the module now, you not only get a more advantageous price but also ensure free lifetime updates. This means that, in the coming weeks, you will receive a fully developed version of the module, including all the functionalities promised in this document.

  • Final price: €40 (excluding VAT).
  • Launch price: €10.
  • Price increase: Every 15 days, the price will increase by €10, reaching €40 in a total of one and a half months.

That’s why I’m posting this announcement in the forum, to invite you to support this development if you are interested in having such a module.

Also, please, any questions or constructive suggestions, leave them here.

Demo: https://demo.bimex.tech/htdocs/custom/ticketplus/
Dolistore: https://www.dolistore.com/en/modules/2056-Ticket-Plus—HelpDesk.html

I’ve been working on ticket management for 3 days. Can someone share a real use case of ‘extra fields’ in the Dolibarr Tickets module? I see there’s the option to create new fields, but I want to know if anyone is using it and how. Thanks!

TIP-1:
Setup page,
Exclude (skip) categories (on-off) in helpdesk articles (on display)

1 Like

TIP-2:
Setup page
ON-OFF tickets create (if want just Knowledge helpdesk)

TIP-3
Setup page
OpenAI API use on-off Tickets create
OpenAI API use on-off Articles in display

Today I’ll be working on that. Yesterday, I completed a 90% functional beta version of the ticket management/creation area, which I’ve already published on Dolistore. And before diving into introducing the AI aspect, I’ll spend a couple of days addressing the suggestions you and other users have made!

In fact, a user of the module told me that in their company, they have part of their knowledge base used solely for “training” internal users of the company, while another part of the knowledge base is for consultation by their external users or clients/suppliers. They currently manage this through the use of “categories/tags”.

So, I’ve come up with the following idea: I will enable in the module settings for the admin user to DEFINE A KEY (for example, INTERNAL24) to access the articles of one of the categories. This way, the title of the “private” categories will be visible to “everyone” on the public interface, but you’ll need to enter the key to “unlock” access to their content :love_you_gesture:

Taking your suggestion into account, what I will also do is allow you to COMPLETELY HIDE a category, so that it is in no way accessible from the public interface or visible to the eye. I’m not sure what the point of that would be… maybe for a category in “IN PROGRESS” or “COMING SOON” mode, right? where one can fill it with articles but they won’t be visible until all the documentation work is finished.

Anyway, this development phase is very interesting! I love my job! Please keep sending me more “feedback”!

Regards!
Sergi

Perfect, it is very good.

““IN PROGRESS” or “COMING SOON” mode, right”
Yes,
and for example: private longer note.
and for example: can only be used in a ticket.

1 Like

I’m waiting.
I’m interested in how it will be.
I have openai api key.
I tried, but not easy … writing perfect “promt”…and are more AI-modells…and on small language (for example: Hungarian), but I’m interested in how it will be.

1 Like

Thank you for sharing your enthusiasm… it’s exactly what I needed to hear! :grin:

There are two ways in which I can integrate OpenAI’s “GPT technology” into a ticketing software. I won’t go into details because it’s a very technical matter, but I’ll try to summarize it as clearly as possible:

1. Embeddings indexation

On one hand, it’s necessary to use “embeddings” to “index” the content of the knowledge base. This involves “assigning a position on a semantic map of over 1500 dimensions (!!!) for each of the articles” (and their parts). This is done by consulting OpenAI’s endpoint for embeddings, which is ridiculously cheap: $0.0001 / 1K tokens (=approx. 500 English words). This means that with JUST ONE DOLLAR you can index over 7 MILLION words (approx. 20k book pages)… in other words, ridiculously cheap.

To learn more about what embeddings are: https://platform.openai.com/docs/guides/embeddings

Once your knowledge base is indexed, when a visitor performs a search, my module consults the embeddings API again to retrieve its “semantic position in the OpenAI model” and then my module calculates the “semantic distance” to each of the articles in the knowledge base, showing the user the 2 closest ones.

This works wonderfully… I tested and developed it in this SaaS service (which I currently have on standby): BeeHelp.net

2. chatGPT text generation

The second use of GPT technology is to use OpenAI’s “chatGPT” endpoint for “text completion”: to pass it an instruction like “based on these two text articles from my knowledge base and based on this user’s question, try to answer their question”… and that’s when "the magic happens and we can show the user a PARAGRAPH IN NATURAL LANGUAGE WRITTEN BY CHATGPT “probably faithfully answering their question”.

I put the last part in quotes because chatGPT’s response isn’t always very “faithful”. This is mainly due to the “hallucination” problem of this type of LLM. In a nutshell, the problem is that: 90% of what it responds is faithful to what we’ve passed from our knowledge base, but there’s a 10% of cases where it ADDS made-up things. These aren’t inventions like “flying unicorns”, but it invents VERY SENSIBLE things. For example, if the user asked about a customer support contact system, chatGPT might say that the user can “naturally write to support@ourcompany.com”, even though we never gave it that information! Do you get what I mean? It’s quite reliable, but not entirely :thinking:

That’s the reason why I’ve put the BeeHelp.Net service on pause since June… because I don’t like this “margin of invention” that chatGPT adds to its responses. In fact, you can sign up for BeeHelp and use it in FREE mode if you only need the embeddings system (I use it on several project websites and it works wonderfully), without using chatGPT’s responses.

Anyway, I hope that with this excessively long comment you’ve become interested in using this system and/or in seeking more information. Believe me, it works wonders, and the consumption is super-cheap… almost FREE.

Best regards!
Sergi

If you DISABLE the native module Tickets of Dolibarr, then my module Ticket Plus will only show the articles of the Knowledge Base. Indeed, in that case, there is not even a mention of the possibility of writing/consulting tickets. The “Tickets” button doesn’t even appear in the menu.

Do you think that’s sufficient? I could certainly add the option to enable/disable “Tickets” or “Articles” in the Public Portal of my module. However, I’ve preferred to introduce the absolute minimum of new options in the system, integrating it as organically as possible with Dolibarr. That’s why I’ve worked on it this way: Don’t want visitors to be able to open tickets? Then deactivate the tickets module :sweat_smile:

But please, let me your opinion. I’m open to suggestions aswell.

Yeahh! i got it :slight_smile:

Version: 0.4 [2023-12-22] Briefly:

  • you can edit the categories of the articles (Knowledge Base, native module)
  • and set one of this “levels” of VISIBILITY:

A) visible to ALL visitors
B) visible USING a SECRET access code
C) HIDDEN

  • obviously, you can already set the secret ACCESS CODE for that category
  • this “locking” of the content for certain articles apply also when the visitor use the SEARCH BOX to find information

Thanks @963 for your suggestions!!

Perfect. :grinning: Simple but Great

1 Like

I test, perfect working.
Thanks

1 Like

TIP-4

Why do you only display the last 3 articles in a category?
or I can’t set it?
(maybe a link to all the articles in the category)

1 Like

In that first version of the Articles section, I only put 3 per category “just to have something.” But in reality, in the next version (by the end of this week), I plan to add configuration options to the module:

  • Company logo, title, and subtitles in the public interface
  • Number of articles per category
  • Etc.

I think the idea you propose is a good one: to add a link (or button) to show “all” the articles in a category, or maybe “load more”… so that they load right there, WITHOUT RELOADING the page (that way, navigation is much faster).

Thank you for your suggestions. It encourages me to know that “someone is using it” :grin:

0,7 version

BUG…
Maybe…
If open “Public portal”…

Log out dolibarr…
but
perhaps my system

Yes… I was aware of the issue regarding the “Dolibarr session closure when accessing the public HelpDesk”. My recommendation is to open both apps in different browsers or in the same browser but in an incognito window.

There is a “problem” (interference?) between the cookies managed by Dolibarr and those managed by the HelpDesk. The issue arose when it became necessary to run the HelpDesk inside an IFRAME, which I’m quite sure will become the norm. This is because when your web app runs in an IFRAME, there are significant problems in controlling the cookies (which are fundamental for managing user sessions). To achieve a perfect setup, you would need to customize certain Apache parameters… so I opted for a less technical solution:

  1. Upon loading the HelpDesk, destroy the Dolibarr session (which is created automatically… I cannot avoid it)
  2. Create a new session (with session_name: DOLIHELPDESK) for the HelpDesk

I believe that this is not a bad solution, as usually users will not need to access both interfaces. Customers do not need access to our Dolibarr, nor do we need to access the HelpDesk :wink:

OK, i understand.

Note:
" Customers do not need access to our Dolibarr, nor do we need to access the HelpDesk"

Perhaps, to the employe (internal knowledgebase) :grinning:

but, no problem …just is asked.

Upsss… you are 100% right :thinking:
I will think about it…

New version: 0.7 [11-01-2024]

Most notable updates:

  • Clients can now see attached files (whether attached by themselves or by the operator assisting with their request) integrated into each ticket message.

  • It is possible to customize the header and footer texts and even add additional CSS code from the module configuration if you want to customize aspects such as fonts, colors, etc.

  • We can now use the public HelpDesk portal in any URL, even in a different domain name from our Dolibarr! For example:

    • Our Dolibarr at:
      https://dolibarr.cloudservice.com/custom/ticketplus/

    • The URL we give to our clients:
      https://support.mywebsite.com
      or
      https://www.mywebsite.com/support

Summary of CHANGELOG:

V 0.7 [2024-01-11]

  • Fixed an issue with user session.
  • Fixed a critical issue when using HelpDesk in an iframe.
    • Improved session lifespan: now it remains open for a week if the user does not voluntarily log out.
  • Added: in the configuration area, it is now possible to customize the text of headers and footers and add custom CSS.
  • Added: in the configuration area, it is now possible to choose the default language if no module translation is available for the visitor’s browser language.

V 0.6 [2024-01-08]

  • Fixed CSS for iPhone/Safari.
  • Fixed a significant bug to display historical tickets in white.
  • Added compatibility to run INSIDE AN IFRAME.
    • It was necessary to create a “homemade” user session for this case, due to cookie issues in iframes.
    • Added usage instructions in the module Config section, and a downloadable PHP/HTML file ready to be used.

V 0.5 [2023-12-30]

  • Added Italian translation.
  • Introduced the ability for clients to attach a file to a ticket or a reply message.

I would like to take this opportunity to thank everyone who has purchased the module so far, especially those who have contacted me with feedback, suggestions, bug reports, etc. I am even delighted to say that some companies have paid to add additional features that were not originally planned in the roadmap for this module.