Warning
This Profile Is Still Work In Progress !
See the development process page at dev.tiki.org
See the development process page at dev.tiki.org
Table of contents
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
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%
Dependencies
This profile depends on and applies the following (mini) profile and its snippets in the following order: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
Trackers
preferences: feature_trackers: y
This profile applies the following trackers:
User Tracker
User Tracker mini-profile as dependency including extra additional fields as profile snippets (see above).User Followers Tracker
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
Fields
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
User Posts Tracker
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
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:
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)
SNiPTT Setup Page
After applying the profile an admin is redirected to this setup page with further instructions:objects: - type: wiki_page ref: sniptt_setup_wiki_page data: name: SNiPTT Setup content: wikicontent:SNiPTT_Setup
Edit User Post Page
This Wiki page and template will be used by Tracker wikiplugin to display a form to edit existing User Post: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
User Posts Page
Wiki page with posts by myself or by a specified user (when &tr_user=foo is present in URL):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
All User Posts Page
And an extra Wiki page to show posts from all users:objects: - type: wiki_page ref: all_users_posts_wiki_page data: name: All Users Posts content: wikicontent:SNiPTT_All_Users_Posts
All User Followers Posts Page
And an extra Wiki page to show posts from all user's followers: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
Edit User Profile Page
For editing part of the User Profile data: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
Edit Profile Picture Page
Edit Profile Picture page will load via Ajax to Pop-up box:objects: - type: wiki_page data: name: Edit User Profile Picture content: wikicontent:SNiPTT_Edit_User_Profile_Picture
User Profile Page
Finally we apply this Wiki page to display the whole User Profile "home" page: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
Categories
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 ]
Permissions
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 ]
Users
Create some demo users. This seems to be somehow broken for Tiki =< 5.x :(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$ ]