Loading...
 
Skip to main content

History: BobShop

Source of version: 55

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]

 > 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_1.


!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!


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