1. Implementation
The following tracker definitions contain the minimal fields required for a database of offers, and a database of demands, 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.
It would be very nice also the change 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).
2. Preferences
YAML
preferences:
style: thenews.css
feature_iepngfix: y # prevents major ugliness in IE6
sitetitle: $profilerequest:sitetitle$Our Exchange Market$
sitesubtitle: $profilerequest:sitesubtitle$Join us$
browsertitle: $profilerequest:browsertitle$Our exchange community$
feature_phplayers: y
feature_cssmenus: y
feature_top_bar: y
feature_sitemenu: y
allowRegister: y
forgotPass: y
feature_articles: y
feature_blogs: n
feature_calendar : y
feature_file_galleries : y
feature_forums : y
feature_polls : y
feature_trackers : y
feature_newsletters : y
feature_categories : y
feature_score : y
feature_trackers : y
feature_search : y
feature_minichat : y
feature_user_watches : y
feature_group_watches : y
feature_groupalert : y
feature_messages : y
feature_notepad : y
feature_tasks : y
feature_mytiki : y
feature_user_bookmarks : y
feature_userfiles : y
feature_userPreferences: y
feature_wiki : y
feature_wiki_print : y
feature_wiki_attachments: y
feature_wiki_comments: y
feature_backlinks: y
feature_wikiapproval: n
wiki_edit_plugin: y
feature_categories: y
feature_file_galleries: y
feature_forums: y
feature_forum_parse: y
modseparateanon: y
feature_modulecontrols: y
wikiplugin_trackerlist: y
wikiplugin_trackerfilter: y
feature_categories: y
feature_actionlog: y
feature_ajax: y
feature_multilingual: y
feature_freetags: y
feature_messages: y
feature_cssmenus: y
feature_referer_stats: y
feature_search: y
feature_wysiwyg: y
feature_jquery: y
use_minified_scripts: n
feature_use_quoteplugin: y
feature_comments_post_as_anonymous: y
useGroupHome: y
limitedGoGroupHome: y
user_show_realnames: y
log_mail: y
feature_display_my_to_others: y
display_field_order: y
long_date_format: y
long_time_format: y
short_date_format: y
short_time_format: y
rememberme: y
remembermethod: y
cookie_name: y
cookie_domain: y
cookie_path: y
auth_method: y
feature_display_my_to_others: y
feature_top_bar: y
feature_sitemenu: y
change_theme: y
feature_layoutshadows: y
sitetitle: y
sitesubtitle: y
sitemycode: y
feature_topbar_id_menu: y
feature_right_column: y
feature_translation: y
feature_urgent_translation: y
feature_best_language: y
feature_detect_language: y
quantify_changes: y
available_languages: y
feature_smileys: y
feature_modulecontrols: y
modseparateanon: y
user_flip_modules: y
feature_community_gender: y
feature_community_mouseover: y
users_prefs_display_timezone: y
users_prefs_user_information: y
users_prefs_mailCharset: y
users_prefs_mess_sendReadStatus: y
wiki_page_regex: n
wiki_creator_admin: y
feature_wiki_multiprint: y
feature_wiki_print: y
feature_wiki_structure: y
feature_wiki_open_as_structure: y
feature_wiki_show_hide_before: y
feature_wiki_userpage_prefix: y
default_wiki_diff_style: y
wiki_watch_author: y
wiki_watch_editor: y
fgal_limit_hits_per_file: y
fgal_prevent_negative_score: y
feature_file_galleries_author: y
feature_submissions: y
feature_article_comments: y
feature_cms_templates: y
feature_cms_emails: y
art_home_title: y
feature_forum_parse: y
feature_forum_replyempty: y
feature_forum_quickjump: y
feature_forum_local_search: y
feature_forums_search: y
feature_forums_allow_thread_titles: y
forum_thread_user_settings_keep: y
forum_thread_style: y
feature_search_stats: y
feature_referer_highlight: y
feature_search_show_object_filter: y
feature_search_show_pertinence: y
feature_search_show_object_type: y
3. User Interface (YAML)
YAML
preferences:
feature_sitemenu : y
feature_topbar_id_menu: $profileobject:Exchange_market_horizontal_menu$
YAML
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 ]
3.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
4. Object Creation (YAML)
4.1. Wiki Pages
YAML
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
4.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
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
- 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:
5.1. Categories
List of topics of items offered, or demanded, to be shown as types of offers, and/or types of demands.
YAML
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
5.2. Offers
The tracker fields are left to a minimum. More fields can be added for specific details about offers and demands.
YAML
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
5.3. Demands
YAML
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
5.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
-
6. Sample Data
6.1. Offers
YAML
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, "" ]
6.2. Demands
YAML
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, "" ]
6.3. Add wiki pages with the trackerlist and trackerfilter
YAML
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
6.4. Permissions
YAML
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 ]