Difference between revisions of "VbzCart/pieces/catalog/building/2017"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
< VbzCart‎ | pieces‎ | catalog‎ | building
Jump to navigation Jump to search
(saving work)
 
(saving work)
Line 1: Line 1:
 
==Revision Notes==
 
==Revision Notes==
We now calculate stock availability in real-time, so we do not need to calculate that when building the catalog. What we do need is a per-Item ({{vbzcart/table|cat_items}}) flag to indicate whether the item is available from the Supplier or not, based on catalog status.
+
We now calculate stock availability in real-time, so we do not need to calculate that when building the catalog. What we do need is a per-Item ({{l/vbzcart/table|cat_items}}) flag to indicate whether the item is available from the Supplier or not, based on catalog status.
  
 
Apparently this change was done last year: we now have the '''isAvail''' flag.
 
Apparently this change was done last year: we now have the '''isAvail''' flag.
 +
==Tables==
 +
Input:
 +
* {{l/vbzcart/table|ctg_items}} (LCItems)
 +
* {{l/vbzcart/table|ctg_sources}} (SCSources)
 +
* {{l/vbzcart/table|ctg_groups}} (SCGroups)
 +
* {{l/vbzcart/table|ctg_titles}} (SCTitles)
 +
 +
Output:
 +
* {{l/vbzcart/table|cat_items}}
 
==Process==
 
==Process==
 
===stage 1===
 
===stage 1===
'''Action''': Build a list (currently a recordset) of all supplier-items known to be available, based on combining active catalog(s). Match the list up against the {{vbzcart/table|cat_items}} table and build an action list containing each generated item: either new (to be added) or found (to be updated). Show links to matching items so user can verify the match, and allow the user to check off which actions to take.
+
'''Action''': Build a list (currently a recordset) of all supplier-items known to be available, based on combining active catalog(s). Match the list up against the {{l/vbzcart/table|cat_items}} table and build an action list containing each generated item: either new (to be added) or found (to be updated). Show links to matching items so user can verify the match, and allow the user to check off which actions to take.
  
Building the list itself is pretty straightforward.
+
Building the list itself is pretty straightforward, though admin review is necessary to make sure the matches are correct.
  
 
There isn't a rigorous way of matching this list up with our existing Items table because (of course) suppliers neither use our unique Item IDs nor do they supply their own. What they do have is catalog numbers, which ''tend'' to be persistently attached to a particular item -- but sometimes the item changes in ways that we want to keep track of (e.g. the shirt originally had lyrics over the basic design, but now it doesn't; or, the background color has changed) and sometimes a disused catalog number is reused for a new item.
 
There isn't a rigorous way of matching this list up with our existing Items table because (of course) suppliers neither use our unique Item IDs nor do they supply their own. What they do have is catalog numbers, which ''tend'' to be persistently attached to a particular item -- but sometimes the item changes in ways that we want to keep track of (e.g. the shirt originally had lyrics over the basic design, but now it doesn't; or, the background color has changed) and sometimes a disused catalog number is reused for a new item.
Line 14: Line 23:
  
 
(documentation in progress)
 
(documentation in progress)
 +
===stage 2===
 +
Update {{l/vc/table|cat_items|LCItem}} as follows.
 +
 +
For each approved change:
 +
* '''isForSale''': TRUE
 +
* '''isInPrint''': LCSources.isCloseOut
 +
* '''isCurrent''':
 +
* '''GrpCode, GrpSort, GrpDescr''': {{l/vc/table|ctg_groups|SCGroup}}.*
 +
 +
For all remaining LCItems:
 +
* '''isForSale''': FALSE
 +
* '''isInPrint''': FALSE
 +
* '''isCurrent''':
 +
* '''GrpCode, GrpSort, GrpDescr''': unchanged
 +
 +
Still writing...

Revision as of 15:38, 18 June 2017

Revision Notes

We now calculate stock availability in real-time, so we do not need to calculate that when building the catalog. What we do need is a per-Item (cat_items) flag to indicate whether the item is available from the Supplier or not, based on catalog status.

Apparently this change was done last year: we now have the isAvail flag.

Tables

Input:

Output:

Process

stage 1

Action: Build a list (currently a recordset) of all supplier-items known to be available, based on combining active catalog(s). Match the list up against the cat_items table and build an action list containing each generated item: either new (to be added) or found (to be updated). Show links to matching items so user can verify the match, and allow the user to check off which actions to take.

Building the list itself is pretty straightforward, though admin review is necessary to make sure the matches are correct.

There isn't a rigorous way of matching this list up with our existing Items table because (of course) suppliers neither use our unique Item IDs nor do they supply their own. What they do have is catalog numbers, which tend to be persistently attached to a particular item -- but sometimes the item changes in ways that we want to keep track of (e.g. the shirt originally had lyrics over the basic design, but now it doesn't; or, the background color has changed) and sometimes a disused catalog number is reused for a new item.

So we use the catalog number as the basis for correlating the two lists, but it needs to be hand-checked. At present, we only check for title-string changes; ideally there should also be an image cross-check.

(documentation in progress)

stage 2

Update LCItem as follows.

For each approved change:

  • isForSale: TRUE
  • isInPrint: LCSources.isCloseOut
  • isCurrent:
  • GrpCode, GrpSort, GrpDescr: SCGroup.*

For all remaining LCItems:

  • isForSale: FALSE
  • isInPrint: FALSE
  • isCurrent:
  • GrpCode, GrpSort, GrpDescr: unchanged

Still writing...