Loading...
 

Barter_Market

The goal is to allow the customization of a new tiki site in a few clicks into a site which supports local barter markets, without using community currency features. It can be further customized as each community wants to be also their main website (Extranet and Intranet with wiki pages, forums, calendars, newsletters, blogs, file galleries, spreadsheets. freetags, fine grained permission system, integrated search respecting access permissions, ...).

Related sites:

Click to enlarge
Click to enlarge

Click to enlarge
Click to enlarge




1. Implementation

  • minimal fields required for a database of offers, a database of wants, and another want of people, which can be linked through users.
  • a few modules added, including a wiki page menu
  • just one column (right, for instance)
  • Offers page demonstrates the use of PluginTrackerList with Pretty Tracker type of display
  • Wants page demonstrates the use of PluginTrackerList with a jquery Table Sorter type of display.

Pages used by this profile:
14 pages found for title search 'barter'





2. Preferences


General

YAML
preferences:
 allowRegister: y
 browsertitle: $profilerequest:Browser Title$Our barter community$
 feature_actionlog: y
 feature_categories: y
 feature_cssmenus: y
 feature_display_my_to_others: y
 feature_file_galleries_author: y
 feature_file_galleries: y
 feature_freetags: y
 feature_group_watches: y
 feature_lang_use_db: y
 feature_messages: y
 feature_multilingual: y
 feature_mytiki: y
 feature_search_fulltext: y
 feature_site_send_link: y
 feature_trackers: y
 feature_userPreferences: y
 feature_user_watches : y
 feature_wiki_argvariable: y
 feature_wiki: y
 feature_jquery_tablesorter: y
 jquery_ui_chosen: y
 forgotPass: y
 log_mail: y
 sitemycode_publish: y
 sitesubtitle: $profilerequest:Site Subtitle$Join us$
 sitetitle: $profilerequest:sitetitle$Our Barter Market$
 trackerfield_autoincrement: y
 trackerfield_itemlink: y
 trackerfield_itemslist: y
 trackerfield_image: y
 userTracker: y
 wiki_creator_admin: y
 wiki_watch_author: y
 wiki_watch_editor: y
 user_show_realnames: n
instructions: Instructions


3. User Interface (YAML)

3.1.1. Top bar menu

YAML
preferences:
 feature_sitemenu : y
 feature_topbar_id_menu: $profileobject:Barter_market_horizontal_menu$
 feature_top_bar: y


3.1.2. Wiki side menu

This will add the page Barter_Market_menupage as the menu content

YAML
objects:
  -
    type: wiki_page
    ref: barter_market_menupage_include
    data:
      name: Menu
      description: Simple menu based on a wiki page
      lang: en
      mode: create_or_update
      content: wikicontent:Barter_Market_menupage


3.1.3. Horizontal Menu items

YAML
objects:
 -
  type: menu
  ref: Barter_market_horizontal_menu
  data:
   name: My Menu
   description: A menu containing the base navigation of the site
   collapse: none
   items:
     - 
      name: Home
      url: index.php
     - 
      name: About
      items:
         - 
          name: Community
          url: ((Community))
     - 
      name: Calendar
      url: tiki-calendar.php
     - 
      name: Forums
      url: tiki-forums.php
     - 
      name: Files
      url: tiki-list_file_gallery.php
     - 
      name: Help
      items:
         - 
          name: Wiki Syntax Help
          url: ((Wiki Help))
     -
      name: Admin menu
      url: tiki-admin_menus.php
      permissions: [ edit_menu ]


3.2. Modules


YAML
objects:
 -
  type: module
  ref: module_menupage
  data:
   name: menupage
   position: left
   groups: [ Anonymous, Registered ]
   order: 15
   params:
    pagemenu: $barter_market_menupage_include
 -
  type: module
  ref: module_breadcrumb
  data:
   position: left
   order: 25
   name: breadcrumb
   groups: [ Anonymous ]


4. Object Creation (YAML)


4.1. Wiki Pages

