This is a public Blog  publicRSS

Posts

  • eleep
    Get Ready for the Oracle Service Cloud Community Migration!6
    Entry posted September 13, 2018 by eleepHero 

    We’ve finished packing, carefully wrapped and loaded up the data, checked the closets one last time, reminisced fondly on the years spent on this site, and started exploring and dreaming about the new neighborhood on Cloud Customer Connect. In other words, we are ready to complete the Oracle Service Cloud Community migration to Oracle Cloud Customer Connect this weekend! Read on to learn what to expect with this change.

    What to Expect with the Oracle Service Cloud Community Move:

    1. The  current Oracle Service Cloud Discussion Forum and Idea Lab will be put into read-only mode at 12:00 p.m. Mountain on Friday, September 14th.
    2. We will be working to migrate the delta data, complete testing and roll-out the new areas over the weekend.
    3. The new Oracle Service Cloud and Field Service Cloud Communities will be live on Oracle Cloud Customer Connect by 12:00 a.m. Mountain on Monday, September 17th.
    4. You will receive an email from Cloud Customer Connect, announcing the availability of the new community areas.
    5. The original Oracle Service Cloud Discussion Forums and Idea Lab will stay in read-only mode through approximately the end of November.
    6. This blog will remain open for comments to help with any questions surrounding the migration.

    Key Changes Coming with Community Migration:

    • Access to Oracle Cloud Customer Connect:  The Applications community on Cloud Customer Connect requires an Oracle SSO and is for customers and partners (independent consultants are considered on a case-by-case basis). Consider this an exclusive community with vetted membership. If you are not able to access Cloud Customer Connect after the migration, it doesn’t mean you didn’t get approved to join! We just need your help updating your account, so email cloudconnect-help_ww@oracle.com to update and reactivate your account.
    • Oracle Field Service is Moving Up and Out: Oracle Field Service Cloud is often sold as a standalone product, so we decided to move Oracle Field Service Cloud up a level. The Field Service Community will include the ‘Field Service’ forum, as before, and a new Idea Lab for Field Service enhancement requests.
    • Searching for Your Answers: With any move, there is an adjustment period of figuring out where things ended up. We know finding answers to your questions is a big deal, so take a few minutes to review your search options.
    • From Support Site: You will still be able to search the Community and see related search results on the Support KB search results page, but now there are two different community search options. You can choose to search either the Oracle Service Cloud Community (the default option) or the Oracle Field Service Cloud Community. To set your community search preference for cx.rightnow.com, go to ‘My Account’ > Account Settings on cx.rightnow.com.
    • From Cloud Customer Connect:  There are different search options, including:
      • Search Oracle Service Cloud on Cloud Customer Connect from the Answers > Service Cloud Forum.
      • Want to go deeper? Search a specific forum (e.g. discussion board, Idea Lab, calendar) by using the search embedded within the page.
      • Want to go wider? Search all of Cloud Customer Connect (e.g. all products’ forums, Idea Labs, calendars) from the search in the navigation.
    • New ‘Service Events’ Calendar: Every community has its local calendar of events. We’re pleased to be adding a dedicated Service Events calendar on Cloud Customer Connect where you can find everything from the annual Modern Customer Experience conference to all Oracle Service Cloud-related webinars. On-demand webinars will also available from this calendar.
    • New Reputation System with Badges:  Be sure to check out the Reputation Management page on Cloud Customer Connect to learn about their reputation system, including badges, ranks and more. Keep your eye out for special ranks that recognize our elite, expert and helpful members—aka the 2018 Community All-Stars—on Cloud Customer Connect as well!
    • Want to Downsize Your Community Profiles? Whether you switched jobs or are a partner with multiple accounts and community profiles, you can request to have your Community activity consolidated on one profile. To get started, email a request, including your old email addresses and your current corporate email address, to cloudconnect-help_ww@oracle.com.
    • Shaping the New Neighborhood: There are countless ways to contribute and shape your community. Whether you’re an All-Star, intermittent contributor or consumer, your feedback matters.
      • Cloud Customer Connect: If you have questions about or ideas for Cloud Customer Connect, be sure to share them in the Site Feedback and Questions Forum.
      • Support site: if you have suggestions for the updated cx.rightnow.com, submit them to the Suggestion Box (buttons on the left of the site).
    • We’ll Stay in Touch: Oracle Cloud Customer Connect sends emails to its members updating them about upcoming events, release announcements, monthly newsletter and more.
    • Regional User Groups Receive Invite to a New Home: Regional user groups are invited to transition to Oracle’s Global User Group program, where user groups can host their group on Oracle’s portal platform. This platform has similar functionality to the functionality provided here. For more information, please visit the Oracle User Group Portal or request a social group.
    • Blogs are Boarding Up Together: Over the next few months, we will migrate relevant blog posts from the Oracle Service Cloud Customer Success Blog to the Oracle CX Blog.This blog will provide a more modern experience and will also include information from the Oracle CX Suite, CX industry news and more.

    Finally, I encourage you to take a few minutes to update your community search preference on cx.rightnow.com and familiarize yourself with Cloud Customer Connect (e.g. update your Community profile and community subscriptions) early next week, instead of waiting until the next time you have a burning question and need the Community’s help.

    Also, please share your questions and feedback, so both Oracle Service Cloud Technical Support and the Cloud Customer Connect team can continue to make meaningful improvements for you. And remember we’ll keep this blog open for comments throughout this change.

    See you in the Community!

     
  • eleep
    Come with us! The Oracle Service Cloud Community is Moving!24100%
    Entry posted July 31, 2018 by eleepHero 

    While 'customer experience' (CX) started as a fashionable buzzword, it’s been steadily maturing into its own discipline, an ongoing topic of thought leadership, and a routine category on management reports. With the ever-growing industry research around the importance and business value of CX, organizations are approaching their CX from a more holistic viewpoint and looking for comprehensive solutions, not point solutions, to support them.

    In fact, we see more and more customers, like PellaSound United (Denon + Marantz), Overhead DoorYamaha Motor Co., Fanatics, and Lowes Foods, using Oracle Service Cloud in conjunction with other applications in the Oracle Cloud. We are honored to partner with these organizations–whether they’re on a path to delivering legendary CX or in the midst of a digital transformation. This is core to Oracle’s value proposition of integrated cloud solutions.

    Your organization isn’t alone in its CX journey. Oracle is working on its own digital transformation to simplify, streamline and improve their Cloud offering. You’ve probably seen some of these changes (e.g. training, documentation, product release names, patches, maintenance schedules) over the years.

    Moving Towards a Consistent Community Experience

    Online communities are another area where Oracle is working to bring more consistency to your experience. To that end, we’re working to migrate the Oracle Service Cloud Community over to Oracle Cloud Customer Connect.

    Oracle Cloud Customer Connect is an exclusive community where licensed customers and partners can:

    • Engage and collaborate in forums and Idea Labs
    • Find the latest product information, including product releases and customer events
    • Easily access product documentation, training (including the new FREE training!) and more

    This change will create a more consistent community experience, regardless of what Oracle Cloud solutions your organization is using.

    Doing a Deep Clean in the Community

    With this migration, we are also taking this opportunity to update forum and Idea Lab taxonomy and archive select community content (We still have discussions going back to 2006…yikes!).

    In a nutshell, we are planning to migrate the captured community brainpower and collaboration to Cloud Customer Connect and minimize any impact to your Community reputation. The more granular detail of this community 'deep clean' include:

    • Discussion Forum: 
      • Generously migrating discussions where there has been comments, best answers and ratings
      • Archiving older content where there weren’t any responses or ratings
    • Idea Lab:
      • Migrating ideas that have been active since 2017 and any ideas with some accumulated level comments or ratings (e.g. 5 comments or 5 votes)
      • Archiving older ideas that don't have much, if any, collaboration (aka comments) or prioritization (aka ratings)

    If you find an older community thread that was helpful to you, take a moment to give it a positive rating or add a comment (e.g. "Just wanted to say that this thread helped me solve a problem today. Thanks!"). Your helps us ensure all the valuable community nuggets get migrated.

    Changes to Online Community Access

    There is a key difference in access and exclusivity between these Oracle communities. Currently, anyone can join and participate in the Oracle Service Cloud Community while the Applications (SaaS) community on Oracle Cloud Customer Connect is exclusively for Oracle customers and partners. Also, community access will no longer be tied to your Oracle Service Cloud Technical Support access, so it won't matter if you have access to Technical Support. 

    If you are currently accessing the Oracle Service Cloud Community with a personal email account (e.g. Gmail, Yahoo, Hotmail, or Outlook) and not a corporate email account, you will soon receive an email from Oracle Cloud Customer Connect requesting your corporate email address. Please take a minute to respond and help us update your account to ensure your appropriate access to Oracle Cloud Customer Connect. If you don’t respond by the deadline (or who don’t have a corporate email address and company information), your account will be migrated but inactivated, and you will need to contact the Cloud Customer Connect team to reactivate your account.

     

    Change can be tough (at least it is for me!), so we are working to make the migration as smooth as possible for you. Stay tuned for more details on the specifics and timing of this migration. As we work to improve your CX and migrate our community to Cloud Customer Connect, please let know if your questions and feedback.

  • Stephanie Hartsog
    Surviving - No, Thriving - During Seasonal Spikes? Tell Us...100%
    Entry posted July 19, 2018 by Stephanie HartsogSpecialist, tagged Best Practices 

    Fearlessly Surviving Seasonal Spikes

    What is the Oracle Service Cloud Hero Hub?
    The Hero Hub is an online destination designed to accelerate your (our customers’) success, strengthen your relationship with Oracle, and grow your career.

    What value do I get from participating?
    In the Hero Hub, you’ll have the opportunity to:

    • Meet other Oracle Service Cloud customers, product managers, and leadership.
    • Discover resources designed to help drive your success.
    • Provide feedback – on the product, your industry, and your own experiences.
    • Share your story – the obstacles you’ve overcome, the success you’ve seen, the pain points you’re facing, and the innovations you’re driving.
    • Participate in activities designed to build your personal brand and your organization’s.
    • Hear about upcoming events.
    • Seek out CX Hero status for Modern Customer Experience 2019.
    • And much more!

    While many of you are enjoying a slower season and relaxing on your summer vacation, others are handling seasonal support spikes or preparing for the fast-approaching holiday season. Whether you're relaxing by the pool or logging hours in front of your computer, take a break, grab a drink, and tell us more about your seasonal spikes.

    Going forward, you’ll see us (Oracle CX Customer Advocacy) launching Hero Hub experiences for short periods of time – like a bluelight special (who can name the retailer who coined the bluelight special?).

    We recently launched a Shopping Spree experience tailored to help you fearlessly survive, even thrive, during your seasonal spikes.  
    In this experience, you have the opportunity to learn best practices, hear from successful Oracle customers, provide your insight and perspective, and share your experience using Oracle products.

    Plus, you can earn exclusive badges, which will help you on your quest to earn CX Hero status at Modern Customer Experience 2019. And, while you may not be named a contestant on Supermarket Sweep, you'll have an opportunity to gain access to an exclusive webinar.

    Get started with this experience today, and keep an eye out for more experiences coming your way in the near future.

  • Luis Melo
    Fine-Tuning Your Service Cloud Configuration Settings6100%
    Entry posted June 7, 2018 by Luis MeloMaster, tagged Member Spotlight, Product / Product Release 

    Oracle Service Cloud has circa 500 configuration settings, which control the platform’s functions. This is part of what makes it so powerful…there are endless ways to configure and customize the solution to fit your needs! Some of these configuration settings are commonly used, but many of them are not as well known. Make sure you’re fine-tuning these levers and buttons within your Oracle Service Cloud implementation to fit your organization’s unique needs and to deliver great experiences to your customers.

    I have been covering some of these lesser known configuration settings on my blog, Doctor CX, and for the next installment of configuration settings, I wanted to feature configuration settings shared by my fellow CX Heroes in the Oracle Service Cloud Hero Hub.

    Disable Chat on Holidays

    Jessica CampbellThe CS_HOLIDAY_MSG_ENABLED configuration setting was mentioned by Jessica Campbell, Program Manager of Customer Experience at Brother International Corporation (and fellow Community All-Star!). Jessica used this configuration setting to disable the chat during holidays.

    If it is enabled (set to “Yes”) then OSvC will use the holidays table (which you can find in Configurations > Service > Service Level Agreements > Holidays) to determine whether the Live Chat should be enabled or disabled.

    If your customers try to use the Live Chat channel on a date that is specified as a holiday, they will be shown a message stating it is a holiday and no agent is available.

    The default value for this configuration setting is disabled (set to “No”).

    Give Agents a Head Start on Answering Questions

    Kristine TannertThe SNEAK_PREVIEW_ENABLED configuration setting was shared by Kristine Tannert, Product Manager for Insperity. She says her agents love the Sneak Preview functionality, as it allows them to get ahead of the game and prepare responses on chat with the customers. This is particularly helpful since the questions their agents have to answer for customers can sometimes take awhile to investigate, so anything that helps them get a jumpstart on answering the customers question is appreciated!

    It enables the Sneak Preview functionality, which allows agents to preview what a customer is typing prior to the customer sending the message.The default value for this configuration setting is disabled (set to “No”).

    QA Your Chat Transcripts

    Robert PozderecThe INC_INCLUDE_POST_TIME configuration setting was mentioned by Robert Pozderec, Manager of Customer Loyalty and Retention from Brother International Corporation, who said it is an extremely important setting when it comes to QA (Quality Assurance).

    It specifies whether the post time is to be included in incidents created for a Chat session, meaning messages in the chat transcript will have a date and time against it. The default value for this configuration setting is disabled (set to “No”).

    Run Large Reports with Custom Scripts

    Sasi GudimettaThe CUSTOM_SCRIPT_DATA_SIZE configuration setting was highlighted by Sasi Gudimetta, Senior Software Engineer at partner AST Corporation, who shared that he usually works with reports that have custom scripts, and these have a query data limit, controlled by this setting, which needs to be increased to avoid the script from stopping after the defined number of rows, and the report output from being “No Value”.

    This configuration setting specifies the size of the data buffer (in bytes) used when processing custom scripts in Analytics.

    The default value for this configuration setting is 50,000. The minimum value is zero (0) and the maximum value is 2,147,483,647.

    Keep in mind increasing this to a large value causes the custom script to parse more of the report data (which is good!), but this also causes additional load on the server, which could result in negative performance impact for the overall site (not so good!).

     

    Hopefully, these config setting tips (and use cases!) encourages you to keep digging into those 500+ config settings in Oracle Service Cloud. I’d love to hear what your experience has been with these configuration settings (e.g. feedback, use cases).

     

  • Daniel Foppen
    What's Waiting in Oracle Service Cloud 18B Release for...15100%
    Entry posted May 24, 2018 by Daniel FoppenJourneyer, tagged Product / Product Release 

    Oracle Service Cloud 18B release is now live and waiting for you! You'll find new functionalities and enhancements that empower our customers to streamline and simplify the service experience for agents and consumers.

    The Oracle Service Cloud 18B Release includes some exciting new features including:

    • Virtual Assistant
    • XML sitemaps with the web collection crawling content processing function
    • An Integration Cloud Service OPA adapter
    • Service Cloud Platform including, Enhancements to SAML Single Logout, Incident Threads Masking, and Data Lifecycle Enhancements

    To learn more, watch the Oracle Service Cloud 18B release video, Part I and 2.

    Oracle Service Cloud 18B Release Video, Part I

     

     

     

     

     

     

     

     

    Oracle Service Cloud 18B Release Video, Part 2

    Oracle Service Cloud 18B Release Video, Part 1

     

     

     

     

     

     

     

    Oracle Service Cloud 18B Release Resources

    For more detailed information on these and a rest of the features in the 18B release please visit the resources below.

    Leave a comment with what you're most excited using in Oracle Service Cloud 18B and how you're thinking about using it in your organization. We'd love to hear from you.

     

     
  • DanO
    LinkedIn’s Elegant Solution to Monitoring Network P...15100%
    Entry posted May 8, 2018 by DanOJourneyer, tagged Best Practices, Member Spotlight, Product / Product Release 

    I’ve been working with Oracle Service Cloud since 2007 (back when it was still RightNow). For the past five years I’ve managed LinkedIn’s Oracle Service Cloud implementation, handling everything from standard administration tasks and managing workspaces, workflows and business rules to doing C# development for Add-Ins.

    Recently, I had an “aha” moment. I discovered a way to monitor network performance for Oracle Service Cloud (and beyond!). This solution changed the game for LinkedIn, and I wanted to share in hopes it might help others.

    Challenge: Doing Root Cause Analysis of Performance Complaints

    LinkedIn has been using Oracle Service Cloud for several years across our contact centers, located in primarily in the U.S., Dublin, Singapore, and Bangalore. During this time our global team has reported that Oracle Service Cloud was s-l-o-w or crashing from time to time.

    Our Oracle Service Cloud administration team would investigate these issues, but it was extremely difficult to know where the issue originated. Was it a problem with Oracle Service Cloud, the internet connection for a specific LinkedIn location, or the agent’s computer? Were our scheduled reports and system utilities running at 12am CST causing performance issues for our Bangalore team? To make things harder our administration team is primarily based in the U.S., so we couldn’t always troubleshoot our global team’s issues real-time.

    Despite our best efforts at resolution we didn’t have a consistent, efficient solution for identifying the root cause of Oracle Service Cloud performance complaints. It was an ongoing headache and black hole of effort for our team.

    Solution: Create Network Performance Monitor Add-In

    During a discussion around our need for visibility into network performance issues, a thought occurred: the Add-In framework was always running in the background within Oracle Service Cloud and I could set up an Add-In to create an ongoing log of network performance metrics across all of our office locations and remote agents.

    Diagram of LinkedIn's Network Performance Monitor Add-In SolutionI spent a day designing, building and testing a solution using:

    • A custom object to store a wide array of network performance data
    • A lightweight Add-In that would ping five globally accessible sites: Oracle Service Cloud chat server, Oracle Service Cloud production server, LinkedIn.com, Google.com and Facebook.com. The Add-In starts logging when the user logs in and runs in the background every 15 minutes until they logout. I tried to find a balance between storage space created by these logs and having enough data to be useful. For example, an hour between each monitoring cycle is too long to determine how the network was performing at the time of a complaint.

    This solution generates several data points on network performance across five sites for the entire day (because users start at different times) for every Oracle Service Cloud agent worldwide at LinkedIn.

    Benefits: Faster Root Cause Analysis, Improved Performance and More!

    Now when we receive a complaint about Oracle Service Cloud performance, we can easily check the logs from our Network Performance Monitor Add-In and quickly tell if a network issue is/was the cause. We can also then identify if it was isolated to the Oracle Service Cloud servers, network issues at a specific LinkedIn office, or only impacting a specific agent’s local machine.

    Having consistent, high-level visibility into network performance saves my team countless hours of troubleshooting! Instead of working with IT and 15 other teams trying to gather and analyze data, we now have a good starting point and can identify the root cause significantly faster.

    While this customization was designed to help with troubleshooting, we’ve experienced many other benefits, including:

    • We understand how ping times vary across locations and have clearer expectations on performance across different channels (e.g. “How fast is chat in Bangalore?”). We can run performance benchmarking across locations.
    • We don’t have to ask users to send screenshots, run network traces, try other browsers or applications. Ironically, we have many of people say, “No, everything else is running fine,” but the network performance monitor logs tell a different story!
    • We submit fewer service requests to Technical Support unless it’s an Oracle Service Cloud-specific issue.
    • We share network performance data from our logs with our local IT teams when there are issues, so they can pinpoint those specific timeframes in their own logs to see what is going on. We can use this data to drive network performance improvements in our support locations.

    Since we can nail down the source of performance complaints, we’ve had fewer inaccurate reports of Oracle Service Cloud performance issues, and we have saved a significant amount of time on troubleshooting issues ultimately not related to Oracle Service Cloud! In short, this relatively simple Oracle Service Cloud customization has created huge value.

    Advice: Sharing A Few Tricks of the Trade

    If you’re interested in creating a Network Performance Monitoring Add-In for your organization here are some things to keep in mind:

    • First, have a clear picture of what you’re doing and why. The specifics of our solution might not make sense for your organization.
    • Timer events are your friend. You can configure it to kick off every minute, five minutes, 15 minutes, etc.
    • Pick an Add-In that is always running, instead of a conditional Add-In (e.g. report Add-Ins can only run when the related report is open). I used a Navigation Section Add-In that loads as soon as someone logs in and continues to run the entire time in the background - the user doesn’t even know it’s there, and it has no performance impact if you (correctly) use threading / tasks.
    • The .NET framework allows you to set up a server config variable in OSC which gives admins the ability to change those property values without requiring a developer. I used the server config variable to set our timer event interval which allows the admin team to change the default value from 15 minutes to one, five, or 10 minutes, etc. This also enables the admin team to change the list of URLs the Add-In pings on the fly. They can make adjustments based on specific business scenarios without having to engage a developer to make these changes in the code.
    • Test, test, test! Verify your Add-In is working like you expected by plugging in sample data and watch it work. Manually verify that the data being collected matches your expectations in testing.

     

    I hope this helps other organizations who may be struggling with similar issues and encourages you to take a step back when faced with common challenges and look for an entirely different solution. I’d love to hear your feedback on our solution or any other ways you’ve effectively dealt with this sort of challenge.

  • eleep
    Announcing Oracle Service Cloud 2018 Community All-Stars23100%
    Entry posted May 3, 2018 by eleepHero, tagged Awards, Member Spotlight 

    It’s an exciting time to be working in the customer experience space. You can map and create customer journeys that span systems and departments both online and offline, and generate unforgettable customer experiences and tangible results for your organization!

    But if we’re honest, it can be overwhelming time too. There are infinite possibilities on how solutions can be implemented, integrated and maintained. Best practices vary depending on your industry, company size, specifics of your implementation, etc. Customers’ expectations are being shaped by the likes of Amazon and Google. And don’t forget about the new privacy policy regulations, proliferation of channels, and the required technology framework upgrade.

    When facing this evolution, stay proactive and make sure you have access to trustworthy information and help. While many valuable resources exist, it’s impossible for curated materials to cover the infinite number of possibilities customer service practitioners, like you, encounter. That’s where the “power of the Community” comes in! It provides a place to ask, learn, explore and collaborate with other like-minded people.

    There is an elite group of individuals who truly embody the “power of the Community.” These individuals are proven experts, leaders and stewards in the Oracle Service Cloud Community (both here on these forums and beyond). These individuals generously offer their knowledge to help others find success. These elite members are truly All-Stars.

    It is my pleasure to introduce our 2018 Community All-Stars from all over the world:

    I wanted to add a few special call-out’s:

    • Four of this year's All-Stars, including Jessica Campbell, Pavol Procka, Richard Keevil and Zsolt Tolgyesi, are from customer organizations. This is a noteworthy accomplishment as our All-Star line-up has historically been dominated by partners.
    • Congrats to Hardik Gupta and Zsolt Tolgyesi whose Oracle Field Service Cloud expertise has helped jumpstart the Field Service forum.
    • Finally, we’d like to give special call-out to Simon Kilgarriff who qualified as an Oracle Service Cloud 2018 Community All-Star but recently joined Oracle as a CX Consultant. Of course, we’re not surprised Simon had this opportunity, and we’re excited to work with him on the Oracle team! smiley

    To become a Community All-Star, a member must demonstrate both expertise and a willingness to roll up his or her sleeves and be a leader within the Oracle Service Cloud Community. These members not only engage frequently, but also have a consistent track record of delivering quality responses. In other words, All-Star members know their stuff and are willing to share knowledge with their peers.

    This may take the form of consistently answering forum questions as well as contributing helpful content such as report recipes to the Analytics Cookbook, sample code, blog posts (such as Luis with his Doctor CX blog), etc. All-Stars contribute in varied ways, but each person's impact has a bigger ripple impact in the larger Service Cloud ecosystem. If you believe you have what it takes to be included amongst the best of the best, reach out to me for more info!

    Join me in thanking these All-Stars for giving generously of their time, knowledge and expertise to help everyone here be more successful at their job, using Oracle Service Cloud, and creating better customer experiences across the world.

  • Nate Hossner, Oracle
    Answer Versioning and Other Highlights in Oracle Service...1100%
    Entry posted April 30, 2018 by Nate Hossner, OracleWhiz, tagged Product / Product Release 

    I’m back from Modern Customer Experience in Chicago and the customers I met are really excited about Answer Versioning in 18A!

    In case you haven’t heard, Answer Versioning is available in 18A in Knowledge Foundation. It allows knowledge authors to draft and publish multiple versions of answers, compare them side-by-side and view historical and live versions of an answers. To enable this for your knowledge team, just add the Answer Versioning workspace elements to your answer workspace. Details here and video overview here and here.

    With about a quarter of our customers already using 18A, we’ve had some other feedback as well. Here’s some highlights:

    Bulk delete API for accounts and orgs. This is an extension of our recently released API capabilities which allow customers to efficiently destroy data that’s no longer needed. 18A enables bulk deletes of accounts and organizations. It also provides the flexibility to delete selective data based on custom ROQL queries.

    • Answer Editor. There’s a new text editor for knowledge authoring as well. This is the ‘CKEditor’ which is much more modern and cleaner than the editor Service Cloud has had for the last decade. You’ll see this as soon as you upgrade to 18A or higher. If your organization creates and edits a high volume of knowledge articles, or you have a heavy reliance on editing HTML in source mode, take some extra time to test before your upgrade and take a look at this Community Post which discusses some of the known defects and capability differences.

    • MySQL 5.7. Because this is an infrastructure change and not a product feature it will be rolled out separately from this product release as a series of infrastructure changes over the course of 2018 and maybe beyond. Keep your eyes out for a notification from Oracle about when your instance(s) of Service Cloud will be migrated to MySQL 5.7, and in the meantime, take a look at the differences between MySQL 5.1 and 5.7.

    • .NET upgrade. Okay, this isn’t live yet but rumor has it that Service Cloud will eventually require .NET 4.7.1 as the minimum version to install the Agent Desktop on your PC. This will likely take effect with 18D (November) so start planning your desktop upgrades now. In fact, you can start executing upgrades now because Service Cloud is supported on .NET 4.7.1 starting in 18A. Once details of the .NET requirement change are finalized, Oracle will be communicating them loudly and often.

    For more documentation on 18A, take a look at the Oracle Service Cloud 18A What's New and Oracle Service Cloud Release Readiness

    If you’re ready to make the move to the new release, make sure to check out our best practices for testing an update. You can use this link to request an update.

  • Edson Junior
    Simplifying Troubleshooting Process for Admins and Agents5100%OSvCTroubleshootAddIn.zip
    Entry posted April 3, 2018 by Edson JuniorPro, tagged Product / Product Release 

    If you are an Oracle Service Cloud administrator, you are likely the first person in your company your agents will go to when they are experiencing some error with their agent desktop. Troubleshooting errors can quickly spawn into a bigger investigative effort to identify the root cause (e.g., network issue, configuration issue, training, defect), but the troubleshooting process usually starts with getting the right details about the error from your agents. Your agents are already frustrated because an error could be impeding their work and impacting their metrics. And now you’re asking them to provide detailed information on the error: steps to reproduce this issue, workstation information or data traffic, much of which they aren’t familiar with.

    Recognizing the dynamics of this common scenario, we decided to walk a mile in both your shoes, as the administrator, and your agents’ shoes. As a result of this experience, we came up with the idea of automating the process for gathering the needed information from agents instead of requiring the administrators and agents to try and overcome the current challenges. We developed a sample code named as “Troubleshoot Add-In” for the Oracle Service Cloud Agent Desktop (currently not available for Browser UI) to address this need.

    The “Troubleshoot Add-In Sample Code” was created to automatically capture information, such as steps-to-reproduce, and workstation information in one fell swoop instead of requiring agents to install or use different tools outside of Oracle Service Cloud. All that agents need to do is push the "start" button (located in the status bar) and push the “stop” when the agents have completed all steps to reproduce the error.

    Take a look at these two scenarios and see how the “Troubleshoot Add-In” can improve communication between administrators and agents who are encountering an issue.

    'Before' scenario of troubleshooting an agent error

     

     

    'After' scenario of troubleshooting agent errors

    How Troubleshoot Add-In Sample Code Works

    Let’s take a more in-depth look at what the sample code delivers. The sample code is implementing an Extension StatusBar with a start and stop button, plus a timer that provides the duration of how long your agent is capturing the steps to reproduce.

    By clicking on the start button, a friendly loading form shows up. You can personalize your message by changing a ServerConfigProperty used in this sample code. At this moment, the sample code will start a standard windows application called PSR (Problem Steps to Reproduce). As a sample code, this code is limited to use a windows standard application and from here, I would encourage you as a developer to expand this sample code for your needs.

    enlightenedFor instance, If you want to get rid of Fiddler installation needs, you can use Fiddler Core and embed their .dll to capture data traffic plus steps to reproduce. Check out for Fiddler Demo Code and try yourself, I am pretty sure it will be useful.

    Once you have finished capturing your steps to reproduce click on stop button and the sample code closes PSR and starts to capture workstation information such as .NET version, windows version, capacity. Also, you can run the OSCinfo.bat as described in the answer 2412. This sample code is providing this option if you need to capture more information as ping and traces. See for the ServerConfigProperty options.

    Lastly, a message pops up to inform the agent where the results were saved. The sample code takes care of compile and compresses all files resulted from PSR and Workstation Information in a local folder or wherever folder you have specified in a ServerConfigProperty.

    Okay, this is true, I like to use ServerConfigProperty and there is more fo them. With that, you can set up your add-in without changing your code. smiley

    Ultimately, this solution should simplify your communication with agents experiencing errors, accelerate troubleshooting by having the required information in one easy step, and save everyone time and frustration that surrounds these issues.

    The source code is available here for download, and you take advantage to build a better troubleshoot model integrated into your Oracle Service Cloud. 

    If you are a developer and want to reuse this sample code, this session is for you.

    Developing the Extension

    The following picture describes the methods and its relationships.

     

     

    This sample code is started by receiving ServerConfigProperty from the TroubleshootStatusBarAddIn.cs followed by two methods (1) to define where the results will be saved and (2) to start the windows standard application to capture steps to reproduce.

     

    public StatusBarControl(IGlobalContext globalContext, bool isOscInfo, bool isScreenCap, 
            string tspath, int reminderInMinutes, string initialNotification, string finalNotificaiton)
    {
            InitializeComponent();
            _osvcLoggedin = globalContext.Login;
            _osvcInterface = globalContext.InterfaceName;
            _osvcSitename = globalContext.InterfaceURL;
            GContext = globalContext;
    
            _isOscInfo = isOscInfo;
            _isScreenCap = isScreenCap;
            _tspath = tspath;
            _reminderInMinutes = reminderInMinutes;
            _nextConfirmation = _reminderInMinutes;
            _initialnotification = initialNotification;
            _finalnotification = finalNotificaiton;
    }
    
    private void btnStart_Click(object sender, EventArgs e)
    {
            try
            { 
                    btnStart.Enabled = false;
                    btnStop.Enabled = true;
    
                    var sitename = new Uri(_osvcSitename);
                    _hostname = sitename.Host;
    
                    TroubleshootDirectory();
    
                    using (var frmWaitForm = new FrmWaitForm(LoadTroubleshoot, _initialnotification))
                    {
                            frmWaitForm.ShowDialog();
                    }
    
                    _isActive = true;
            }
            catch (Exception ex)
            {                
                    MessageBox.Show(ex.Message);
            }
    }
    
    private static void TroubleshootDirectory()
    {
            try
            {
                    if (_tspath == null)
                    {
                            Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\OSvC_Troubleshoot\\" + _osvcLoggedin + "\\" + _osvcLoggedin + "_" + DateTime.Now.ToString("MMddyyyyHHmmss"));
                            _path = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\OSvC_Troubleshoot\\" +  _osvcLoggedin + "\\" + _osvcLoggedin + "_" + DateTime.Now.ToString("MMddyyyyHHmmss");
                            _rootpath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\OSvC_Troubleshoot\\";
                    }
                    else
                    {
                            if (Directory.Exists(_tspath))
                            {
                                    Directory.CreateDirectory(_tspath + "\\OSvC_Troubleshoot\\" + "\\" + _osvcLoggedin + "\\" + _osvcLoggedin + "_" + DateTime.Now.ToString("MMddyyyyHHmmss"));
                                    _path = _tspath + "\\OSvC_Troubleshoot\\" + _osvcLoggedin + "\\" + _osvcLoggedin + "_" + DateTime.Now.ToString("MMddyyyyHHmmss");
                                    _rootpath = _tspath + "\\OSvC_Troubleshoot\\";
                            }
                            else
                            {
                                    Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\OSvC_Troubleshoot\\" + _osvcLoggedin + "\\" + _osvcLoggedin + "_" + DateTime.Now.ToString("MMddyyyyHHmmss"));
                                    _path = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\OSvC_Troubleshoot\\" + _osvcLoggedin + "\\" + _osvcLoggedin + "_" + DateTime.Now.ToString("MMddyyyyHHmmss");
                                    _rootpath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\OSvC_Troubleshoot\\";
                            }
                    }
            }
            catch (Exception e)
            {                
                    MessageBox.Show(e.Message);
            }
    }
    
    

     

    The sample code is centralizing all actions to start the external application in a single method. As now, it is loading only PSR, but you can add Fiddler as described before and also make it an option trought ServerConfigProperty.

     

    private void LoadTroubleshoot()
    {
            try
            {
                    if (_isScreenCap)
                            StartPsr();
    
                    for (var i = 0; i <= 500; i++)
                            Thread.Sleep(10);
            }
            catch (Exception e)
            {
                    GContext.LogMessage(e.Message);
            }
    }
    

     

    The following method is called to start Windows PSR.

     

    private void StartPsr()
    {
            try
            {
                    TryKillProcess(PsrExe);
    
                    _psrLogFile = Path.Combine(_path + "\\" + DateTime.Now.ToString("MMddyyyyHHmmss") + "_Steps_To_Reproduce.zip");
                    InvokeProcess(PsrExe,
                            $"/start /gui 0 /output \"{_psrLogFile}\" /slides 1 /recordpid \"{Process.GetCurrentProcess().Id}\"");
    
            }
            catch (Exception e)
            {
                    GContext.LogMessage(e.Message);
            }
    }
    

     

    The following two methods are generic, so you can reuse that for other applications if it is needed. These methods are used to start and stop Windows PSR in this context.

    private static void TryKillProcess(string processName)
    {
            var processes = Process.GetProcessesByName(processName);
            foreach (var proc in processes)
            {
                    try
                    {
                            proc.Kill();
                    }
                    catch (Exception e)
                    {                    
                            MessageBox.Show(e.Message);
                    }
            }
    }
    
    private static Process InvokeProcess(string processName, string parameters)
    {
            var startInfo = new ProcessStartInfo(processName, parameters)
            {
                    WindowStyle = ProcessWindowStyle.Hidden,
                    UseShellExecute = true,
                    ErrorDialog = false
            };
    
            var proc = new Process {StartInfo = startInfo};
            proc.Start();
    
            return proc;
    }
    

     

    The following method will take care of the time control, plus will control the duration. It will remind the agent that the capture is still running in case the agent has accidentally forgotten to stop.

    private void timer1_Tick_1(object sender, EventArgs e)
    {
            if (_isActive)
            {
                    _seconds++;
    
                    if (_seconds > 59)
                    {
                            _minutes++;
                            _seconds = 0;
                            if (Convert.ToInt32(_minutes) >= _nextConfirmation)
                            {
                                    _nextConfirmation += _reminderInMinutes;
    
                                    var dialogResult = MessageBox.Show(Resources.StatusBarControl_timer1_Tick_1_Are_you_still_collecting_data_, Resources.StatusBarControl_timer1_Tick_1_Troubleshoot, MessageBoxButtons.YesNo);
                                    switch (dialogResult)
                                    {
                                            case DialogResult.Yes:
                                                    return;
                                            case DialogResult.No:
                                                    btnStop_Click(sender, e);
                                                    break;
                                            case DialogResult.None:
                                                    btnStop_Click(sender, e);
                                                    break;
                                            case DialogResult.OK:
                                                    btnStop_Click(sender, e);
                                                    break;
                                            case DialogResult.Cancel:
                                                    btnStop_Click(sender, e);
                                                    break;
                                            case DialogResult.Abort:
                                                    btnStop_Click(sender, e);
                                                    break;
                                            case DialogResult.Retry:
                                                    btnStop_Click(sender, e);
                                                    break;
                                            case DialogResult.Ignore:
                                                    btnStop_Click(sender, e);
                                                    break;
                                            default:
                                                    throw new ArgumentOutOfRangeException();
                                    }
                            }
    
                    }
                    if (_minutes >= 59)
                    {
                            _hours++;
                            _minutes = 0;
                    }
            }
    
            lblTimer.Text = string.Format(AppendZero(_hours) + ":" + AppendZero(_minutes) + ":" + AppendZero(_seconds));
    }
    
    private static string AppendZero(double str)
    {
            if (str <= 9)
                    return "0" + str;
            return str.ToString(CultureInfo.CurrentCulture);
    }
    

     

    When the Stop button is clicked the following method is called.

    private void btnStop_Click(object sender, EventArgs e)
    {
            try
            {
                    btnStart.Enabled = true;
                    btnStop.Enabled = false;
    
                    using (var frmWaitForm = new FrmWaitForm(StopTroubleshoot, _initialnotification))
                    {
                            frmWaitForm.ShowDialog();
                    }
            }
            catch (Exception ex)
            {
                    GContext.LogMessage(ex.Message);
            }            
    }      
    

     

    Similar to the logic applied to the start load, here the sequence to stop the applications running will take place.

    private void StopTroubleshoot()
    {
            try
            {
                    btnStop.Enabled = false;
                    btnStart.Enabled = true;
                    _isActive = false;
                    _seconds = _minutes = _hours = 0;
    
                    if (_isScreenCap)
                            StopPsr();
    
                    if (_isOscInfo)
                    {                    
                            Task.Factory.StartNew(() =>
                            {
                                    var ocsFile = _path + "\\OSvCinfo.bat"; // File downloaded in 03/20/2018.
                                    if (!File.Exists(ocsFile))                                                    
                                            ExtractEmbeddedResource("Troubleshoot_StatusBar", _rootpath, "OSvCInfo", "OSvCinfo.bat");                        
                            }).ContinueWith(antecedent =>
                            {                        
                                    RunOsvCInfo();
                            });
                    }
                    else
                    {
                            Task.Factory.StartNew(WorkStationInfo).ContinueWith(antecedent =>
                            {
                                    CompressAndNotify();
                            });                    
                    }
            }
            catch (Exception e)
            {
                    GContext.LogMessage(e.Message);
            }
    }
    

     

    The generic kill and invoke method will be called again to stop Windows PSR.

    private void StopPsr()
    {
            try
            {
    
                    InvokeProcess(PsrExe, @"/stop").WaitForExit(60000);
    
                    // Sleep to ensure PSR completes file creation operation
                    Thread.Sleep(SaveDelay);
    
                    if (!File.Exists(_psrLogFile))
                    {
                            MessageBox.Show(Resources.StatusBarControl_LoadPsr_No_user_actions_were_recorded_by_PSR_);
                    }
            }
            catch (Exception e)
            {
                    GContext.LogMessage(e.Message);
            }
    }
    

     

    If the ServerConfigProperty that allows OSCInfo.bat file runs has not been defined as True, this piece of code will collect at least the basic workstation information.

     

    private static void WorkStationInfo()
    {
            try
            {
                    var compInfor = new Microsoft.VisualBasic.Devices.ComputerInfo();
    
                    var ocsInfo = _path + "\\" + DateTime.Now.ToString("MMddyyyyHHmmss") + "_OSvCInfo.txt";                
    
                    using (var sw = File.CreateText(ocsInfo))
                    {
                            var openSubKey = Registry.LocalMachine.OpenSubKey("hardware\\description\\system\\centralprocessor\\0");                   
    
                            sw.WriteLine("-- Start Workstation Information --");
                            sw.WriteLine("OSvC Site Name: " + _osvcInterface);
                            sw.WriteLine("Host Name: " + Environment.MachineName);
                            if (openSubKey != null)
                                    sw.WriteLine("Processor: " + openSubKey.GetValue("ProcessorNameString"));
                            sw.WriteLine("OS: " + compInfor.OSFullName);
                            sw.WriteLine("Available Physical Memory: " + compInfor.AvailablePhysicalMemory / 1024 / 1024 / 1024 + "GB");
                            sw.WriteLine("Available Virtual Memory: " + compInfor.AvailableVirtualMemory / 1024 / 1024 / 1024 + "GB");
                            sw.WriteLine("Total Physical Memory: " + compInfor.TotalPhysicalMemory / 1024 / 1024 / 1024 + "GB");
                            sw.WriteLine("Total Virtual Memory: " + compInfor.TotalVirtualMemory / 1024 / 1024 / 1024 + "GB");
                            sw.WriteLine("Total Processes Running: " + Process.GetProcesses().Length);
                            sw.WriteLine(".NET Framework Version: " + Get45PlusFromRegistry());
                            sw.WriteLine("-- End Workstation Information --");
                            sw.WriteLine(" ");
                            sw.WriteLine("\nNote: For more information on Workstation and Network Data, please run the OSCinfo.bat utility as published in Answer 2412 or enable the Add-In ServerProperty WorkstationInfo.");
                    }
            }
            catch (Exception e)
            {                
                    MessageBox.Show(e.Message);
            }
    }
    
    private static string Get45PlusFromRegistry()
    {
            const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
            string version;
    
            using (var ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey))
            {
                    version = ndpKey?.GetValue("Release") != null ? CheckFor45PlusVersion((int)ndpKey.GetValue("Release")) : ".NET Framework Version 4.5 or later is not detected.";
            }
    
            return version;
    }
    
    private static string CheckFor45PlusVersion(int releaseKey)
    {
            if (releaseKey >= 460798)
                    return "4.7 or later";
            if (releaseKey >= 394802)
                    return "4.6.2";
            if (releaseKey >= 394254)
                    return "4.6.1";
            if (releaseKey >= 393295)
                    return "4.6";
            if (releaseKey >= 379893)
                    return "4.5.2";
            if (releaseKey >= 378675)
                    return "4.5.1";
            return releaseKey >= 378389 ? "4.5" : "No 4.5 or later version detected";
    }
    

     

    Otherwise, the OSCInfo.bat file is extracted and will run using the agent session information, without to fill out information in the bat file.

    private static void ExtractEmbeddedResource(string nameSpace, string outDirectory, string internalFilePath, string resourceName)
    {
            try
            {                
                    var assembly = Assembly.GetCallingAssembly();
    
                    using (var s = assembly.GetManifestResourceStream(nameSpace + "." + (internalFilePath == "" ? "" : internalFilePath + ".") + resourceName))
                            if (s != null)
                                    using (var r = new BinaryReader(s))
                                    using (var fs = new FileStream(outDirectory + "\\" + resourceName, FileMode.OpenOrCreate))
                                    using (var w = new BinaryWriter(fs))
                                            w.Write(r.ReadBytes((int)s.Length));
            }
            catch (Exception e)
            {                
                    MessageBox.Show(e.Message);
            }
    }
    
    private static void RunOsvCInfo()
    {
            try
            {
                    var proc = new Process
                    {
                            StartInfo =
                            {
                                    FileName = _rootpath + "\\OSvCinfo.bat",
                                    Arguments =
                                            _osvcLoggedin + " " + _osvcInterface + " " + _hostname + " " + _path + "\\" +
                                            DateTime.Now.ToString("MMddyyyyHHmmss") + "_OSvCInfo.txt",
                                    WindowStyle = ProcessWindowStyle.Normal,
                                    CreateNoWindow = true
                            }
                    };
                    proc.Start();
                    proc.WaitForExit();
    
                    CompressAndNotify();
            }
            catch (Exception e)
            {                
                    MessageBox.Show(e.Message);
            }
    }
    

     

    Finally, the information is compressed and the result location will be shown to the agent.

    private static void CompressAndNotify()
    {
            try
            {
                    ZipFile.CreateFromDirectory(_path, _path + ".zip", CompressionLevel.Fastest, true);
                    Directory.Delete(_path, true);
    
                    var strLocation = _path + ".zip";
    
                    using (var frmCompletionForm = new FrmCompletionForm(strLocation, _finalnotification))
                    {
                            frmCompletionForm.ShowDialog();
                    }
    
            }
            catch (Exception e)
            {                
                    MessageBox.Show(e.Message);
            }
    }
    

     

    Leave a comment and let us know what you think, or if you have questions. We’d also love to hear other ways that you’ve simplified or improved troubleshooting agent issues.

  • Simon Kilgarriff
    How Does Your Knowledge Base’s Power Measure Up?26100%
    Entry posted March 13, 2018 by Simon KilgarriffPro, tagged Best Practices, Product / Product Release 

    They say knowledge is power. With power comes great responsibility, according to Spiderman’s uncle, and your Knowledge Base is no different. It has huge potential to create value for your customers and your organization, if you manage the responsibility well. Of course, that is where things get tricky—how do you know if you are managing your KB well and using its powers for good and not ill?

    Let’s take a look at where you can and should focus in determining you knowledge base’s performance.

    Your Knowledge Base is Tier 0

    It is easy to overlook the Knowledge Base as a key component to helping reduce costs and improve experience when there are other new, exciting components such as chatbots and AI are emerging.   

    Therefore, I always impress upon my customers early on that Knowledge Base is one of the most important things to get right. Why? Your Knowledge Base is effectively your “Tier 0” area for supporting and empowering your customers. Your Knowledge Base enables your customers get answers to their questions, when and where (syndicated widgets) they need it.

    If you look at your Knowledge Base as a member of your Support team, how many service requests is it resolving and deflecting every day? How does that compare to the average number of service requests your agents are closing every day? Your Knowledge Base is, or should be, your superhero agent who frees up your Tier 1, 2 and 3 agents for more complex inquiries!

    In short, your Knowledge Base should be high priority and area of strategic investment. It isn’t just about having a knowledge base and sitting back. It is about getting customers to self-serve, agents to offer answers in their responses and contribute their expertise back into the Knowledge Base, and agents updated through knowledge.  As you can imagine, this can be quite a culture change.

    The Dilemma of Measuring Knowledge Base Success

    In consulting engagements, I’m often asked what a successful Knowledge Base looks like. The questions range from, “What sort of reduction in emails might we see?” or “What kind of deflection can we expect to see?” or “How do we resource our knowledge base? How do we justify resourcing for our knowledge base?” There aren’t straight forward answers to these questions.

    Why are these questions hard to answer? Every Knowledge Base is unique—the number of answers, the quality of answers, whether you use knowledge syndication or not, whether you promote answer usage in incidents, chats or standard text, customizations…the list goes on!  Usage is also very different from a customer-facing, internal-only or HR Knowledge Base. Just a few examples:

    • HR is very transaction-based, so knowledge only goes so far as employees will likely need to submit a request. For example, if an employee wants to raise a grievance, then knowledge may help to understand the process, but ultimately, s/he needs to submit a service request to start the process off, so there is less chance to get people to self-serve.
    • Internal knowledge will have far fewer, if any, incidents created, so you would expect the self-serve rates would be high. But figures, such as answer hits, can vary. Some organizations might have low viewing stats since the staff churn is low and agents are knowledgeable.  Organizations with high agent churn may find the statistics are far higher since there are far more ‘green’ agents who need to view knowledge to solve requests.
    • Customer-facing knowledge is less likely to be transactional, so there is better chance of achieving high self-serve rates.  However, some organizations may require the customer to raise an incident in certain scenarios, which inevitably impacts the self-serve rates.

    It also depends on the website design too. How easy is it to search or view your Knowledge Base?  Do customers have to login to search your Knowledge Base? Knowledge can be consumed in many ways, and your metrics are going to vary accordingly. I would guess two Knowledge Bases from two organizations in the same industry might have very different statistics.

    Where Should You Start?

    I recommend setting a benchmark for your own Knowledge Base. Focus on improving your own figures, rather than trying to look at what others are doing or chasing industry benchmarks.

    Take a snapshot of various reports, and use them as a benchmark and look at trying to improve performance on those metrics. There are some useful out-of-the-box Knowledge Foundation reports that give a good assessment of your Knowledge Base’s performance:

    • Answers viewed by Answer (or by Category or by Product)
    • Answer Maintenance
    • Keyword Search
    • Site Effectiveness

    Keep measuring against the same metrics over periods of time; look at the behaviours they reveal and then improve where you can. Use the reports as a guide, so you get a picture as to what is going on, but remember no one report is the be-all and end-all.   

    You can go deeper and leverage the framework and reports from the ‘Deriving Business Intelligence through Service Cloud Value Analytics’ set of report recipes in the Analytics Cookbook.

    Check out some great articles (Knowledge Base answers, in fact!) including, “Tips and Best Practices for Maintaining Answers” and “Best Practices for Setting up Knowledge Base of Answers.”

     

    In summary, your Knowledge Base is uniquely yours. Don’t worry about what everyone else is doing.  Imagine what Spiderman would have missed out on if he spent all his time trying to be the Hulk!

    I’d love to hear how you have approached this challenge of analysing your Knowledge Base performance. What is a metric that you have focused on and positively influenced?