Price Tapestry distribution 15/01A is now available to download.
Category Hierarchy Mapping
A new method of organising feed categories into a structured category hierarchy on your site. The administration tools for Category Hierarchy Mapping (Data Management menu) are always enabled, but to enable at the front end a new advanced configuration parameter
$config_useCategoryHierarchy must be set to TRUE in config.advanced.php at line 92.
To create your hierarchy, go to Data Management > Category Hierarchy Mapping. In the first instance only the empty root node will be displayed. Click "New" at any node to create a new sub-category at that position in the category tree:
Feed categories can be mapped into the Category Hierarchy in exactly the same way as normal Category Mapping. Click Configure alongside any node in the hierarchy to access this method of mapping. Alternatively, click Reverse Mapping to quickly associate feed categories with their position in your hierarchy:
Product Mapping by Regular Expression
Regular Expressions are a formalised method of pattern matching within a body of text. Users may already be familiar with the RegExp versions of some of the filters built in to Price Tapestry such as Drop Record RegExp, which provides more flexibility than the basic Drop Record filter supporting expressions such as
(foo|bar) will match and drop anything containing "foo" or "bar".
Regular Expressions also support the concept of "back referencing" - individually matched bracketed sub-expressions are made available by the regular expression parsing engine as well as the fully matched value, and it is the result of these back references that can be used with the new Product Mapping RegExp feature. Each mapping contains 2 parts to the configuration - a "Trigger", which describes when to consider the mapping, and the "Settings" of the mapping itself.
The Trigger is a logical AND comparison - by regular expression, against the Merchant, Category and Brand fields of the record being imported. Under "Settings", the regular expression to apply to the product name field is provided, and if matched, how to construct the product name from the back references:
The above screenshot shows the configuration for the Product Mapping RegExp used to create the comparison for the LG 49UB850V as featured on the home page of the demo site.
The Trigger is simply a brand match against
/LG/i. In regular expressions, "/" characters can be used to delimit the expression from "modifiers" - in this case "i", which makes the match case insensitive.
The main RegExp is configured as
/\b(\d+(LB|UB|EA|EC|LN|LA|PB|MT|MA)\w+)\b/U which is an expression that matches model numbers used by LG for their range of televisions. From this, the back reference $0 (the fully matched value) is combined with "LG " to construct the required product name. Custom Category and Brand values can also be defined, as with basic Product Mapping.
Results of the configuration can be tested without having to import any feeds:
Intended to support niche site setup, two new tools have been included that enable analysis of feeds both as they are parsed (Parse Analysis) and as they have been imported (Imported Analysis).
Feed Utilities - Parse Analysis
For a feed record to be valid for import, it must contain at least Product Name, Buy URL and Price values. In addition, product names must be unique (per merchant). The Parse Analysis tool reports the number of invalid records and duplicates identified within a feed:
Where duplicates are found, the raw product record can be viewed to assist with setting up filters that would de-duplicate product names - for example by combining the value of a "colour" field with the product name:
Feed Utilities - Imported Analysis
The Imported Analysis tool provides full search capabilities against the imported records of any feed. Results can be filtered by keyword, and by any index field including custom fields:
Clicking on a product name displays the full product record:
Also included is Brand Mapping, functionally identical to basic Category Mapping, and the automation scripts have been refined to just fetch.php, import.php and cron.php. The Database Tool now supports individual table backup, but is of course still fully backwards compatible with the backup XML file created by earlier distributions.
Full documentation for each of the new features will be coming online line over the course of the next few days, and a dedicated support forum for Product Mapping RegExp through which a library of expressions for matching standard manufacturer product type / model numbers can be established.