YAML
objects:
  -
    type: wiki_page
    ref: barter_market_homepage_include
    data:
      name: Welcome
      description: Home page
      lang: en
      mode: create_or_update
      content: wikicontent:Barter_Market_HomePage
  -
    type: wiki_page
    ref: barter_market_registered_homepage_include
    data:
      name: Registered HomePage
      description: Registered Members HomePage
      lang: en
      mode: create_or_update
      content: wikicontent:Barter_Market_Registered_HomePage
  -
    type: wiki_page
    ref: barter_market_instructions_include
    data:
      name: Instructions
      description: Profile Instructions
      lang: en
      mode: create_or_update
      content: wikicontent:Barter_Market_Instructions
  -
    type: wiki_page
    ref: barter_market_about_include
    data:
      name: Community
      description: About the Community behind this Barter Market
      lang: en
      mode: create_or_update
      content: wikicontent:Barter_Market_About
  -
    type: wiki_page
    ref: barter_market_help_include
    data:
      name: Wiki Help
      description: Wiki Syntax Help
      lang: en
      mode: create_or_update
      content: wikicontent:Simple_Sample_Page


4.2. Wiki plugins

YAML
preferences:
 wikiplugin_addtocart: y
 wikiplugin_cclite: n
 wikiplugin_trackerfilter: y
 wikiplugin_trackerlist: y
 wikiplugin_trade: n
 wikiplugin_tr: y
 wikiplugin_perm: y
 wikiplugin_inline_addtocart: n
 wikiplugin_inline_cclite: n
 wikiplugin_inline_trackerfilter: n
 wikiplugin_inline_trackerlist: n
 wikiplugin_inline_trade: n
 wikiplugin_inline_tr: n
 wikiplugin_inline_perm: n


YAML
objects:
 -
  type: file_gallery
  ref: General_File_Gallery
  data:
   name: General
   description: Images & files
   owner: admin
   archives: 0
   flags: [ public, visible, lockable ]
   column: [ icon, name, created, creator, files ]


Forum

YAML
objects:
 -
  type: forum
  ref: General_Forum
  data:
   name: Discussion forum
   attachments: everyone
   enable: [ topic_smiley ]
   list: [ topic_reads ]



5. Groups & Permissions (YAML)


Name Description
Anonymous Anonymous users can read articles
Registered Just self-register with an email address
Editors Can destroy & edit all content
SubAdmins Almost all powers
Admins All powers



YAML
permissions:
 Anonymous:
  allow:
   - download_files
   - list_file_galleries
   - list_trackers
   - payment_view
   - read_comments
   - search
   - tracker_view_comments
   - tracker_view_ratings
   - view
   - view_category
   - view_fgal_explorer
   - view_fgal_path
   - view_file_gallery
   - view_freetags
   - view_trackers
   - view_trackers_pending
   - wiki_view_comments
   - wiki_view_history
   - wiki_view_source
  objects:
   -
    type: category
    id: $category_pretty_tracker_templates
    allow: [ use_as_template ]
    deny: [ view, edit ]
   -
    type: wiki_page
    id: Profile_Barter_OfferList_Template
    allow: [ view, use_as_template ]
    deny: [  ]
   -
    type: wiki_page
    id: Profile_Barter_Offer_Template
    allow: [ view, use_as_template ]
    deny: [  ]
   -
    type: wiki_page
    id: Profile_Barter_WantList_Template
    allow: [ view, use_as_template ]
    deny: [  ]
   -
    type: wiki_page
    id: Profile_Barter_Want_Template
    allow: [ view, use_as_template ]
    deny: [  ]
 Registered:
  user_tracker: $tracker_people
  user_tracker_field: $tracker_people_login
  registration_fields: [ $tracker_people_name, $tracker_people_business, $tracker_people_mobile, $tracker_people_interests ]
  allow:
   - attach_trackers
   - comment
   - comment_tracker_items
   - create_tracker_items
   - add_object
   - remove_object
   - edit
   - edit_categorized
   - freetags_tag
   - messages
   - payment_manual
   - payment_request
   - post_comments
   - tracker_vote_ratings
   - upload_files
   - upload_picture
   - watch_trackers 
 Customers:
  include: [ Registered ]
  description: Users who have made some exchange
  allow: []
 Editors:
  include: Registered
  description: Can approve & delete
  allow: 
   - admin_banners
   - admin_banning
   - admin_categories
   - create_category
   - admin_comments
   - admin_file_galleries
   - admin_freetags
   - admin_newsletters
   - admin_notifications
   - admin_rssmodules
   - admin_wiki
   - broadcast
   - broadcast_all
   - clean_cache
   - edit_menu
   - edit_menu_option
   - export_tracker
   - lock
   - minor
   - modify_tracker_items
   - plugin_approve
   - plugin_preview
   - use_HTML
   - wiki_admin_attachments
   - view_trackers_closed
   - view_trackers_pending
 SubAdmins:
  include: Editors
  description: Site sub-administrators
  allow:
   - adminusers
   - trust_input
 Admins:
  include: SubAdmins
  allow:
   - admin



