Loading...
 
page id: 987 shopping cart system Profiles >  state >  beta Profiles >  Tiki version >  21.x

BobShop


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)


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

Modify Item Link for default payment:
  1. Trackers > List Trackers
  2. click on "bobshop_config"
  3. click on "Fields"
  4. click on "paymentDefault"
  5. go to "Options for Item Link"
  6. set "Tracker ID" to "bobshop_payment" and "Field ID" to "name"
  7. Save the changes


If you want to use PayPal, you have to set up a REST API app in your PayPal-Account.

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

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


Manual

For configuration and administration use the trackers.


DEMO

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

YAML for Permissions

YAML
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



YAML for Settings

YAML
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'


YAML for trackers


config

YAML
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_bobshopOrderShopName
    data:
      name: shopName
      permname: bobshopOrderShopName
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '0'
      description: 'name of the shop'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderOpMode
    data:
      name: opMode
      permname: bobshopOrderOpMode
      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_bobshopOrderActive
    data:
      name: aktiv
      permname: bobshopOrderActive
      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_bobshopOrderAddToCartButtonText
    data:
      name: addToCartButtonText
      permname: bobshopOrderAddToCartButtonText
      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_bobshopOrderAddToWatchlistButtonText
    data:
      name: addToWatchlistButtonText
      permname: bobshopOrderAddToWatchlistButtonText
      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_bobshopOrderCashierbutton
    data:
      name: cashierButtonText
      permname: bobshopOrderCashierbutton
      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_bobshopOrderCheckoutButtonText
    data:
      name: checkoutButtonText
      permname: bobshopOrderCheckoutButtonText
      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_bobshopOrderBuyNowButtonText
    data:
      name: buyNowButtonText
      permname: bobshopOrderBuyNowButtonText
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
      type: text_field
      order: '70'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderShippingCostCat1
    data:
      name: shippingCostCat1
      permname: bobshopOrderShippingCostCat1
      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_bobshopOrderShippingCostCat2
    data:
      name: shippingCostCat2
      permname: bobshopOrderShippingCostCat2
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '90'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderShippingCostCat3
    data:
      name: shippingCostCat3
      permname: bobshopOrderShippingCostCat3
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '100'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderTaxrate1
    data:
      name: taxrate1
      permname: bobshopOrderTaxrate1
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '110'
      description: 'Tax rate for product taxrateCat = 1'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderTaxrate2
    data:
      name: taxrate2
      permname: bobshopOrderTaxrate2
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '120'
      description: 'Tax for product taxrate2'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderTaxrate3
    data:
      name: taxrate3
      permname: bobshopOrderTaxrate3
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
        dec_point: .
        thousands: ','
      type: numeric
      order: '130'
      description: 'Tax rate for product taxrateCat = 3'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderShippingCostTaxrateCat
    data:
      name: shippingCostTaxrateCat
      permname: bobshopOrderShippingCostTaxrateCat
      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_bobshopOrderPaymentDefault
    data:
      name: paymentDefault
      permname: bobshopOrderPaymentDefault
      tracker: '$profileobject:bobshop_config$'
      options:
        trackerId: '$unknownobject:5f857056856b0$'
        fieldId: '$unknownobject:5f857056856c2$'
        displayFieldsList:
          - '$unknownobject:5f857056856c2$'
        displayFieldsListType: dropdown
        status: opc
        preSelectFieldMethod: exact
        displayOneItem: multi
        indexRemote:
          - 0
      type: item_link
      order: '150'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderCurrency
    data:
      name: currency
      permname: bobshopOrderCurrency
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
      type: text_field
      order: '160'
      description: 'Currency for this shop'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderCurrencySymbol
    data:
      name: currencySymbol
      permname: bobshopOrderCurrencySymbol
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
      type: text_field
      order: '190'
      description: '€, $'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderCurrencyShortcut
    data:
      name: currencyShortcut
      permname: bobshopOrderCurrencyShortcut
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
      type: text_field
      order: '200'
      description: EUR
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderEmailSender
    data:
      name: emailSender
      permname: bobshopOrderEmailSender
      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_bobshopOrderCompanySignature
    data:
      name: companySignature
      permname: bobshopOrderCompanySignature
      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_bobshopOrderEmailNotifications
    data:
      name: emailNotifications
      permname: bobshopOrderEmailNotifications
      tracker: '$profileobject:bobshop_config$'
      options: {  }
      type: email
      order: '230'
      description: 'mail for notifications about orders, errors etc.'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderTermsOfServicePage
    data:
      name: TermsOfServicePage
      permname: bobshopOrderTermsOfServicePage
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
      type: text_field
      order: '240'
      description: 'Wikipage name'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_config_bobshopOrderRevocationNotice
    data:
      name: RevocationNotice
      permname: bobshopOrderRevocationNotice
      tracker: '$profileobject:bobshop_config$'
      options:
        samerow: 1
      type: text_field
      order: '250'
      description: 'Wikipage for RevocationNotice'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_option
    ref: bobshop_config_sort_default_field
    data:
      tracker: '$profileobject:bobshop_config$'
      name: sort_default_field
      value: modification


