Home → Release Notes → Printer Friendly Version
Release Notes
- 1. Release Notes
- 1.1. HelpSpot 5.6.16
- 1.2. HelpSpot 5.6.15
- 1.3. Version 4.0.29
- 1.4. Version 4.0.28
- 1.5. Version 4.0.27
- 1.6. Version 4.0.26
- 1.7. Version 4.0.25
- 1.8. Version 4.0.24
- 1.9. Version 4.0.23
- 1.10. Version 4.0.22
- 1.11. Version 4.0.21
- 1.12. Version 4.0.20
- 1.13. Version 4.0.19
- 1.14. Version 4.0.18
- 1.15. Version 4.0.17
- 1.16. Version 4.0.16
- 1.17. Version 4.0.15
- 1.18. Version 4.0.14
- 1.19. Version 4.0.13
- 1.20. Version 4.0.12
- 1.21. Version 4.0.11
- 1.22. Version 4.0.10
- 1.23. Version 4.0.0 - 4.0.9
- 1.24. Version 3.2.12
- 1.25. Version 3.2.11
- 1.26. Version 3.2.10
- 1.27. Version 3.2.9
- 1.28. Version 3.2.7
- 1.29. Version 3.2.5
- 1.30. Version 3.2.4
- 1.31. Version 3.2.3
- 1.32. Version 3.1.9
- 1.33. Version 3.1.8
- 1.34. Version 3.1.7
- 1.35. Version 3.1.6
- 1.36. Version 3.1.5
- 1.37. Version 3.1.1
- 1.38. Version 3.1.0
- 1.39. Version 3.0.8 Beta
- 1.40. Version 3.0.7 Beta
- 1.41. Version 3.0.6 Beta
- 1.42. Version 3.0.5 Beta
- 1.43. Version 3.0.4 Beta
- 1.44. Version 3.0.3 Beta
- 1.45. Version 3.0.2 Beta
- 1.46. Version 3.0.1 Beta
- 1.47. Version 3.0.1 - Template Changes
- 1.48. Version 2.7.2
- 1.49. Version 2.7.1
- 1.50. Version 2.7.0
- 1.51. Version 2.6.3
- 1.52. Version 2.6.2
- 1.53. Version 2.6.1
- 1.54. Version 2.6.0
- 1.55. Version 2.6.0 - Template Changes
- 1.56. Version 2.4.7
- 1.57. Version 2.4.2
- 1.58. Version 2.4.2 - Template Changes
- 1.59. Version 2.1.1
- 1.60. Version 2.1.0
- 1.61. Version 2 - Template Changes
- 1.62. Version 1.5.5
- 1.63. Version 1.5.1
- 1.64. Version 1.5.0
- 1.65. Version 1.5.0 - Template Changes
- 1.66. Version 1.3.1
- 1.67. Version 1.2.0
- 1.68. Version 1.1.3
- 1.69. Version 1.1.2
- 1.70. Version 1.10
- 1.71. Version 1.03
1. Release Notes
1.1. HelpSpot 5.6.16
Bug Fixes
- Fixed issue where staff with the limited to category permission option could not full text search for requests.
- Updated internal dependencies.
1.2. HelpSpot 5.6.15
Enhanced Request Search
Request search has been significantly improved with faster performance, better indexing, and more flexible sorting options. Watch the demo video to see these enhancements in action.
- We've made request searching faster by optimizing the indexing of request data.
- Request full text search now includes a much more complete index of data. Attachment names, customer information, text custom field data and the request history are all indexed.
- Full text search of requests can now be sorted by chronological order or by relevancy. This allows you to quickly find the exact request you're looking for.
- Full text search results now include a snippet of the matching terms in the search preview along with highlighting of matched terms.
New AI Auto Categorization Mode
Auto Categorization gets a new suggest mode that lets you try it out before fully committing, plus new tools to fine-tune category descriptions for better accuracy. Watch the demo video to learn more.
- Auto Categorization now supports 3 modes, disabled, suggest category and auto categorize. The new suggest category feature places a category suggestion in the request history with a clickable link to assign the category. This mode is great for trying out auto categorization before fully turning it on.
- Auto Categorization now allows you to edit and view the data used for categorization as well. A new "Category Description for AI" field allows you to review and edit the automatically generated category description that helps the AI understand what types of requests belong in a category.
Rejected Email Tracking
- We have a new dashboard that allows you to view emails that were rejected by HelpSpot. This allows you to seamlessly manage these emails without having to dig into logs and mailboxes.
Other Enhancements
- The admin panel now has an interface for clearing cache locks on worker processes. This is useful for debugging mail flow issues.
- Added a new "Any staff member can reply publicly" setting. When enabled, any active staff member who replies to a notification email will have their reply treated as public. When disabled, only the assigned staff member can reply publicly.
- The account creation form on the portal has been enhanced with additional validation and hints.
- SAML logins are now logged in the Audit Log for debugging purposes.
Bug Fixes
- The virtual archive setting is now applied to filter previews, limiting the number of requests shown to the specified date range.
- Fixed issue where an apostrophe in a KB title prevented linking to a KB article in the request interface.
- ListItems from drilldown fields are now returned during the request.GetCustomFields API call.
- XML API outputs are now better sanitized to prevent invalid element names.
Upgrade Notes
- This release rebuilds the full text index for Request. This process is run in the background and will be completed while the rest of HelpSpot runs normally. Is is expected though to have incomplete search results for 10-15 minutes on an average installation.
1.3. Version 4.0.29
Bug Fixes
- Fixed issue in output of secondary portals which included an invisible null byte character in the output for the config.php file, resulting in hard to diagnose php errors
- Fixed an issue where email subject lines could get stripped out under certain conditions related to email character set and multipart settings
1.4. Version 4.0.28
Enhancements
- Added an index on session table for users with large numbers of sessions
Bug Fixes
- Fixed bug where OOO checks in conjunction with round robin auto-assignment within a category could result in a single person getting more requests than they should
- Certain characters for database passwords in SphinxSearch configuration file escaped
- Fixed issue where non-multipart emails required converting Subject line to utf-8 encoding (Otherwise resulting in an error when inserting into SqlServer databases)
- Updated export of csv files to be more compatible with Excel when using special character
- Fixed issue where filenames of a file/attachment being downloaded containing path separators or "%" characters generated an error
1.5. Version 4.0.27
Bugs
- Fixed bug where admin editing a Response changed owner of the response to themselves
- Fixed issue where SMS notifications were not sent on staff notifications (to staff added to "Notify Staff" section when editing a response)
- Fixed issue where FULL REQUEST HISTORY email template tag may not have included the most recent note on staff notifications
Enhancements
- Security Improvements
- Admins can change owner of a Response
- Responses no longer paginated, as it provided an issue for customers with large numbers of responses
1.6. Version 4.0.26
Reverted an update from 4.0.25 which caused multiple triggers that should normally fire against a request update may to potentially not fire
1.7. Version 4.0.25
Bug Fixes
- Fixed missing ##name## replacement in the notify staff on a request email.
- Fixed incorrect message that said "Opened via Portal" when a customer reopened a request through replying by email.
- Fixed a bug when updating from HelpSpot 3 to HelpSpot 4 where a MySQL databaes connection may be made incorrectly, resulting in an error during update
- Fixed bug where converting request to public or private note would result in raw HTML being displayed
Enhancement
- Multiple triggers will test result of previous trigger ran rather than original data
1.8. Version 4.0.24
Bug Fixes
- Fixed a bug introduced in 4.0.23 where editing a custom field could mistakenly set it's maximum length to "1"
- Fixed a bug where subscribed staff may not be notified on a new, unassigned request
- Fixed a bug where users set as Out of Office may be mistakenly selected if they are within a round-robin assignment within a default category
Enchancements
- Updated HelpSpot store links to the correct https://store.helpspot.com
1.9. Version 4.0.23
Bug Fixes
- Staff subscribed to a request now get notification emails even if "send notifications via email" is unchecked. To stop emails they need to unsubscribe from the request.
- Fixed issue with extra field dates and utf8 languages.
- When using the keyboard shortcut to search the input wasn't getting cleared out.
- Removed a double line break with signatures in HTML email.
- Fixed an issue with the WYSIWYG editor inserting response placeholders as headings.
- Fixed issue where MySQL client may incorrect fallback to latin1 character set instead of utf8/utf8mb4 on Linux
- Fixed an issue during upgrade where email headers may not be parsed correctly
- Fixed overflow in note history with non-breaking strings.
- Fixed sanitization on portal pages.
- Fixed portal category grouping option in portal template code.
- Prevent browser from autocompleting username and password when editing staff members.
- Removed unneeded br tag that was inserted before email signatures
- Fix calendar display for foreign languages
- LiveLookup grid results now overflow with a horizontal scroll bar.
- Time Tracker is now more accurate even when in a background tab.
Enhancements
- Improvement in SphinxSearch delta indexes. If you would like, after updating, you can re-generate your Sphinx configuration file using the search:config command.
- Added group by Category option to the Time Tracker Over Time report.
- The HelpSpot logo now look better on retina screens
1.10. Version 4.0.22
Bug Fixes
- Fixed issue when clicking "done" after reordering triggers in IE11.
- Removed "now viewing" when opening a request in peek view.
- Fixed issue where a slash "/" in the mailbox password would give an error response.
- Resolved Windows updater issue when updating from 3.2.12 to 4.0.21 where custom fields may not be re-created correctly
Enhancements
- Live lookup HTTP requests can use user-defined query strings, e.g. example.com?foo=bar
- Added a new hs command: request:delete to delete a single request
- Added a new hs command: request:delete-spam to delete all spam currently in the spam queue
- Custom Connection (Admin > Settings > System > Customer Connect) UI option added to control diagnostic reporting
1.11. Version 4.0.21
Internal Changes
- When an email comes in with only a single name in the email header we now treat that name as the first name rather than the last name.
Bug Fixes
- Fixed round-robin assignments going to deleted staff
- Fixed issue where blank SMS notifications may be received
- Fixed issue where plaintext emails may be marked has html in email headers
- Fixed bug where attachments/files may not be retrieved from the filesystem or SqlServer correctly
- Fixed issue where replying to staff notifications set the response to private.
- Fixed filenames for download that may not have ascii-only characters
- Fixed issues where email replies may mistakenly be marked as private
- Changed WYSIWYG to not attempt to change URLs, which affected Windows local file paths
- When editing staff account ensure the secondary email is entered when checking send notifications to secondary email.
- If sending a reply fails reopen the request and show the error.
- Fixed address book issue where clicking a letter wouldn't scroll to the correct location.
- Fixed database error when sorting reminders.
- Fixed issue with API kb searching setting the wrong root tag if Sphinx installed.
Enhancements
- Added the ability to turn off gravatar photos. See the hidden settings page for instructions.
- Text Custom fields now use the number entered as the column size.
- Admin now requires you to confirm the email address when editing a user
- Updated database library for usage with Windows installer upgrade, which uses PHP 5.6 (as of 4.0.20) and related SqlServer drivers
1.12. Version 4.0.20
Enhancements:
- Email sending library replaced with more modern library, resulting in better error messages and SMTP support
- MySQL can connect to servers in alternative ports using hostname format `hostname:port`, e.g. `127.0.0.1:3306`
- Minor improvements in Advanced Search searching tips
- Windows installer updates PHP to PHP 5.6, which has official support until 2019. (Note that HelpSpot is not yet tested on PHP 7 yet)
Bug Fixes:
- Fixed issue where stored incoming email headers may have incorrectly been stripped out when viewing in admin area
- Fixed instances where public replies from staff to customers from their email client did not get added as a public note
- Portal image styles (defaults) tweaked, adding max-width
- Fixed IE cache bug, overly-eager at caching
- Fixed issue with placeholder replacement when using a url that is different than cHOST.
- Fixed issue with html all on one line being stripped.
- Removed "take it" button from closed unassigned requests.
- Fixed issue where Sphinx configuration did not pull in create date of items from Request History, resulting in relevant search results being pushed to the bottom of results
- We recommend re-generating your Sphinx configuration file
- Fixed local storage saving when editing existing requests.
- Fixed issue where mysql host in format of `hostname:port` generated incorrect Sphinx configuration
- Fixed issue where Safari and iOS could not play .wav files (commonly emailed into HelpSpot as voicemails)
- Fixed bug where email message ID may not be correctly added to an outgoing email (affected replying to a customer directly from email client)
1.13. Version 4.0.19
Fixes
- Remove backslashes "\" from drop down lists custom fields.
- Allow target="_blank" in links created from WYSIWYG.
- Fixed issue where IE was too aggressive in caching pages.
- Adjusted email parsing to account for signatures that had weird formatting.
1.14. Version 4.0.18
Enhancements:
- Tasks now also checks and deletes old error logs and filter performance metrics, helping reduce database size over time
Bug Fixes:
- Fixed issue where grand-fathered Unlimited licenses were incorrectly reported as invalid during update to HelpSpot version 4
- Fixed issue for Windows users on Apache, where openssl and curl PHP binaries did not function correctly (loaded old files from Apache installation over the correct PHP dll files)
1.15. Version 4.0.17
Enhancements
- Add ability for email templates to include "tel:" and "sms:" links.
- Added "Next 7/14/30/90/365 Days" to date conditions in filters and rules
- Options to connect to MySQL via SSL
- Security Improvements
Fixes:
- The closing date wasn't being set when creating a brand new request and closing it.
- In the portal, inline image attachments pointed to the wrong location.
- Fixed tabindex on the request screen for drill down extra fields.
- Improved the performance of the filter management admin screen
- First Response Speed (biz hours) in filters had incorrect time.
- Validation check to prevent using the same email for mailboxes and staff.
- Fixed opening image attachments in a modal window on closed requests.
- Updated HelpSpot Windows installer to fix issue where customers on alternate drives (not the C:\) had issues updating.
1.16. Version 4.0.16
Enhancements
- Added "Urgency" condition to Triggers, to test if a request is (or is not) urgent
Fixes
- Fixed issue where popup blockers prevented viewing a knowledge book in the portal from admin.
- Fixed issue where business hours was defaulting to "45 minutes", if you entered 8:00 it would show 8:45.
- Windows install bug fixed for Windows customers using MySQL that was not bundled with HelpSpot. The installer assumed MySQL customers were using bundled MySQL's.
- Fixed issue when adding time to a request the log would get cleared out until you refreshed.
1.17. Version 4.0.15
Enhancements
- Added a Safari pin icon. In Safari, right click on your HelpSpot tab to pin HelpSpot to your tab bar.
- Mailbox ID's are now included in email errors
Fixes
- Fixed issue where the last public note wasn't showing in filters.
- Fixed bug where filter/mail rule condition field ID's not always random
Notes:
- Version 4.0.14 fixed a security vulnerability, it's recommended you update to the latest HelpSpot
- Users of HelpSpot 3 (versions 3.1.1 - 3.2.12) can download a patch file within https://store.helpspot.com
1.18. Version 4.0.14
Bugs
- Security improvements
- Official release (non beta) of bug fixes from version 4.0.13
1.19. Version 4.0.13
Bugs
- KnowledgeBook search results had no ID in URL of results
- Fixed issue where local storage wasn't being cleared after creating a new request.
- Updated Live Lookup to filter out HTML email content fields, which were received when automating Live Lookup through triggers
- Fixed issue where SqlServer customers, in particular using German language, were seeing garbled character sets (especially on umlaut's).
- Fixed issue where MySQL customers may have garbled filters during update to version 4 (usually coinciding with a mismatch when storing as UTF-8 but setting the connecting client as latin1 or latin2 character sets).
- Actually, for realsies, fixed issue of php.ini's
date.timezonesetting (or lack of setting) generating an invalid license error on update. Seriously, I think we got it this time.
1.20. Version 4.0.12
Bug Fixes
- Resolved issue where the initial request column in the workspace had weird character spacing.
- Resolved issue with the selected state of select fields.
1.21. Version 4.0.11
Bug Fixes
- Resolved issue where select drop down option value incorrectly parsed when it had integer values
- Resolved issue where some customers experienced using HelpSpot commands where a PHP class was not found
1.22. Version 4.0.10
Features
- Drafts are now saved automatically to the browsers localstorage for new requests, where supported
Bug Fixes
- String vs number values in custom fields (leading/traililng 0 issue)
- Notifications may have failed to be received due to being flagged as duplicate by mail servers
- Fixed issues for PostgreSQL database during updates
- Fixed issues where customers with large number of custom field ran into MySQL error due to limit of 64 indexes per table
1.23. Version 4.0.0 - 4.0.9
HelpSpot Version 4 Changelog (July 21, 2015)
Upgrade Documentation - Note upgrading requires you be on HelpSpot 3.2.12 first.
Major Features:
- HelpSpot Cloud - Hosting for HelpSpot provided by Userscape
- Native iOS/Android applications
- True multi-lingual support (UTF-8 character set support)
- Better search via SphinxSearch search engine
- See https://www.helpspot.com/new for more!
Additional features:
- Sidebar can search request history.
- Added user option - User can decide to make sidebar search full history by default
- Modified attachment handling so they are not lost when switching between public/private/external.
- CLI Commands now supported in HelpSpot!
- attachments:tofile - Save database attachments to the filesystem
- convert:base - Convert helpspot 3 database to helpspot 4 database
- convert:requests - Convert requests to UTF8 for helpspot 3 to 4 update
- search:config - Generate configuration for Sphinx serach engine
- update - After installing new HelpSpot files, run this command to update HelpSpot, useful for automating the update process
- db:exists - Test if HelpSpot database (as configured in config.php) exists and has HelpSpot data within it
- reset:email-templates - Reset email templates to "factory defaults"
- Improved the markdown handling
- Ability to add attachments to responses.
- Added replying to notifications as public responses back to customer
- API error responses for merged requests now returns the request ID of the correct request. Developer Note: API errors can now return meta data about the request $this->_error(208, '', ['field_name' => 'some_value']);
- Added additional email loop protection - HelpSpot ensures it is not emailing itself
- Added private.meta - api call for getting basic details on the installation
- Added private.util.getAllStaff - gets all staff ever in the install
- Added private.util.getStaffPhoto - base64 of staffer image. Expects xPerson passed in via get
- Viewing of closed requests now tracked and displayable
- Improved display of currently viewing. Now shows in the workspace grid.
- Added grouping by customer id and customer email to requests over time and total over time reports
- Support for Outlook's [mailto: example@domain.com] format in forwarded emails.
- Filter has new "last update by" column, to show if last update (of any kind) was done by staff, the system or a customer.
- Custom fields of type date or datetime in email defined as ##hs_custom<fieldid>:1234567890## can now parse human-readable dates, such as: ##hs_custom<fieldid>:11/13/1984 11:59:00## (the date format there can vary greatly and still be parsed accurately).
- Added LDAP library that's easier to use for Authentication and Live Lookup.
- Added private.request.markRead and private.request.markUnRead (only usable for requests assigned to the user)
- Implemented Google's latest reCAPTCHA on public portal
- Added private.request.markTrash - mark a request as trash
- Added private.request.markSpam - mark a request as spam
- Removed fTrash flag option from private.request.create and private.request.update
- Added skipCustomChecks to private.request.create and private.request.update - allows custom field checks to be skipped
- Added private.response.listAll - returns a list of all responses
- Added private.response.usersMostCommon - returns the top 10 responses used by a user
- Added private.response.get - returns a response
- Added webhooks to triggers and automation rules (need to document sample of what's POST'd perhaps in api docs?)
- Added ##hs_request_id:012345## email parser tag to assign update to an existing request ID, useful if automated systems (e.g. eBay support) strips out the {12345} request ID tag from the subject line
- Removed spellcheck module in TinyMCE wysiwyg in favor or browser-based spellcheck. All modern browsers now support this (including IE10+).
- Live Lookup now expects your xml to be in UTF-8.
Bug Fixes:
- Fixed users not receiving email on new, un-open requests.
- Fixed dtGMTClosed date when setting fOpen = 0 via api -
- Fixed a bug where clicking a predefined response parent folder would send the user to /null -
- Fixed a bug when activating a previously de-activated trigger with a quote in the name would trigger a js error. -
- Fixed a bug where some API calls that error could dump out invalid XML.
- Fixed word break in request history for IE9 - NOTE: Need to document the portal templates css change -
- Fixed the html to text conversion when quoting.
- Fixed bug when calculating minutes in reports.
- Fixed bug where multiple space-separated names in ##hs_customer_firstname## and ##hs_customer_lastname## email tags weren't parsed correctly. For example fname: herbert walker and lname: bush would turn into fname: herbert and lname: walker bush.
- Fixed bug where trigger notifications to staff included incorrect REQUESTCHECKURL value
- Fixed bug with advanced tags encoding
- Fixed bug where setting batch status to active wouldn't reopen the request.
- Fixed xss issue with customer information and extra fields.
- Improved on styling for minor issues
- Improved cache handling for images retrieved behind authentication
- No longer url-encoding mailbox folder (INBOX and subfolders) so customers can include sub-folder mailboxs such as INBOX/helpspot.
- Fixed KB title to be converted to htmlentities on save.
- Fixed cdata in multiple results of LL
- Fixed toggling of tags in responses
- Fixed ability to set out of office forwarding to yourself. Basically anyone except the current staff you are editing.
- Fixed issue where if you was subscribed to two tickets and later they became merged. You were subscribed twice.
- Force logout users when marking them as inactive from admin.
1.24. Version 3.2.12
Version 3.2.12 Change log (July 9th, 2014)
- Improved update in WYSIWYG to result in improved button layout for users who have not customized the WYSIWYG button layout previously. Will only affect users updating from 3.2.10 or lower to 3.2.12.
- Improved wording on instructions for WYSIWYG buttons.
- Added "browser_spellcheck" option (if applicable) to WYSIWYG to allow browser-based spellchecking as per latest TinyMCE documentation
- Fixed issue where running HelpSpot in an iFrame would not fully function when a URI-encoded entity was present for $_GET variables, used to fill out customer information.
- Fixed issue in Triggers & Rules where stripping HTML out of search terms also stripped out email that were in format "FName LName <sample@email.com>"
For the latest WYSIWYG update (version 3.2.11 and higher), we suggest using a button format of the following when editing requests. This can be edited in Admin > Settings > HTML Email:
- Button Row One: styleselect fontsizeselect | outdent indent | undo redo | code
- Button Row Two: | bold italic underline strikethrough | link unlink | blockquote | bullist numlist | removeformat | pastetext pasteword | forecolor backcolor
- Leave Button Row Three empty
These options will appear look like so:
...and will result in this layout:
1.25. Version 3.2.11
Version 3.2.11 Change log (June 18th, 2014)
- NEW Inbox zero messages
- NEW Wysiwyg for improved performance in all browsers
- Responses used via the search for responses function weren't counted in the response usage report
- Fixed issue with PHP 5.3 on installs missing mbstring not encoding some things correctly
- Fixed repeating notes in the note stream
- Fixed escaping of some characters in responses
- Fixed ReCaptcha on HTTPS urls
- Fixed a bug with Windows-Baltic encodings
- Improved matching of the body text of emails when using 'contains'
- Account Name placeholders were not properly set in automation based emails
- Fixed bug where IIS based installations could not use Live Lookup via automation rules/triggers due to HTTP GET length
- Fixed issue where inactive staff could be assigned requests via automation rules
- Fixed issue where CC/BCC addresses on external notes would be added to public notes and have to be manually removed
- Fixed users showing up more than once in the "viewable by" label on filters
- Fixed bug where last insert id may not be returned correctly in some cases
1.26. Version 3.2.10
Version 3.2.10 Change log (January 24th, 2014)
- Bug - Latest Chrome version (32) incorrectly set tooltip height
- Bug - Some custom fields weren't deletable on SQL Server 2008+
- Bug - Emails with certain unencoded characters could be cut off, resulting in missing content
- Bug - Curly quotes and other special characters were converted to question marks instead of the correct standard character
1.27. Version 3.2.9
Version 3.2.9 Change log (December 26th, 2013)
- New Feature - Added the ability to update requests as a customer via private.request.update
- Bug - Grouping by contacted via in reports didn't show mailboxes correctly
- Bug - Prevent sending notification emails in some cases to inactive users
- Bug - Improvements for IE10 and IE11
- Bug - Adjust wysiwyg to fix issue with nested lists in Outlook
- Bug - Improve merge UI in workspace to include more information in drop down
- Bug - Fixed issue where last selected request for batch merge would not be listed
- Bug - Fix time tracker column display in filters
- Bug - Batch responding with a response will now apply 1 usage for each batched reply rather than 1 total for the entire batch in response usage report
- Bug - Fixed load more in inactive users
- Bug - Fixed remove request button from batch importing UI
- Bug - Fixed search for staff where it could be broken in some cases
1.28. Version 3.2.7
Version 3.2.7 Changelog (November 8th, 2013)
- New Feature - Gravatars are now shown in request history for customers who have them
- New Feature - Add ability to group reports by drill down custom fields.
- Bug - Add validation to reminders to make sure a date is set before submitting
- Bug - Fixed issue with some triggers not replacing the ##ACCESSKEY## correctly.
- Bug - Fixed some html labels that didn't match up to the correct inputs.
- Bug - Fixed issue with triggers not being called in API request.update
- Bug - Fixed issue with reattaching an attachment with an apostrophe in the file name.
- Bug - Fixed issue with category tags not working correctly if it contained a percent symbol.
- Bug - Response folders were not respecting permissions
- Bug - Fixed issue with grouping by year in reports
- Bug - Adjusted the way drafts are saved.
- Bug - In CSV export change the time tracker time to be in seconds.
- Bug - Fixed issue with time tracker not escaping properly.
- Bug - Hide the next / previous when opening the request modal from a sidebar search.
- Bug - The keyboard shortcuts were not respecting the workspace view type.
- Bug - Made Javascript includes work across http/https for mobile UI to prevent warnings
1.29. Version 3.2.5
Version 3.2.5 Changelog (June 24, 2013)
- Bug - display of request subscribers was not working and adding errors to the error log.
1.30. Version 3.2.4
Version 3.2.4 Changelog (June 18, 2013)
- Bug - Changed an internal setting that creates a hard lock on MySQL databases when merging requests. On low performance servers this created significant database contention. HelpSpot will no longer lock the request tables while merging. However, if you're on a database configuration with good performance for your HelpSpot installation size this can be re-enabled via a hidden setting.
- Bug - Changed the embed shortcuts so they are less sensitive
- Bug - In mobile UI remove inactive users from selection list
- Bug - Remove subscribers when they are marked inactive.
- Bug - Fixed admin -> mailboxes sorting by name
- Bug - Fixed issue when clicking the attachment icon
- Bug - Fixed double inserting a URL in the mail notes template
- Bug - Fixed the trigger for "contacted via", "Now is", "Email"
- Bug - Limited staff shouldn't get notification on new uncategorized requests.
- Bug - Fixed support for german forwarded emails
- Bug - Fixed time tracker person list should honor the limited to category setting.
- Bug - Fixed report grouping by contacted via.
- Bug - Adjusted the print stylesheet for the ticket
- Bug - Fixed support for basic authentication on API/RSS feeds on fastCGI setups
- Bug - Fixed bug where editing a reporting tag would create a new one rather the editing the existing ones name
- Bug - Fixed issue with IE and the drill down list on the portal
- Bug - Accented characters in custom field selection items cause reports to fail to load
1.31. Version 3.2.3
Version 3.2.3 Changelog (4/19/2013)
- New Feature - Filter management and performance screen now available in Admin -> System -> Filter Management
- New Feature - Filters that don't use a date range are now limited to the past year of results by default to improve poorly constructed filters. This can be adjusted in Admin -> Settings -> System or disabled there if desired. If you're seeing some tickets "disappear" after upgrading it's like due to this setting so you may want to extend the range to more days or disable.
- Bug - Fixed several bugs with the Windows installer
- Bug - Auto refresh in Workspace wasn't always refreshing correctly
- Bug - Fixed several SQL Server errors and bugs
1.32. Version 3.1.9
Version 3.1.9 Changelog (1/30/2013)
- Bug - Full text searches could bypass limited to category permission
- Bug - Update By could return incorrect results
- Bug - Embedded images have incorrect URL in the portal and API results
- Bug - A bad character could break grouping by assigned user reports
- Bug - A rule with more than one request push call fails after first
- Bug - Live Lookup would not follow a URL redirect
- Bug - Fixed SMS notifications on urgent requests
- Bug - private.filter.get didn't honor user permissions
- Bug - Fix Windows installer bug with LDAP PHP module
- Update - TinyMCE wysiwyg
- Update - PHP in Windows installer to 5.3.20
1.33. Version 3.1.8
Version 3.1.8 Changelog
- Bug - Fixed error on filters which tried to show last public notes in a filter with 0 results
- Bug - Fixed bug in Live Lookup where multiple result could not be viewed via magnifying glass icon
- Bug - Adjusted session key storage size for some systems
1.34. Version 3.1.7
Version 3.1.7 Changelog
- New - Support for unlimited user licenses
- Change - The "Updated By" condition is now applied after the results of other conditions to enhance performance for it's more common use cases
- Change - Windows Installer upgrades PHP to 5.3.15
- Bug - Improved checking for empty fields in Live Lookup
- Bug - A long line in an email could cause the outbound email to be truncated
- Bug - Improved speed when selecting last public note for display in filters
- Bug - Fixed Firefox 13 bugs
- Bug - Fixed spellchecker default for Chrome/Firefox
- Bug - Triggers would not check note type properly
- Bug - Forums LatestTopics parameter in templates did not honor setting
- Bug - Fixed error with SQL full text search
- Bug - Passing an empty field to the API incorrectly caused the request creation to fail
- Bug - A wrong URL was included in staff notifications
- Bug - Character fixes to widget
- Bug - When API's are off return HTTP code 400 rather than 200
- Bug - In emails a bad character could cause data to be stripped
- Bug - Widget background failed to close on Firefox
- Bug - Fixed update and close on mobile
- Bug - Knowledge pages didn't detect HTML content containing only HTML lists as HTML pages
- Bug - Incorrect rounding of decimal fields in grid view
- Bug - Long numeric only strings in a text custom field were rounded
- Bug - Links to KB weren't properly linked in full public history placeholder
- Bug - Fixed spellchecker on IE
- Bug - Changed ordering of full text search results
- Bug - Various wording changes
- Bug - Request push could fail to return error information in UI
- Bug - Bad data in a MySQL query could cause high load on the MySQL server
1.35. Version 3.1.6
Version 3.1.6 Changelog
- Bug - Add admin username/password for built in LDAP authentication
- Bug - The popup calendar would not work from the search page
- Bug - Time tracker events report could fail to load
- Bug - Non HTML notes sent in via the API displayed with HTML paragraph tags
- Bug - Tag search on the portal could show a non-functional link to a hidden page of a public book
- Bug - Triggers sending email could end up with a PHP error
- Bug - private.request.create should not append a signature to a note when using xPersonOpenedBy=0 (customer)
- Bug - Triggers with multiple actions could cause a PHP include error
- Bug - MSSQL had an error with full text search using "is not" in a phrase
- Bug - Triggers could not match custom field checkboxes
- Bug - Triggers could fail to match changed conditions
- Bug - Made response usage report more accurate and clear by removing filter option
- Bug - Changed UI of public notes to customers template editing to notify but not request a request ID be included
- Bug - Responses could fail to display properly for group user permissions
- Bug - Live Lookup via a trigger could sent the wrong HTTP GET parameters to the Live Lookup script
- Bug - The name menu (top right corner) could not be clicked on iPad
- Bug - Emailing customers from an automation rule/trigger could fail in some cases
- Bug - A pipe (|) in a reporting tag breaks the reports
1.36. Version 3.1.5
Version 3.1.5 Changelog
- Bug - Triggers may not be executed in some scenerios when they should be
- Bug - Fixed several character encoding issues
- Bug - Title bar count didn't match total of the filter
- Bug - Adjusted full text search ordering
- Bug - Getting started tab didn't register custom reports
- Bug - Open before/after filter condition didn't properly set time of day
- Bug - SMS would not send from Automation Rule
- Bug - Empty date custom fields would show today's date in workspace grid
- Bug - Response search could show responses not in a users permissions
- Bug - Name menu had to short a closing delay for iPad
- Bug - Email headers would not display more than 1 of same header (like received)
- Bug - Response search would show inactive messages
- Bug - Triggers that generated emails from portal actions could have a PHP error
- Bug - Portal query error for secondary portals with no KB's
- Bug - Added more mime type extensions for attachments with invalid or unknown names
- Bug - Emails in Windows-1257 character encoding could have characters dropped from email
- Bug - Response folders could not display due to javascript error
- Bug - Filter CSV should download all results
- Bug - KB images may not display in secondary portal
- Bug - Mobile ui shows inactive users in drop down
- Bug - Fixed issue where custom pages were only for admin users
- Bug - Time events report now has customer ID column
- Bug - IE8 category selection javascript error
1.37. Version 3.1.1
Version 3.1.1 Changelog
- 2127: Bug - My Queue read/unread image click improperly incremented
- 2352: Bug - Triggers could miss some events such as reopens of requests
- 2384: Bug - Fixed problems with links to requests after a left navigation search
- 2386: Bug - Moved to using HTML5 audio plugin on supported browsers for inline audio attachments
- 2388: Bug - Fixed "load more" on filters
- 2391: Bug - Added groupings to Speed to Resolution report
- 2395: Bug - Fixed inline image inserts on Webkit browsers
- 2397: Bug - Address book could not delete contacts
- 2401: Bug - Fixed issue with drop down lists in popup tooltips on IE
- 2402: Bug - Fixed error where MS SQL Server could not delete custom fields
- 2406: Bug - Fixed addition error on response usage report
- 2412: Bug - Fixed error where filters listed above the inbox could show the wrong count
- 2416: Bug - Permission groups without spam access could still see spam controls in some places
- 2449: Bug - Fixed issue where automation rule could improperly reassign a request from an out of office user
- 2450: Bug - Knowledge tag cloud search wouldn't show all results
- 2476: Bug - Fixed time tracker report error
- 2488: Bug - When adding a category custom fields now default to unchecked
- 2498: Bug - Tag search when no forums exist caused an error on SQL Server
- 2518: Bug - IE8 javascript errors
- 2521: Bug - Inactive responses returned in response search on request screen
1.38. Version 3.1.0
HelpSpot 3.1.0
3.1.0 is the first production ready release of the version 3 series. See what's new in V3.
HelpSpot V3 and 3.1.0 in particular contain important new security features and enhancements. All users are encouraged to upgrade.
- 2195: Feature - New password reset system for improved password security along with other password improvements
- 2170: Feature - Added the ability to group requests by category reporting tags in requests over time report
- 2183: Feature - Added next/back to closed requests
- 2331: Feature - Added report for response usage
- 2135: Feature - Added report for knowledge book helpfulness
- 2188: Bug - Responses more than one folder deep would not appear in some permission setups
- 2189: Bug - Added TO to LiveLookup address book search
- 2191: Bug - Fixed various issues with IE7
- 2206: Bug - Option to set custom field order was not visible
- 2213: Bug - Improved pie chart colors on Todayboard
- 2223: Bug - A trigger which checked a mailbox value caused an error
- 2251: Bug - Improved public/private/external note visual indicators
- 2277: Bug - A trigger could cause a PHP error on the portal in some cases
- 2278: Bug - Re-attachments fail to be emailed
- 2329: Bug - Knowledge tag cloud did not display on homepage under SQL Server
- 2358: Bug - Fixed issue where printing pages did not use print stylesheet
- 1635: Bug - Fixed issue where two triggers could conflict
- 1807: Bug - Custom stylesheet now referenced in HTML emails
- 2073: Bug - IE9 fixed report hovers
- 2081: Bug - Made billable checkbox label clickable
- 2086: Bug - Filter count didn't show in title when 0
- 2087: Bug - Closed requests didn't display custom field information
- 2088: Bug - Fixed installer to check for PHP equal to 5.3.0 rather than greater than 5.3.0
- 2095: Bug - Fixed the display of several reports under Microsoft SQL Server.
- 2098: Bug - Private books would show "link to" when they should not
- 2100: Bug - File attachments were not accepted correctly via the API
- 2106: Bug - Modal confirm notifications now defaulted for faster acceptance
- 2113: Bug - RSS filters would not display complete content
- 2115: Bug - Adding time tracker time on a new request left the date at January 1 instead of today
- 2118: Bug - Secondary portals could not show helpful pages on homepage from more than one book
- 2120: Bug - Restored ability to see Time Tracker entries on closed requests
- 2141: Bug - Request history would be truncated in wrong place
1.39. Version 3.0.8 Beta
3.0.8 Changes
- 1993: Feature - New reports: customer activity, response usage
- 2019: Feature - Added "logged in user" as an option for assignment chain filters
- 2031: Feature - Added billable checkbox to time tracker
- 1906: Feature - Anonymous error submission system (setting in admin-settings-system)
- 2032: Bug - Updated various wording
- 2054: Bug - Files could not be deleted from KB's
- 2063: Bug - Fixed issue where resized images could fail to be deleted and use disk space
- 1902: Bug - Added check to protect system if new files are uploaded but installer.php is not run
- 1905: Bug - Fixed various SQL Server errors
- 2020: Bug - Changed calendar layout to be Sunday - Saturday
- 2021: Bug - Fixed Windows installer which could fail to build scheduled tasks on Win 2003
- 2028: Bug - Not all custom predefined list fields would display in Request Over Time report grouping option
- 2030: Bug - Filter custom field columns that should show 0 would display blank instead
- 2002: Bug - Added "serious mode" setting allowing phrases and other fun things to be disabled
- 2001: Bug - Adjusted inbox zero phrases to only display sometimes to increase randomness
- 2003: Bug - Removed the ability for extra emails on the TO line to be automatically converted to CC's (this caused to many issues with looping/self notifying)
- 2018: Bug - Fixed/disabled WYSIWYG on iPad/iPad2
- 1926: Bug - Date/Datetime custom fields did not work on portal
- 1931: Bug - The Windows installer upgrading a V3 installation to a newer V3 installation could break fastcgi
- 1933: Bug - Portal popup did not work in IE
- 1934: Bug - Full text search failed on MS SQL
- 1946: Bug - CSV exporting was not working for filters
- 1951: Bug - Fixed ordering of filters in the Workspace
- 1954: Bug - When a request email fails the staffer is returned back to the request screen to review
- 1956: Bug - Don't allow creation of reminders in the past
- 1959: Bug - private.request.get now marks external notes as such via a new tag that's returned in the note history items
- 1960: Bug - Improved usability of public/private/external selector
- 1961: Bug - Improved usability of Timezone selector box
- 1962: Bug - Fixed default workspace setting
- 1984: Bug - Improved request history load speed when first opening a request
- 1991: Bug - Fixed some date/time formatting in reports
- 1992: Bug - Several security related fixes and enhancements
1.40. Version 3.0.7 Beta
3.0.7 Changes
- 1886: Feature - Added a new api call: private.request.subscriptions() to retrieve a users subscriptions (accepts xPerson via GET)
- 1868: Bug - More than 5 API calls per minute under a single account would fail
- 1888: Bug - Fixed problem with error due to unset timezone
- 1892: Bug - Forum topics could fail to be created on SQL Server due to topic string length
- 1893: Bug - Javascript reference error on login screen
1.41. Version 3.0.6 Beta
3.0.6 Changes
- 1846: Feature - Live Lookup can now accept a label="" attribute on tags to set a custom title
- 1849: Bug - Knowledge books could fail to insert an image path
- 1850: Bug - PHP defaulting to output compression could cause CSS display errors
- 1761: Bug - Calendar fields can now be updated and also reset to empty
- 1841: Bug - Users could select themselves to forward to when out of office
- 1842: Bug - Reporting tags could fail to be set by triggers and other automation
- 1844: Bug - Time tracker didn't display on new request screen
1.42. Version 3.0.5 Beta
3.0.5 Changes
- 1788: Feature - New preference to move to next request in a filter/queue on close
- 1820: Feature - Inbox Zero "enhancements" (inspired by HS customer http://figure53.com)
- 1830: Feature - Modified login system to only allow 5 attempts per minute per account
- 1783: Feature - Added option to show results by hours & minutes in first response speed report
- 1790: Bug - Made further adjustments for Google Pagespeed
- 1803: Bug - Fixed counts in mobile UI
- 1804: Bug - Fixed sidebar search for customer ID
- 1805: Bug - SMTP error text showed in wrong location
- 1806: Bug - Deleting spam in the forums would only delete one spam item at a time
- 1810: Bug - Fixed re-attaching of attachments from history
- 1811: Bug - Windows wouldn't list categories in custom fields
- 1813: Bug - Changed permission groups to remove unnecessary permissions
- 1817: Bug - Moved timetracker inline on the request screen from the left nav
- 1821: Bug - Fixed bug where mailboxes using SSL based SMTP overrides (aka gmail) could not send email
- 1822: Bug - Fixed bugs with special characters in reports
- 1823: Bug - Fixed file downloads on KB pages in admin
- 1824: Bug - IE CSS portal template would not be served for grey and blue portal themes
- 1828: Bug - Added check for source file permissions that are too open
- 1834: Bug - Todayboard categories chart only counted open requests instead of all
- 1836: Bug - Batch responding now warns if closing without setting status
- 1837: Bug - Modified HTML to allow browser autocomplete on custom fields
- 1666: Bug - Adjusted Live Lookup results display
- 1713: Bug - Fixed overlay min width
- 1729: Bug - getHelpfulPages template call did not work correctly in secondary portals
- 1758: Bug - Reporting tags now stay in place when selected rather than resorting to the top
- 1768: Bug - Global setting to prevent batch closing caused reassignment batch button to break
- 1769: Bug - Contact via trigger option would failed
- 1771: Bug - Fixed various IE javascript errors
- 1778: Bug - Fixed IE9 bug where javascript was broken when in IE7/8 compatibility mode
- 1781: Bug - Fixed CSS when in maintenance mode
- 1785: Bug - Fixed IE8 but where portals would not show in admin drop down list
- 1786: Bug - Fixed UI so that it's possible to subscribe to a request that already has subscribers
1.43. Version 3.0.4 Beta
3.0.4 Changes
- 1734: Feature - Added support for both displaying and inserting images inline in HTML emails
- 1756: Feature - Added a spam whitelist and blacklist
- 1751: Bug - Letter case of a mailbox reply to could cause it to CC itself on requests
- 1752: Bug - Widget success page could fail to load
- 1665: Bug - Next/Back buttons did not work in the Inbox view
- 1669: Bug - On MySQL merges could fail
- 1673: Bug - Response search on request screen javascript error
- 1674: Bug - Added today and same day last week request count totals on Todayboard
- 1677: Bug - Improved CSS/JS caching. Added compatibility fix for Google Pagespeed
- 1678: Bug - Forward command failed to re-attach attachments
- 1684: Bug - Adjusted time element of calendars to change in 1 minute increments
- 1685: Bug - Admins now have access to edit any knowledge book settings
- 1687: Bug - Improved IMAP error logging
- 1689: Bug - Keyboard shortcut details link failed in Chrome
- 1691: Bug - Staff search did not search inactive users
- 1692: Bug - LDAP connection test could report "Error: Success"
- 1693: Bug - Restored missing image edit.gif
- 1696: Bug - Batch update and closed failed to close requests
- 1697: Bug - Improved display of CC/BCC email addresses on request screen
- 1698: Bug - Custom theme JS embedded with wrong link type
- 1699: Bug - Stopped the encoders from encoding the /custom_pages example script
- 1704: Bug - Forum main page now includes user icons for faster identification
- 1705: Bug - Fixed Live Lookup calls from the address book
- 1709: Bug - Some links in the KB breadcrumb trail were broken
- 1714: Bug - Fixed spelling errors
- 1716: Bug - Removed unneeded language file strings (removed hundreds of old v2 strings)
- 1717: Bug - Widget could submit tags in note body
- 1720: Bug - Prevent auto refresh of workspace from leaving blank grid
- 1725: Bug - Removed the open password option from login page
- 1729: Bug - getHelpfulPages template call did not work correctly in secondary portals
- 1730: Bug - Adding a note to another staffers request could cause an empty message body error
1.44. Version 3.0.3 Beta
3.0.3 Changes
- 1644: Feature - Added ability to link to chapters from KB popup
- 1658: Feature - Added ability to save changes to an existing saved report
- 1664: Bug - Long reporting tags would break tag display
- 1643: Bug - In some cases the reminders UI would render incorrectly making it impossible to delete reminders.
- 1645: Bug - FireFox had some excess space at the top of the request screen
- 1646: Bug - When creating a response the custom field tab could cause errors if the installation has no custom fields
- 1648: Bug - Updating personal preferences could cause signatures to lose leading line breaks
- 1650: Bug - Fixed a Postgres specific database error
- 1651: Bug - Applying a response without a category would unset any currently set category (and hide assignment, tags, etc)
- 1652: Bug - WYSIWYG on installations with MBString could show odd characters
- 1653: Bug - When viewing a request the last viewed filter is now correctly highlighted
- 1655: Bug - imezone may not be set in the installer in some cases
1.45. Version 3.0.2 Beta
3.0.2: Bugs
- 1636: Bug - Removed @ check in mailbox passwords
- 1637: Bug - Live refresh not populating counts/grid correctly
- 1638: Bug - Reply Above not inserted correctly in auto replies
- 1639: Bug - Installation failed on MySQL 5.5+
- 1640: Bug - WYSIWYG could fail to load in some cases
- 1642: Bug - Dates in reminders could not be set properly
1.46. Version 3.0.1 Beta
For more information and screenshots of new features visit our What's New page.
3.0.1: Feature Highlights
- All new design, rebuilt from the ground up to be instantly familiar yet remarkable.
- New and redesigned reports
- Todayboard, our new dashboard giving you insights into what's going on today in the system.
- Stream View. Peek into requests in any filter without excessive clicks and loading.
- Triggers are a new way to automate HelpSpot in real time.
- Knowledge Tags, tag your books and forum topics for easier searching and reference.
- Clean printing gives you clean printed output from any page in the system.
- Admin themes. Create custom themes for the admin and even hook in custom javascript.
- Portal themes. 2 new great portal themes to use right out of the box.
- Integrated "reply above" for emails reduces database size by 50% and in many cases more
- Improved performance, including faster filters, faster page rending, better caching and more
1.47. Version 3.0.1 - Template Changes
This page describes the changes to each HelpSpot portal template. If you have an HTML editor available like Dreamweaver or BBEdit it is probably more efficient to simple use the diff tools to compare your edited documents (/custom_templates) with the new templates (/helpspot/templates/). If those tools are not available, the listings below will allow you to manually change the templates.
These changes are only needed if you have customized your portal and specifically customized the files listed below. If not, you do not need to make any adjustments.
Your portal will not work correctly until these changes have been made.
Note: If you're upgrading from versions prior to 2.6.0 (2.4.2,2.1.1,2.1.0) you will also need to apply the previous template changes as well.
These templates have changed in version 3:
- css.tpl.php
- forums.posts.tpl.php
- forums.topics.tpl.php
- header.tpl.php
- home.tpl.php
- index.tpl.php
- js.tpl.php
- kb.page.tpl.php
- request.check.tpl.php
- search.tpl.php
- searchbox.tpl.php
css.tpl.php
Modified line 16, changed URL. Line should be:
header('Content-type: text/css'); header('Content-Disposition: inline; filename="style.css"'); ?> /* Import styles for calendar used in date/datetime custom fields */
@import "<?php echo $this->cf_primaryurl ?>/static_<?php echo $this->cf_version ?>/js/jscal2/css/jscal2.css";
Add to end of file:
.calendar_input{
padding-right: 10px;
padding-top: 5px;
padding-bottom: 5px;
position: relative;
text-align: bottom;
cursor: pointer;
padding-left: 34px;
border: 1px solid #BBBBBB;
}
.calendar_btn{
position: absolute;
top: 1px;
left: 2px;
height: 24px;
width: 24px;
background: transparent url(<?php echo $this->cf_primaryurl ?>/portal/images/calendar.png) no-repeat left top;
}
.tag-block-home{
}
.tag-block-page{
margin: 0px;
padding-left: 42px;
}
.tag-block a{
display: inline-block;
height: 26px;
line-height: 26px;
}
.tag-sep{
font-size: 11px;
color: #ccc;
}
.tag-table{
font-size: 13px;
width: 100%;
margin: 15px 0 20px 0;
border-bottom: 1px solid #DADADA;
}
.tag-table td {
padding: 8px; /* not for grey design */
}
.tag-header{
margin-bottom: 30px;
}
#helpspot-link{
font-size: 12px;
}
footer.tpl.php
Replace line 25 through end of file. Previously line 25 started with a <strong> tag. Should now be:
</div> <!-- End of footer div --> </div> <!-- End of container div --> <div id="helpspot-link"> <?php /* You may remove this link, however we would be very appreciative if you didn't! Helping spread the word about HelpSpot creates a stronger community and a better product for all our customers. Sincerely, Ian Landsman President, UserScape ian@userscape.com */ ?> <strong><a href="http://www.helpspot.com">Help Desk Software</a> by HelpSpot</strong> </div> </body> </html>
forums.posts.tpl.php
Add at line 61:
<?php if($this->splugin('Forums_PostTags','count',$this->get_id)): ?>
<fieldset class="fieldset">
<legend><b><?php echo lg_portal_tags ?></b></legend>
<div class="tag-block tag-block-page">
<?php foreach($this->splugin('Forums_PostTags','getTags',$this->get_id) AS $tags): ?>
<a href="index.php?pg=tag.search&id=<?php echo $tags['xTag'] ?>">
<?php echo $tags['sTag'] ?>
</a> <span class="tag-sep"> / </span>
<?php endforeach; ?>
</div>
</fieldset>
<br />
<?php endif; ?>
<?php if(!$this->helper->isTopicClosed($this->topic,$this->forum)): ?> <form action="index.php?pg=forums.posts&id=<?php echo $this->get_id ?>" method="post">
header.tpl.php
Replaced line 9 (meta robots tag) with:
<meta name="description" content="<?php echo $this->hd_name ?> - help desk and customer service portal" /> <?php if($this->get_page == 'request.check'): ?> <meta name="robots" content="noindex, nofollow"> <?php else: ?> <meta name="robots" content="index, follow"> <?php endif; ?> <title><?php echo $this->pg_title ?></title>
Modified line 18, changed URL. Line should be:
<!--stylesheets-->
<link rel="stylesheet" type="text/css" href="<?php echo $this->cf_url ?>/index.php?pg=<?php echo $this->hd_theme ?>" media="screen, projection" />
Modified & Added at line 18, changed URL & added IE stylesheet. Line should be:
<!--stylesheets--> <link rel="stylesheet" type="text/css" href="<?php echo $this->cf_url ?>/index.php?pg=<?php echo $this->hd_theme ?>" media="screen, projection" /> <!--[if lt IE 8]> <link rel="stylesheet" type="text/css" href="<?php echo $this->cf_url ?>/index.php?pg=<?php echo $this->hd_theme_ie ?>" /> <![endif]-->
Modified line 23, added class attribute. Line should be:
</head>
<body onload="<?php echo $this->pg_onload ?>" class="page-<?php echo $this->get_page_css_class ?>">
home.tpl.php
Added at line 30:
><?php endif; ?> <?php $this->helper->reset_altrow(); ?> <?php if($this->splugin('Tags','count') > 0): //Only show tags if there are any ?> <table width="555" cellspacing="0" class="forumtable tag-cloud-homepage"> <tr> <td> <h2><?php echo lg_portal_tags ?></h2> <br /> </td> </tr> <tr> <td class="tag-cloud-td"> <div class="tag-block tag-block-home"> <?php foreach($this->splugin('Tags','getCloud') AS $tag): ?> <a href="index.php?pg=tag.search&id=<?php echo $tag['xTag'] ?>" style="font-size:<?php echo $tag['font-size'] ?>%;"><?php echo $tag['sTag'] ?></a> <span class="tag-sep"> / </span> <?php endforeach; ?> </div> </td> </tr> </table> <?php endif; ?> <?php if($this->splugin('Forums_LatestTopics','count') > 0): //Only show most recent forum posts if there are any ?>
Modified line 44 added class name. Line should be:
<td align="right" class="forum-name">
Added at line 71:
<?php endif; ?> <?php $this->helper->reset_altrow(); ?> <?php if($this->splugin('KB_HelpfulPages','count') > 0): //Only show most helpful pages if there are any ?>
index.tpl.php
Added at line 24:
case "css": include $this->loadTemplate('css.tpl.php'); break;
case "css.grey":
include $this->loadTemplate('css.grey.tpl.php');
break;
case "css.blue":
include $this->loadTemplate('css.blue.tpl.php');
break;
case "ie.css":
include $this->loadTemplate('ie.css.tpl.php');
break;
case "ie.css.grey":
include $this->loadTemplate('ie.css.grey.tpl.php');
break;
case "ie.css.blue":
include $this->loadTemplate('ie.css.blue.tpl.php');
break;
Added at line 77:
case "search": include $this->loadTemplate('search.tpl.php'); break;
case "tag.search":
include $this->loadTemplate('tag.search.tpl.php');
break;
js.tpl.php
Replace the document.write at line 24 with:
// jscalendar/calendar-setup.js (used for date custom fields)
document.write('<script type="text/javascript" src="<?php echo $this->cf_primaryurl ?>/static_<?php echo $this->cf_version ?>/js/hs-js-combined-portal.php"></script>');
kb.page.tpl.php
Added at line 30:
<p> <?php echo $this->page['tPage'] ?> </p>
<?php if($this->splugin('KB_PageTags','count',$this->get_id)): ?>
<fieldset class="fieldset">
<legend><b><?php echo lg_portal_tags ?></b></legend>
<div class="tag-block tag-block-page">
<?php foreach($this->splugin('KB_PageTags','getTags',$this->get_id) AS $tags): ?>
<a href="index.php?pg=tag.search&id=<?php echo $tags['xTag'] ?>">
<?php echo $tags['sTag'] ?>
</a> <span class="tag-sep"> / </span>
<?php endforeach; ?>
</div>
</fieldset>
<br />
<?php endif; ?>
Modified line 37 changed variable. Line should be:
<?php foreach($this->splugin('KB_PageDownloads','getDownloads',$this->get_id) AS $download): ?> <li><?php echo $this->helper->mimeimg($download['sFilename']) ?> <a href="index.php?pg=file&from=2&id=<?php echo $download['xDocumentId'] ?>"><?php echo $download['sFilename'] ?></a> <?php endforeach; ?>
request.check.tpl.php
Modified line 169 added ID. Line should be:
<input type="text" name="id" value="" size="20" maxlength="100" tabindex="100" /> <input type="submit" name="submit" id="accesskey-btn" value="<?php echo lg_portal_check ?>" tabindex="101" /> </p>
Added at line 197:
<?php if(isset($_GET['reset_password'])): ?>
<script type="text/javascript">
document.observe("dom:loaded", function(){
var page_href = location.href + " ";
if(page_href.search(/password/i) > 0){
$("feedback_box").show();
$("feedback_box").addClassName("feedback_box_positive");
$("feedback_box").update("<?php echo htmlentities(lg_portal_password_reset) ?>");
}
});
</script>
<?php endif; ?>
<?php include $this->loadTemplate('footer.tpl.php'); ?>
search.tpl.php
Added at line 19:
<?php include $this->loadTemplate('searchbox.tpl.php'); ?>
<?php if($this->splugin('Tags','searchCount',$this->get_q)): ?>
<fieldset class="fieldset">
<legend><b><?php echo lg_portal_searchtags ?></b></legend>
<div class="tag-block tag-block-page">
<?php foreach($this->splugin('Tags','searchTags',$this->get_q) AS $tags): ?>
<a href="index.php?pg=tag.search&id=<?php echo $tags['xTag'] ?>">
<?php echo $tags['sTag'] ?>
</a> <span class="tag-sep"> / </span>
<?php endforeach; ?>
</div>
</fieldset>
<br />
<?php endif; ?>
searchbox.tpl.php
Modified line 6 added ID. Line should be:
<p align="center">
<input type="text" name="q" id="q" value="<?php echo $this->get_q ?>">
1.48. Version 2.7.2
2.7.2: Features and Bugs
- 1423: Feature - Added support for line breaks in widget text
- 1457: Feature - Added xPortal ID option to create.request and private.create.request
- 1459: Feature - Added mailbox account name placeholder for last, first
- 1468: Feature - Upgraded TinyMCE (wysiwyg editor) to 3.3.8
- 1474: Feature - Replaced the last customer email tag with last customer note (your templates will automatically be updated). This now replies with the last note of any type not just emails, so portal updates, API generated updates, etc.
- 1479: Feature - Added reportingTags parameter to private.request.search
- 1484: Feature - Added 2 indexes to HS_Request to improve speed on certain filter conditions
- 1478: Bug - On Windows the Black Box Username field could default to a blank space instead of empty
- 1470: Bug - Prevented an unneeded update query in the Workspace
- 1465: Bug - UTF8 control characters in an email could break API XML
- 1467: Bug - Updating global email templates could overwrite custom mailbox templates
- 1448: Bug - Numerci and Decimal custom fields did not accept 0 on the portal form
- 1451: Bug - KB Pages with only table tags would have
added to them - 1452: Bug - Required checkbox fields now checked via javascript as other required fields are
- 1453: Bug - Auto response email template could not correctly display CSS
- 1455: Bug - Could not download a report as CSV where open/closed was set to closed
- 1336: Bug - Push requests could not be logged when using Postgres DB
- 1337: Bug - Postgres DB installations wouldn't list request history on portal when using customer ID display option
- 1342: Bug - Drill down lists could not be edited if they contained certain special characters
- 1348: Bug - Speed to first response report can sometimes count merged requests as negative values
- 1349: Bug - The email_staff parameter in private.request.create did not work as expected
- 1359: Bug - Batch request could fail on pasted text with bad characters
1.49. Version 2.7.1
2.7.1: Features and Bugs
- 1386: Feature - Improved filter caching for faster results especially in large installations.
- 1386: Change - Removed filter cache time setting, still available as a hidden setting.
- 1394: Feature - Improved search tab UI. Enter starts search, last search remembered for configurable period of time in hidden settings (defaults to 20 minutes)
- 1409: Feature - Added exclusive public history notes email tag (will show all public notes in the request besides the current one being sent) to compliment "inclusive" one
- 1398: Bug - API private.request.addTimeEvent allowed adding time events to non-existent request ID's
- 1387: Bug - Address Book A-Z navigation could break under some conditions.
- 1342: Bug - Drill down lists could fail to be editable.
- 1348: Bug - Improved the speed to first response reports handling of merged requests.
- 1349: Bug - email_staff API parameter did not email staff members indicated.
- 1372: Bug - Speed to first response report had problems when downloading as a CSV.
- 1417: Bug - Subject lines that end in \ break the javascript on the request page
- 1420: Bug - calendar date selection could fail in advanced search
1.50. Version 2.7.0
For screenshots of several new features visit our What's New page.
2.7.0: Feature Highlights
- 108: Feature - Global BCC option, so all public note emails (optionally all outbound email) can be BCC'd to a specified address.
- 1128: Feature - New advanced search interface with optional filter creation
- 1108: Feature - New report: Speed to first response
- 1139: Feature - New tab widget allows a question/feedback form to easily be added to any webpage or site
- 1240: Feature - Added email tag which will insert the complete public history of a request
- 1297: Feature - Added ability to re-attach an attachment in the request history
- 604: Feature - Added a simple address book for commonly used email addresses. Integrated with Live Lookup for global address book functionality.
- 1310: Feature - Added assignment chain management. It's now possible to search/filter the full history of all users who have ever been assigned a request (works going forward after upgrade).
2.7.0: Features and Bugs
- 121: Feature - When doing a batch response any people currently CC'd will be CC'd on the batch reply
- 1074: Feature - Improved image caching
- 1123: Feature - Framed portal pages would work inconsistently in some IE versions
- 1124: Feature - Added US Cellular and Telstra to SMS list
- 1126: Feature - Responses are no longer required to have a note
- 1131: Feature - Responses can now set "send from" and "TO"
- 1109: Feature - Filter/Report exporting now done in CSV for wider compatibility
- 1157: Feature - Improved request history search speed
- 1145: Feature - API method private.request.search can now search on xPersonAssignedTo
- 1187: Feature - "Currently Viewing" notification on request screen now less obtrusive, continually viewable and updates in real time
- 1208: Feature - Live Lookup now passes the request ID in it's call
- 1221: Feature - Added ability to set the contact type via the API creation methods
- 1251: Feature - Added button to clear error table
- 1252: Feature - Added check for shell_exec when using command line Live Lookup
- 1194: Feature - Added ability to repair MySQL tables from the system information screen
- 1296: Feature - Each request history item now has a "forward" command which will quote the note, set the subject, and re-attach any files in the note
- 503: Bug - Changed wysiwyg to use raw encoding to true characters are stored in database
- 1080: Bug - HTML tags not stripped from RSS titles
- 1088: Bug - Removed inactive users from time tracker selection list
- 1092: Bug - Fixed bug where IE7 users could sometimes not take an urgent request from the Inbox
- 1101: Bug - Numeric custom fields would log changes from/to nothing
- 1104: Bug - When uploading multiple attachments via the api, ones beyond the first would not upload correctly
- 1159: Bug - Added logic to prevent workspace from stretching on long strings of characters
- 1163: Bug - Fixed email_staff option in API which would not email selected staff
- 1166: Bug - An apostrophe as the leading character of a customer name would cause the request not to update
- 1170: Bug - Improved email validation
- 1171: Bug - Portal black box now creates accounts for unknown but valid users as the default system does
- 1175: Bug - When using the option to write attachments to disk the process would sometimes failover to DB when it shouldn't
- 1142: Bug - Removed encoded HTML characters from text staff notification emails
- 1143: Bug - Drill down custom field data was not available in API results
- 1119: Bug - Using make note public on an HTML email could break the layout of the request.
- 1113: Bug - The request push details link did not work on closed requests
- 1114: Bug - Responses would be erased in some browsers if enter was hit directly after insertion
- 1276: Bug - Prevent email ID prefix from containing anything but letters
- 1286: Bug - View request link in emails could have wrong URL
- 1292: Bug - Email table of results rule action in some cases may not remember the correct person to email
- 1243: Bug - Increased size of the sReplyName field
- 1257: Bug - Fixed wrong path to attachment images in secondary portals
- 1262: Bug - Clarified notes on MSSQL wild card searches
- 1263: Bug - Private api method private.request.create could not add reporting tags
- 1223: Bug - Mail rules would not always match subject lines properly if they were encoded
- 1229: Bug - Remove currently out of office users from list of those who can be set as a person to forward to while out of office.
- 1231: Bug - "additional" hidden portal form field would not submit text in some configurations
- 1237: Bug - Added check to ensure at least 1 staff member is added to a category
- 1211: Bug - The date opened placeholder did not show the correct date, it showed the current date.
- 1213: Bug - Command clicking a request ID would not open it in a new window
- 1190: Bug - Long lists of reporting tags would sometimes fail to reorder correctly
- 1146: Bug - Print view shows custom fields which are not part of the requests currently selected category.
- 1148: Bug - Fixed issue with special characters in drill down fields
- 1152: Bug - Add check to make sure the SMS field is filled in if checking off SMS notification options
- 1156: Bug - Installs with many custom fields could not fully use Live Lookup due to the use of GET to transmit the information, switched to POST
- 1321: Bug - Private api method private.request.getCategories returned all reporting tags for each category
- 1314: Bug - Clicking update and close in Google Chrome Mac crashes if status is not already selected
- 1315: Bug - Secondary portal forums send emails from the default system account instead of the secondary portals selected account.
- 1304: Bug - IE could receive a blocking javascript error on Rules pages
1.51. Version 2.6.3
- 1024: Feature - Installer.php now does additional checks for proper database permissions and errors during upgrades
- 1025: Feature - kb.getBookTOC and kb.getPage now return information on related pages.
- 1033: Feature - Installer.php now automatically puts the system in maintenance mode when doing an upgrade (after upgrade button pushed) and turns off maintenance mode when complete
- 1050: Feature - The email tag ##forward:true## is now accepted in the body of the message as well as the subject line
- 1052: Feature - The request history option menu now stays open longer
- 1058: Feature - Added a button to clear stuck emails allowing the system to retry downloading them
- 1060: Feature - Added cHD_TAKEIT_DOCHECK hidden setting to allow Take It button to bypass assigned to check and directly assign to clicker
- 1013: Bug - New Level 2 users could be created and defaulted to a filter they didn't have access to in some configurations
- 1014: Bug - IE sometimes shows browser security warning on admin page
- 1015: Bug - In some cases Windows Installer did not correctly set the tmp directory to writable causing email attachments to fail
- 1020: Bug - IE could show an "out of memory" browser error on preferences page
- 1021: Bug - Closed requests had a javascript error in IE
- 1022: Bug - private.request.get now returns the merged request if the request has been merged
- 1032: Bug - HTML H2 tags did not display correctly in preview mode
- 1036: Bug - Force table locking in MySQL when doing merges to prevent a situation where both requests in a merge if called simultaneously to merge into each other could be deleted
- 1038: Bug - Closed requests showed request history based on "notes" preference so would show notes only if that preference was set. Now shows all history items regardless of setting.
- 1039: Bug - Drill down data in filter grid did not display properly in all cases
- 1044: Bug - Windows installer could fail to install the Zend Optimizer for new installations in some cases
- 1053: Bug - Malformed email can cause only the first line or two of an email to be displayed
- 1055: Bug - Fixed rare bug where if the database has an error two new requests could be merged into one
- 1056: Bug - Fixed issues with custom field creation when database user does not have alter permissions in MySQL
1.52. Version 2.6.2
- 1011: Bug - "Customer will not be emailed" message and note draft saving may not function properly on the request screen. "Customer will not be emailed" may fail to correctly switch to "Customer will be emailed" when appropriate causing confusion to help desk staff.
This bug only affects HelpSpot version 2.6.1.
1.53. Version 2.6.1
- 968: Feature - Added hidden setting to disable auto linking of shortcuts (r: f: k:) in note field
- 973: Feature - Hidden setting to set a maximum image size to attempt to thumbnail in the request history
- 981: Feature - Option to open request history search results in a new window
- 984: Feature - Added a reporting tags column for filters
- 990: Feature - Phone numbers in the iPhone UI are now clickable in the customer information area
- 957: Bug - Merging generates an email to user doing the merge even if it's same person
- 970: Bug - Clicking update request now auto submits time if time clock is running
- 974: Bug - Installations running over SSL can show insecure items error when accessing request page
- 975: Bug - Formatted text box and plain text note box would not auto resize
- 982: Bug - Spellchecking with the wysiwyg enabled did not work
- 991: Bug - iPhone UI is now faster due to removal of transitions
- 992: Bug - iPhone UI now correctly links to knowledge book pages
- 993: Bug - Editing an automation rule can cause an "operation aborted" error in IE
- 999: Bug - Workspace quick menu sometimes would remain stuck on "loading..." while trying to view request details
- 1000: Bug - Fix improperly decoded attachment extensions
- 1001: Bug - Setting a note to public via a response and attempting to set the subject line and CC fails
- 1002: Bug - Certain filter conditions if used on their own may incorrectly return all requests if no requests match the condition
1.54. Version 2.6.0
2.6.0: Feature Highlights
- 56: Feature - Smart assignment. When re-assigning a request to a category the staffer is part of the assigned to box will default to the staffer rather than the default user.
- 384: Feature - Multilevel response grouping
- 417: Feature - Live request access status. Staff are warned when entering a request another user is viewing or editing.
- 428: Feature - Request histories can now display a full history, just notes, just public notes, or files. The setting is saved until it is changed by the staffer (setting is unique to each user)
- 607: Feature - Significant filter speed improvements. Especially for reporting tags and full text searches on the MySQL database
- 633: Feature - Integrated iPhone interface
- 768: Feature - Filter view request quick menu for viewing request history from the Workspace
- 753: Feature - Added indicator to visually confirm when an email will be sent to a customer on the request screen
- 787: Feature - Specific column widths can now be specified in filters
- 823: Feature - Added support for reCAPTCHA as a captcha type in the portal
- 869: Feature - Per mailbox public and external note email templates for easy support of different mailbox domains.
- 871: Feature - Filter counts are now cached for 5 minutes by default (setting in Admin->Settings->System). Caching dramatically reduces the number of queries per page in filter heavy installations.
- 928: Feature - Multi-portal support. Create unlimited portals for different websites all managed by one HelpSpot instance.
2.6.0: Features and Bugs
- 164: Feature - Option to quote all public history
- 566: Feature - Forwarded email parsing now requires the subject line to contain a special command: ##forward:true##
- 568: Feature - Added "van:" as another "from" to search for in email forward parser
- 585: Feature - Option to show the SQL of a filter on the filter creation/edit screen
- 615: Feature - Default the create filter batch option to unchecked
- 628: Feature - API: allow override of fNoteIsHTML
- 665: Feature - Request Push API: Assigned user and logged in user information sent. Live Lookup API: logged in user information sent with api call.
- 668: Feature - Mailbox option to use a staff member name in the from emails of public notes instead of generic mailbox name
- 645: Feature - Pass fUserType value in Live Lookup API so results returned can be tailored to user level
- 678: Feature - Added notification suppression option to automation rules
- 679: Feature - Added email template placeholders for opened date and current time
- 687: Feature - Move to inbox option for automation rules
- 700: Feature - Added setting to turn off auto reply on portal form requests
- 701: Feature - New filter column which displays who's currently viewing/editing a request
- 716: Feature - Filter "take it" column now works like the built in inbox "take it" column
- 722: Feature - Add an "is not spam" action to mail rules
- 727: Feature - Upgraded wysiwyg to latest version
- 728: Feature - Show count of currently open requests for a customer on the request screen
- 732: Feature - Added ability to merge a request from the history tab
- 734: Feature - Added logged in user placeholders
- 741: Feature - Automation rule option to only run rule if it's directly called, not when tasks2.php is called without an ID (as normal)
- 758: Feature - New API method of private.request.merge
- 760: Feature - Added option to group merge from filters
- 766: Feature - Save As option for responses and filters to quickly base a new response/filter off of an existing one
- 767: Feature - Links in the request history to external sites now open in a window without leaving the request screen
- 779: Feature - Menu option to link directly to a specific request history note
- 781: Feature - API: private.request.search now accepts date parameters
- 785: Feature - Added "active" status to "change status" drop down in filters
- 786: Feature - Filters now have the option for grouped and/or conditions
- 796: Feature - Option to convert a request history item into a new request
- 812: Feature - Added a Request Push API action to automation rules
- 817: Feature - Added hidden config.php setting which allows SSL MySQL connections
- 819: Feature - When clicking "update and close" with the status still "active" a quick popup will appear allowing a status selection without the need to scroll.
- 864: Feature - Added Getting Started menu
- 897: Feature - Significant improvements in client CPU and Memory utilization in all browsers
- 902: Feature - Added xPersonOpenedBy to private.request.create
- 931: Feature - Email table of results will no longer send an email if no requests match the rule
- 933: Feature - Added ability to move chapters between books
- 828: Bug - Adding a mailbox incorrectly showed an "edited" message
- 821: Bug - Flash movies uploaded into the knowledge books may not display correctly for visitors using Flash 10
- 806: Bug - Editing a KB name or description causes order to be set to 0
- 808: Bug - Remove formatted text (Markdown) escape characters from text versions of emails
- 809: Bug - Leave attached .eml files as attachments instead of parsing them as part of the mail body
- 792: Bug - Add tag button in Safari submits form when it should not
- 783: Bug - Portal requests show a RE in excel download of filters when they should not
- 747: Bug - Line breaks are now stripped from drill down option lists
- 748: Bug - The batch request form no longer forces required custom fields to be changed
- 750: Bug - Spaces at the end of an email address cause emails to fail
- 752: Bug - tasks2.php no longer outputs any text
- 739: Bug - Creating a request with no note causes odd character dump in request history
- 713: Bug - Private API returns a basic auth header in addition to the xml failure notice
- 714: Bug - Formatted text content now used directly for text part of emails
- 723: Bug - Internet Explorer would append responses to top of screen instead of the note box in some instances
- 724: Bug - A login box appears in the draft save area of the request screen if the user is logged out while working a request
- 703: Bug - Mail rule headers now default to "contain" instead of "is"
- 706: Bug - Search fields now trim whitespace
- 711: Bug - Safari could not set public api return values in settings
- 680: Bug - When choosing a relative comparison operator in an automation rule the time field would not hide
- 647: Bug - kb.getToc now wraps pages with a pages tag for easier parsing (existing code that uses this method may need updating)
- 669: Bug - Multi-word searching in Postgres would not return results
- 671: Bug - Improperly formatted email messages caused attachments to not be imported properly
- 677: Bug - On some configurations files with no mimetypes would not be saved to the database
- 635: Bug - Custom field dates in automation rules show timestamp
- 639: Bug - private.request.search does not return tnote
- 629: Bug - Subject line shows on non-email created requests
- 631: Bug - Black Box Portal authentication may not work in some cases
- 618: Bug - Umlaut in subject line forces requests to always be created, never appended to existing
- 619: Bug - Original Note tag will send back a private note on a manually entered request with the first note as a private note
- 623: Bug - Files could not be uploaded via request.update method
- 624: Bug - Group files in request.get into a tag for easier parsing
- 627: Bug - Certain emails become stuck due to spam check
- 586: Bug - Change filter condition so that both checked and unchecked can be found
- 600: Bug - Apostrophe in knowledge book page title makes them not insertable into note box
- 582: Bug - Reporting tags don't show when editing a response on IE
- 584: Bug - Emails with multiple CC's can stretch page
- 567: Bug - First result of Live Lookup result with multiple entries sometimes not shown
- 173: Bug - Space character can get through on a CC and breaks javascript
- 564: Bug - Email template tags don't insert in FireFox 3
- 878: Bug - Borders added to images in the knowledge books would not be displayed
- 879: Bug - Login check did not work for new request screen
- 939: Bug - Downloads over SSL on request check page fail to IE
- 955: Bug - Request Push to SQL Server 2008 fails when Push() does not return a value
1.55. Version 2.6.0 - Template Changes
This page describes the changes to each HelpSpot portal template. If you have an HTML editor available like Dreamweaver or BBEdit it is probably more efficient to simple use the diff tools to compare your edited documents (/custom_templates) with the new templates (/helpspot/templates/). If those tools are not available, the listings below will allow you to manually change the templates.
These changes are only needed if you have customized your portal and specifically customized the files listed below. If not, you do not need to make any adjustments.
Your portal will not work correctly until these changes have been made.
Note: If you're upgrading from versions prior to 2.4.2 (2.1.1,2.1.0) you will also need to apply the template changes here.
These templates have changed in version 2.6:
- css.tpl.php
- email.tpl.php
- forums.posts.tpl.php
- forums.topics.tpl.php
- js.tpl.php
- request.tpl.php
css.tpl.php
Modified line 16, changed URL. Line should be:
header('Content-type: text/css');
header('Content-Disposition: inline; filename="style.css"');
?>
/* Import styles for calendar used in date/datetime custom fields */
@import "<?php echo $this->cf_primaryurl ?>/js/jscalendar/skins/aqua/theme.css";
Modified line 226, changed URL. Line should be:
.navBar a:link.navOn, .navBar a:visited.navOn, .navBar a:hover.navOn { font-weight: bold; padding: 0 0 6px 10px; text-decoration: none; color: #39399c; background: url(<?php echo $this->cf_primaryurl ?>/portal/images/blue-tri.gif) no-repeat left top;}
Modified line 270, changed URL. Line should be:
.subnavBar a:link.navOff, .subnavBar a:visited.navOff { font-weight: normal; padding: 0 0 6px 10px; text-decoration: none; color: #3163ce; background: url(<?php echo $this->cf_primaryurl ?>/portal/images/blue-dot.gif) no-repeat left top; }
Modified line 279, changed URL. Line should be:
.subnavBar a:hover.navOff { font-weight: normal; padding: 0 0 6px 10px; text-decoration: underline; color: #39399c; background: url(<?php echo $this->cf_primaryurl ?>/portal/images/blue-dot.gif) no-repeat left top; }
Modified line 288, changed URL. Line should be:
.subnavBar a:link.navOn, .subnavBar a:visited.navOn, .subnavBar a:hover.navOn { font-weight: bold; padding: 0 0 6px 10px; text-decoration: none; color: #39399c; background: url(<?php echo $this->cf_primaryurl ?>/portal/images/blue-tri.gif) no-repeat left top; }
email.tpl.php
Replaced lines 45-52 for new captcha include, should now be:
//Captcha form protection. You can turn this on and off via a setting in Admin->Settings->System Security. It's enabled by default //This text captcha should be sufficient for most automated spam. If someone has modified a robot to target your site specifically //then obfuscating the word via javascript or using an image may improve results ?> <?php include $this->loadTemplate('captcha.tpl.php'); ?> <div class="formbuttondiv">
forums.posts.tpl.php
Replaced lines 89-96 for new captcha include, should now be:
//Captcha form protection. You can turn this on and off via a setting in Admin->Settings->System Security. It's enabled by default //This text captcha should be sufficient for most automated spam. If someone has modified a robot to target your site specifically //then obfuscating the word via javascript or using an image may improve results ?> <?php include $this->loadTemplate('captcha.tpl.php'); ?> <p> <input type="checkbox" name="fEmailUpdate" value="1" /> <?php echo lg_portal_emailupdate ?> </p>
forums.topics.tpl.php
Modified line 29, changed URL. Line should be:
<?php if($topic['fSticky']): ?> <img src="<?php echo $this->cf_primaryurl ?>/images/sticky.gif" align="center" alt="<?php echo lg_portal_sticky ?>" height="16" width="16" /> <?php endif; ?>
Modified line 54, changed URL. Line should be:
<?php if($this->get_start == 0 && $this->hd_forumFeedsEnabled): ?> | <a href="index.php?pg=forums.feed&id=<?php echo $this->get_id ?>"><img src="<?php echo $this->cf_primaryurl ?>/portal/images/rss.gif" alt="" align="center" border="0" /></a> <?php endif; ?>
Replaced lines 92-99 for new captcha include, should now be:
//Captcha form protection. You can turn this on and off via a setting in Admin->Settings->System Security. It's enabled by default //This text captcha should be sufficient for most automated spam. If someone has modified a robot to target your site specifically //then obfuscating the word via javascript or using an image may improve results ?> <?php include $this->loadTemplate('captcha.tpl.php'); ?> <p> <input type="checkbox" name="fEmailUpdate" value="1" /> <?php echo lg_portal_emailupdate ?> </p>
js.tpl.php
Modified line 24, changed URL. Line should be:
// jscalendar/lang/calendar-en.js (used for date custom fields)
// jscalendar/calendar-setup.js (used for date custom fields)
document.write('<script type="text/javascript" src="<?php echo $this->cf_primaryurl ?>/js/c_portaljs_<?php echo $this->cf_version ?>.php"></script>');
request.tpl.php
Modified line 128, change P to a DIV tag. Line should be:
<div id="<?php echo $fieldID ?>_wrapper" style="<?php echo $visible ?>"><label for="<?php echo $fieldID ?>" class="datalabel<?php echo $requiredClass ?>"><?php echo $field['fieldName'] ?>:</label><br />
<?php echo $this->helper->showError($fieldID,'<br />') ?>
Modified line 157, change P to a DIV tag. Line should be:
<?php endif; ?> </div> <?php endforeach; ?>
Modified line 182, added label to simple portal textarea. Line should be:
<?php elseif($this->hd_portalFormFormat == 0): ?> <p><label for="simple" class="datalabel"><?php echo lg_portal_req_simple ?>:</label><br /> <?php echo $this->helper->showError('simple','<br />') ?> <textarea name="simple" cols="50" rows="10" style="width:100%;"><?php echo $this->request_simple ?></textarea> </p>
Replaced lines 202-209 for new captcha include, should now be:
//Captcha form protection. You can turn this on and off via a setting in Admin->Settings->System Security. It's enabled by default //This text captcha should be sufficient for most automated spam. If someone has modified a robot to target your site specifically //then obfuscating the word via javascript or using an image may improve results ?> <?php include $this->loadTemplate('captcha.tpl.php'); ?> </div>
1.56. Version 2.4.7
- 20: Feature - Added setting to turn off spam filtering or to check for spam, but not to train
- 535: Feature - Attempt to determine proper customer information from an email forwarded into HelpSpot
- 537: Feature - Improved data compression and cleaning for installations with Tidy
- 523: Feature - Added URL parameter of ?clearcache which will force the cache system to clear
- 518: Feature - Added option to save attachments to the file system rather than in the database
- 520: Bug - Static file caching now stores both a text and gzip version of the files
- 525: Bug - Fixed API bug where attachments would not attach with private.request.update and private.request.create
- 533: Bug - When using IIS with SSL some browsers could not download file attachments in the portal
- 534: Bug - Added a check in the installer to determine if HelpSpot was unzipped properly
- 542: Bug - Fix email template issue with some templates being blank when upgrading from 1.5.5 to 2.4.x
- 546: Bug - Changed wording for default mailbox in send from drop down to be more clear
- 547: Bug - Date custom fields may be off by 1 day on older dates before 1990
- 552: Bug - Images in knowledge books didn't shown when the domain uses a port other than 80
- 555: Bug - Hidden email blocks do not work in the portal
- 497: Bug - Added save draft option for text mode
- 499: Bug - Added extra checks for empty emails after emails are cleaned. If empty an alternate escaped version is used if possible
- 502: Bug - Fixed type error in installer.php
- 504: Bug - Fixed link to documentation on black box setup
- 512: Bug - Fixed wrapping of customer/history search tabs on 800x600 resolution browsers
- 513: Bug - wysiwyg incorrectly created inner page anchor tags
- 514: Bug - Removed xMailboxToSendFrom from customer.getRequests API method
- 515: Bug - Spam requests are no longer counted in the workload report
- 516: Bug - Editing preferences causing default workspace to be reseet
- 554: Bug - Auto refresh causes browser title to be undefined after a refresh in a custom filter
1.57. Version 2.4.2
2.4.2: Features and Bugs
- 488: Feature - Added setting for default request history search type
- 490: Feature - Request history search request ID link is now a standard A tag so it can be opened in a new window/tab by right clicking
- 492: Bug - RE: is now shown in the email subject line below the note box and it's addition is logged
- 494: Bug - Custom field values were not being sent to the Live Lookup URL
- 495: Bug - Ajax custom field would not populate with data after an option was selected
- 496: Bug - Reminder confirmation window now fits text
- 473: Bug - Graph showed error in 80/20 report when no reporting tags were found
- 475: Bug - Escaped version of HTML email is used if purification strips all text.
- 476: Bug - Added ability to save draft in formatted text mode
- 477: Bug - Urgent requests did not have the red header as it should be
- 482: Bug - Javascript caching would not work on PHP 4
- 483: Bug - Assign the "send from" mailbox as requests enter the system to prevent continuous logging of notes about send from changing
- 485: Bug - Reminder dialog shows garbled text on PHP 4
- 486: Bug - Restore draft options doesn't show newest saved drafts until a page refresh. Options are now updated in real time.
2.4.0: Feature Highlights
- 221: Feature - Added a simple portal login that allows customers to see their request history in the request check area. The login only applies to request check, the rest of the portal remains completely open. Access keys are also still in use and remain a viable way to check on the history of a request.
- 201: Feature - Added grouping ability to filters
- 211: Feature - Automatic saving of note drafts on request page every 20 seconds. The user may also force a save
- 181: Feature - When the PHP PECL Mailparse extension is available HelpSpot will use it. This provides up to a 70% improvement in memory usage while importing emails
- 351: Feature - New round robin auto assignment option for even distribution of requests across staff
- 129: Feature - Added a Maintenance mode which takes HelpSpot offline. Mail importing will stop, no requests will be accepted via the portal or API
- 333: Feature - Added checks for stuck emails and when possible import around the stuck email as well as notify admins that an email is stuck.
- 140: Feature - Added loop protection for new emails. By default more than 10 emails from the same address within one hour will result in no more auto response emails being sent to the address in order to break the loop
- 177: Feature - Added the ability to set Inbox as the category default
- 418: Feature - Dramatic speed improvements for filters, especially on large databases (special thanks to Catalyst for their time and assistance on this)
- 183: Feature - WYSIWYG now supports Safari Browser
2.4.0: Other Features and Bug Fixes
- 284: Feature - Add ability to do secure SMTP connects for outbound email
- 289: Feature - Added IS/IS NOT filter criteria for predefined custom fields in filters
- 291: Feature - Added email forgot password option for staff
- 292: Feature - Added API method for returning requests by a customers portal login email/password
- 236: Feature - Improved customer history search. Added new search types
- 244: Feature - Added report for response usage
- 260: Feature - Added request open/closed placeholder
- 306: Feature - Allow per mailbox SMTP settings
- 272: Feature - Added private note and external note to change note types in responses
- 329: Feature - Added support for multiple Live Lookup endpoints. Allowing Live Lookup calls to multiple URL's
- 338: Feature - Hide private kb's and global responses when in limited access mode for guests
- 341: Feature - Added email header information when using the request history quote feature on an email
- 345: Feature - Added API method for searching time events
- 347: Feature - Added ability to remove a request from a batch while on the batch screen
- 348: Feature - Added ability to change status from the quick action menu (workspace)
- 350: Feature - List the TO in the public note request history
- 356: Feature - Added ability to set the note body on the request page by passing tBody in via the URL
- 363: Feature - Added closed after and closed before date options to filters
- 371: Feature - Modified private.request.create and private.request.update API methods to allow for using importing operations (allow setting of creation date)
- 429: Feature - Improved javascript and CSS compression and caching
- 446: Feature - Add more relative date options, past 7/14/30/90/365 days
- 80: Feature - Added KB helpful/not helpful API methods
- 111: Feature - Remember "send from" when changed while updating a request
- 116: Feature - Added option in Windows Installer to use an existing MySQL database if available
- 114: Feature - Edits to the public note subject line are now logged and saved
- 154: Feature - New "staff initiated" contacted via type
- 169: Feature - Added captcha to email post form
- 175: Feature - Added 60 and 90 day options to remove from trash setting
- 187: Feature - Added an initial request placeholder
- 206: Feature - Added keyboard shortcut for create request and ID search box
- 213: Feature - Added ability to set reporting tags from a response
- 214: Feature - Added ability to set the BCC from a response
- 229: Feature - Added ability to add a private note from mail and automation rules
- 231: Feature - Added more search criteria to the private.request.search API method: open/closed/custom fields/status/category
- 197: Feature - Added most used menu to response menu
- 301: Bug - Honor Reply To email/name if available
- 331: Bug - Show all categories in report drop downs
- 308: Bug - Request history text sometimes squished on history search
- 311: Bug - Fixed issue where HTML emails would sometimes be empty after cleaning
- 315: Bug - When doing an update and close if the email fails the staff are not notified.
- 322: Bug - private.request.create does not attach files on create
- 262: Bug - shown on data searches in search tab
- 263: Bug - Default customfield date/times to today
- 264: Bug - Fix limited access mode for L2 so that only their categories can be seen in a filter
- 259: Bug - Using ##accesskey## in responses does not insert the access key
- 238: Bug - No longer build tNote index when using Postgres
- 298: Bug - Enforce limited access rules on request page
- 279: Bug - Set default date on calendars to date selected
- 283: Bug - Changing preferences resets customized columns
- 439: Bug - Can't export excel on any pages other than the first page of filter results
- 440: Bug - filters: last public update by doesn't work as expected
- 416: Bug - Don't allow public note cc/bcc to carry over into external notes
- 352: Bug - On the portal make sure kb/forum search is not shown if neither is public
- 354: Bug - Tidy on PHP5 broken on Jan 2008 Tidy build
- 349: Bug - KB pages with double quotes in title can't be inserted on request page (or forums)
- 342: Bug - Improve character set parsing of emails
- 339: Bug - Response breaks if custom field is to be set and has been deleted
- 334: Bug - remove initial request note from "subject line" options in email templates
- 335: Bug - Special characters break the outbound text version of HTML emails
- 337: Bug - Filter counts don't update on auto refresh
- 198: Bug - Append response menu goes past bottom of screen
- 222: Bug - Aspell doesn't work on Windows with wysiwyg when there's a space in the file path
- 223: Bug - Some characters display incorrectly in IE7 due to wrong encoding header
- 224: Bug - Improve Postgres memory use on large attachment inserts
- 225: Bug - Adding columns can sometimes add another empty column in safari
- 215: Bug - Quoting text only returns first line in some installations
- 203: Bug - Don't turn mailto: urls in emails into absolute url links
- 185: Bug - HTML entities show in Excel export
- 178: Bug - Formatted text headers in responses don't work after level 1 header in wysiwyg
- 179: Bug - Portal template editor broken on some IE7 builds
- 156: Bug - Fixed issue with drill down custom fields on IIS
- 161: Bug - Live Lookup overwrites fields that are not returned
- 165: Bug - Tidy on PHP4 returns 1 instead of note text
- 166: Bug - Added AT&T to SMS list
- 167: Bug - Confirm that new licenses cannot be uploaded if they have less users than are currently active in the installation
- 151: Bug - private.request.getCategories returns only categories marked as public
- 152: Bug - Strip form tags from any HTML emails
- 146: Bug - Trim excess characters in new predefined list items
- 115: Bug - Add option which allows you to turn on Gecko spellchecking for wysiwyg
- 141: Bug - Loop protection for within a request to prevent overload. Only unique emails will be imported, identical duplicates will be ignored
- 131: Bug - Long custom fields create horizontal scroll
- 132: Bug - Special characters in drill down
- 133: Bug - Add ability to select which website to install to on IIS7 when using Windows Installer
- 135: Bug - Installer dies when trying to reach a remote database it can't reach
- 118: Bug - White space not held in text signatures box
- 112: Bug - External notes should not be allowed to be sent without a TO
- 15: Bug - When system is set to send text, but receive is set to display HTML, notifications contain HTML
- 22: Bug - List of staff in reminders box shows random characters and/or wrong person included
- 78: Bug - Absolute URL's for KB images
- 105: Bug - Windows Desktop Installer should check if PHP is already installed and not continue if it is
1.58. Version 2.4.2 - Template Changes
This page describes the changes to each HelpSpot portal template. If you have an HTML editor available like Dreamweaver or BBEdit it is probably more efficient to simple use the diff tools to compare your edited documents (/custom_templates) with the new templates (/helpspot/templates/). If those tools are not available, the listings below will allow you to manually change the templates.
These changes are only needed if you have customized your portal and specifically customized the files listed below. If not, you do not need to make any adjustments.
Your portal will not work correctly until these changes have been made.
Note: If you're upgrading from version 1.x you will also need to apply the template changes here.
These templates have changed in version 2.4:
- css.tpl.php
- email.tpl.php
- index.tpl.php
- js.tpl.php
- navigation.tpl.php
- request.check.tpl.php
- request.tpl.php
- searchbox.tpl.php
css.tpl.php
New lines starting at 502:
pre{ font: 100% courier,monospace; border: 1px solid #ccc; overflow: auto; overflow-x: scroll; width: 90%; padding: 1em 1em 1em 1em; background: #fff7f0; color: #000 }.initsubject{ color: #7F7F7F; } .request_summary{ display: block; overflow: hidden; height: 14px; } .feedback_box_error{ border: 1px solid red; padding: 10px; color: red; font-weight: bold; } .feedback_box_positive{ border: 1px solid green; padding: 10px; color: green; font-weight: bold; } .calendar_date_table{ padding-left: 0px; margin-left: 0px; margin-top: 2px; margin-bottom: 0px; padding-bottom: 0px; } .calendar_date{ text-align: bottom; border: 1px solid #666666; background-color: #fff; padding: 2px; } .calendar_date_holder{ color: #666666; cursor: pointer; } .sending_note{ color: red; }
email.tpl.php
Modified line 20, change form URL. Line should be:
<form action="index.php?pg=email&id=<?php echo $this->get_id ?>" method="POST">
New lines starting at 41:
<p><label for="youremail" class="datalabel"><?php echo lg_portal_youremail ?></label><br> <input type="text" name="youremail" size="40" maxlength="250" value="<?php echo $this->helper->visitor['email'] ?>" /> </p><?php //Captcha form protection. You can turn this on and off via a setting in Admin->Settings->System Security. It's enabled by default //This text captcha should be sufficient for most automated spam. If someone has modified a robot to target your site specifically //then obfuscating the word via javascript or using an image may improve results ?> <?php if($this->hd_useCaptcha == 1): ?> <p><label for="captcha" class="datalabel required"><?php echo lg_portal_captcha ?> - </label><b class="captcha_label"><?php echo $_SESSION['portal_captcha'] ?></b><br /> <?php echo $this->helper->showError('captcha','<br />') ?> <input type="text" name="captcha" size="20" maxlength="250" value="" /> </p> <?php endif; ?><div class="formbuttondiv">
index.tpl.php
New lines starting at 11:
case "request.check":// If a visitor is logged in already send them to their history if($this->splugin('Request_Check','isLoggedIn') && empty($this->get_id)){ $this->helper->redirect($this->cf_url.'/index.php?pg=request.history'); }include $this->loadTemplate('request.check.tpl.php'); break;
New lines starting at 18:
break;case "request.history": include $this->loadTemplate('request.history.tpl.php'); break;case "css":
New lines starting at 71:
break;case "maintenance": include $this->loadTemplate('maintenance.tpl.php'); break;default:
js.tpl.php
Modified line 12, added text to header. Line should be:
header('Content-type: text/javascript; charset=utf-8');
header('Content-Disposition: inline; filename="js.js"');
New lines starting at 58 (bottom of file):
}//Function that resets a portal login password function ChangePortalLoginPassword(){ //Find the new password they've set var password_new = $F('new_password'); //Find the password confirmation they've set var password_confirm = $F('new_password_confirm'); //Check if the password and the password confirm field match and that the password is not empty. if(password_new != password_confirm || password_new.empty()){ //Popup an alert to notify the user that the passwords must match show_feedback("<?php echo lg_portal_req_passworderror ?>","error"); }else{ //Everything is OK so send the new password to the server new Ajax.Request("index.php?pg=password.change", { method: "post", parameters: {password: password_new}, onSuccess: function(transport) { show_feedback("<?php echo lg_portal_req_passwordsaved ?>","success"); //Hide the password box and clear the form fields $("change_password_box").hide(); $("new_password").value = ""; $("new_password_confirm").value = ""; }, onFailure: function(transport){ show_feedback("<?php echo lg_portal_req_passwordposterror ?>","error"); } }); } } //Function that sends the retrieve password email function RetrievePortalLoginPassword(){ //If there's no email in the box show feedback that an email needs to be entered if($F("login_email").empty()){ show_feedback("<?php echo lg_portal_req_emailempty ?>","error"); return; }else{ //Change link text to loading $("retrievePortalPasswordLink").update('<span class="sending_note"><?php echo lg_portal_req_sending ?></span>'); //An email is available so send the password email new Ajax.Request("index.php?pg=password.retrieve", { method: "post", parameters: {login_email: $F("login_email")}, onSuccess: function(transport) { show_feedback("<?php echo lg_portal_req_passwordsent ?>","success"); }, onFailure: function(transport){ show_feedback("<?php echo lg_portal_req_emailerror ?>","error"); }, onComplete: function(){ //Remove sending text $("retrievePortalPasswordLink").update(); } }); } } //Function to create a feedback box at the top of the right column. function show_feedback(message,type){ //Style the feedback box as appropriate for each type of feedback if(type == "error"){ $("feedback_box").addClassName("feedback_box_error"); }else{ //By default shows positive feedback $("feedback_box").addClassName("feedback_box_positive"); } //Show the box $("feedback_box").show(); //Insert message into the feedback box $("feedback_box").update(message); }
navigation.tpl.php
New lines starting at 46 (bottom of file):
<div id="content2col"><!-- Feedback box. Hidden by default and called from Javascript functions to provide user feedback --> <div id="feedback_box" style="display:none;"></div>
request.check.tpl.php
New lines starting at 11:
<h1><?php echo lg_portal_accessidheader ?> : <?php echo $this->get_id ?></h1><?php include $this->loadTemplate('loginbar.tpl.php'); ?><br />
Modified lines starting at 26. Replace the entire block below with the one after:
Old Code:
<?php /* Because the updates are only protected by the access key this code hides the request information after the request has been closed for X days. This keeps people from submitting information about a new request into an old one and also prevents search engines from getting this private information if the URL is accidentally published. You may change the time after the request is closed through the last variable below. Other valid examples are: '2 week', '1 month', '15 day'. Empty will turn off access as soon as the request is closed '' Leaving some time is also good because if the customers issue wasn't in fact solved then it gives them time to provide more information. In that case HelpSpot will reopen the request back to the original person assigned rather than the customer submitting a new request about an existing issue and the back and forth that results from that scenario. */ ?> <?php if($this->splugin('Request_Check','isClosed',$this->get_id,'2 Day')): ?>
New Code:
<?php
/* This code hides the
request information after the request has been closed for X days. This keeps
people from submitting information about a new request into an old one and also
prevents search engines from getting this private information if the URL is accidentally
published. You may change the time after the request is closed through the last variable below.
Other valid examples are: '2 week', '1 month', '15 day'. Empty will turn off access as soon as the request is closed ''
Leaving some time is also good because if the customers issue wasn't in fact solved then it gives them time to
provide more information. In that case HelpSpot will reopen the request back to the original person assigned
rather than the customer submitting a new request about an existing issue and the back and forth that results
from that scenario.
Note that as of version 2.4 this line also checks to see if the customer is logged in. If they are they are allowed
to view the request even if the time specified below has passed.
*/ ?>
<?php if($this->splugin('Request_Check','isClosed',$this->get_id,'2 Day') && !$this->splugin('Request_Check','isLoggedIn')): ?>
Modified line 43. Replace the entire line with the one after:
Old Code:
<p><a href="index.php?pg=request"><?php echo lg_portal_closedsubmitnew ?></a></p>
New Code:
<p> <a href="index.php?pg=request.check"><?php echo lg_portal_closedlogin ?></a> <?php echo lg_portal_closedor ?> <a href="index.php?pg=request"><?php echo lg_portal_closedsubmitnew ?></a> </p>
New lines starting at 119:
<?php endforeach; ?><?php //Don't show update box for requests closed longer than 2 days ?> <?php if(!$this->splugin('Request_Check','isClosed',$this->get_id,'2 Day')): ?><p><label for="update" class="datalabel"><?php echo lg_portal_req_update ?>:</label><br />
New lines starting around 134:
<div class="formbuttondiv"> <input type="submit" name="submit" value="<?php echo lg_portal_req_updaterequest ?>" /> </div><?php endif; ?><?php endif; ?> <?php else: ?>
Modified line 149. Replace the entire block below with the one after:
Old Code:
<?php else: ?> <form action="index.php?pg=request.check" method="get"> <input type="hidden" name="pg" value="request.check" /> <p><?php echo $this->helper->showError('id','<br />') ?> <b><?php echo lg_portal_req_enterkey ?>:</b> <input type="text" name="id" value="" size="20" maxlength="100" /> <input type="submit" name="submit" value="<?php echo lg_portal_check ?>" /> </p> </form> <?php endif; ?><?php include $this->loadTemplate('footer.tpl.php'); ?>
New Code:
<?php else: ?>
<form action="index.php?pg=request.check" method="get">
<input type="hidden" name="pg" value="request.check" />
<p><?php echo $this->helper->showError('id','<br />') ?>
<b><?php echo lg_portal_req_enterkey ?>:</b><br /><br />
<input type="text" name="id" value="" size="20" maxlength="100" tabindex="100" />
<input type="submit" name="submit" value="<?php echo lg_portal_check ?>" tabindex="101" />
</p>
</form>
<hr width="80%" />
<form action="index.php?pg=login" method="post">
<p><b><?php echo lg_portal_req_login ?>:</b></p>
<p><label for="login_email" class="datalabel"><?php echo ($this->hd_requestCheckAuthType == "internal" ? lg_portal_req_loginemail : lg_portal_req_loginusername) ?>:</label><br />
<?php echo $this->helper->showError('login_email','<br />') ?>
<input type="text" name="login_email" id="login_email" size="40" maxlength="100" tabindex="102" value="<?php echo $this->get_login_email ?>" autocomplete="off" /><br />
<?php if($this->hd_requestCheckAuthType == "internal"): ?>
<?php //only show this password retrieval link if we're using internal authentication on the portal ?>
<span id="retrievePortalPasswordLink">(<a href="#" onclick="RetrievePortalLoginPassword();return false;"><?php echo lg_portal_req_emailpassword ?></a>)</span>
<?php endif; ?>
</p>
<p><label for="login_password" class="datalabel"><?php echo lg_portal_req_loginpassword ?>:</label><br />
<input type="password" name="login_password" id="login_password" size="40" maxlength="100" tabindex="103" value="" autocomplete="off" />
</p>
<p>
<input type="submit" name="submit" value="<?php echo lg_portal_req_loginbutton ?>" tabindex="104" />
</p>
</form>
<?php endif; ?>
<?php include $this->loadTemplate('footer.tpl.php'); ?>
request.tpl.php
Modified line 206, change input size. Line should be:
<p><label for="captcha" class="datalabel required"><?php echo lg_portal_captcha ?> - </label><b class="captcha_label"><?php echo $_SESSION['portal_captcha'] ?></b><br /> <?php echo $this->helper->showError('captcha','<br />') ?><input type="text" name="captcha" size="15" maxlength="250" value="" /></p>
searchbox.tpl.php
Modified entire file. Replace all lines in searchbox.tpl.php with:
<?php if($this->splugin('Forums_Forums','count') || $this->splugin('KB_Books','count')): ?>
<form action="index.php" method="get">
<input type="hidden" name="pg" value="search">
<div class="">
<p align="center">
<input type="text" name="q" size="40" style="width:60%;" value="<?php echo $this->get_q ?>">
<select name="area" id="area" style="width: 25%;">
<?php if($this->splugin('KB_Books','count')): ?>
<option value="kb" <?php if($this->get_area == 'kb') echo 'selected' ?>><?php echo lg_portal_searchkb ?></option>
<?php endif; ?>
<?php if($this->splugin('Forums_Forums','count')): ?>
<option value="forum" <?php if($this->get_area == 'forum') echo 'selected' ?>><?php echo lg_portal_searchforum ?></option>
<?php endif; ?>
</select>
<input type="submit" name="submit" value="<?php echo lg_portal_search ?>">
</p>
</div>
</form>
<?php endif; ?>
1.59. Version 2.1.1
- 19: Feature - System preference to show linked images in HTML emails
- 64: Feature - Set new installations to have IP/Time portal validation off by default
- 98: Feature - Improved speed of filters which use date/time ranges
- 99: Bug - Display count in filters could not be removed
- 69: Bug - Special characters in Live Lookup or request history searches break search results
- 74: Bug - Request ticker doesn't properly show HTML emails
- 79: Bug - Attachments hard to click when horiz scroll in place on request history
- 82: Bug - Add close option to request history box
- 91: Bug - Attachments with no file extensions are not downloadable
- 6: Bug - Image tags not removed from modal box display of initial requests
- 8: Bug - Wrong URL for request check when using notify feature
- 9: Bug - No text version sent with HTML emails of staff notifications
- 10: Bug - Spellchecker not enabled in Forums
- 11: Bug - HTML rendering bug for emails from Outlook using Word for editor
- 16: Bug - Merging request with itself doesn't provide proper error
- 21: Bug - White space trimmed from signature when in text email mode
- 22: Bug - List of staff in reminders box shows random characters and/or wrong person included
- 27: Bug - Upgrade link in admin should point to installation upgrade page not zip and tar files
- 28: Bug - Force reminders to be sent via email even if notification is off
- 40: Bug - Force MySQL to not use strict mode
- 42: Bug - Request ID placeholder not replaced correctly in update notes
- 43: Bug - Wysiwyg spellchecking doesn't work on Windows
- 51: Bug - Improperly formated email FROM not parsed correctly
- 54: Bug - Badly formatted HTML emails cause email system to get stuck
- 55: Bug - Allowing Gecko spellcheck option in wysiwyg breaks spellchecker on some Windows servers. Gecko spellcheck option turned off
- 57: Bug - Admin page doesn't load if bad query returned for stats
- 58: Bug - Set spellchecker to use upload_tmp_dir instead of system temp dir when possible
- 63: Bug - Trash deleted even when set to never delete
1.60. Version 2.1.0
Primary Changes
- Significant speed improvements in the Workspace for all filters
- Batch reply to multiple requests at once
- Automation rules can mark items as not urgent
- Email subject lines are now templated and can contiain placeholders
- Test mailbox connection button on mailbox page to allow for easy testing
- 6 new reports
- Portal template editing from within HelpSpot in Admin->Tools
- Hide number of requests history notes to user configurable amount
- Request merging
- User preference for returning to request page or workspace after closing request
- Ability to email results of an automation rule
- Automation option to email an arbitrary email address
- Automation option to send SMS
- Improved reminders interface
- Added view source option to emails in request history
- If zlib is available Javascript will be compressed for increased speed
- Moderators may now post to closed forums, effectively allowing moderator posting only on selected forums.
- 6 New custom fields: Ajax select, decimal, drill down, regex match, date, and date time
- Expanded placeholders throughout system
- Fast navigation menu for request page
- Custom where clause filter
- Added latest note column
- Limit number of emails imported per tasks.php run
- Email request ID prefix to allow inter-HelpSpot installation communication via email
- Live Lookup auto run option
- Live Lookup now sends and sets custom fields
- Automation rules now log notes correctly
- Status id's over 10 save in filters
- Last update filter times now filter correctly
- Subject line width fixed
- Portal file downloads on Windows/SQL Server fixed
- Removed unneeded settings for load limit and RSS short description
1.61. Version 2 - Template Changes
This page describes the changes to each HelpSpot portal template. If you have an HTML editor available like Dreamweaver or BBEdit it is probably more efficient to simple use the diff tools to compare your edited documents (/custom_templates) with the new templates (/helpspot/templates/). If those tools are not available, the listings below will allow you to manually change the templates.
These changes are only needed if you have customized your portal and specifically customized the files listed below. If not, you do not need to make any adjustments.
Note: Your portal will not work correctly until these changes have been made.
These templates have changed in version 2:
- css.tpl.php
- forums.posts.tpl.php
- forums.topics.tpl.php
- header.tpl.php
- index.tpl.php
- request.tpl.php
- request.check.tpl.php
css.tpl.php
New line starting at 15:
header('Content-type: text/css'); header('Content-Disposition: inline; filename="style.css"'); ?> /* Import styles for calendar used in date/datetime custom fields */ @import "js/jscalendar/skins/aqua/theme.css"; body {
New line starting at 438:
} .captcha_label{ color: #000; font-size: 14px; border: 1px solid red; padding: 3px 10px 3px 10px; } .forumoption{
Remove line 41 in h2 class:
margin-bottom: -10px;
Remove line 60 in h4 class:
margin-bottom: -10px;
Remove line 138 in #content2col class delete the /20px:
font: 12px/20px Arial, Helvetica, sans-serif;
forums.posts.tpl.php
New line starting at 85:
<p><label for="sURL" class="datalabel"><?php echo lg_portal_posterurl ?>:</label><br /> <input type="text" name="sURL" size="40" maxlength="250" value="<?php echo $this->helper->visitor['url'] ?>" /> </p><?php //Captcha form protection. You can turn this on and off via a setting in Admin->Settings->System Security. It's enabled by default //This text captcha should be sufficient for most automated spam. If someone has modified a robot to target your site specifically //then obfuscating the word via javascript or using an image may improve results ?> <?php if($this->hd_useCaptcha == 1): ?> <p><label for="captcha" class="datalabel required"><?php echo lg_portal_captcha ?> - </label><b class="captcha_label"><?php echo $_SESSION['portal_captcha'] ?></b><br /> <?php echo $this->helper->showError('captcha','<br />') ?> <input type="text" name="captcha" size="20" maxlength="250" value="" /> </p> <?php endif; ?>
forums.topics.tpl.php
New line starting at 15:
<p><label for="sURL" class="datalabel"><?php echo lg_portal_posterurl ?>:</label><br /> <input type="text" name="sURL" size="40" maxlength="250" value="<?php echo $this->helper->visitor['url'] ?>" /> </p><?php //Captcha form protection. You can turn this on and off via a setting in Admin->Settings->System Security. It's enabled by default //This text captcha should be sufficient for most automated spam. If someone has modified a robot to target your site specifically //then obfuscating the word via javascript or using an image may improve results ?> <?php if($this->hd_useCaptcha == 1): ?> <p><label for="captcha" class="datalabel required"><?php echo lg_portal_captcha ?> - </label><b class="captcha_label"><?php echo $_SESSION['portal_captcha'] ?></b><br /> <?php echo $this->helper->showError('captcha','<br />') ?> <input type="text" name="captcha" size="20" maxlength="250" value="" /> </p> <?php endif; ?>
header.tpl.php
New lines starting at 19:
<link rel="stylesheet" type="text/css" href="<?php echo $this->cf_url ?>/index.php?pg=kb.wysiwyg" media="screen, projection" /> <!--javascript--> <script type="text/javascript" src="<?php echo $this->cf_url ?>/index.php?pg=js"></script> </head>
Modified line starting at 19 (line 23 after above edit), replace <body> with:
<body onload="<?php echo $this->pg_onload ?>">
index.tpl.php
New lines starting at 16:
case "css": include $this->loadTemplate('css.tpl.php'); break; case "js": include $this->loadTemplate('js.tpl.php'); break; case "kb": include $this->loadTemplate('kb.tpl.php'); break;
request.tpl.php
New lines starting at 22:
$this->assign('pg_title',lg_portal_request); //Set onload $this->assign('pg_onload', "ShowCategoryCustomFields();"); include $this->loadTemplate('header.tpl.php');
Modify line 106 (109 after above change), replace <select name="xCategory"> with:
<select name="xCategory" id="xCategory" onchange="ShowCategoryCustomFields();">
New lines starting at 123 (126 after above changes):
<?php $fieldID = 'Custom'.$field['fieldID']; //Set the field ID for use below ?>
<?php $visible = $field['isAlwaysVisible'] ? '' : 'display:none;'; //Set if the custom field is visible by default ?>
Modify line at 124 (128 after above changes), replace <p> with the code below. Be sure to leave the rest of the line the same from the <label> tag on.
<p id="<?php echo $fieldID ?>_wrapper" style="<?php echo $visible ?>"><label for="<?php echo $fieldID ?>" class="datalabel<?php echo $requiredClass ?>"><?php echo $field['fieldName'] ?>:</label><br />
New lines starting at 142 (146 after above changes):
<?php elseif($field['fieldType'] == 'numtext'): ?> <input name="<?php echo $fieldID ?>" type="text" size="10" maxlength="10" value="<?php echo $this->$fieldID ?>"> <?php elseif($field['fieldType'] == 'drilldown'): ?> <?php echo $this->helper->getDrillDownField($field,' '); ?> <?php elseif($field['fieldType'] == 'decimal'): ?> <input name="<?php echo $fieldID ?>" type="text" size="10" maxlength="10" value="<?php echo $this->$fieldID ?>"> <?php elseif($field['fieldType'] == 'regex'): ?> <?php echo $this->helper->getRegexField($field); ?> <?php elseif($field['fieldType'] == 'date'): ?> <?php echo $this->helper->getDateField($field); ?> <?php elseif($field['fieldType'] == 'datetime'): ?> <?php echo $this->helper->getDateTimeField($field); ?> <?php endif; ?>
New lines starting at 198:
<?php endif; ?> <?php //Captcha form protection. You can turn this on and off via a setting in Admin->Settings->System Security. It's enabled by default //This text captcha should be sufficient for most automated spam. If someone has modified a robot to target your site specifically //then obfuscating the word via javascript or using an image may improve results ?> <?php if($this->hd_useCaptcha == 1): ?> <p><label for="captcha" class="datalabel required"><?php echo lg_portal_captcha ?> - </label><b class="captcha_label"><?php echo $_SESSION['portal_captcha'] ?></b><br /> <?php echo $this->helper->showError('captcha','<br />') ?> <input type="text" name="captcha" size="20" maxlength="250" value="" /> </p> <?php endif; ?></div> <div class="formbuttondiv">
request.check.tpl.php
Modified lines starting at 72. Replace the entire block below with the one after:
<?php //Output public custom fields. ?> <?php foreach($this->splugin('CustomFields','getPublicCustomFields') AS $field): ?> <?php $fieldID = 'Custom'.$field['fieldID']; //Set the field ID for use below ?> <b><?php echo $field['fieldName'] ?>:</b> <?php if($field['fieldType'] == 'checkbox'): ?> <?php echo ($request[$fieldID] == 1 ? lg_portal_checkboxchecked : lg_portal_checkboxempty) ?><br /> <?php else: ?> <?php echo (empty($request[$fieldID]) ? ' - ' : $request[$fieldID]) ?><br /> <?php endif; ?> <?php endforeach; ?> <br />
New code:
<?php //Output public custom fields. ?>
<?php foreach($this->splugin('CustomFields','getPublicCustomFields') AS $field): ?>
<?php $fieldID = 'Custom'.$field['fieldID']; //Set the field ID for use below ?>
<?php $visible = $field['isAlwaysVisible'] ? '' : 'display:none;'; //Set if the custom field is visible by default ?>
<div id="<?php echo $fieldID ?>_wrapper" style="<?php echo $visible ?>">
<b><?php echo $field['fieldName'] ?>:</b>
<?php if($field['fieldType'] == 'checkbox'): ?>
<?php echo ($request[$fieldID] == 1 ? lg_portal_checkboxchecked : lg_portal_checkboxempty) ?>
<?php elseif($field['fieldType'] == 'drilldown'): ?>
<?php echo $this->helper->showDrillDownField($request[$fieldID]); ?>
<?php elseif($field['fieldType'] == 'date'): ?>
<?php echo $this->helper->shortDateFormat($request[$fieldID]) ?>
<?php elseif($field['fieldType'] == 'datetime'): ?>
<?php echo $this->helper->longDateFormat($request[$fieldID]) ?>
<?php else: ?>
<?php echo (empty($request[$fieldID]) ? ' - ' : $request[$fieldID]) ?>
<?php endif; ?>
</div>
<?php endforeach; ?>
<!-- You must uncomment this line if you want to show custom fields -->
<script type="text/javascript" language="JavaScript">ShowCategoryCustomFields(<?php echo $request['xCategory'] ?>);</script>
<br />
1.62. Version 1.5.5
New Features
- Option in each request history log item to show it as text holding the line break formatting
- Added fax as an option for contacted via
- Queues in mobile interface now show first line of request
- Added request ID filter condition
- Personal photo's now limited to 50K to prevent users from uploading large files
- Added relative to last update filter condition
- Tasks.php now tries to prevent auto-replies to undeliverable messages
Bug Fixes
- Fixed bug with closed requests not being correctly reopened and instead opening a new request
- Fixed bug in Live Lookup which prevented multiple results from being displayed
- Fixed session logout bug with some versions of MySQL
- Removed trashed items from being counted in request drop down list
- Removed trashed items from being counted in reports
- Don't allow reactivation of staff when no license slots are available
- Fixed path to upgrade links
- When entering print view in a queue sort order is preserved
- Fixed broken images
- Fixed Safari bug with drag/drop
- Spam count in forums now shows correct amount
- Javascript bug in spam delete when submitting
- Fixed PHP4 bug with deleting portal spam
- Fixed calendar time issue when creating reminders in the PM
- No longer need to display "last update" columns to sort by them
- Javascript bug in IE when doing history search
- Improved error message on index.php before installation
- Deleting a staffer with active requests and will now ignore any auto-assignments on categories they are in
- Time tracker box now observes preference setting when creating a new request
1.63. Version 1.5.1
Bug Fixes
- Fixed major bug where some Windows installations would not be able to access admin.php
- Fixed Live Lookup toggle error.
- Fixed category list in filters when in limited access mode.
1.64. Version 1.5.0
New Features
- Filters are totally redesigned with dozens of new options and combinations. In addition, the new interface makes it much easier to see what conditions are defined. Viewable columns are now sortable, OR filtering, and much more.
- 3 tier SPAM filtration added to portal forms.
- Significant speed enhancements to batch operations in the queue's.
- My Queue now shows if a request has been replied to. This column can also be added to filters.
- Prepared responses are now group-able.
- Request notes can now be sent to external emails. For instance to ask for input from a vendor.
- The portal now accepts file uploads in the request submission form as well as displays them on the request check page.
- Requests can now be moved to the "trash". Trashed requests will be automatically deleted after 30 days (or less if configured to do so by the administrator)
- Age limits for re-opening requests. Emails for a request older than this limit will be turned into new requests.
- The request note text area now auto resizes as you type.
- Forum posts can now be spellchecked and can insert prepared responses and knowledge book links.
- Improved calendar selector for dates.
- After closing a request the user is now returned to the last queue they were in rather than to the closed request.
- Added 'Mark as spam' as option for mail rules.
- Improved caching mechanism for Internet Explorer speeds up page loading and fixes issues with old cache pages being shown when they shouldn't be.
- Live Lookup can now be called via HTTP POST.
- Added several new conditions to Automation.
- The Time Tracker is now available on new requests before submitting the request.
- Audio files are now embedded into the request history allowing one click playing.
- Support for MySQL 5
- Support for Microsoft SQL Server 2005
- Support for the PHP MySQLi interface.
- Support for IE7
- RSS feeds now use HTTP basic authentication for more secure access.
- Reordering of workspace columns, filter columns, and custom field lists now draggable for easy reordering.
- Filters now paginate when they hit the single page limit.
- Ability to run individual instances of tasks.php and tasks2.php for each mailbox/automation rule.
- Tasks.php debugging now shows more detail and speeds.
- The CC field can now be set from a prepared response.
- Time reports can now be filtered by all other request criteria like categories and status.
- Optimized email SPAM filter resulting in dramatically faster checking and learning.
- Status, category, and custom fields can now be set by passing values into the request page via GET.
Bug Fixes
- Fixed international character issues in time tracker and Live Refresh.
- Fixed time comparison conditions in Automation.
- Filtering on contacted via now works correctly.
- Assigned to Inbox is now remembered correctly in filters.
- Fixed error created in error log when using Live Refresh and the queue being called had 0 requests in it.
- Email notifications no longer sent when an email is detected to be SPAM.
- Fixed image rendering bug in knowledge book WYSIWYG editor.
- Fixed cookies so 2 different installations can safely share the same domain in different folders.
- Fixed bug on MS SQL Server where custom fields using predefined lists would leave a change note when they shouldn't.
- CSS change so that request notes which have strings more than 400px wide no longer pull interface to the right.
- User passwords now hidden from administrators.
- Limited access mode no longer shows unassigned categories in queue batch operation list.
- Printer friendly portal pages now correctly format HTML.
- Fixed Live Lookup link when customer ID was not numeric.
- Fixed bug in admin settings when trying to use Black Box auth before setting usernames.
- Added check for a new customer trying to upload a license with less named users than exist in their trial installation.
1.65. Version 1.5.0 - Template Changes
This page describes the changes to each HelpSpot portal template. If you have an HTML editor available like Dreamweaver or BBEdit it is probably more effecient to simple use the diff tools to compare your edited documents (/custom_templates) with the new templates (/helpspot/templates/). If those tools are not available, the listings below will allow you to manually change the templates.
These changes are only needed if you have customized your portal and specifically customized the files listed below. If not, you do not need to make any adjustments.
Note: Your portal will not work correctly until these changes have been made.
These templates have changed in version 1.5.0:
- css.tpl.php
- forums.posts.tpl.php
- forums.topics.tpl.php
- index.tpl.php
- request.check.tpl.php
- request.tpl.php
css.tpl.php
New line starting after 484:
pre{
font: 100% courier,monospace;
border: 1px solid #ccc;
overflow: auto;
overflow-x: scroll;
width: 90%;
padding: 1em 1em 1em 1em;
background: #fff7f0;
color: #000
}
forums.posts.tpl.php
New lines starting after line 92, just before the close form tag </form>
<!-- START: SPAM Protection DO NOT REMOVE -->
<?php echo $this->helper->getSPAMCheckFields() ?>
<!-- END: SPAM Protection DO NOT REMOVE -->
forums.topics.tpl.php
New lines starting after line 95, just before the close form tag </form>
<!-- START: SPAM Protection DO NOT REMOVE -->
<?php echo $this->helper->getSPAMCheckFields() ?>
<!-- END: SPAM Protection DO NOT REMOVE -->
index.tpl.php
New lines after line 56
case "moderated":
include $this->loadTemplate('moderated.tpl.php');
break;
request.check.tpl.php
Edit line 20. It should now be:
<form action="index.php?pg=request.check" method="post" enctype="multipart/form-data">
New lines after line 115
<?php //File uploads. You can turn this on and off via a setting in Admin->Settings->Portal. It's disabled by default ?>
<?php if($this->hd_allowFileAttachments == 1): ?>
<p><label for="doc[]" class="datalabel"><?php echo lg_portal_req_file_upload ?>:</label><br />
<?php //TIP: You can have multiple file uploads by adding more lines identical to the one below. ?>
<input type="file" name="doc[]" size="40">
</p>
<?php endif; ?>
request.tpl.php
Edit line 33. It should now be:
<form action="index.php?pg=request" method="post" enctype="multipart/form-data">
Replace line 146 with:
<?php //portalFormFormat 1 is the complex 3 question display. 2 is the simple single textarea.
//1 is the default. If you'd like to just use the simple textarea you can switch the setting in Admin->Settings->Portal
if($this->hd_portalFormFormat == 1): ?>
New lines after original line 169 (after above modification it's around 172)
<?php //File uploads. You can turn this on and off via a setting in Admin->Settings->Portal. It's disabled by default ?>
<?php if($this->hd_allowFileAttachments == 1): ?>
<p><label for="doc[]" class="datalabel"><?php echo lg_portal_req_file_upload ?>:</label><br />
<?php //TIP: You can have multiple file uploads by adding more lines identical to the one below. ?>
<input type="file" name="doc[]" size="40">
</p>
<?php endif; ?>
New lines after line 175 (after above modification it's around 188), just before the close form tag </form>
<!-- START: SPAM Protection DO NOT REMOVE --> <?php echo $this->helper->getSPAMCheckFields() ?> <!-- END: SPAM Protection DO NOT REMOVE -->
1.66. Version 1.3.1
New Features
- Binary searching enabled in SQL Server and MySQL for phrase searching
- Live Lookup now AJAX enhanced, embedded in the page
- Request page history search now AJAX enhanced, embedded in the page
- Customer information can now be inserted from a request page history search
- You can now add the 'Take It' button to filters. Note that it does not prevent others from taking the request as the Inbox does.
- Make public button returned to request history and now logs when the public/unpublic state is changed and who did so
- Mail rules can now assign to the inbox
- Using SMTP authentication is now optional when using an SMTP server for email
- Note attachments now visible in the portal
- Last update/customer update/public update/time/public count fields now sortable
- Each knowledge book now has a printer friendly version of the entire book
- Live Refresh feature can optionally refresh your queue/filter without reloading the page or losing your checked requests
- Email accounts now have loop protection so that HelpSpot and an email autoresponder don't send emails to each other indefinitely creating numerous new requests.
- Subject lines of outbound emails now contain only the request ID and not the full access key
Bug Fixes
- Live Lookup now works correctly from the command line
- Tasks.php memory performance improved
- Existing responses can now be selected properly when using SQL Server
- Spellchecker now works when PHP short tags disabled
- Knowledge book searches no longer show HTML in the portal
- Postgres didn't correctly add time tracking in filter column
- Don't show make public/private in closed requests
- Apostrophe in Live Lookup request no longer breaks 'insert' button
- Extra brackets/quotes removed from CC box on public notes
- Request history quoting now works with accented characters
- Emails from the same account but different capitalization now correctly displayed as public
- Request page javascript checks now work correctly in IE
- Tasks.php now runs correctly from the command line with IP security enabled
- Mbstring functions now used if available before Iconv
- Placeholders used in request notes now replaced before storing in database so that they do not change when a request is reassigned
- Fix WYSIWYG error when using zlib compression
- Internal change to allow easier use of CGI wrappers
1.67. Version 1.2.0
Major New Features
- Automation rules for escalation, reassignment and more
- Mail rules for routing email and instant responses
- Automatic assignment now controlled on the category level
- Time tracking
- Export filters to Excel
- Predefined responses can now set several request fields as once
- Quote request history notes
- Configurable session timeouts
Other New Features
- New filter columns last update, last customer update, public note count
- Excess whitespace now removed from Microsoft Outlook emails
- Improved email parser and handling of nested multipart mime messages
- Show sent subject in request history
- Out of office can now be reassigned to Inbox
- Out of office shown on request page assignment drop down
- Forums now show if a poster is subscribed via email
- Personal preference added for defaulting notes to public
- Personal preference added for embedding images
- Personal preference added for knowledge book wysiwyg
- All emails in the "To" header of an email are now shown
- New filter option for open less than X hours
- Forum RSS feeds now have pubdate item
- Embedded images now show file names
- Open a knowledge book page from the request page
- Filter option to make RSS feeds customer friendly (no private notes)
- Added week interval to reports
- Added quick time selection to reports
- New parser tag to allow staff assignment
- Added the ability to batch assign to Inbox
- Ability to limit the calling of tasks.php and tasks2.php to certain IP's
Bug Fixes
- Improved email validation
- Knowledge book pages in related pages popup now numbered correctly
- Tab order on request page fixed
- Date in before/after filter field can now be changed
- Emails with only attachments now show in history correctly
- Public requests that didn't send an email no longer store an email subject
- Request ID search box fixed in FireFox 1.5+
- Keyboard shortcuts no longer interfere with request ID search
- Email found to be SPAM by email parser now has assigned user reset
1.68. Version 1.1.3
Bug Fixes
- Critial: Email with very long "from" addresses (usually SPAM) can break the email parser and cause excess rows to be inserted in the request history database table. While a rare occurrence updating is strongly recommended.
- SPAM filter efficiency bugs fixed.
- Databases now protected from overly long strings in customer information
1.69. Version 1.1.2
New Features
- Added debugging mode to tasks.php (enable in Admin->Settings)
- Mobile version now has titles on each page
- Mobile version now does not embed images in requests
- Added ability to cancel file uploads
- Added ability to pass initial customer data into create request screen via GET
- When CCing others on a note the CC's are stored and displayed in the request history
Bug Fixes
- Fixed problem with request page when IMAP extension not installed
- Fixed blank page error on closed requests when running PHP 5.1.2 on Windows with IIS
- HelpSpot now recognizes pjpeg
- Attached images now save with correct file names to desktop
- Append response now uses new menu in place of select list which caused the window to strech
- Back arrow now does not return to queue when on request page and using keyboard shortcuts
- Required numeric fields now accept 0
- Green tab was stretched too far when uploading files
- Fixed error with newest posts RSS feed
- Fixed checkbox image when showing a custom field checkbox in a filter
- Request ticker no longer shows both open and closed requests. Now only open.
1.70. Version 1.10
New Features
- Integrated spellchecking
- Dedicated mobile access version (requires HTML capable mobile browser)
- Keyboard shortcuts in workspace
- Ability to set default workspace
- Auto shrink attach images for display in request history
- New admin page layout
- Enhanced Live Lookup layout
- Urgent emails now marked as urgent when imported
- Other people CC'd on emails are now visible
- External emails may be CC'd on a request
- Ability to make an assigned request back to unread
- Improved request creation layout
- Insert a link to a knowledge book page in a request
- View latest forum posts in addition to topics
- Limited access mode for Guest and Level 2 staffers. Allows use of those types for customer access by hiding other customers information.
- Added portal template options to show custom fields on request check page.
Bug Fixes
- Fixed character set issues in email names
- Fixed character set issues with display of special characters, default character set now ISO-8859-1
- SQL Server now defaults to AND searching
- Spam requests marked as closed from request screen no longer train twice
- In portal replaced incorrect maxsize HTML elements
- Fixed reporting bug in reporting tags drill down
- Upgraded WYSIWYG editor to eliminate IE bugs
1.71. Version 1.03
New Features
- Add link to release notes on the admin homepage
- Check for new HelpSpot version every 5 days upon administrator login
- Provide option to strip HTML from requests or just escape HTML, allow exceptions to stripping
- Underline "time since" in request history to make date more obvious to rollover
- Added more tags to email parser including category and custom fields
- Show category ID's and custom field ID's in their respective admin pages
- Allow creation of multiple portal request submit forms and correctly handle redirects
- Allow override and submission of 'simple' request submission textarea even when details form is in use in settings
- Add assigned staff member placeholders for use in predefined requests
Bug Fixes
- Fixed "misbehaving headers" error when running on Windows as a CGI
- Increased DB error checking in installer.php
- Incorrect PHP version checking in installer.php
- Email subjects initiated from the create request screen were not maintained in future correspondence
- When emails are received with attachments, but no text body the attachments were not shown
- Changed wording in installer to 'installation time zone'
- Lowered tasks.php timeout to prevent scripts from hanging
- Removed unneeded javascript from installer.php
- Corrected portal navigation highlighting when using custom templates
- HTML not stripped from update emails correctly
- Javascript popup alert when sending email fails on create a request page, now works correctly
- When customizing columns the date closed would incorrectly show 12/31/1969
- CC to other staff with no note caused blank page to appear
- Custom fields admin page redesigned slightly to make examples more clear