{"id":20672145,"url":"https://github.com/workarea-commerce/workarea-bazaar-voice","last_synced_at":"2025-06-30T02:34:55.274Z","repository":{"id":98852035,"uuid":"279950072","full_name":"workarea-commerce/workarea-bazaar-voice","owner":"workarea-commerce","description":"BazaarVoice integration for the Workarea Commerce Platform.","archived":false,"fork":false,"pushed_at":"2020-07-15T18:46:17.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-10T17:35:11.563Z","etag":null,"topics":["workarea","workarea-commerce","workarea-plugin"],"latest_commit_sha":null,"homepage":"https://workarea.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/workarea-commerce.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-15T18:44:16.000Z","updated_at":"2020-07-15T18:47:57.000Z","dependencies_parsed_at":"2023-03-23T13:17:30.456Z","dependency_job_id":null,"html_url":"https://github.com/workarea-commerce/workarea-bazaar-voice","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/workarea-commerce/workarea-bazaar-voice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workarea-commerce%2Fworkarea-bazaar-voice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workarea-commerce%2Fworkarea-bazaar-voice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workarea-commerce%2Fworkarea-bazaar-voice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workarea-commerce%2Fworkarea-bazaar-voice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/workarea-commerce","download_url":"https://codeload.github.com/workarea-commerce/workarea-bazaar-voice/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workarea-commerce%2Fworkarea-bazaar-voice/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262699275,"owners_count":23350271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["workarea","workarea-commerce","workarea-plugin"],"created_at":"2024-11-16T20:32:15.634Z","updated_at":"2025-06-30T02:34:55.250Z","avatar_url":"https://github.com/workarea-commerce.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Workarea Bazaar Voice\n\nBazaar Voice plugin for the Workarea platform.\n\nThis Workarea plugin uses the hosted javascript solution provided by BazaarVoice.\nThe UI for displaying and submitting reviews will be rendered by javascript\nprovided by BazaarVoice. This allows the platform to make use of the various UI\nform elements provided by BazaarVoice.\n\nThe plugin is intended to work with both legacy(PRR) and Conversations APIs.\nSome additional configuration is required for this to work.\n\nWorkarea will generate a new product feed for BazaarVoice to consume every day.\nThis feed is submitted to BazaarVoice via sFTP. See **secrets configuration** in\nthis readme for how to add credentials for the upload process.\n\n## Included Features\n\n* Reviews\n  * Write reviews\n  * Display reviews on PDP\n  * Display rating aggregate on PDP\n  * Display review highlights on PDP\n  * Display inline reviews on product summary\n* Question \u0026 Answer\n  * Display questions UI on PDP\n* BV Pixel\n* XML Product Feed\n\n## Getting Started\n\nThis gem contains a rails engine that must be mounted onto a host Rails application.\n\nTo install, add the following to your Gemfile:\n\n```ruby\ngem 'workarea-bazaar_voice'\n```\n\nThen, run:\n\n```bash\n$ bundle\n```\n\nYou'll then have to configure secrets with your provided production\ncredentials:\n\n```yaml\n  bazaar_voice:\n    :export:\n      :host: # production: 'sftp.bazaarvoice.com' staging: 'sftp-stg.bazaarvoice.com'\n      :username: 'your BV Username'\n      :password: 'your BV SFTP Password'\n```\n\nAnd finally, the application. You can either the following configuration settings\nin an initializer:\n\n```ruby\nWorkarea.configure do |config|\n  config.bazaar_voice_client_name = \u003cstring\u003e\n  config.bazaar_voice_site_id = \u003cstring\u003e\n  config.bazaar_voice_shared_key = \u003cstring\u003e\n  config.bazaar_voice_integration_type = 'Conversations'\n  config.bazaar_voice_export_interval = 2.days, # Products and categories updated within this timeframe will be exported.\n  config.bazaar_voice_export_enabled = false # Setting this to true will enable sFTP export of your product catalog to Bazaarvoice\n  config.bazaar_voice_requires_login = true # Requires user to login to write a review (recommended)\nend\n```\n\nOr, you can allow admins to configure them in the application UI.\n\nSee below for what all these configuration settings mean:\n\n## Configuration\n\nAll configuration on Bazaar Voice can be edited by administrators as\nwell as developers, so devs aren't always responsible for knowing the\nfollowing information. But it's here if you need it.\n\n### site_id\n\nUse the 'deployment zone' found in the bazaarvoice workbench under\n**Settings \u003e\u003e Manage Applications**, by default this is `main_site` more info here:\n\u003chttps://knowledge.bazaarvoice.com/wp-content/conversations/en_US/Learn/config_hub_overview.html#deployment-zones\u003e\n\n### Configuration values for legacy PRR implementations\n\nIf you are on the BazaarVoice PRR implementation you will also need to specify\nthe following configurations:\n\n```ruby\n  config.bazaar_voice_integration_type = 'PRR'\n  config.bazaar_voice_display_code = 'xxxx-en_us'\n  config.bazaar_voice_hostname = 'xxx.ugc.bazaarvoice.com'\n```\n\nYou may need to contact Bazaar Voice support to get the correct display_code and\nhostname for your client.\n\n### Feature configuration\n\nSome configuration is required for the following bazaarvoice display modules:\n\n* Rating Summary \u003chttps://knowledge.bazaarvoice.com/wp-content/conversations/en_US/Display/display_integration.html#rating-summary\u003e\n* Inline Ratings \u003chttps://knowledge.bazaarvoice.com/wp-content/conversations/en_US/Display/inline_ratings.html\u003e\n* Review highlights \u003chttps://knowledge.bazaarvoice.com/wp-content/conversations/en_US/Display/display_integration.html#review-highlights\u003e\n* Question \u0026 Answer \u003chttps://knowledge.bazaarvoice.com/wp-content/conversations/en_US/Collect/q_and_a.html#enable-and-configure-questions-and-answers\u003e\n\nThese modules must first be enabled on your client's bazaarvoice site, otherwise\nthey will not work.\n\nThese display modules are configured to be enabled by default, to disable any of\nthese features in your application set the corresponding configuration to `false`\n\nExample settings in configuration block:\n\n```ruby\n  config.bazaar_voice_display_rating_summary = false\n  config.bazaar_voice_display_inline_ratings = false\n  config.bazaar_voice_display_review_highlights = false\n  config.bazaar_voice_display_questions = false\n```\n\n### Syndication\n\nYou may choose to load ratings from syndicated sources, rather than just\nyour website, depending on your business rules. This will load rating\ndata from the `ReviewStatistics` data point rather than the\ndefault `NativeReviewStatistics` data point. To configure this option,\nadd the following to your Workarea initializer:\n\n```ruby\n  config.bazaar_voice_syndicated = true\n```\n\n## BV catalog feed\n\nThe Bazaar Voice catalog feed is configured to run daily at 1am. This feed is\nincremental, sending products and categories that have been updated in the last\n2 days. This allows for 1 day of overlap in feed data, incase the feed fails.\n\nAll feeds are uploaded to the Bazaar Voice FTP via SFTP, the Secrets configuration\nsection of this readme details required configuration for the upload.\n\nTo enable the feed you must set the following configruation in the enviornment.\nProviding you have a staging sandbox with BV we recommend enabling this in\nstaging and production.\n\n```ruby\n  config.bazaar_voice_export_enabled = true\n```\n\n### Exporting Brands\n\nBazaar Voice feeds require a brand to be set for every product. Since Workarea\ndoes not have a concept of brands out of the box a configuration for default brand\nis available with this plugin. If your application has been customized to include\nbrands per product you will need to decorate the `Workarea::BazaarVoice::Export::Catalog`\nclass and `XmlBuilder#build_product` to pass the appropriate data in the feed. To\nuse the default brand set the following configuration:\n\n```ruby\n  config.bazaar_voice_default_brand_id = 'brand_id'\n  config.bazaar_voice_default_brand_name = 'Brand Name'\n```\n\n### Excluding product types from export\n\nYou may want to exclude certain types of products, like packages, gift cards, or\nother custom types from your product feed. The plugin provides a configuration\nwhich accepts an array of product templates to be excluded. This logic can be\nfurther extended by decorating `Workarea::BazaarVoice::Export::Catalog#product_excluded`\nexample configuration for package products:\n\n```ruby\n  config.bazaar_voice_excluded_product_templates = ['family', 'package']\n```\n\n### Initial Catalog Feed\n\nWhen first setting up Bazaar Voice you will need to upload a complete feed, this\nis done using a rake task. To upload your complete product feed run\n\n```bash\nbundle exec rake bazaar_voice:full_export\n```\n\n## Domain configuration\n\nThe BV Loader JS expects requests to come from a pre-defined set of domains.\nYou may be able to request Bazaar Voice customer service to add your development\nURL to the list of allowed domains. Alternatively you can use `rails server` and\n`localhost:3000` for development, which seems to be an allowed domain by default.\n\nYou will need to instruct Bazaar Voice customer service to configure your QA,\nStaging, and production domains for use with your client's account.\n\n## Roadmap\n\n* Ingest feed from BV and store reviews in-app\n* Include brands in the product feed\n* Configuration option to put writing a review behind a login.\n\n## Workarea Platform Documentation\n\nSee http://developer.workarea.com for Workarea platform documentation.\n\n## Copyright \u0026 Licensing\n\nCopyright Workarea 2018-2020. All rights reserved.\n\nFor licensing, contact sales@workarea.com.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkarea-commerce%2Fworkarea-bazaar-voice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fworkarea-commerce%2Fworkarea-bazaar-voice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkarea-commerce%2Fworkarea-bazaar-voice/lists"}