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: files options: displayMode: img replace: 'n' browseGallery: 'y' uploadInModal: 'y' image_x: '1000' image_y: '1000' addDecriptionOnUpload: 'n' requireTitle: 'n' 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: files options: displayMode: img replace: 'n' browseGallery: 'y' uploadInModal: 'y' image_x: '1000' image_y: '1000' addDecriptionOnUpload: 'n' requireTitle: 'n' 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