5.1. Categories


List of topics of items offered, or wanted, to be shown as types of offers, and/or types of wants.

YAML
objects:
 -
  type: category
  ref: category_offers
  data:
   name: Offers
   description: Base category for all offers
 -
  type: category
  ref: category_objects
  data:
   name: Objects
   parent: $category_offers
 -
  type: category
  ref: category_knowledge
  data:
   name: Knowledge
   parent: $category_offers
 -
  type: category
  ref: category_time_based_services
  data:
   name: Services (time based)
   parent: $category_offers
 -
  type: category
  ref: category_pretty_tracker_templates
  data:
   name: Pretty Tracker Templates
   description: For Wiki pages serving as templates for Tracker and TrackerList wikiplugins
   items:
    - [ wiki_page, $page_offerlist_tpl ]
    - [ wiki_page, $page_offer_tpl ]
    - [ wiki_page, $page_wantlist_tpl ]
    - [ wiki_page, $page_want_tpl ]


5.2. Offers


The tracker fields are left to a minimum. More fields can be added for specific details about offers.

YAML
objects:
 -
  type: tracker
  ref: tracker_offers
  data:
   name: Offers
   description: Offers of goods, knowledge, and services.
   default_status: open
   show: [ status, creation_date, modification_date, list_modification_date ]
   allow: [ comments, creator_modification ]
 -
  type: tracker_field
  ref: tracker_offers_code
  data:
   name: Offer Code
   description: Unique offer code id
   tracker: $tracker_offers
   type: auto_increment
   options: ,,,itemId
   flags: [ public, mandatory ]
   order: 1
 -
  type: tracker_field
  ref: tracker_offers_title
  data:
   name: Title
   description: Main display name of the offer
   tracker: $tracker_offers
   type: text_field
   flags: [ searchable, public, list, mandatory, link ]
   order: 10
 -
  type: tracker_field
  ref: tracker_offers_description
  data:
   name: Description
   description: More info
   tracker: $tracker_offers
   type: text_area
   flags: [ searchable, public, list ]
   order: 20
 -
  type: tracker_field
  ref: tracker_offers_category
  data:
   name: Category
   description: Offer category
   tracker: $tracker_offers
   type: category
   options: $profileobject:category_offers$,checkbox
   flags: [ searchable, public, mandatory, list ]
   order: 30
 -
  type: tracker_field
  ref: tracker_offers_weight
  data:
   name: Weight
   description: The weight of the offer (most likely in grammes)
   tracker: $tracker_offers
   type: numeric
   flags: [ searchable ]
   order: 80
 -
  type: tracker_field
  ref: tracker_offers_image
  data:
   name: Image
   description: Main image of the offer for offer detail page
   tracker: $tracker_offers
   type: image
   options: 100,100,600,600,1000,item
   flags: [ public, list, link ]
   order: 90
 -
  type: tracker_field
  ref: tracker_offers_user
  data:
   name: Person who offers it
   description: Person who is offer it
   tracker: $tracker_offers
   type: user
   options: 1,0
   flags: [ public, list, searchable ]
   order: 100
 -
  type: tracker_field
  ref: tracker_offers_wants_same_user
  data:
   name: Wants of the same person
   description: Active wants from the same person who is offer it
   tracker: $tracker_offers
   type: item_list
   options: $profileobject:tracker_wants$, $profileobject:tracker_wants_user$, $profileobject:tracker_offers_user$, $profileobject:tracker_wants_title$,op
   flags: [ public, list, link ]
   order: 110
 -
  type: tracker_field
  ref: tracker_offers_since
  data:
   name: Since
   description: Offer available starting on
   tracker: $tracker_offers
   type: calendar
   options: d,1
   flags: [ public, list, searchable ]
   order: 120


