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:
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)
YAML
preferences:
feature_sitemenu : y
feature_topbar_id_menu: $profileobject:Barter_market_horizontal_menu$
feature_top_bar: y
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
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
4.3. File Gallery
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
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
Alias
Barter