Loading...
 
Skip to main content

History: BobShop

Source of version: 57

Copy to clipboard
            {maketoc}
!Introduction
BobShop is a shopping cart system for TikiWiki.

On Github you find some more information.
https://github.com/romoxi/bobshop


! Features
- no need to login to use the shopping-cart 
- individual product fields
- porducts can be enabled/disabled
- multiple payment methodes (PayPal integrated)
- 3 different tax rates
- 3 different shipping costs
- "addToCart"-button can placed on any wikipage
- built-in registration and login system
- works without the TikiWiki Functions/Plugins Payment, shopper_info, Shopping Cart etc.
- templates can be modified
- bootstrap is used for the templates
- different operation modes (default, sandbox, offer, presentation, info)
- saving and reloading carts


!How to install?
You need the Plugin BobShop. 
Feel free to download it from Github.
https://github.com/romoxi/bobshop

You have to download an copy the files in:
/lib/wiki-plugins
/templates/wiki-plugins
bobshop_register.php

Apply this profile

Modify Item Link for default payment:
#Trackers > List Trackers
#click on "bobshop_config"
#click on "Fields"
#click on "paymentDefault"
#go to "Options for Item Link"
#set "Tracker ID" to "bobshop_payment" and "Field ID" to "name" and Multiple Fields mark "name"
#Save the changes



If you want to use PayPal, you have to set up a REST API app in your PayPal-Account. Edit the file /lib/wiki-plugins/bobshop_paypal.inc.php. 

!User
If you want the registed users to see there own tracker infos (Name, Address ...) you have to change the following:
Tracker > User > Properties > Permissions
   > User can see his own items
   > Item creator can modify his items


!Dependencys
(to make after appling this profile)
Settings > Control Panels > User Settings > Groups > Registered    
      > User Registration Tracker > User
Save now!
Settings > Control Panels > User Settings > Groups > Registered    
      > Selekct user field > (User)
      > Group or User Tracker Registration Fields > (the field ID numbers for the User tracker fields)
          (typical by a fresh installation is something like that: 81:82:83:84:85:86:87:88)

 > Log In 
       > User tracker IDs to sync prefs from > User
       > Tracker ID of tracker required to be filled in > (the User Tracker ID)

(the following should be made by the this profile)
Settings > Control Panels
   > General > Navigation > Alternate registration page > bobshop_register.php
   > Editing and Plugins 
      > Plugins > BobShop
      > Plugins > Dialog

   > Trackers > Auto-Increment

   > Log In 
      > Authentication method > Tiki
      > User can register
      > Validate new user registrations by email > DISABLED
      > Validate user's email server > Yes
      > Use a tracker to collect more user information
      > Require users to fill in tracker information
      > Use email as username
      > User emails must be unique
   

!Version
This profile is for the plugin version v1_6_2.


!Manual
For configuration and administration use the trackers.

Tracker "bobshop_config":
Create a new item > this will setup the shop. At the moent you can only have one (1) item in this tracker. Do NOT create a second item.

Be sure to call the plugin only once per page!

The permissions in this profile are for the shopping system only. If your site does need something different feel free to change it.


!DEMO
A simple DEMO-Site is available under:
http://bobshopdemo.bob360.de/tiki212/tiki-index.php

!YAML for Permissions
{CODE(caption=>YAML,wrap=>0)}
permissions:
  Anonymous:
   allow:
    -view 
   deny:
    - create_tracker_items
    - view_trackers
  Registered:
   allow: 
    - view
    - download_files
    - search
   deny: 
    - create_tracker_items
    - view_trackers
    - modify_tracker_items
{CODE}