5.3. Wants

The tracker fields are left to a minimum. More fields can be added for specific details about wants.

YAML
objects:
 -
  type: tracker
  ref: tracker_wants
  data:
   name: Wants
   description: Wants of goods, services and knowledge.
   default_status: open
   show: [ status, creation_date, modification_date, list_modification_date ]
   allow: [ comments, creator_modification ]
 -
  type: tracker_field
  ref: tracker_wants_code
  data:
   name: Want Code
   description: Unique want code id
   tracker: $tracker_wants
   type: auto_increment
   options: ,,,itemId
   flags: [ public, mandatory ]
   order: 1
 -
  type: tracker_field
  ref: tracker_wants_title
  data:
   name: Title
   description: Main display name of the want
   tracker: $tracker_wants
   type: text_field
   flags: [ searchable, public, list, mandatory, link ]
   order: 10
 -
  type: tracker_field
  ref: tracker_wants_description
  data:
   name: Description
   description: More info
   tracker: $tracker_wants
   type: text_area
   flags: [ searchable, public, list ]
   order: 20
 -
  type: tracker_field
  ref: tracker_wants_category
  data:
   name: Category
   description: Want category (so far the same as the offers)
   tracker: $tracker_wants
   type: category
   options: $profileobject:category_offers$,checkbox
   flags: [ searchable, public, mandatory, list ]
   order: 30
 -
  type: tracker_field
  ref: tracker_wants_weight
  data:
   name: Weight
   description: The weight of the want (most likely in grammes)
   tracker: $tracker_wants
   type: numeric
   flags: [ public, searchable ]
   order: 80
 -
  type: tracker_field
  ref: tracker_wants_image
  data:
   name: Image
   description: Main image of the want for the item detail page
   tracker: $tracker_wants
   type: image
   options: 100,100,600,600,1000,item
   flags: [ public, list, link ]
   order: 90
 -
  type: tracker_field
  ref: tracker_wants_user
  data:
   name: Person who wants it
   description: Person who wants it
   tracker: $tracker_wants
   type: user
   options: 1,0
   flags: [ public, list, searchable ]
   order: 100
 -
  type: tracker_field
  ref: tracker_wants_offers_same_user
  data:
   name: Offers of the same person
   description: Active offers from the same person who wants it
   tracker: $tracker_wants
   type: item_list
   options: $profileobject:tracker_offers$, $profileobject:tracker_offers_user$, $profileobject:tracker_wants_user$, $profileobject:tracker_offers_title$, op
   flags: [ public, list, link ]
   order: 110
 -
  type: tracker_field
  ref: tracker_wants_since
  data:
   name: Since
   description: Want needed starting on
   tracker: $tracker_wants
   type: calendar
   options: d,1
   flags: [ public, list, searchable ]
   order: 120


5.4. People


YAML
objects:
 -
  type: tracker
  ref: tracker_people
  data:
   name: People
   description: People registered
   allow: [ one_item_per_user, creator_modification ]
   default_status: open
 -
  type: tracker_field
  ref: tracker_people_login
  data:
   name: login
   tracker: $tracker_people
   type: user
   flags: [ searchable, public, list, mandatory, link ]
   order: 1
   options: 1
 -
  type: tracker_field
  ref: tracker_people_name
  data:
   name: Name
   tracker: $tracker_people
   type: text_field
   flags: [ public, list, mandatory, link ]
   order: 10
 -
  type: tracker_field
  ref: tracker_people_business
  data:
   name: Business Name
   tracker: $tracker_people
   type: text_field
   flags: [ public ]
   order: 30 
 -
  type: tracker_field
  ref: tracker_people_mobile
  data:
   name: Mobile Phone
   tracker: $tracker_people
   type: text_field
   flags: []
   order: 40 
 -
  type: tracker_field
  ref: tracker_people_interests
  data:
   name: Short Description
   description: Very short description of interests from each person.
   tracker: $tracker_people
   type: text_area
   flags: [ public ]
   order: 100


6. Sample Data


6.1. Sample users

Add some users

YAML
objects:
 -
  type: user
  data: 
    name: user1
    pass: user1
    email: user1@example.com
    change: n
    groups: [ Registered ]
 -
  type: user
  data: 
    name: user2
    pass: user2
    email: user2@example.com
    change: n
    groups: [ Registered ]



