History: Workspace_Profile

Preview of version: 2

Developer notes for this data channel are on Workspace_Profile_Dev

Readme


Private Spaces The WorkspaceProfile creates, in one step, a new user with content only they (and invited guests) can access. The starter set of content includes wiki pages, two file galleries (one private and one for sharing), and a blog.

Run once for each new private space. Each time you run the profile you can enter an owners name, and it will create a user and a private space for that user.

New objects named after the Users Name: Using the ProfileRequest variables that are submitted, the group, the category and the content all shares variations of the same FirstnameLastName. You can change these object names after the profile is run if desired.

Assigned to private "categroups": The profile creates two matched and auto-permissioned category-group pairs. Two categroups are created. One named after the user, which is their "private workspace" that they invite others into - with read only permissions for guests. The second is the "private" categroup for that user which is intended to contain content they alone can see and edit. Also, only members of the "dev" group can edit the "private area" content. This content will (hopefully) not be visible or listable to other (uninvited) users.

Can include boilerplate content: Wiki pages and blog posts can include boilerplate content based on the current content of the pages being called by the profile. See the wiki pages section below for a list of pages. No boilerplate content is currently provided, but it will look for existing pages in this DB.

Not using perspectives: This setup does not use or require the perspectives feature, only the configuration of categories and groups.

Other features currently disabled: Calendar, Twitter feed, User Menupage Modules are all included in this profile in various stages of (non)functionality. Modules are created but need to be assigned to groups manually.

Alpha version use with caution! This profile creates new objects, so it is unlikely to change existing objects groups or categories, it does not change global permissions.

Tested on 4.x, 5.x, 6.x. Originally made for 4.x.

warning: one little typo in an object reference will rubbish the whole profile. be precise. :)



please forward any questions/suggestions to mlpilling@gmail.com



1. Create Users (non-functioning?)

Supposed to work in 6.x, may require debugging or can't work with the profile requests. TBA. Currently you will have to create your user (or use existing ones) and assign them to the groups after the fact.

YAML
objects: - type: users data: - name: $profilerequest:FirstName$FirstName$ $profilerequest:LastName$LastName$ pass: hatchling group: [$profilerequest:LastName$LastName$ Dev,$profilerequest:LastName$LastName$]




2. Create Categories