products

YAML
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'
      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
      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'
      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 = verminderter; 3 = normaler'
      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
      type: text_field
      order: '60'
      description: 'product category'
      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'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductWikipageName
    data:
      name: wikipageName
      permname: bobshopProductWikipageName
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
      type: text_field
      order: '80'
      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 name of the product'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: bobshop_products_bobshopProductDeliveryTime
    data:
      name: deliveryTime
      permname: bobshopProductDeliveryTime
      tracker: '$profileobject:bobshop_products$'
      options:
        samerow: 1
      type: text_field
      order: '100'
      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
      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


payment

YAML
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: '10'
      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: '20'
      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: '30'
      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: '40'
      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_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


orders

YAML
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; 10 = invited offer submitted; 11 = offer under progress; 12 = offer sent'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
  -
    type: tracker_field
    ref: bobshop_orders_bobshopOrderAgreedTosDate
    data:
      name: agreedTosDate
      permname: bobshopOrderAgreedTosDate
      tracker: '$profileobject:bobshop_orders$'
      options: {  }
      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: {  }
      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_option
    ref: bobshop_orders_sort_default_field
    data:
      tracker: '$profileobject:bobshop_orders$'
      name: sort_default_field
      value: modification


order_items

YAML
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


user

YAML
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: User
      permname: userUser
      tracker: '$profileobject:user$'
      options:
        autoassign: 1
        owner: 1
        notify_template_format: text
        groupIds:
          - 0
        canChangeGroupIds:
          - 0
      type: user
      order: '20'
      visby: {  }
      editby: {  }
      validation: username
      flags:
        - link
        - list
        - public
  -
    type: tracker_field
    ref: user_userTitle
    data:
      name: title
      permname: userTitle
      tracker: '$profileobject:user$'
      options:
        options:
          - Frau
          - Herr
          - Firma
      type: radio
      order: '30'
      visby: {  }
      editby: {  }
      flags:
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userFirstName
    data:
      name: firstName
      permname: userFirstName
      tracker: '$profileobject:user$'
      options:
        samerow: 1
        autocomplete: 'n'
        exact: 'n'
      type: text_field
      order: '40'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userName
    data:
      name: name
      permname: userName
      tracker: '$profileobject:user$'
      options:
        samerow: 1
      type: text_field
      order: '50'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userZip
    data:
      name: zip
      permname: userZip
      tracker: '$profileobject:user$'
      options:
        samerow: 1
      type: text_field
      order: '60'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userPhone
    data:
      name: phone
      permname: userPhone
      tracker: '$profileobject:user$'
      options:
        samerow: 1
      type: text_field
      order: '90'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_field
    ref: user_userStreetNumber
    data:
      name: streetNumber
      permname: userStreetNumber
      tracker: '$profileobject:user$'
      options:
        samerow: 1
      type: text_field
      order: '100'
      visby: {  }
      editby: {  }
      flags:
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userStreet
    data:
      name: street
      permname: userStreet
      tracker: '$profileobject:user$'
      options:
        samerow: 1
      type: text_field
      order: '110'
      visby: {  }
      editby: {  }
      flags:
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userCity
    data:
      name: city
      permname: userCity
      tracker: '$profileobject:user$'
      options:
        samerow: 1
      type: text_field
      order: '120'
      visby: {  }
      editby: {  }
      flags:
        - link
        - list
        - public
        - mandatory
  -
    type: tracker_field
    ref: user_userCountry
    data:
      name: country
      permname: userCountry
      tracker: '$profileobject:user$'
      options:
        options:
          - Deutschland
          - Österreich
      type: dropdown
      order: '130'
      visby: {  }
      editby: {  }
      flags:
        - public
  -
    type: tracker_option
    ref: user_sort_default_field
    data:
      tracker: '$profileobject:user$'
      name: sort_default_field
      value: modification



YAML for Wiki pages


YAML
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"}

Category: beta