Adam Posted August 12, 2020 Report Posted August 12, 2020 Hi All, I am proud to announce that first release of Blesta-Cerb plugin. What is it? This plugin enables Cerb integration with the Blesta clients to create, update, reply, attach files and close tickets in the native Blesta client interface. This plugin replaces the built-in Support Manager with Cerb. Why do I want it? What is it good for?: If you receive high volume of emails or helpdesk tickets then replacing Blesta’s helpdesk for Cerb’s would increase productivity and reduce time spent answering emails. What is it not good for?: If the Blesta built-in helpdesk and support system meets your needs then switching to Cerb might add additional complexity. However Cerb’s features are unmatched in the industry. What is it not yet good for?: Cerb offers knowledge base articles that can be viewed by staff and published on its own support center portals. This functionality is not yet integrated into the blesta-cerb plugin. Common use cases for Blesta-Cerb Plugin: If you find that you need to do any of the following then Blesta-Cerb would be a good fit. Email and Helpdesk services are out source Notify workers and staff of new emails and events You offer out source services and need a central place for all support requests Need the ability to automate email and support workflows such as password reset, IP unblocks, etc. Collect Net Promoter Score (NPS), Customer Satisfaction (CSAT) or Customer Effort Score (CES) scores … and so much more with their bots … Cost: This plugin is 100% open source under the MIT license and is offered at no cost to you. Paid support is available for those who need it. Otherwise support is offered as best effort on the BitBucket issue page. Screenshot Tour: Visit: https://docs.solidnet.software/blesta-cerb/tour/ How do I use this plugin? Visit our online documentation: https://docs.solidnet.software/blesta-cerb/getting-started/ Blesta Addons, Michael and Paul 3 Quote
turner2f Posted September 11, 2020 Report Posted September 11, 2020 @Adam Spent the last two hours foraging the around internet trying to figure out how to install this plugin. 1) - One link show how to download a .TAR file Then a different link on a different page shows a link to download the zip. ======== 2) - After we UN-zip it we get " solidnetwork-blesta-cerb-f520f65efb16 " ======== 3) - We uploaded it to the "plugins " folder within Blesta And then try to install it. amongst the plugins list we cannot find it anywhere. We have tried RE-name the plugin folder in five ( 5 ) different ways. Still cannot find it amongst the list of plugins. =========Took a look at the documentation at . . . https://docs.solidnet.software/blesta-cerb/ ======== QUESTION : What is the correct name for the plugin folder so that we can see it in the plugins list, so that we can install it ? Quote
Adam Posted September 11, 2020 Author Report Posted September 11, 2020 Hi Turner! The recommend way to download this plugin is via git. Git allows you to: Quickly upgrade by fetching only changed files for the last update Track local changes that you have made Easily revert files back to their default condition See what changes would occur before performing an upgrade Continuously merge your local changes with our future updates. If for what ever reason you do not want to use git, then you can download a tagged release as indicated from the documentation: https://docs.solidnet.software/blesta-cerb/getting-started/install/#download-direct As mentioned, you will need to name the folder cerberus. I did take your feedback and update documentation website to make sure to emphases to name the folder cerberus within the plugins folder. Hope this helps. -Adam Paul 1 Quote
cats Posted January 12, 2021 Report Posted January 12, 2021 Hey Adam Thanks very much for this plugin, it's great. One thing I can't figure out is the event to use as the trigger in a bot to email staff about a new ticket created and email the client an acknowledgement. Cerb doesn't seem to treat a ticket created through the plugin the same event as a new ticket. I've also tried new record or modify record events as the trigger to no avail. Any ideas? Thanks again for the plugin, much appreciated. Quote
Adam Posted January 12, 2021 Author Report Posted January 12, 2021 1 hour ago, cats said: Hey Adam Thanks very much for this plugin, it's great. One thing I can't figure out is the event to use as the trigger in a bot to email staff about a new ticket created and email the client an acknowledgement. Cerb doesn't seem to treat a ticket created through the plugin the same event as a new ticket. I've also tried new record or modify record events as the trigger to no avail. Any ideas? Thanks again for the plugin, much appreciated. Hi Cats, I was able to re-create the issue you described in my staging environment running Cerb 9.6.8. None of the standard bot behaviors that Cerb offers is able to alert workers of the participates in a ticket that one was opened. I suspect this is an issue with Cerb as I noticed the activity log does not record the ticket being assigned or moved to any group or bucket. I have sent an email to the Cerb team to see if this is an issue with Cerb or how I am using their ReST API. I will let you know the outcome. Thanks! -Adam Quote
Adam Posted January 15, 2021 Author Report Posted January 15, 2021 On 1/11/2021 at 11:44 PM, Adam said: Hi Cats, I was able to re-create the issue you described in my staging environment running Cerb 9.6.8. None of the standard bot behaviors that Cerb offers is able to alert workers of the participates in a ticket that one was opened. I suspect this is an issue with Cerb as I noticed the activity log does not record the ticket being assigned or moved to any group or bucket. I have sent an email to the Cerb team to see if this is an issue with Cerb or how I am using their ReST API. I will let you know the outcome. Thanks! -Adam Cats, Plugin has been updated to address this issue. v.1.20 has been tested and releasted with the latest version of Cerb and Blesta 4 series. Blesta 5 support is being test now. https://github.com/SolidNetSoftware/plugin-cerberus/issues/1 https://github.com/SolidNetSoftware/plugin-cerberus/releases/tag/v1.2.0 Follow the upgrade process here: https://docs.solidnet.software/blesta-cerb/getting-started/upgrade/ Thanks, -Adam Paul and cats 2 Quote
cats Posted January 19, 2021 Report Posted January 19, 2021 On 1/15/2021 at 2:14 PM, Adam said: Cats, Plugin has been updated to address this issue. v.1.20 has been tested and releasted with the latest version of Cerb and Blesta 4 series. Blesta 5 support is being test now. https://github.com/SolidNetSoftware/plugin-cerberus/issues/1 https://github.com/SolidNetSoftware/plugin-cerberus/releases/tag/v1.2.0 Follow the upgrade process here: https://docs.solidnet.software/blesta-cerb/getting-started/upgrade/ Thanks, -Adam Thanks Adam. Really appreciate your quick response and fix, especially as it's a plugin you've provided for free. Paul 1 Quote
Adam Posted April 17, 2021 Author Report Posted April 17, 2021 FYI: Blesta-Cerb plugin 1.3.0 released and it supports Blesta 5.0.x https://github.com/SolidNetSoftware/plugin-cerberus/releases/tag/v1.3.0 Follow the upgrade process here: https://docs.solidnet.software/blesta-cerb/getting-started/upgrade/ Cerb 10.x testing is starting now. -Adam cats 1 Quote
cats Posted August 14, 2021 Report Posted August 14, 2021 Just upgraded to Blesta 5 and latest version of the plugin. In doing some tests, the submit new ticket form doesn't require a client to select a service from the drop down menu. If they don't, submitting a ticket returns an error which is: "Undefined index: service_id." Once a service is selected, it cannot be unselected. Not sure if it's just my installation that doesn't require a service to be selected, will keep testing variations. Edit: quick update; seems to only be a problem for clients with multiple services. For clients with one service, it selects that service by default. Quote
Adam Posted August 14, 2021 Author Report Posted August 14, 2021 12 hours ago, cats said: Just upgraded to Blesta 5 and latest version of the plugin. In doing some tests, the submit new ticket form doesn't require a client to select a service from the drop down menu. If they don't, submitting a ticket returns an error which is: "Undefined index: service_id." Once a service is selected, it cannot be unselected. Not sure if it's just my installation that doesn't require a service to be selected, will keep testing variations. Edit: quick update; seems to only be a problem for clients with multiple services. For clients with one service, it selects that service by default. Hi Cats! Running version 5.1.2 of Blesta and Cerb 10.0.5 I was able to reproduce part of your problems. I went ahead and opened an issue on GitHub: https://github.com/SolidNetSoftware/plugin-cerberus/issues/5 and fixed what I could reproduce: Enforce services to be selected by users This should remove the "undefined index" error you were getting. I was not able to reproduce any of the other errors you mentioned. I created a client that has 2 services and one that 0 services. The client with 2 services is able to select the services from the drop down without issue and switch between them. The client with 0 services will see an empty dropdown and the Create Ticket button is disabled. If you have a custom theme, I am guessing that is what is causing issues. Hopefully the new version I released will offer more compatibility with custom themes. Please let me know either way. https://github.com/SolidNetSoftware/plugin-cerberus/releases/tag/v1.3.1 Follow the upgrade process here: https://docs.solidnet.software/blesta-cerb/getting-started/upgrade/ -Adam Paul and cats 1 1 Quote
cats Posted August 20, 2021 Report Posted August 20, 2021 On 8/15/2021 at 6:46 AM, Adam said: fixed what I could reproduce: Enforce services to be selected by users This should remove the "undefined index" error you were getting. Thanks Adam. Whilst I do have a heavily customised theme, I think we are talking about the same thing, just my shorthand getting in the way. I was mentioning that when a user that had multiple services selected one from the dropdown box, they couldn't go back to having none selected - obviously a design feature - but they were able to switch between services. Thanks for fixing it so quickly. Quote
cats Posted June 20, 2022 Report Posted June 20, 2022 I had an issue with an invalid timestamp error being returned from Cerb API when viewing the helpdesk link from Blesta client view. The time was set correctly, and I couldn't see a difference in time in the verbose output from CURL. After some digging around, I saw that Cerb looks for X-Date custom header before falling back to $_SERVER['HTTP_DATE']: Quote $header_date = $_SERVER['HTTP_X_DATE'] ?? null; // If the custom X-Date: header isn't provided, fall back to Date: if(empty($header_date)) $header_date = $_SERVER['HTTP_DATE'] ?? null; I changed the cerb_api.php for the plugin to add in the custom X-Date: Quote $header = array ('X-Date: '.$http_date, 'Cerb-Auth: '.sprintf("%s:%s",$this->_access_key,$hash)); This fixed the error. Not sure if it is just my setup but I thought I would share in case it is a widespread error or affecting anyone else. Quote
Adam Posted June 20, 2022 Author Report Posted June 20, 2022 11 hours ago, cats said: I had an issue with an invalid timestamp error being returned from Cerb API when viewing the helpdesk link from Blesta client view. The time was set correctly, and I couldn't see a difference in time in the verbose output from CURL. After some digging around, I saw that Cerb looks for X-Date custom header before falling back to $_SERVER['HTTP_DATE']: I changed the cerb_api.php for the plugin to add in the custom X-Date: This fixed the error. Not sure if it is just my setup but I thought I would share in case it is a widespread error or affecting anyone else. Cats: What version of Blesta and Cerb are you running? I can try and replicate the issue on my end. From what you described it appears to be something very specific to your environment. The cerb_api.php file is provided by Cerb as a way for systems to authenticate with Cerb until Oauth Machine-to-Machine is implemented in Cerb. This is code that is provided by Cerb - https://cerb.ai/docs/api/libraries/php/ Part of the secure communication that occurs is that when you issue a request to cerb api, you sign the request with a timestamp as part of the Cerb-Auth header. That timestamp is matched against the request that is made to the cerb ReST endpoint. If HTTP_DATE is not being set, then that means the request is coming from non-standard source. Maybe command line PHP program or something like javascript XMLHttpRequests request, etc. Does this occur in your environment? -Adam Quote
cats Posted June 27, 2022 Report Posted June 27, 2022 Hi Adam I'm running Blesta 5.4 and Cerb 10.2.5. http_date was being set successfully by cerb_api.php. I tested that first by setting it to display the output of http_date. I then set curl option for verbose, which showed the cerb-auth header was being sent successfully. The date and time sent by the server matched what http_date was set as. That's when I checked the Cerb side of the REST API to see what it was validating: https://github.com/jstanden/cerb/blob/10.2.5/features/cerberusweb.restapi/api/App.php If no X-Date is set in the header, it uses $_SERVER['HTTP_DATE'] to validate the timestamp. I did some more testing today and it seems like for whatever reason, it is ignoring all header[] lines except the last one, being cerb-auth, and not adding them to the header array (or it is creating a new array each time). This means that the PUT POST etc don't work, as it doesn't add the relevant line to the header. I changed them all to be array_push($header, ...) and it adds them to the header, even though PHP recommends $array[] if adding a single element. Not sure why that is happening, but array_push fixed that. The http_date issue remains even with array_push. If I add date: $http_date to the header, I get an invalid timestamp error. But X-Date: $http_date works fine. Strange. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.