!YAML for Settings
{CODE(caption=>YAML,wrap=>0)}
preferences:
 allowRegister: 'y'
 feature_alternate_registration_page: 'bobshop_register.php'
 feature_trackers: 'y'
 feature_userPreferences: 'y'
 fgal_elfinder_feature: 'y'
 login_is_email: 'y'
 pass_chr_num: 'y'
 tracker_force_fill: 'y'
 trackerfield_autoincrement: 'y'
 trackerfield_currency: 'y'
 userTracker: 'y'
 user_unique_email: 'y'
 validateEmail: 'y'
 validateUsers: 'n'
 wikiplugin_bobshop: 'y'
 wikiplugin_button: 'y'
 wikiplugininline_remarksbox: 'y'
 wikiplugin_dialog: 'y'
{CODE}

!YAML for trackers

!!config
{CODE(caption=>YAML,wrap=>0)}
permissions: {  }
preferences: {  }
objects:
  -
    type: tracker
    ref: bobshop_config
    data:
      name: bobshop_config
      description: 'Basic configuration stuff for the shop features'
      restrict_end: '0'
      form_classes: ''
      restrict_start: '0'
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigShopName
    data:
      name: shopName
      permname: bobshopConfigShopName
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '0'
      description: 'Name of the shop; used in eMail "From: "'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigOpMode
    data:
      name: opMode
      permname: bobshopConfigOpMode
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
      type: text_field
      order: '10'
      description: 'Operation Mode: default, sandbox, offer, presentation, info'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigActive
    data:
      name: aktiv
      permname: bobshopConfigActive
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
      type: text_field
      order: '20'
      description: "y = shop is open\r\nn = shop is closed"
      visby: {  }
      editby: {  }
      flags:
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigAddToCartButtonText
    data:
      name: addToCartButtonText
      permname: bobshopConfigAddToCartButtonText
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '30'
      description: 'text to display on the add to cart button'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigAddToWatchlistButtonText
    data:
      name: addToWatchlistButtonText
      permname: bobshopConfigAddToWatchlistButtonText
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '40'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigCashierbutton
    data:
      name: cashierButtonText
      permname: bobshopConfigCashierbutton
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '50'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigCheckoutButtonText
    data:
      name: checkoutButtonText
      permname: bobshopConfigCheckoutButtonText
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
      type: text_field
      order: '60'
      description: 'Text for the Checkout Button'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigBuyNowButtonText
    data:
      name: buyNowButtonText
      permname: bobshopConfigBuyNowButtonText
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
      type: text_field
      order: '70'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigShippingCostCat1
    data:
      name: shippingCostCat1
      permname: bobshopConfigShippingCostCat1
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '80'
      description: 'Shipping costs for category 1'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigShippingCostCat2
    data:
      name: shippingCostCat2
      permname: bobshopConfigShippingCostCat2
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '90'
      description: 'Shipping costs for category 2'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigShippingCostCat3
    data:
      name: shippingCostCat3
      permname: bobshopConfigShippingCostCat3
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '100'
      description: 'Shipping costs for category 3'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigTaxrate1
    data:
      name: taxrate1
      permname: bobshopConfigTaxrate1
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '110'
      description: 'Tax rate for product taxrateCat = 1; usually 0  no tax'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigTaxrate2
    data:
      name: taxrate2
      permname: bobshopConfigTaxrate2
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '120'
      description: 'Tax for product taxrate2; reduced tax'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigTaxrate3
    data:
      name: taxrate3
      permname: bobshopConfigTaxrate3
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '130'
      description: 'Tax rate for product taxrateCat = 3; Normal tax'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigShippingCostTaxrateCat
    data:
      name: shippingCostTaxrateCat
      permname: bobshopConfigShippingCostTaxrateCat
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '140'
      description: 'TaxratCat for shipping Costs'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigPaymentDefault
    data:
      name: paymentDefault
      permname: bobshopConfigPaymentDefault
      tracker: '$profileobject:bobshop_config$'
      options:
        trackerId: '$unknownobject:5f9fe3bc66ba1$'
        fieldId: '$unknownobject:5f9fe3bc66bc2$'
        displayFieldsList:
          - '$unknownobject:5f9fe3bc66bc2$'
        displayFieldsListType: dropdown
        status: opc
        preSelectFieldMethod: exact
        displayOneItem: multi
        indexRemote:
          - 0
      type: item_link
      order: '150'
      description: 'this payment method is selected by default in the cashierpage'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigCurrency
    data:
      name: currency
      permname: bobshopConfigCurrency
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '160'
      description: 'Currency for this shop; Euro, Dollar, Schilling, Taler'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigCurrencySymbol
    data:
      name: currencySymbol
      permname: bobshopConfigCurrencySymbol
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
      type: text_field
      order: '190'
      description: '€, $'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigCurrencyShortcut
    data:
      name: currencyShortcut
      permname: bobshopConfigCurrencyShortcut
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '200'
      description: 'EUR (is used for the payment systems)'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigEmailSender
    data:
      name: emailSender
      permname: bobshopConfigEmailSender
      tracker: '$profileobject:bobshop_config$'
      options: {  }
      type: email
      order: '210'
      description: 'this is the sender mail in the "order-received" mail to the buyer'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigCompanySignature
    data:
      name: companySignature
      permname: bobshopConfigCompanySignature
      tracker: '$profileobject:bobshop_config$'
      options:
        distinct: 'n'
        wysiwyg: 'n'
        samerow: 1
      type: text_area
      order: '220'
      description: 'Full name an Address of your company. Is used for mail etc.'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigEmailNotifications
    data:
      name: emailNotifications
      permname: bobshopConfigEmailNotifications
      tracker: '$profileobject:bobshop_config$'
      options: {  }
      type: email
      order: '230'
      description: 'mail for notifications about orders, errors etc.; some admins email is a good choice'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigTermsOfServicePage
    data:
      name: TermsOfServicePage
      permname: bobshopConfigTermsOfServicePage
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '240'
      description: 'Wikipage name; shoppers will be forced to agree to this before purchasing'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigRevocationNotice
    data:
      name: RevocationNotice
      permname: bobshopConfigRevocationNotice
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '250'
      description: 'Wikipage for RevocationNotice; shoppers will be forced to agree to this before purchasing'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigProductPicMissingPic
    data:
      name: productPicMissingPic
      permname: bobshopConfigProductPicMissingPic
      tracker: '$profileobject:bobshop_config$'
      options:
        replace: 'n'
        uploadInModal: 'y'
        addDecriptionOnUpload: 'n'
        requireTitle: 'n'
      type: files
      order: '260'
      description: 'picture to display, if there is no product picture available'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopConfigMemoryOrders
    data:
      name: memoryOrders
      permname: bobshopConfigMemoryOrders
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
      type: text_field
      order: '270'
      description: 'y = orders/carts can be saved and reloaded by the shopper using a memoryCode'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_option
    ref: bobshop_config_sort_default_field
    data:
      tracker: '$profileobject:bobshop_config$'
      name: sort_default_field
      value: modification
{CODE}