6.2. Sample Offers


YAML
objects:
 -
  type: tracker_item
  ref: offer_001
  data:
   tracker: $Barter_Market:tracker_offers
   status: open
   values:
    - [ $Barter_Market:tracker_offers_code, 1 ]
    - [ $Barter_Market:tracker_offers_title, Beer ]
    - [ $Barter_Market:tracker_offers_description, "Home made beer. Mmmmm, delicious!" ]
    - [ $Barter_Market:tracker_offers_category, $profileobject:category_objects$ ]
    - [ $Barter_Market:tracker_offers_weight, 300 ]
    - [ $Barter_Market:tracker_offers_image,  ]
    - [ $Barter_Market:tracker_offers_user, user1 ]
    - [ $Barter_Market:tracker_offers_wants_same_user,  ]
    - [ $Barter_Market:tracker_offers_since, D(-3 day) ]
 -
  type: tracker_item
  ref: offer_002
  data:
   tracker: $Barter_Market:tracker_offers
   status: open
   values:
    - [ $Barter_Market:tracker_offers_code, 2 ]
    - [ $Barter_Market:tracker_offers_title, GNU/Linux ]
    - [ $Barter_Market:tracker_offers_description, "I'll train you on how to install, manage and take the most out of your computers (new or old) with GNU/Linux! Free & Libre Open-Source Software is good for you!" ]
    - [ $Barter_Market:tracker_offers_category, $profileobject:category_knowledge$ ]
    - [ $Barter_Market:tracker_offers_weight, 750 ]
    - [ $Barter_Market:tracker_offers_image,  ]
    - [ $Barter_Market:tracker_offers_user, user2 ]
    - [ $Barter_Market:tracker_offers_wants_same_user,  ]
    - [ $Barter_Market:tracker_offers_since, D(-2 day) ]
 -
  type: tracker_item
  ref: offer_003
  data:
   tracker: $Barter_Market:tracker_offers
   status: closed
   values:
    - [ $Barter_Market:tracker_offers_code, 3 ]
    - [ $Barter_Market:tracker_offers_title, "Working at an organic farm" ]
    - [ $Barter_Market:tracker_offers_description, "I have some experience working in organic farms, and I can help you in your work" ]
    - [ $Barter_Market:tracker_offers_category, $profileobject:category_time_based_services$ ]
    - [ $Barter_Market:tracker_offers_weight, 50300 ]
    - [ $Barter_Market:tracker_offers_image,  ]
    - [ $Barter_Market:tracker_offers_user, admin ]
    - [ $Barter_Market:tracker_offers_wants_same_user,  ]
    - [ $Barter_Market:tracker_offers_since, D(-1 day) ]




6.3. Sample Wants


