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
YAML
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)
feature_custom_center_column_header: {if $user}{wiki}[tiki-index.php|Home] | ((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&page=profiles&list=List|Re-apply this 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_userPreferences: y
wikiplugin_jq: y
userTracker: y
This profile applies the following trackers:
User Profile Tracker
YAML
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
General Fields (Mandatory)
YAML
objects:
-
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
YAML
objects:
-
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
User Posts Tracker
YAML
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
Wiki Pages
The following wiki pages are applied:
The following wiki pages are applied as Pretty Tracker templates:
First lets make sure Wiki feature is on and set up other wiki related preferences used by this profile:
YAML
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)
After applying the profile an admin is redirected to this setup page with further instructions:
YAML
objects:
-
type: wiki_page
ref: sniptt_setup_wiki_page
data:
name: SNiPTT Setup
content: wikicontent:SNiPTT_Setup
This Wiki page template will be used by Tracker wikiplugin to display a form to post/edit a User Post:
YAML
objects:
-
type: wiki_page
ref: edit_user_post_tpl_wiki_page
data:
name: Edit User Post template
content: wikicontent:SNiPTT_Edit_User_Post_template
Wiki page with posts by myself or by a specified user (when &tr_user=foo is present in URL):
YAML
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
And an extra Wiki page to show posts from all users:
YAML
objects:
-
type: wiki_page
ref: all_users_posts_wiki_page
data:
name: All Users Posts
content: wikicontent:SNiPTT_All_Users_Posts
Editing part of the User Profile data:
YAML
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
Finally we apply this Wiki page to display the whole User Profile "home" page:
YAML
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
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 ]
Permissions
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 ]
objects:
-
type: category
id: $sniptt_trackers_category
allow: [ create_tracker_items, view_trackers ]
deny: [ ]
Dependencies
YAML
dependencies: # Could also be called dummy
- $profiles.tikiwiki.org:User_Profile_Picture:user_profile_picture