!!products
{CODE(caption=>YAML,wrap=>0)}
permissions: {  }
preferences: {  }
objects:
  -
    type: tracker
    ref: bobshop_products
    data:
      name: bobshop_products
      description: 'products to be sold'
      restrict_end: '0'
      form_classes: ''
      restrict_start: '0'
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductProductId
    data:
      name: productId
      permname: bobshopProductProductId
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '0'
      description: 'Unique Id; make sure there are no duplicate IDs.'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductName
    data:
      name: Name
      permname: bobshopProductName
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '10'
      description: 'The basic name of the product'
      visby: {  }
      editby: {  }
      flags:
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductDescription
    data:
      name: Beschreibung
      permname: bobshopProductDescription
      tracker: '$profileobject:bobshop_products$'
      options:
        distinct: 'n'
        wysiwyg: 'n'
        samerow: 1
      type: text_area
      order: '20'
      description: 'Description of the product. See also "wikipageName" and "wikipage" - there can be a whole wikipage linked to the product.'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductPrice
    data:
      name: price
      permname: bobshopProductPrice
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
        decimals: 2
        dec_point: .
        thousands: ','
      type: numeric
      order: '30'
      description: 'the price without VAT'
      visby: {  }
      editby: {  }
      flags:
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductTaxrateCat
    data:
      name: taxrateCat
      permname: bobshopProductTaxrateCat
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '40'
      description: 'tax rate from the config tracker; 1 = 0; 2 = reduced; 3 = default'
      visby: {  }
      editby: {  }
      flags:
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductShippingCat
    data:
      name: shippingCat
      permname: bobshopProductShippingCat
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '50'
      description: 'category from the config tracker for calculate the shipping costs'
      visby: {  }
      editby: {  }
      flags:
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductCategory
    data:
      name: category
      permname: bobshopProductCategory
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '60'
      description: 'Product category; actually not used by bobshop'
      visby: {  }
      editby: {  }
      flags:
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductPic1
    data:
      name: pic1
      permname: bobshopProductPic1
      tracker: '$profileobject:bobshop_products$'
      options:
        replace: 'n'
        uploadInModal: 'y'
        addDecriptionOnUpload: 'n'
        requireTitle: 'n'
      type: files
      order: '70'
      description: 'picture of the product'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductWikipageName
    data:
      name: wikipageName
      permname: bobshopProductWikipageName
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '80'
      description: 'The name of the wikipage that is displayed under the product details page; A wikipage will be created by the tracker; No page is created if nothing is entered.'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductWikipage
    data:
      name: wikipage
      permname: bobshopProductWikipage
      tracker: '$profileobject:bobshop_products$'
      options:
        fieldIdForPagename: '$profileobject:bobshop_products_bobshopProductWikipageName$'
        namespace: none
        syncwikipagename: 'n'
        syncwikipagedelete: 'n'
        toolbars: 1
        wysiwyg: 'n'
        actions: 'n'
        samerow: 1
        removeBadChars: 'n'
      type: wiki
      order: '90'
      description: 'Wikipage of the product; Field wikipageName have to be set in order to save the inputs in this field. The wikipage "wikipageName" will be created.'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductDeliveryTime
    data:
      name: deliveryTime
      permname: bobshopProductDeliveryTime
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '100'
      description: 'How much time does it need to deliver the product'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductEan
    data:
      name: ean
      permname: bobshopProductEan
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
      type: text_field
      order: '110'
      description: EAN
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductMaker
    data:
      name: maker
      permname: bobshopProductMaker
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
      type: text_field
      order: '120'
      description: 'maker of the product'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductActive
    data:
      name: aktiv
      permname: bobshopProductActive
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '130'
      description: '1 = enabled to be displayed in the product list; 0 = no display but still available in the cart'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
  -
    type: tracker_option
    ref: bobshop_products_sort_default_field
    data:
      tracker: '$profileobject:bobshop_products$'
      name: sort_default_field
      value: modification
{CODE}

