The goal is to allow the customization of a new tiki site in a few clicks into a full site which supports ets
local barter markets, including community currency features, which 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, ...). An early prototype for such a system can be found in
http://c2c.ourproject.org/tiki which mimics and aims to extend
http://intercanvis.net among other sites.
See the development page for the whole project behind this profile:
http://dev.tikiwiki.org/cc
Implementation
The following tracker definitions contain the minimal fields required for a database of offerings, and a database of wants, which can be linked through users. In addition, there will be a group tracker for registered users, collecting some extra information from users (like interests for exchanging things, topics they would like to learn from or teach others about). This group tracker will be shown at registration time.
Notes:
It would be very nice also the chance that the user can click on certain check-boxes at registration time (i.e., fields of the group tracker at registration time) in order to let them monitor from the very beginning some general users forum, or community news blog, community newsletter, calendar, etc. I (Xavi) wonder whether this is (or will soon be) possible through the group watch or alert features or by other means.
In order to use this profile with this set of data below (to populate it properly), you need beforehand to create two users in your tiki site: user1 and user2. This is due to the fact that the profiles system isn't able to create users in tiki (at least, so far by the Feb'09).
Pages used by this profile:
One page found for title search '
exchange'
14 pages found for title search '
barter'
1.1.1. Future improvements
- Use filegals for images
- Make datachannel for creating new products, and make new wiki page for each one
1. Preferences
General
YAML
preferences:
allowRegister: y
art_home_title: y
auth_method: y
available_languages: y
browsertitle: $profilerequest:browsertitle$Our barter community$
change_theme: y
cookie_domain: y
cookie_name: y
cookie_path: y
default_wiki_diff_style: y
display_field_order: y
feature_actionlog: y
feature_ajax: y
feature_article_comments: y
feature_articles: y
feature_backlinks: y
feature_best_language: y
feature_blogs: n
feature_calendar : y
feature_categories: y
feature_cms_emails: y
feature_cms_templates: y
feature_comments_post_as_anonymous: y
feature_community_gender: n
feature_community_mouseover: y
feature_cssmenus: y
feature_detect_language: y
feature_display_my_to_others: y
feature_file_galleries_author: y
feature_file_galleries: y
feature_forum_local_search: y
feature_forum_parse: y
feature_forum_quickjump: y
feature_forum_replyempty: y
feature_forums_allow_thread_titles: y
feature_forums_search: y
feature_forums: y
feature_freetags: y
feature_groupalert : n
feature_group_watches : y
feature_iepngfix: y # prevents major ugliness in IE6
feature_jquery: y
feature_layoutshadows: y
feature_messages: y
feature_minichat : n
feature_modulecontrols: y
feature_multilingual: y
feature_mytiki : y
feature_newsletters : y
feature_notepad : n
feature_polls : y
feature_referer_highlight: y
feature_referer_stats: y
feature_right_column: y
feature_score: y
feature_search_show_object_filter: y
feature_search_show_object_type: y
feature_search_show_pertinence: y
feature_search_stats: y
feature_search: y
feature_smileys: y
feature_submissions: y
feature_tasks : n
feature_trackers: y
feature_translation: y
feature_urgent_translation: y
feature_use_quoteplugin: y
feature_user_bookmarks : n
feature_userfiles : n
feature_userPreferences: y
feature_user_watches : y
feature_wikiapproval: n
feature_wiki_argvariable: y
feature_wiki_attachments: y
feature_wiki_comments: y
feature_wiki_multiprint: y
feature_wiki_open_as_structure: y
feature_wiki_print: y
feature_wiki_show_hide_before: y
feature_wiki_structure: y
feature_wiki_userpage_prefix: y
feature_wiki: y
feature_wysiwyg: y
fgal_limit_hits_per_file: y
fgal_prevent_negative_score: y
forgotPass: y
forum_thread_style: y
forum_thread_user_settings_keep: y
limitedGoGroupHome: y
log_mail: y
long_date_format: y
long_time_format: y
modseparateanon: y
payment_currency: $profilerequest:Currency initials$ECO$
payment_feature: y
quantify_changes: y
remembermethod: y
rememberme: y
short_date_format: y
short_time_format: y
sitemycode: y
sitesubtitle: $profilerequest:sitesubtitle$Join us$
sitesubtitle: y
sitetitle: $profilerequest:sitetitle$Our Barter Market$
sitetitle: y
useGroupHome: y
use_minified_scripts: n
user_flip_modules: y
user_show_realnames: y
users_prefs_display_timezone: y
users_prefs_mailCharset: y
users_prefs_mess_sendReadStatus: y
users_prefs_user_information: y
wiki_creator_admin: y
wiki_edit_plugin: y
wiki_page_regex: n
wikiplugin_addtocart: y
wikiplugin_trackerfilter: y
wikiplugin_trackerlist: y
wiki_watch_author: y
wiki_watch_editor: y
2. User Interface (YAML)
YAML
preferences:
feature_sitemenu : y
feature_topbar_id_menu: y
feature_topbar_id_menu: $profileobject:Barter_market_horizontal_menu$
feature_top_bar: y
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: ((HomePage))
-
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 ]
stopped here. To be continued, copying things from TikiKart. 22 May 2010. Xavi
2.2. Modules
YAML
objects:
-
type: module
ref: module_quick_edit
data:
name: quick_edit
position: right
groups: [ Registered ]
order: 3
-
type: module
ref: module_calendar_new
data:
name: calendar_new
position: right
groups: [ Anonymous ]
order: 4
-
type: module
ref: module_upcoming_events
data:
name: upcoming_events
position: right
groups: [ Anonymous ]
order: 5
-
type: module
ref: module_last_blog_posts
data:
name: last_blog_posts
position: right
groups: [ Anonymous ]
order: 10
-
type: module
ref: module_users_rank
data:
name: users_rank
position: right
groups: [ Registered ]
order: 15
-
type: module
ref: module_since_last_visit_new
data:
name: since_last_visit_new
position: right
groups: [ Registered ]
order: 20
3. Object Creation (YAML)
3.1. Wiki Pages
YAML
objects:
-
type: wiki_page
ref: barter_market_homepage_include
data:
name: HomePage
description: Home
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 Community
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
3.2. Wiki plugins
YAML
preferences:
wikiplugin_countdown: y
wikiplugin_div: y
wikiplugininline_div: y
wikiplugin_googledoc: y
wikiplugin_html: y
wikiplugin_iframe: y
wikiplugin_js: y
wikiplugin_mwtable: y
wikiplugin_proposal: y
wikiplugin_redirect: y
wikiplugin_skype: y
wikiplugin_subscribegroup: y
wikiplugin_subscribegroups: y
wikiplugin_tag: y
wikiplugin_titlesearch: y
wikiplugin_tr: y
wikiplugin_userlist: y
wikiplugin_versions: y
wikiplugin_wantedpages: y
wikiplugin_webservice: y
3.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 ]
4. 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
- forum_read
- list_file_galleries
- list_trackers
- live_support
- read_article
- read_blog
- read_comments
- search
- tracker_view_comments
- tracker_view_ratings
- view
- view_calendar
- view_categories
- view_categorized
- view_directory
- view_events
- view_faqs
- view_fgal_explorer
- view_fgal_path
- view_file_gallery
- view_freetags
- view_poll_results
- view_sheet
- view_shoutbox
- view_tiki_calendar
- view_trackers
- view_trackers_closed
- view_trackers_pending
- wiki_view_attachments
- wiki_view_comments
- wiki_view_history
- wiki_view_source
description: Already exists
Registered:
description: Will be ignored because group is already created
allow:
- add_events
- attach_trackers
- blog_post
- comment
- comment_tracker_items
- create_blogs
- create_bookmarks
- create_tracker_items
- edit
- edit_categorized
- edit_sheet
- forums_report
- forum_attach
- forum_edit_own_posts
- forum_post
- forum_post_topic
- forum_vote
- freetags_tag
- messages
- notepad
- plugin_preview
- post_comments
- post_shoutbox
- submit_article
- submit_link
- suggest_faq
- take_quiz
- take_survey
- tasks
- tracker_vote_ratings
- upload_files
- upload_picture
- userfiles
- usermenu
- vote_comments
- vote_poll
- watch_trackers
Editors:
description: Can approve & delete
allow:
- admin_banners
- admin_banning
- admin_calendar
- admin_categories
- admin_cms
- admin_comments
- admin_directory
- admin_dynamic
- admin_faqs
- admin_file_galleries
- admin_forum
- admin_freetags
- admin_newsletters
- admin_notifications
- admin_polls
- admin_quizzes
- admin_rssmodules
- admin_sheet
- admin_shoutbox
- admin_surveys
- admin_wiki
- blog_admin
- broadcast
- broadcast_all
- clean_cache
- detach_translation
- edit_cookies
- edit_dynvar
- edit_languages
- edit_menu
- edit_menu_option
- export_tracker
- live_support_admin
- lock
- minor
- modify_tracker_items
- plugin_approve
- trust_input
- use_HTML
- wiki_admin_attachments
include: Registered
SubAdmins:
include: Editors
allow:
- adminusers
Admins:
include: SubAdmins
allow:
- admin
You may manually add a lateral Wiki menu for your site through this other related and optional profile:
4.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: categories_of_items
data:
name: Categories of items
description: Types of offers and wants, from all goods, knowledge, and services.
-
type: category
ref: c01_goods
data:
name: Goods
parent: $categories_of_items
-
type: category
ref: second_hand
data:
name: Second Hand
parent: $c01_goods
items:
- [ tracker_item, $offers:offer_002 ]
- [ tracker_item, $wants:want_001 ]
- [ tracker_item, $wants:want_002 ]
-
type: category
ref: computer_science
data:
name: Computer Science
parent: $c01_goods
-
type: category
ref: multimedia
data:
name: Multimedia
parent: $c01_goods
-
type: category
ref: other_goods
data:
name: Others
parent: $c01_goods
items:
- [ tracker_item, $offers:offer_002 ]
-
type: category
ref: c02_services
data:
name: Services
parent: $categories_of_items
-
type: category
ref: hair_cuts
data:
name: Hair cuts
parent: $c02_services
-
type: category
ref: ironing
data:
name: ironing
parent: $c02_services
-
type: category
ref: computer_fixing
data:
name: Computer fixing
parent: $c02_services
-
type: category
ref: translations
data:
name: Translations
parent: $c02_services
-
type: category
ref: other_services
data:
name: Others
parent: $c02_services
-
type: category
ref: c03_knowledge
data:
name: Knowledge
parent: $categories_of_items
-
type: category
ref: courses
data:
name: Courses
parent: $c03_knowledge
-
type: category
ref: drawing
data:
name: Drawing
parent:$c03_knowledge
-
type: category
ref: gnu_linux
data:
name: GNU/Linux
parent:$c03_knowledge
-
type: category
ref: video_edition
data:
name: Video Edition
parent:$c03_knowledge
4.2. Offerings
The tracker fields are left to a minimum. More fields can be added for specific details about offerings and wants.
YAML
objects:
-
type: tracker
ref: offerings
data:
name: Offerings
description: Offerings of goods, knowledge, and services.
-
type: tracker_field
ref: offerings_title
data:
name: Title
tracker: $offerings
type: text_field
flags: [ searchable, public, list, mandatory, link ]
order: 10
-
type: tracker_field
ref: categories_of_offerings
data:
name: Categories
tracker: $offerings
type: category
options: $profileobject:categories_of_items$
flags: [ searchable, public, mandatory ]
order: 20
-
type: tracker_field
ref: offerings_user
data:
name: User
tracker: $offerings
type: user_selector
flags: [ link, searchable, public, editable_by_admins, mandatory ]
order: 30
-
type: tracker_field
ref: wants_of_same_user
data:
name: Wants from this user
tracker: $offerings
type: item_list
options: $profileobject:wants$,$profileobject:wants_user$,$profileobject:offerings_user$,$profileobject:wants_title$,1
flags: [ public, list, mandatory, link ]
order: 40
4.3. Wants
YAML
objects:
-
type: tracker
ref: wants
data:
name: Wants
description: Wants of goods, knowledge, and services.
-
type: tracker_field
ref: wants_title
data:
name: Title
tracker: $wants
type: text_field
flags: [ searchable, public, list, mandatory, link ]
order: 10
-
type: tracker_field
ref: categories_of_wants
data:
name: Categories
tracker: $wants
type: category
options: $profileobject:categories_of_items$
flags: [ searchable, public, mandatory ]
order: 20
-
type: tracker_field
ref: wants_user
data:
name: User
tracker: $wants
type: user_selector
flags: [ link, searchable, public, editable_by_admins, mandatory ]
order: 30
-
type: tracker_field
ref: offerings_of_same_user
data:
name: Offerings of the same person
tracker: $wants
type: item_list
options: $profileobject:offerings$,$profileobject:offerings_user$,$profileobject:wants_user$,$profileobject:offerings_title$,1
flags: [ public, list, mandatory, link ]
order: 40
4.4. People
YAML
objects:
-
type: tracker
ref: people
data:
name: People
description: People registered
allow: [ attachments ]
default_status: open
-
type: tracker_field
ref: people_name
data:
name: Name
tracker: $people
type: text_field
flags: [ public, list, mandatory, link ]
order: 10
-
type: tracker_field
ref: people_interests
data:
name: Short Description
description: Very short description of interests from each person.
tracker: $people
type: text_area
flags: [ public ]
order: 60
-
5. Sample Data
5.1. Offerings
YAML
objects:
-
type: tracker_item
ref: offering_001
data:
tracker: $offerings
status: open
values:
- [ $offerings_title, "Plant" ]
- [ $categories_of_items, $c01_goods ]
- [ $offerings_user, $profilerequest:Name of User 1$user1$ ]
- [ $offerings_of_same_user, "" ]
-
type: tracker_item
ref: offerings_002
data:
tracker: $offerings
status: open
values:
- [ $offerings_title, "TW T-Shirt" ]
- [ $categories_of_items, $second_hand ]
- [ $offerings_user, $profilerequest:Name of User 2$user2$ ]
- [ $offerings_of_same_user, "" ]
5.2. Wants
YAML
objects:
-
type: tracker_item
ref: want_001
data:
tracker: $wants
status: open
values:
- [ $wants_title, "Heater" ]
- [ $categories_of_items, $c01_goods ]
- [ $wants_user, $profilerequest:Name of User 1$user1$ ]
- [ $wants_of_same_user, "" ]
-
type: tracker_item
ref: want_002
data:
tracker: $wants
status: open
values:
- [ $wants_title, "Customized T-Shirt" ]
- [ $categories_of_items, $second_hand ]
- [ $wants_user, $profilerequest:Name of User 2$user2$ ]
- [ $wants_of_same_user, "" ]
5.3. Add wiki pages with the trackerlist and trackerfilter
YAML
preferences:
enable: [ feature_wiki ]
objects:
-
type: wiki_page
ref: offerings_page
data:
name: Offerings
description: Offerings of goods, knowledge and services
lang: en
content: wikicontent:Profile_Barter_Market_Offerings
-
type: wiki_page
ref: wants_page
data:
name: Wants
description: Wants of goods, knowledge and services
lang: en
content: wikicontent:Profile_Barter_Market_Wants
5.4. Permissions
YAML
permissions:
Admins:
allow: [ admin_trackers ]
Anonymous:
allow: [ view, wiki_view_history ]
objects:
-
type: tracker
id: $offerings
allow: [ view_trackers, view_trackers_open ]
-
type: tracker
id: $wants
allow: [ view_trackers, view_trackers_open ]
-
type: tracker
id: $people
allow: [ view_trackers, view_trackers_open ]