History: Barter_Market
Preview of version: 35
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
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.
You may manually add a lateral Wiki menu for your site through this other related and optional profile:
List of topics of items offered, or demanded, to be shown as types of offers, and/or types of demands.
The tracker fields are left to a minimum. More fields can be added for specific details about offers and demands.
See the development page for the whole project behind this profile: http://dev.tikiwiki.org/cc
Table of contents
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).
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).
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
Copy to clipboard
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)
2.1. Menu
2.1.1. Top bar menu
YAML
Copy to clipboard
preferences: feature_sitemenu : y feature_topbar_id_menu: y feature_topbar_id_menu: $profileobject:Exchange_market_horizontal_menu$ feature_top_bar: y
2.1.2. Menu items
YAML
Copy to clipboard
objects: - type: menu ref: Exchange_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
Copy to clipboard
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
Copy to clipboard
objects: - type: wiki_page ref: exchange_market_homepage_include data: name: HomePage description: Home lang: en mode: create_or_update content: wikicontent:Exchange_Market_HomePage - type: wiki_page ref: exchange_market_registered_homepage_include data: name: Registered HomePage description: Registered Members HomePage lang: en mode: create_or_update content: wikicontent:Exchange_Market_Registered_HomePage - type: wiki_page ref: exchange_market_instructions_include data: name: Instructions description: Profile Instructions lang: en mode: create_or_update content: wikicontent:Exchange_Market_Instructions - type: wiki_page ref: exchange_market_about_include data: name: Community description: About Community lang: en mode: create_or_update content: wikicontent:Exchange_Market_About - type: wiki_page ref: exchange_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
Copy to clipboard
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
Copy to clipboard
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
Copy to clipboard
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
Copy to clipboard
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 demanded, to be shown as types of offers, and/or types of demands.
YAML
Copy to clipboard
objects: - type: category ref: categories_of_items data: name: Categories of items description: Types of offers and demands, 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, $demands:demand_001 ] - [ tracker_item, $demands:demand_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. Offers
The tracker fields are left to a minimum. More fields can be added for specific details about offers and demands.
YAML
Copy to clipboard
objects: - type: tracker ref: offers data: name: Offers description: Offers of goods, knowledge, and services. - type: tracker_field ref: offers_title data: name: Title tracker: $offers type: text_field flags: [ searchable, public, list, mandatory, link ] order: 10 - type: tracker_field ref: categories_of_offers data: name: Categories tracker: $offers type: category options: $profileobject:categories_of_items$ flags: [ searchable, public, mandatory ] order: 20 - type: tracker_field ref: offers_user data: name: User tracker: $offers type: user_selector flags: [ link, searchable, public, editable_by_admins, mandatory ] order: 30 - type: tracker_field ref: demands_of_same_user data: name: Demands from this user tracker: $offers type: item_list options: $profileobject:demands$,$profileobject:demands_user$,$profileobject:offers_user$,$profileobject:demands_title$,1 flags: [ public, list, mandatory, link ] order: 40
4.3. Demands
YAML
Copy to clipboard
objects: - type: tracker ref: demands data: name: Demands description: Demands of goods, knowledge, and services. - type: tracker_field ref: demands_title data: name: Title tracker: $demands type: text_field flags: [ searchable, public, list, mandatory, link ] order: 10 - type: tracker_field ref: categories_of_demands data: name: Categories tracker: $demands type: category options: $profileobject:categories_of_items$ flags: [ searchable, public, mandatory ] order: 20 - type: tracker_field ref: demands_user data: name: User tracker: $demands type: user_selector flags: [ link, searchable, public, editable_by_admins, mandatory ] order: 30 - type: tracker_field ref: offers_of_same_user data: name: Offers of the same person tracker: $demands type: item_list options: $profileobject:offers$,$profileobject:offers_user$,$profileobject:demands_user$,$profileobject:offers_title$,1 flags: [ public, list, mandatory, link ] order: 40
4.4. People
YAML
Copy to clipboard
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. Offers
YAML
Copy to clipboard
objects: - type: tracker_item ref: offer_001 data: tracker: $offers status: open values: - [ $offers_title, "Plant" ] - [ $categories_of_items, $c01_goods ] - [ $offers_user, $profilerequest:Name of User 1$user1$ ] - [ $offers_of_same_user, "" ] - type: tracker_item ref: offers_002 data: tracker: $offers status: open values: - [ $offers_title, "TW T-Shirt" ] - [ $categories_of_items, $second_hand ] - [ $offers_user, $profilerequest:Name of User 2$user2$ ] - [ $offers_of_same_user, "" ]
5.2. Demands
YAML
Copy to clipboard
objects: - type: tracker_item ref: demand_001 data: tracker: $demands status: open values: - [ $demands_title, "Heater" ] - [ $categories_of_items, $c01_goods ] - [ $demands_user, $profilerequest:Name of User 1$user1$ ] - [ $demands_of_same_user, "" ] - type: tracker_item ref: demand_002 data: tracker: $demands status: open values: - [ $demands_title, "Customized T-Shirt" ] - [ $categories_of_items, $second_hand ] - [ $demands_user, $profilerequest:Name of User 2$user2$ ] - [ $demands_of_same_user, "" ]
5.3. Add wiki pages with the trackerlist and trackerfilter
YAML
Copy to clipboard
preferences: enable: [ feature_wiki ] objects: - type: wiki_page ref: offers_page data: name: Offers description: Offers of goods, knowledge and services lang: en content: wikicontent:Profile_Exchange_Market_Offers - type: wiki_page ref: demands_page data: name: Demands description: Demands of goods, knowledge and services lang: en content: wikicontent:Profile_Exchange_Market_Demands
5.4. Permissions
YAML
Copy to clipboard
permissions: Admins: allow: [ admin_trackers ] Anonymous: allow: [ view, wiki_view_history ] objects: - type: tracker id: $offers allow: [ view_trackers, view_trackers_open ] - type: tracker id: $demands allow: [ view_trackers, view_trackers_open ] - type: tracker id: $people allow: [ view_trackers, view_trackers_open ]