!!payment
{CODE(caption=>YAML,wrap=>0)}
permissions: {  }
preferences: {  }
objects:
  -
    type: tracker
    ref: bobshop_payment
    data:
      name: bobshop_payment
      description: 'Payment methodes'
      restrict_end: '0'
      form_classes: ''
      restrict_start: '0'
  -
    type: tracker_field
    ref: bobshop_payment_bobshopPaymentName
    data:
      name: Name
      permname: bobshopPaymentName
      tracker: '$profileobject:bobshop_payment$'
      options:
        samerow: 1
      type: text_field
      order: '0'
      description: 'Name for the payment methode (Paypal ...)'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: bobshop_payment_bobshopPaymentPrice
    data:
      name: price
      permname: bobshopPaymentPrice
      tracker: '$profileobject:bobshop_payment$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '10'
      description: 'Pirce for the Payment'
      visby: {  }
      editby: {  }
      flags:
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_payment_bobshopPaymentIcon
    data:
      name: icon
      permname: bobshopPaymentIcon
      tracker: '$profileobject:bobshop_payment$'
      options:
        replace: 'n'
        uploadInModal: 'y'
        addDecriptionOnUpload: 'n'
        requireTitle: 'n'
      type: files
      order: '20'
      description: 'the icon for the payment methode'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_payment_bobshopPaymentMerchantId
    data:
      name: merchantId
      permname: bobshopPaymentMerchantId
      tracker: '$profileobject:bobshop_payment$'
      options:
        samerow: 1
      type: text_field
      order: '30'
      description: 'Id from the payment system (PayPal); is used to compare with the response within the payment prozess'
      visby: {  }
      editby: {  }
      flags:
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_payment_bobshopPaymentMerchantName
    data:
      name: merchantName
      permname: bobshopPaymentMerchantName
      tracker: '$profileobject:bobshop_payment$'
      options:
        samerow: 1
      type: text_field
      order: '40'
      description: "will be submitted to the payment service ;\r\nPayPal = Headline in the payment approval site (brand_name)"
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_payment_bobshopPaymentBuyNowButtonTextExtraText
    data:
      name: buyNowButtonTextExtraText
      permname: bobshopPaymentBuyNowButtonTextExtraText
      tracker: '$profileobject:bobshop_payment$'
      options:
        samerow: 1
      type: text_field
      order: '50'
      description: 'some Text to add to the byNowButtonText, when this payment is selected'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_payment_bobshopPaymentFollowUpScript
    data:
      name: followUpScript
      permname: bobshopPaymentFollowUpScript
      tracker: '$profileobject:bobshop_payment$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '60'
      description: "what to do after the order is submitted\r\n\"PAYPAL\"  runs the paypal payment prozess"
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_payment_bobshopPaymentActive
    data:
      name: aktiv
      permname: bobshopPaymentActive
      tracker: '$profileobject:bobshop_payment$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '70'
      description: '1 = buyer can choose is; 0 = disabled'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
  -
    type: tracker_option
    ref: bobshop_payment_sort_default_field
    data:
      tracker: '$profileobject:bobshop_payment$'
      name: sort_default_field
      value: modification
{CODE}

