#3903 closed Task (fixed)

BREAKING API changes: some 'segment' names have been renamed

Reported by: matt Owned by: mattab
Priority: critical Milestone: 1.12 - The Great 1.x Backlog
Component: Core Keywords:
Cc: Sensitive: no


To bring 100% consistency in segments naming, we had to rename some segments in 1.12. This is done as part of #2135.

If you use Piwik Segmentation API please check that you are not affected and make required changes to your API calls:

  • continent segment renamed to: continentCode
  • browserName segment renamed to: browserCode
  • operatingSystem segment renamed to: operatingSystemCode
  • lat segment renamed to: latitude
  • long segment renamed to: longitude
  • region segment renamed to: regionCode
  • country segment renamed to: countryCode
  • continent segment renamed to: continentCode

Note: Piwik API starting in 1.12 will throw an exception if you still use the old segment names so it should be fairly easy to notice.

Change History (1)

comment:1 Changed 12 months ago by matt (mattab)

  • Owner set to mattab
  • Resolution set to fixed
  • Status changed from new to closed

In 35f975accb45152dd669e0009237eed3dc6ada2b:

Fixes #3904:

  • new segment 'siteSearchKeyword'

Fixes #3903, #3905:

  • adding few fields in the Live API output to accomodate getSuggestedValuesForSegment
  • renamed other fields for consistency with segment names

Fixes #3906:

  • new API: getSuggestedValuesForSegment which returns top suggested values for a particular segment. It uses the Live.getLastVisitsDetails API to fetch the most recently used values, and will show the most used values first
  • Adding tests for everything. The test case actually generates data for all segments so that VisitsSummary.get returns some data for each of the 47 segments being tested returns some data. How it works:
    • generate extended data in fixture
    • Tests (1) call getSuggestedValuesForSegment for each segment, check there is some data returned for each segment
    • get the first suggested value from the list,
    • Tests (2) call VisitsSummary.get with this segment value, eg. countryCode==ru.
      • I worked this way for all 47 segments until all tests had some data ==> now we know that all segments have been tested and that the auto suggest works for all segments. TDD FTW!
Note: See TracTickets for help on using tickets.