YAML
objects:
 -
  type: tracker_item
  ref: want_001
  data:
   tracker: $Barter_Market:tracker_wants
   status: open
   values:
    - [ $Barter_Market:tracker_wants_code, 1 ]
    - [ $Barter_Market:tracker_wants_title, Strawberry plants ]
    - [ $Barter_Market:tracker_wants_description, "Strawbery plants to grow in our terrace" ]
    - [ $Barter_Market:tracker_wants_category, $profileobject:category_objects$ ]
    - [ $Barter_Market:tracker_wants_weight,  ]
    - [ $Barter_Market:tracker_wants_image,  ]
    - [ $Barter_Market:tracker_wants_user, admin ]
    - [ $Barter_Market:tracker_wants_offers_same_user,  ]
    - [ $Barter_Market:tracker_wants_since, D(-3 day) ]
 -
  type: tracker_item
  ref: want_002
  data:
   tracker: $Barter_Market:tracker_wants
   status: pending
   values:
    - [ $Barter_Market:tracker_wants_code, 2 ]
    - [ $Barter_Market:tracker_wants_title, Php + Mysql developing ]
    - [ $Barter_Market:tracker_wants_description, "We need a php + mysql developer to help us fix some bugs in our free and open source software project. We offer this amount in community currency per hour" ]
    - [ $Barter_Market:tracker_wants_category, $profileobject:category_time_based_services$ ]
    - [ $Barter_Market:tracker_wants_weight,  ]
    - [ $Barter_Market:tracker_wants_image,  ]
    - [ $Barter_Market:tracker_wants_user, user1 ]
    - [ $Barter_Market:tracker_wants_offers_same_user,  ]
    - [ $Barter_Market:tracker_wants_since, D(-2 day) ]
 -
  type: tracker_item
  ref: want_003
  data:
   tracker: $Barter_Market:tracker_wants
   status: open
   values:
    - [ $Barter_Market:tracker_wants_code, 3 ]
    - [ $Barter_Market:tracker_wants_title, "Learn to play chess" ]
    - [ $Barter_Market:tracker_wants_description, "We'd love to learn how to play chess" ]
    - [ $Barter_Market:tracker_wants_category, $profileobject:category_knowledge$ ]
    - [ $Barter_Market:tracker_wants_weight, 3000 ]
    - [ $Barter_Market:tracker_wants_image,  ]
    - [ $Barter_Market:tracker_wants_user, user2 ]
    - [ $Barter_Market:tracker_wants_offers_same_user,  ]
    - [ $Barter_Market:tracker_wants_since, D(-2 day) ]
 -
  type: tracker_item
  ref: want_004
  data:
   tracker: $Barter_Market:tracker_wants
   status: open
   values:
    - [ $Barter_Market:tracker_wants_code, 4 ]
    - [ $Barter_Market:tracker_wants_title, "Learn to play bridge" ]
    - [ $Barter_Market:tracker_wants_description, "We'd love to learn how to play bridge" ]
    - [ $Barter_Market:tracker_wants_category, $profileobject:category_knowledge$ ]
    - [ $Barter_Market:tracker_wants_weight, 3000 ]
    - [ $Barter_Market:tracker_wants_image,  ]
    - [ $Barter_Market:tracker_wants_user, user2 ]
    - [ $Barter_Market:tracker_wants_offers_same_user,  ]
    - [ $Barter_Market:tracker_wants_since, D(-1 day) ]
 -
  type: tracker_item
  ref: want_005
  data:
   tracker: $Barter_Market:tracker_wants
   status: pending
   values:
    - [ $Barter_Market:tracker_wants_code, 5 ]
    - [ $Barter_Market:tracker_wants_title, "Learn to play mus" ]
    - [ $Barter_Market:tracker_wants_description, "We'd love to learn how to play mus (if I knew Spanish)" ]
    - [ $Barter_Market:tracker_wants_category, $profileobject:category_knowledge$ ]
    - [ $Barter_Market:tracker_wants_weight, 3000 ]
    - [ $Barter_Market:tracker_wants_image,  ]
    - [ $Barter_Market:tracker_wants_user, user2 ]
    - [ $Barter_Market:tracker_wants_offers_same_user,  ]
    - [ $Barter_Market:tracker_wants_since, D(-1 day) ]


Pretty Things


Pretty Tracker Templates:

YAML
objects:
 -
  type: wiki_page
  ref: page_offer_tpl
  data:
   name: Profile_Barter_Offer_Template
   content: wikicontent:Profile_Barter_Offer_Template
 -
  type: wiki_page
  ref: page_offerlist_tpl
  data:
   name: Profile_Barter_OfferList_Template
   content: wikicontent:Profile_Barter_OfferList_Template
 -
  type: wiki_page
  ref: page_offer
  data:
   name: Offer
   content: wikicontent:Profile_Barter_Offer_Include
 -
  type: wiki_page
  ref: page_offerlist
  data:
   name: Offers
   content: wikicontent:Profile_Barter_OfferList_Include
 -
  type: wiki_page
  ref: page_want_tpl
  data:
   name: Profile_Barter_Want_Template
   content: wikicontent:Profile_Barter_Want_Template
 -
  type: wiki_page
  ref: page_wantlist_tpl
  data:
   name: Profile_Barter_WantList_Template
   content: wikicontent:Profile_Barter_WantList_Template
 -
  type: wiki_page
  ref: page_want
  data:
   name: Want
   content: wikicontent:Profile_Barter_Want_Include
 -
  type: wiki_page
  ref: page_wantlist
  data:
   name: Wants
   content: wikicontent:Profile_Barter_WantList_Include


7. Related



Alias
Barter
Category: release
Category: 12.x
Category: 15.x
Category: 16.x
Category: 17.x