!!orders
{CODE(caption=>YAML,wrap=>0)}
permissions: {  }
preferences: {  }
objects:
  -
    type: tracker
    ref: bobshop_orders
    data:
      name: bobshop_orders
      description: 'Orders per session'
      restrict_end: '0'
      form_classes: ''
      restrict_start: '0'
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderOrderNumber
    data:
      name: orderNumber
      permname: bobshopOrderOrderNumber
      tracker: '$profileobject:bobshop_orders$'
      options:
        start: 1
      type: auto_increment
      order: '10'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderSessionId
    data:
      name: sessionId
      permname: bobshopOrderSessionId
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '20'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderUser
    data:
      name: Benutzer
      permname: bobshopOrderUser
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
      type: text_field
      order: '30'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderPayment
    data:
      name: payment
      permname: bobshopOrderPayment
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
      type: text_field
      order: '40'
      description: 'payment methode'
      visby: {  }
      editby: {  }
      flags:
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderSumProducts
    data:
      name: sumProducts
      permname: bobshopOrderSumProducts
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '50'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderSumTaxrate1
    data:
      name: sumTaxrate1
      permname: bobshopOrderSumTaxrate1
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
        decimals: 2
        dec_point: .
        thousands: ','
      type: numeric
      order: '60'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderSumTaxrate2
    data:
      name: sumTaxrate2
      permname: bobshopOrderSumTaxrate2
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '70'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderSumTaxrate3
    data:
      name: sumTaxrate3
      permname: bobshopOrderSumTaxrate3
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
        decimals: 2
        dec_point: .
        thousands: ','
      type: numeric
      order: '80'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderSumTaxrates
    data:
      name: sumTaxrates
      permname: bobshopOrderSumTaxrates
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '90'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderSumShipping
    data:
      name: sumShipping
      permname: bobshopOrderSumShipping
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
        decimals: 2
        dec_point: .
        thousands: ','
      type: numeric
      order: '100'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderSumPayment
    data:
      name: sumPayment
      permname: bobshopOrderSumPayment
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
        decimals: 2
        dec_point: .
        thousands: ','
      type: numeric
      order: '110'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderSumEnd
    data:
      name: sumEnd
      permname: bobshopOrderSumEnd
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
        decimals: 2
        dec_point: .
        thousands: ','
      type: numeric
      order: '120'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderStatus
    data:
      name: status
      permname: bobshopOrderStatus
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '130'
      description: '0 = not set; 1 = cart in use; 2 = order submitted; 3 = order confirmed; 4 = order payed; 5 = payed and shipped; 6 = not payed and shipped; 7 = deleted; 10 = invited offer submitted; 11 = offer under progress; 12 = offer sent; 13 - order joined to another; 14 - a saved order'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderAgreedTosDate
    data:
      name: agreedTosDate
      permname: bobshopOrderAgreedTosDate
      tracker: '$profileobject:bobshop_orders$'
      options:
        datetime: dt
        blankdate: blank
      type: datetime
      order: '140'
      description: 'has aggred Terms of Service at this date'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderAgreedRevocationDate
    data:
      name: agreedRevocationDate
      permname: bobshopOrderAgreedRevocationDate
      tracker: '$profileobject:bobshop_orders$'
      options:
        datetime: dt
        blankdate: blank
      type: datetime
      order: '150'
      description: 'agreed to Revocation Notice at this Date'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderSumPaymentName
    data:
      name: sumPaymentName
      permname: bobshopOrderSumPaymentName
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
      type: text_field
      order: '160'
      description: 'The name of the payment service'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderPaymentOrderId
    data:
      name: paymentOrderId
      permname: bobshopOrderPaymentOrderId
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
      type: text_field
      order: '170'
      description: 'the ID from the payment system (PayPal) when creating an order'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderPaymentStatus
    data:
      name: paymentStatus
      permname: bobshopOrderPaymentStatus
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
      type: text_field
      order: '180'
      description: "Status from the payment system (PayPal)\r\nCREATED, APPROVED, ELIGIBLE, COMPLETED"
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderPaymentApproveLink
    data:
      name: paymentApproveLink
      permname: bobshopOrderPaymentApproveLink
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
      type: text_field
      order: '190'
      description: "approve link for the payer to approve the order (Paypal)\r\nthe link will goto the paypal login"
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderPaymentPayeeMerchantId
    data:
      name: paymentPayeeMerchantId
      permname: bobshopOrderPaymentPayeeMerchantId
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
      type: text_field
      order: '200'
      description: 'received merchant_id from the payment system (PayPal)'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderPaymentPayerId
    data:
      name: paymentPayerId
      permname: bobshopOrderPaymentPayerId
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
      type: text_field
      order: '210'
      description: 'the payer from the payment system (the payer can differ to our user)'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderIp
    data:
      name: ip
      permname: bobshopOrderIp
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
      type: text_field
      order: '220'
      description: 'ip adress for the shopper'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderCreated
    data:
      name: erstellt
      permname: bobshopOrderCreated
      tracker: '$profileobject:bobshop_orders$'
      options:
        datetime: dt
        blankdate: blank
      type: datetime
      order: '230'
      description: 'date and time, the order was created'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderModified
    data:
      name: modified
      permname: bobshopOrderModified
      tracker: '$profileobject:bobshop_orders$'
      options:
        datetime: dt
        blankdate: blank
      type: datetime
      order: '240'
      description: 'date and time the order was last modyfied'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderBrowser
    data:
      name: browser
      permname: bobshopOrderBrowser
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
      type: text_field
      order: '250'
      description: 'browser info from the shopper'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderNoteUser
    data:
      name: noteUser
      permname: bobshopOrderNoteUser
      tracker: '$profileobject:bobshop_orders$'
      options:
        distinct: 'n'
        wysiwyg: 'n'
        samerow: 1
      type: text_area
      order: '260'
      description: 'The user can submit some notes'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderNoteInternal
    data:
      name: noteInternal
      permname: bobshopOrderNoteInternal
      tracker: '$profileobject:bobshop_orders$'
      options:
        distinct: 'n'
        wysiwyg: 'n'
        samerow: 1
      type: text_area
      order: '270'
      description: 'Note for internal usage'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderMemoryCode
    data:
      name: memoryCode
      permname: bobshopOrderMemoryCode
      tracker: '$profileobject:bobshop_orders$'
      options:
        samerow: 1
      type: text_field
      order: '280'
      description: 'The user can save the order. BobShop creates this memoryCode to have access'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
  -
    type: tracker_option
    ref: bobshop_orders_sort_default_field
    data:
      tracker: '$profileobject:bobshop_orders$'
      name: sort_default_field
      value: '$profileobject:bobshop_orders_bobshopOrderOrderNumber$'
{CODE}

