VbzCart/docs/pieces/status: Difference between revisions

From Woozle Writes Code
< VbzCart‎ | docs‎ | pieces
Jump to navigation Jump to search
imported>Woozle
(debugging .tree attribute)
m (Woozle moved page VbzCart/VbzCart/pieces/status to VbzCart/docs/pieces/status without leaving a redirect: part 2)
 
(14 intermediate revisions by one other user not shown)
Line 1: Line 1:
==Process Breakdown==
==Status==
<span class=tree><ul>
{| style="border: 1px solid black; float: right;" width=30%
<li>testing</li>
|-
</ul></span>
|
* Shopping interface
===Key===
** display of individual {{l/sub|title}}s
<small>
*** display of all active {{l/sub|image}}s for each title, with appropriate annotations and in appropriate order
* <span class=stat-ok>green</span> means this is working well enough to be deployed
*** display of all available {{l/sub|item}}s for each title, with pricing and stock information
* <span class=stat-busy>yellow</span> depends on which section is involved:
** display of groups of titles
** in the "shopping interface" section, it means I'm writing from scratch or significantly rewriting
*** by {{l/sub|topic}}
** in the "administrative interface" section, it means I had this written for the MediaWiki version of VbzCart and am now converting it to the standalone version.
*** by {{l/sub|department}}
* '''bold''' means this needs to be working before the store can open
** display of {{l/sub|topic}}s
</small>
*** search topics (as part of catalog search feature)
|}
*** display individual topic
 
**** show topic's place in topic hierarchy
This doesn't currently show testing status; some items marked "working" may have been temporarily broken by work on other items.
**** show all available titles for the topic
 
