History: SNiPTT
Source of version: 109 (current)
Copy to clipboard
{REMARKSBOX(type="warning",title="Warning",highlight="y")}{CENTER()}__This Profile Is Still Work In Progress !__ __See the [http://dev.tiki.org/SNiPTT+Profile|development process page|box;] at dev.tiki.org__ {CENTER}{REMARKSBOX}{DIV(class=cbox float=right)}{maketoc}{DIV}{DIV(class=clearfix)} __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.{DIV} ! Global Preferences {CODE(caption=>YAML, wrap=>1)} instructions: SNiPTT Setup # page where admin is redirected after applying the profile preferences: # some mandatory prefs to make sure all will work for us (alphabetically sorted) error_reporting_adminonly: n # enable error reporting for all users (for debugging purposes) error_reporting_level: -1 feature_custom_center_column_header: {if $user}{wiki}[tiki-index.php|Home] | [tiki-index.php?page=User Profile|My Profile] | [tiki-user_preferences.php|Preferences] |Â [tiki-logout.php|Logout]{/wiki}{if $tiki_p_admin eq "y"}{wiki} | [tiki-admin.php?profile=SNiPTT&repository=&page=profiles&list=List|Re-apply the SNiPTT profile]{/wiki}{/if}{/if} # re-apply link - only for development purpose (will be removed from final) feature_fullscreen: y # it is useful to have Fullscreen mode available feature_mytiki: y feature_page_title: $profilerequest:Display page name as page title (y/n)$n$ feature_userPreferences: y feature_wiki_paragraph_formatting: y #avoid unnecessary line breaks (paragraphs are more semantic too) t_use_db: n # do not use db to store trackers files, otherwise it will not work to store profile picture (at least in Tiki 5.1) t_use_dir: $profilerequest:What dir to use to store profile pictures and other files$files$# what directory to use to store tracker files wikiplugin_jq: y wikiplugin_tr: y userTracker: y urlOnUsername: tiki-index.php?page=User+Profile&tr_user=%user% {CODE} ! Dependencies This profile depends on and applies the following (mini) profile and its snippets in the following order: {CODE(caption=>YAML,wrap=>1)} dependencies: - $profiles.tiki.org:User_Tracker:user_tracker - $profiles.tiki.org:User_Tracker_profile_picture_field:user_profile_picture - $profiles.tiki.org:User_Tracker_real_name_field:real_name - $profiles.tiki.org:User_Tracker_nick_name_field:nick_name - $profiles.tiki.org:User_Tracker_welcome_name_field:welcome_name - $profiles.tiki.org:Colorbox_Ajax_Load:cbajaxload_alias {CODE} ! Trackers {CODE(caption=>YAML,wrap=>1)} preferences: feature_trackers: y {CODE} This profile applies the following trackers: !! User Tracker [http://profiles.tiki.org/User_Tracker|User Tracker|box] mini-profile as dependency including extra additional fields as profile snippets (see above). !! User Followers Tracker {CODE(caption=>YAML,wrap=>1)} objects: - type: tracker ref: user_followers_tracker data: name: User Followers description: Who follows whom default_status: open allow: [ creator_modification ] hide_list_empty_fields: y show: [creation_date, modification_date, list_modification_date ] sort_default_order: asc {CODE} !!! Fields {CODE(caption=>YAML,wrap=>1)} objects: - type: tracker_field ref: user_login_name data: name: User Login Name tracker: $user_followers_tracker type: user flags: [ searchable, public, link, list, mandatory ] options: 1 order: 10 - type: tracker_field ref: user_follower_name data: name: Follower tracker: $user_followers_tracker type: user flags: [ searchable, public, link, list, mandatory ] order: 20 {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 - type: tracker_field ref: user_post_body data: name: Post Body tracker: $user_posts_tracker type: a flags: [searchable, public, mandatory] options: 0,80,4,1024,1024 {CODE} ! Wiki Pages The following wiki pages are applied: * ((SNiPTT_User_Profile)) * ((SNiPTT_Edit_User_Profile)) * ((SNiPTT_Edit_User_Profile_Picture)) * ((SNiPTT_All_Users_Posts)) * ((SNiPTT_All_User_Followers_Posts)) * ((SNiPTT_User_Posts)) * ((SNiPTT_Edit_User_Post)) * ((SNiPTT_Setup)) 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)) * ((SNiPTT_User_Follower_Posts_template)) First lets 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} !! SNiPTT Setup Page After applying the profile an admin is redirected to this setup page with further instructions: {CODE(caption=>YAML,wrap=>1)} objects: - type: wiki_page ref: sniptt_setup_wiki_page data: name: SNiPTT Setup content: wikicontent:SNiPTT_Setup {CODE} !! Edit User Post Page This Wiki page and template will be used by Tracker wikiplugin to display a form to edit existing User Post: {CODE(caption=>YAML,wrap=>1)} objects: - type: wiki_page ref: edit_user_post_wiki_page data: name: Edit User Post content: wikicontent:SNiPTT_Edit_User_Post - type: wiki_page ref: edit_user_post_tpl_wiki_page data: name: Edit User Post template content: wikicontent:SNiPTT_Edit_User_Post_template {CODE} !! User Posts Page 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} !! All User Posts Page 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} !! All User Followers Posts Page And an extra Wiki page to show posts from all user's followers: {CODE(caption=>YAML,wrap=>1)} objects: - type: wiki_page ref: all_user_followers_posts_wiki_page data: name: All User Followers Posts content: wikicontent:SNiPTT_All_User_Followers_Posts - type: wiki_page ref: user_follower_posts_template_wiki_page data: name: User Follower Posts template content: wikicontent:SNiPTT_User_Follower_Posts_template {CODE} !! Edit User Profile Page For 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} !! Edit Profile Picture Page Edit Profile Picture page will load via Ajax to Pop-up box: {CODE(caption=>YAML,wrap=>1)} objects: - type: wiki_page data: name: Edit User Profile Picture content: wikicontent:SNiPTT_Edit_User_Profile_Picture {CODE} !! User Profile Page 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} ! 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, User Follower Posts template ] - [ wiki_page, Edit User Profile template ] - [ wiki_page, Edit User Profile Picture 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_followers_tracker ] - [ tracker, $user_posts_tracker ] - [ tracker, $profiles.tiki.org:User_Tracker:user_tracker ] {CODE} ! Permissions {CODE(caption=>YAML)} permissions: Admins: description: Administrator and accounts managers allow: [ admin, trust_input ] Registered: description: Users logged into the system allow: [ ] deny: [ ] objects: - type: category id: $pretty_tracker_templates_category allow: [ use_as_template ] deny: [ view, edit ] - type: category id: $sniptt_trackers_category allow: [ create_tracker_items, view_trackers ] deny: [ modify_tracker_items ] {CODE} ! Users Create some demo users. __This seems to be somehow broken for Tiki =< 5.x__ :( {CODE(caption=>YAML)} objects: - type: users data: name: $profilerequest:Test User 1 Login Name:$foo$ pass: $profilerequest:Password for User 1:$foofoo$ change: $profilerequest:Change password for User 1 after first login? (y/n):$n$ email: $profilerequest:User 1 Email (optional):$foo@foo.foo$ groups: [ $profilerequest:Groups User 1 should be assigned (more groups separate by comma):$Registered$ ] - type: users data: name: $profilerequest:Test User 2 Login Name:$bar$ pass: $profilerequest:Password for User 2:$barbar$ change: $profilerequest:Change password for User 2 after first login? (y/n):$n$ email: $profilerequest:User 2 Email (optional):$bar@bar.bar$ groups: [ $profilerequest:Groups User 2 should be assigned (more groups separate by comma):$Registered$ ] {CODE}