!!order_items
{CODE(caption=>YAML,wrap=>0)}
permissions: {  }
preferences: {  }
objects:
  -
    type: tracker
    ref: bobshop_order_items
    data:
      name: bobshop_order_items
      description: 'ordered items per order'
      restrict_end: '0'
      form_classes: ''
      restrict_start: '0'
  -
    type: tracker_field
    ref: bobshop_order_items_bobshopOrderItemProductId
    data:
      name: productId
      permname: bobshopOrderItemProductId
      tracker: '$profileobject:bobshop_order_items$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '10'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: bobshop_order_items_bobshopOrderItemOrderNumber
    data:
      name: orderNumber
      permname: bobshopOrderItemOrderNumber
      tracker: '$profileobject:bobshop_order_items$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '20'
      visby: {  }
      editby: {  }
      flags:
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_order_items_bobshopOrderItemQuantity
    data:
      name: quantity
      permname: bobshopOrderItemQuantity
      tracker: '$profileobject:bobshop_order_items$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '30'
      visby: {  }
      editby: {  }
      flags:
        - list
        - public
  -
    type: tracker_option
    ref: bobshop_order_items_sort_default_field
    data:
      tracker: '$profileobject:bobshop_order_items$'
      name: sort_default_field
      value: modification
{CODE}