**** list or show [[/title/retired|unavailable titles]] for the topic
# <span class=stat-busy>Shopping interface</span>
** display of {{l/sub|department}}s
## '''<span class=stat-ok>display of individual {{l/sub|title}}s</span>'''
*** same as topics
### '''<span class=stat-ok>display of all active {{l/sub|image}}s for each title, with appropriate annotations and in appropriate order</span>'''
** display of {{l/sub|supplier}}s
### '''<span class=stat-ok>display of all available {{l/sub|item}}s for each title, with pricing and stock information</span>'''
*** show individual supplier
## '''<span class=stat-ok>display of groups of titles</span>'''
**** show list of departments; if only one department, show its page instead
### '''<span class=stat-ok>by {{l/sub|topic}}</span>'''
**** summarize items available by attributes (e.g. [[/item/type|item type]], size)
### '''<span class=stat-ok>by {{l/sub|department}}</span>'''
** show/search {{l/sub|stock}}
## '''<span class=stat-ok>display of {{l/sub|topic}}s</span>'''
** add items to {{l/sub|cart}}
### '''<span class=stat-ok>search topics (as part of catalog search feature)</span>'''
** create an {{l/sub|order}} from cart
### '''<span class=stat-ok>display individual topic</span>'''
*** enter shipping and payment information
#### '''<span class=stat-ok>show topic's place in topic hierarchy</span>'''
*** log in to re-use/manage previously entered shipping/payment information
#### '''<span class=stat-ok>show all available titles for the topic</span>'''
*** display order confirmation before formal submission
#### <span class=stat-ok>list or show [[/title/retired|unavailable titles]] for the topic</span>
*** send full order information (except card #) via email
## '''<span class=stat-ok>display of {{l/sub|department}}s</span>'''
* Administrative interface
### '''<span class=stat-ok>same as topics</span>'''
** security
## '''<span class=stat-ok>display of {{l/sub|supplier}}s</span>'''
*** create/edit [[/security/group|security group]]s
### '''<span class=stat-ok>show individual supplier</span>'''
**** edit name and [[/security/permission|permission]]s for each group
#### '''<span class=stat-ok>show list of departments; if only one department, show its page instead</span>'''
*** assign {{l/sub|user}}s to groups
#### '''<span class=stat-ok>summarize items available by attributes (e.g. [[/item/type|item type]], size)</span>'''
*** edit user information
## <span class=stat-busy>show/search {{l/sub|stock}} only</span>
*** only allow access to any admin feature if user has the corresponding permission (via group membership)
## '''<span class=stat-ok>add items to {{l/sub|cart}}</span>'''
** manage local catalog
## '''<span class=stat-busy>create an {{l/sub|order}} from cart</span>'''
*** edit items
### '''<span class=stat-ok>enter shipping and payment information</span>'''
*** edit titles
### '''<span class=stat-busy>log in to re-use/manage previously entered shipping/payment information</span>'''
*** edit departments
#### '''<span class=stat-busy>allow regular users to access their own information without being able to access that of other users</span>'''
*** edit suppliers
### '''<span class=stat-ok>display order confirmation before formal submission</span>'''
*** edit [[/supplier/catalog|supplier catalog]]s
### '''<span class=stat-ok>send full order information (except card #) via email</span>'''
** order processing
# <span class=stat-busy>Administrative interface</span>
*** view shopping carts
## <span class=stat-ok>security</span>
*** view/edit/process orders
### <span class=stat-ok>create/edit [[/security/group|security group]]s</span>
**** select items from stock locations to put into a [[/package]] for shipment
#### <span class=stat-ok>edit name and [[/security/permission|permission]]s for each group</span>
*** process outgoing packages
### <span class=stat-ok>assign {{l/sub|user}}s to groups</span>
**** calculate proper charges for items
### <span class=stat-ok>edit user information</span>
**** add charges to payment queue
### <span class=stat-ok>only allow access to any admin feature if user has the corresponding permission (via group membership)</span>
**** print packing list
### <span class=stat-ok>automatically add new users to admin-specified group(s)</span>
**** enter information for estimating cost (cost of postage, materials, time)
## <span class=stat-busy>manage local catalog</span>
**** enter tracking information
### <span class=stat-ok>edit items</span>
**** assign package to a {{l/sub|shipment}}
### <span class=stat-ok>edit titles</span>
**** mark when package was received by customer (if information available)
### <span class=stat-ok>edit departments</span>
*** process incoming package
### <span class=stat-ok>edit suppliers</span>
**** calculate refund, add to payment queue
### <span class=stat-busy>edit [[/supplier/catalog|supplier catalog]]s</span>
**** record stock location where each returned item was placed
## <span class=stat-busy>order processing</span>
*** process {{l/sub|payment}}s
### <span class=stat-ok>view shopping carts</span>
**** processing page needs to display all information needed for processing in one place
### <span class=stat-busy>order management</span>
***** later: use payment processor's API, where possible, to minimize copying-and-pasting
#### '''<span class=stat-ok>view/edit order</span>'''
**** record when payment was processed and what its status was (successful or not; error code)
#### '''<span class=stat-ok>select items from stock locations to put into a [[/package]] for shipment</span>'''
**** add charge to package's or order's transaction queue, so current balance can be calculated correctly
### <span class=stat-busy>process outgoing packages</span>
*** manage {{l/sub|shipment}}s
#### <span class=stat-ok>calculate proper charges for items</span>
**** create new shipments as needed
#### '''<span class=stat-busy>add charges to payment queue</span>'''
**** mark shipment as "dedicated" (special purpose)
#### '''<span class=stat-busy>print packing list</span>'''
**** mark shipment as mailed (date, carrier)
#### '''<span class=stat-busy>enter information for estimating cost (cost of postage, materials, time)</span>'''
** manage supplier catalogs
#### '''<span class=stat-busy>enter tracking information</span>'''
*** create common groupings of item types/attributes/prices ({{l/sub|suppler/catalog/item-group}})
#### <span class=stat-busy>email user the tracking number</span>
*** manage supplier catalog
#### '''<span class=stat-ok>assign package to a {{l/sub|shipment}}</span>'''
**** name, effective date, expiration date, catalog this one supercedes
#### <span class=stat-ok>mark when package was received by customer (if information available)</span>
**** enter/edit all titles available, and items or item-groups for each title
### <span class=stat-busy>process incoming package</span>
*** update local catalog from supplier catalog data
#### <span class=stat-busy>calculate refund, add to payment queue</span>
**** deactivate items not in currently active catalog unless they are in (sellable) stock
#### <span class=stat-ok>record stock location where each returned item was placed</span>
**** add new items not already in local catalog
### '''<span class=stat-busy>process {{l/sub|payment}}s</span>'''
#### '''<span class=stat-busy>processing page needs to display all information needed for processing in one place</span>'''
##### later: use payment processor's API, where possible, to minimize copying-and-pasting
#### '''<span class=stat-busy>record when payment was processed and what its status was (successful or not; error code)</span>'''
#### '''<span class=stat-busy>add charge to package's or order's transaction queue, so current balance can be calculated correctly</span>'''
### <span class=stat-busy>manage {{l/sub|shipment}}s</span>
#### '''<span class=stat-ok>create new shipments as needed</span>'''
#### <span class=stat-ok>mark shipment as "dedicated" (special purpose)</span>
#### '''<span class=stat-busy>mark shipment as mailed (date, carrier)</span>'''
## <span class=stat-busy>manage supplier catalogs</span>
### <span class=stat-busy>create common groupings of item types/attributes/prices ({{l/sub|suppler/catalog/item-group}})</span>
### <span class=stat-busy>manage supplier catalog</span>
#### <span class=stat-busy>name, effective date, expiration date, catalog this one supercedes</span>
#### <span class=stat-busy>enter/edit all titles available, and items or item-groups for each title</span>
### <span class=stat-ok>update local catalog from supplier catalog data</span>
#### <span class=stat-ok>deactivate items not in currently active catalog unless they are in (sellable) stock</span>
#### <span class=stat-ok>add new items not already in local catalog</span>
## <span class=stat-busy>user profile management</span>
### <span class=stat-ok>allow users to manage their own stored contact info</span>
### <span class=stat-busy>allow users to retrieve/manage un-checked-out shopping carts</span>

Latest revision as of 01:55, 25 February 2024

Status

Key

  • green means this is working well enough to be deployed
  • yellow depends on which section is involved:
    • in the "shopping interface" section, it means I'm writing from scratch or significantly rewriting
    • in the "administrative interface" section, it means I had this written for the MediaWiki version of VbzCart and am now converting it to the standalone version.
  • bold means this needs to be working before the store can open

This doesn't currently show testing status; some items marked "working" may have been temporarily broken by work on other items.

  1. Shopping interface
    1. display of individual titles
      1. display of all active images for each title, with appropriate annotations and in appropriate order
      2. display of all available items for each title, with pricing and stock information
    2. display of groups of titles
      1. by topic
      2. by department
    3. display of topics
      1. search topics (as part of catalog search feature)
      2. display individual topic
        1. show topic's place in topic hierarchy
        2. show all available titles for the topic
        3. list or show unavailable titles for the topic
    4. display of departments
      1. same as topics
    5. display of suppliers
      1. show individual supplier
        1. show list of departments; if only one department, show its page instead
        2. summarize items available by attributes (e.g. item type, size)
    6. show/search stock only
    7. add items to cart
    8. create an order from cart
      1. enter shipping and payment information
      2. log in to re-use/manage previously entered shipping/payment information
        1. allow regular users to access their own information without being able to access that of other users
      3. display order confirmation before formal submission
      4. send full order information (except card #) via email
  2. Administrative interface
    1. security
      1. create/edit security groups
        1. edit name and permissions for each group
      2. assign users to groups
      3. edit user information
      4. only allow access to any admin feature if user has the corresponding permission (via group membership)
      5. automatically add new users to admin-specified group(s)
    2. manage local catalog
      1. edit items
      2. edit titles
      3. edit departments
      4. edit suppliers
      5. edit supplier catalogs
    3. order processing
      1. view shopping carts
      2. order management
        1. view/edit order
        2. select items from stock locations to put into a /package for shipment
      3. process outgoing packages
        1. calculate proper charges for items
        2. add charges to payment queue
        3. print packing list
        4. enter information for estimating cost (cost of postage, materials, time)
        5. enter tracking information
        6. email user the tracking number
        7. assign package to a shipment
        8. mark when package was received by customer (if information available)
      4. process incoming package
        1. calculate refund, add to payment queue
        2. record stock location where each returned item was placed
      5. process payments
        1. processing page needs to display all information needed for processing in one place
          1. later: use payment processor's API, where possible, to minimize copying-and-pasting
        2. record when payment was processed and what its status was (successful or not; error code)
        3. add charge to package's or order's transaction queue, so current balance can be calculated correctly
      6. manage shipments
        1. create new shipments as needed
        2. mark shipment as "dedicated" (special purpose)
        3. mark shipment as mailed (date, carrier)
    4. manage supplier catalogs
      1. create common groupings of item types/attributes/prices (suppler/catalog/item-group)
      2. manage supplier catalog
        1. name, effective date, expiration date, catalog this one supercedes
        2. enter/edit all titles available, and items or item-groups for each title
      3. update local catalog from supplier catalog data
        1. deactivate items not in currently active catalog unless they are in (sellable) stock
        2. add new items not already in local catalog
    5. user profile management
      1. allow users to manage their own stored contact info
      2. allow users to retrieve/manage un-checked-out shopping carts