to categorize a wiki page in the profile, add an extra line where all the other - [ wiki_page, ....stuff ] is. include the name if the page (if it is also being created by the profile, you must use a reference. (each wiki page should have a "ref:" you just put a dollar sign in front here.

- [ wiki_page, $stuff ]

make sure you are placing it in the right category by deciphering the "name:" or the "ref:" for the category.


YAML
objects: - type: category ref: owner_category data: name: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ description: For the guests and associates of $profilerequest:FirstName$FirstName$ $profilerequest:LastName$LastName$ items: - [ wiki_page, $owner_name ] - [ wiki_page, $owner_photos ] - [ wiki_page, $owner_hello ] - [ wiki_page, $owner_content_list ] - [ wiki_page, $owner_guest_menu ] - [ wiki_page, $owner_menu ] - [ file gallery, $owner_gallery] - [ blog, $owner_blog] - type: category ref: private_category data: name: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Private description: For $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Only items: - [ wiki_page, $owner_content_list ] - [ wiki_page, $owner_photos ] - [ wiki_page, $owner_hello ] - [ wiki_page, $owner_menu ] - [ wiki_page, $owner_guest_menu ] - [ file gallery, $private_gallery] - [ file gallery, $owner_gallery] - [ blog, $owner_blog]


3. Create Groups

YAML
mappings: Owner: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ private: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Private permissions: Owner: include: [ Registered ] home: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ objects: - type: category id: $owner_category private: include: [ Member, Registered ] home: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ default_category: $private_category objects: - type: category id: $private_category



4. Assign Categories & permissions


Owner Category

YAML
permissions: Owner: objects: - type: category id: $owner_category allow: - read_blog - view_events - view_calendar - view_tiki_calendar - search_categorized - view_categorized - vote_comments - post_comments - read_comments - suggest_faq - view_faqs - view_fgal_path - view_file_gallery - view_fgal_explorer - download_files - list_file_galleries - forum_read - group_view - group_view_members - view_html_pages - list_newsletters - subscribe_newsletters - vote_poll - view_poll_voters - view_poll_results - view_quiz_stats - take_quiz - take_survey - view_survey_stats - site_report - search - view_trackers - list_trackers - tracker_view_ratings - tracker_view_comments - comment_tracker_items - wiki_view_attachments - view private: - type: category id: $owner_category allow: - wiki_attach_files - read_blog - post_blog


Owner Dev Category

YAML
permissions: private: objects: - type: category id: $private_category allow: - read_blog - blog_post - view_events - view_calendar - add_object - view_tiki_calendar - search_categorized - view_categorized - vote_comments - post_comments - read_comments - suggest_faq - view_faqs - view_fgal_path - view_file_gallery - view_fgal_explorer - download_files - upload_files - list_file_galleries - forum_read - group_view - group_view_members - view_html_pages - list_newsletters - subscribe_newsletters - vote_poll - view_poll_voters - view_poll_results - view_quiz_stats - take_quiz - take_survey - view_survey_stats - site_report - search - view_trackers - list_trackers - tracker_view_ratings - tracker_view_comments - comment_tracker_items - wiki_view_attachments - view - edit - wiki_attach_files



Creating New Objects

5. Create File Galleries

YAML
objects: - type: file_gallery ref: private_gallery data: name: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Private Files description: Private Gallery for $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ archives: 0 parent: 6 flags: [ public, visible, lockable ] column: [ icon, id, name, description, size, created, creator, files ] - type: file_gallery ref: owner_gallery data: name: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Shared Files description: Public Gallery for $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ archives: 0 parent: 6 flags: [ public, visible, lockable ] column: [ icon, id, name, description, size, created, creator, files ] popup: [explorer, comment]



6. Create a Calendar (DISABLED)

YAML

Turned off because it is buggy
objects:
-
type: calendar
ref: owner_calendar
data:
name: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$
mode: create_or_update
options:
show_name: y type: calendar


7. Blog and Readme Post

YAML
objects: - type: blog ref: owner_blog data: title: $profilerequest:Blog_Title$My Blog$ description: $profilerequest:FirstName$FirstName$'s Blog user: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ use_title: y allow_comments: N heading : $profilerequest:Blog_Slogan$My blog is awesome$ - type: blog_post ref: owner_blog_first_post data: blog: $owner_blog title: READ ME content: just look for the button with the pencil, eh?



8. Twitter RSS Feed (DISABLED)

This will create an RSS Feed that will display your Tweets on the right side
YAML

objects:
-
type: rss
ref: owner_twitter
data:
name: $profilerequest:LastName$LastName$ Tweets
url: http://twitter.com/statuses/user_timeline/$profilerequest:Twitter_Number$12345678$.rss




9. Wiki Pages


This will contain a list of all the pages to be recreated for each roster artist.

Owner_Last (Home page)
Owner_Last Hello (Hello message to guests)
Owner_Last Photos
Owner_Last Content List
Owner_Last Menu
Owner_Last Guest Menu

YAML
objects: - type: wiki_page ref: owner_content_list data: name: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Content List content: wikicontent:Owner_Last Content List - type: wiki_page ref: owner_photos data: name: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Photos content: wikicontent:Owner_Last Photos - type: wiki_page ref: owner_hello data: name: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Welcome Message content: wikicontent:owner_Last Hello - type: wiki_page ref: owner_name data: name: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ content: wikicontent:owner_Last - type: wiki_page ref: owner_menu data: name: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Menu content: wikicontent:owner_Menu - type: wiki_page ref: owner_guest_menu data: name: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Menu content: wikicontent:owner_Guest_Menu



Note: if you are using these menupage modules you may have to assign them to the right groups yourself.

YAML
objects: - type: module ref: private_module data: name: menupage position: left groups: [ $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Dev ] order: 1 params: pagemenu: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Menu title: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Private Content nobox: n decorations: n notitle: y - type: module ref: private_guest_module data: name: menupage position: left groups: [ $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Dev ] order: 1 params: pagemenu: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Guest Menu title: $profilerequest:FirstName$FirstName$$profilerequest:LastName$LastName$ Content nobox: n decorations: n notitle: y




History

Information Version
Wed 06 of Apr, 2011 22:11 GMT-0000 mlpvolt debugging users section 5
Mon 21 of Mar, 2011 20:57 GMT-0000 mlpvolt change to talk page 4
Mon 21 of Mar, 2011 20:39 GMT-0000 mlpvolt Change the titles of wiki pages in profile. 3
Mon 21 of Mar, 2011 20:34 GMT-0000 mlpvolt note about boilerplate. 2
Mon 21 of Mar, 2011 20:32 GMT-0000 mlpvolt copied over pre-tested profile. 1