!!user
{CODE(caption=>YAML,wrap=>0)}
permissions: {  }
preferences: {  }
objects:
  -
    type: tracker
    ref: user
    data:
      name: User
      description: ''
      restrict_end: '0'
      form_classes: ''
      restrict_start: '0'
  -
    type: tracker_field
    ref: user_userUser
    data:
      name: Benutzer
      permname: userUser
      tracker: '$profileobject:user$'
      options:
        autoassign: 1
        owner: 1
        notify_template_format: text
        groupIds:
          - 0
        canChangeGroupIds:
          - 0
      type: user
      order: '0'
      visby: {  }
      editby:
        - admin
      flags:
        - link
        - list
        - public
  -
    type: tracker_field
    ref: user_userTitle
    data:
      name: Anrede
      permname: userTitle
      tracker: '$profileobject:user$'
      options:
        options:
          - Frau
          - Herr
          - Firma
      type: radio
      order: '10'
      visby: {  }
      editby: {  }
      flags:
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userFirstName
    data:
      name: Vorname
      permname: userFirstName
      tracker: '$profileobject:user$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '20'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userName
    data:
      name: Nachname
      permname: userName
      tracker: '$profileobject:user$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '30'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userStreet
    data:
      name: Straße
      permname: userStreet
      tracker: '$profileobject:user$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '40'
      visby: {  }
      editby: {  }
      flags:
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userZip
    data:
      name: PLZ
      permname: userZip
      tracker: '$profileobject:user$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '50'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userCity
    data:
      name: Ort
      permname: userCity
      tracker: '$profileobject:user$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '60'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userCountry
    data:
      name: Land
      permname: userCountry
      tracker: '$profileobject:user$'
      options:
        options:
          - Deutschland
          - Österreich
      type: dropdown
      order: '70'
      visby: {  }
      editby: {  }
      flags:
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userPhone
    data:
      name: Telefon
      permname: userPhone
      tracker: '$profileobject:user$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '80'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_option
    ref: user_sort_default_field
    data:
      tracker: '$profileobject:user$'
      name: sort_default_field
      value: modification
{CODE}


