History: SNiPTT
Source of version: 40
- ยซ
- ยป
Copy to clipboard
{REMARKSBOX(type="warning",title="Warning",highlight="y")}{CENTER()}__This Profile Is Still Work In Progress !__ __See the [http://dev.tikiwiki.org/tiki-index.php?page=SNiPTT%20Profile|development process page|rel=box;] at dev.tikiwiki.org__ {CENTER}{REMARKSBOX} -=About=- __SNiPTT__ stands for Social Networking in Pretty Tiki Trackers. This profile is intended to help with building a Social Networking website based mainly on the powerful Tiki Trackers feature. !Global Preferences {CODE(caption=>YAML)} preferences: # alphabetically sorted feature_mytiki: y feature_userPreferences: y userTracker: y {CODE} This profile applies two trackers. !User Profile Tracker {CODE(caption=>YAML,wrap=>1)} preferences: feature_trackers: y objects: - type: tracker ref: user_profile_tracker data: name: User Profile description: Additional information about users default_status: open allow: [ one_item_per_user, creator_modification ] hide_list_empty_fields: y show: [creation_date, modification_date, list_modification_date ] sort_default_order: asc - type: tracker_field ref: user_name data: name: User Login Name tracker: $user_profile_tracker type: user flags: [searchable, public, link, list, mandatory] options: 1 order: 10 - type: tracker_field ref: real_name data: name: Real Name tracker: $user_profile_tracker type: preference flags: [searchable, public, list] options: realName order: 20 - type: tracker_field ref: nick_name data: name: User Nick tracker: $user_profile_tracker type: text_field flags: [searchable, public] order: 30 - type: tracker_field ref: welcome_name data: name: Welcome Name tracker: $user_profile_tracker type: text_field flags: [searchable, public] order: 40 {CODE} !User Posts Tracker {CODE(caption=>YAML,wrap=>1)} preferences: feature_trackers: y objects: - type: tracker ref: user_posts_tracker data: name: User Posts description: User posts for "micro-blogging" purposes default_status: open allow: [comments, creator_modification] hide_list_empty_fields: y show: [creation_date, modification_date, list_modification_date ] sort_default_order: asc - type: tracker_field ref: user_post_username data: name: User Login Name tracker: $user_posts_tracker type: user flags: [searchable, public, link, list, mandatory] options: 1 order: 10 - type: tracker_field ref: user_post_body data: name: Post Body tracker: $user_posts_tracker type: a flags: [searchable, public, mandatory] options: 1,80,4,1024,1024 order: 20 {CODE} !Wiki Pages The following wiki pages are applied: * ((SNiPTT_User_Profile)) * ((SNiPTT_Edit_User_Profile)) * ((SNiPTT_All_Users_Posts)) * ((SNiPTT_User_Posts)) The following wiki pages are applied as Pretty Tracker templates: * ((SNiPTT_User_Profile_template)) * ((SNiPTT_Edit_User_Profile_template)) * ((SNiPTT_Edit_User_Post_template)) * ((SNiPTT_User_Posts_template)) First we make sure Wiki feature is on and set up other wiki related preferences used by this profile: {CODE(caption=>YAML,wrap=>1)} preferences: feature_wiki: y feature_wiki_argvariable: y # we are gonna use arg variables in our wiki page templates like {{foo}} (its value will be filled from URL param &foo=bar) {CODE} This Wiki page template will be used by Tracker wikiplugin to display a form to post/edit a User Post: {CODE(caption=>YAML,wrap=>1)} objects: - type: wiki_page ref: edit_user_post_tpl_wiki_page data: name: Edit User Post template content: wikicontent:SNiPTT_Edit_User_Post_template {CODE} Wiki page with posts by myself or by a specified user (when &tr_user=foo is present in URL): {CODE(caption=>YAML,wrap=>1)} objects: - type: wiki_page ref: user_posts_wiki_page data: name: User Posts content: wikicontent:SNiPTT_User_Posts - type: wiki_page ref: user_posts_tpl_wiki_page data: name: User Posts template content: wikicontent:SNiPTT_User_Posts_template {CODE} And an extra Wiki page to show posts from all users: {CODE(caption=>YAML,wrap=>1)} objects: - type: wiki_page ref: all_users_posts_wiki_page data: name: All Users Posts content: wikicontent:SNiPTT_All_Users_Posts {CODE} And finally we apply this Wiki page to display the whole User Profile "home" page: {CODE(caption=>YAML,wrap=>1)} objects: - type: wiki_page ref: user_profile_wiki_page data: name: User Profile content: wikicontent:SNiPTT_User_Profile - type: wiki_page ref: user_profile_tpl_wiki_page data: name: User Profile template content: wikicontent:SNiPTT_User_Profile_template {CODE} And editing part of the User Profile data: {CODE(caption=>YAML,wrap=>1)} objects: - type: wiki_page ref: edit_user_profile_wiki_page data: name: Edit User Profile content: wikicontent:SNiPTT_Edit_User_Profile - type: wiki_page ref: edit_user_profile_tpl_wiki_page data: name: Edit User Profile template content: wikicontent:SNiPTT_Edit_User_Profile_template {CODE} !Categories {CODE(caption=>YAML)} preferences: feature_categories: y objects: - type: category ref: pretty_tracker_templates_category data: name: Pretty Tracker Templates description: For Wiki pages serving as templates for Tracker and TrackerList wikiplugins items: - [ wiki_page, User Profile template ] - [ wiki_page, User Posts template ] - [ wiki_page, Edit User Profile template ] - [ wiki_page, Edit User Post template ] - type: category ref: sniptt_trackers_category data: name: User Trackers description: Trackers related to the SNiPTT profile items: - [ tracker, $user_posts_tracker ] - [ tracker, $user_profile_tracker ] {CODE} !Permissions {CODE(caption=>YAML)} permissions: Registered: description: Will be ignored because group is already created allow: [ ] deny: [ ] objects: - type: category id: $pretty_tracker_templates_category allow: [ use_as_template ] deny: [ view, edit ] objects: - type: category id: $sniptt_trackers_category allow: [ create_tracker_items, view_trackers ] deny: [ ] {CODE}