!YAML for Wiki pages

{CODE(caption=>YAML,wrap=>0)}
objects:
 -
    type: wiki_page
    data:
      name: bobshop_cart
      mode: create_or_update
      content: Inhalt Warenkorb {bobshop type="show_cart"}
 -
    type: wiki_page
    data:
      name: bobshop_cashierpage
      mode: create_or_update
      content: Kasse {bobshop type="show_cashier"}
 -
    type: wiki_page
    data:
      name: bobshop_checkout
      mode: create_or_update
      content: Checkout/Summary{bobshop type="checkout"}
 -
    type: wiki_page
    data:
      name: bobshop_order_submitted
      mode: create_or_update
      content: Merci! {bobshop type="order_submitted"}
 -
    type: wiki_page
    data:
      name: bobshop_paypalAfterTransaction
      mode: create_or_update
      content: payed {bobshop type="paypal_after_transaction"}
 -
    type: wiki_page
    data:
      name: Shop
      mode: create_or_update
      content: Products {bobshop type="show_shop"}
 -
    type: wiki_page
    data:
      name: bobshop_shipping
      mode: create_or_update
      content: Shipping Costs
{CODE}
        

History

Information Version
Tue 24 of Aug, 2021 08:27 UTC Bob append removed 78
Tue 24 of Aug, 2021 08:24 UTC Bob mailformed 77
Tue 24 of Aug, 2021 08:22 UTC Bob wikipages create_or_append 76
Tue 24 of Aug, 2021 08:18 UTC Bob wikipages update again and hints for changes 75
Tue 24 of Aug, 2021 08:15 UTC Bob wikipages only create no update 74
Tue 24 of Aug, 2021 07:52 UTC Bob yml updated 73
Tue 24 of Aug, 2021 07:49 UTC Bob payment tracker yml 72
Tue 24 of Aug, 2021 07:41 UTC Bob unknownobjects replaced 71
Mon 23 of Aug, 2021 14:47 UTC Bob v1_92_1 70
Sun 22 of Aug, 2021 14:24 UTC Bob v1_91_1 69
Sun 22 of Aug, 2021 13:35 UTC Bob bobshop_admin show_admin 68
Sun 22 of Aug, 2021 13:32 UTC Bob v1_91_0 67
Wed 18 of Aug, 2021 21:15 UTC Bob some typos 66
Wed 18 of Aug, 2021 16:54 UTC Bob new version v1_9_0 65
Mon 09 of Aug, 2021 14:56 UTC Bob new version v1_8_1 64
Fri 06 of Aug, 2021 10:07 UTC luciash d' being 🧙 some typos fixes and improvements in the text 63
Fri 04 of Jun, 2021 12:06 UTC Bob create_or_update for wiki_page 62
Fri 04 of Jun, 2021 12:02 UTC Bob update v1_7_0 61
Wed 04 of Nov, 2020 08:25 UTC Bob permissions 60
Tue 03 of Nov, 2020 17:08 UTC Bob user perm 59
Tue 03 of Nov, 2020 17:00 UTC Bob perms 58
Mon 02 of Nov, 2020 16:19 UTC Bob version 1_6_2 57
Mon 02 of Nov, 2020 14:50 UTC Bob install descr 56
Mon 02 of Nov, 2020 11:26 UTC Bob v1_6_1 55
Mon 02 of Nov, 2020 11:10 UTC Bob version 1_6 54
Collapse/expand modules below