A
software project profile is a high priority as it could help attract programmers to our project. Please see:
http://en.wikipedia.org/wiki/Forge_(software)
As an example, let's look at the
Open Moko project, which uses several applications to manage its community.
- MediaWiki for the main site
- Not one but two instances of Trac for bug tracking, and more (they migrated from Bugzilla)
- Planet for RSS aggregation
- Gforge for project management
- Mailman for the mailing lists/forums
They appear to have used the "best of breed" strategy when picking applications. However, now, it must be quite a challenge to integrate these various applications. Pretty much all this functionality could have been handled by a single
all-in-one application like TikiWiki or with a framework/CMS with additional modules (like Drupal, Joomla!, Plone, Xoops, etc).
The following profile is to meet this use case. Open Moko is a fairly large project though so let's keep in mind that most projects are much smaller.
In using TikiWiki instead of the above combination:
The "bad"
- not everything is done exactly the same.
- not all features are necesarily as advanced.
- Some feature are just missing.
The "good"
- Tiki does have features that they may want.
- For example, blogs and news articles. It would be even worse if they installed a WordPress blog on top of what they have.
- Surveys
- Etc.
- Tiki would offer
- Single Sign On (single user system, groups & permissions)
- Global search engine
- Consistent look & feel
- Tighter integration permits better internal linking
In this profile, we need
Things we should improve to make Tiki an even more compelling software collaboration tool:
Related:
Support_Mozilla_com
We'll start below
Features & settings
YAML
preferences:
feature_articles: y
feature_file_galleries: y
feature_forums: y
feature_trackers: y
feature_categories: y
feature_search: y
feature_minichat: y
feature_wiki: y
feature_wiki_print: y
feature_wiki_attachments: y
feature_wiki_comments: y
feature_backlinks: y
style: coelesce.css
feature_useGroupHome: y
allowRegister: y
forgotPass: y
feature_userPreferences: y
wiki_edit_plugin: y
sitetitle: Our software project
sitesubtitle: Release early, release often
feature_mytiki: y
feature_tasks: y
YAML
preferences:
feature_sitemenu : y
feature_topbar_id_menu: $profileobject:Software_Project_menu$
YAML
objects:
-
type: menu
ref: Software_Project_menu
data:
name: Top menu
description: A menu containing the base navigation of the site
collapse: none
items:
-
name: Home
url: ((HomePage))
groups: [ Anonymous, Registered ]
-
name: About
url: ((About))
groups: [ Anonymous, Registered ]
items:
-
name: History
url: ((History))
groups: [ Anonymous, Registered ]
-
name: Team
url: ((Team))
groups: [ Anonymous, Registered ]
-
name: Documentation
url: ((Documentation))
groups: [ Anonymous, Registered ]
-
name: Forums
url: tiki-forums.php
groups: [ Anonymous, Registered ]
-
name: Bugs
url: ((Bug_Tracker))
groups: [ Anonymous, Registered ]
-
name: Download
url: tiki-list_file_gallery.php
groups: [ Anonymous, Registered ]
-
name: Contact
url: ((Contact us))
groups: [ Anonymous, Registered ]
-
name: Admin menu
url: tiki-admin_menu_options.php?menuId=43
permissions: [ edit_menu_option ]
Modules
YAML
objects:
-
type: module
ref: module_minichat
data:
name: minichat
groups: [ Anonymous, Registered ]
position: right
order: 2
Permissions
Uses:
Community_Permissions
YAML
dependencies:
- $profiles.tikiwiki.org:Community_Permissions:Community_Permissions
- $profiles.tikiwiki.org:Bug_Tracker:bug_tracker
- $profiles.tikiwiki.org:General_File_Gallery:General_File_Gallery
- $profiles.tikiwiki.org:General_Forum:General_Forum
- $profiles.tikiwiki.org:Sample_Articles_include:Sample_Articles_include
- $profiles.tikiwiki.org:Test_All_Themes:Test_All_Themes
- $profiles.tikiwiki.org:powered_by:powered_by # ((powered_by))
Hooks for version control
YAML
permissions:
Repository:
description: Group allowed to trigger the data channels to create content based on commits from Subversion or other version control tools.
Admins:
objects:
-
type: wiki_page
id: $channel_category
allow: [ view, edit ]
objects:
-
type: category
ref: channel_category
data:
name: Data Channels
items:
- [ wiki_page, $page_init ]
- [ wiki_page, $page_delete ]
- [ wiki_page, $page_content ]
- [ wiki_page, $template_header ]
- [ wiki_page, $template_delete ]
- [ wiki_page, $template_content ]
-
type: wiki_page
ref: page_init
data:
name: RevisionInit
content: wikidirect:Software_Project_RevisionInit
-
type: wiki_page
ref: template_header
data:
name: Template_RevisionHeader
content: wikidirect:Software_Project_Template_RevisionHeader
-
type: wiki_page
ref: page_delete
data:
name: RevisionFileDelete
content: wikidirect:Software_Project_RevisionFileDelete
-
type: wiki_page
ref: template_delete
data:
name: Template_RevisionFileDelete
content: wikidirect:Software_Project_Template_RevisionFileDelete
-
type: wiki_page
ref: page_content
data:
name: RevisionFileContent
content: wikidirect:Software_Project_RevisionFileContent
-
type: wiki_page
ref: template_content
data:
name: Template_RevisionFileContent
content: wikidirect:Software_Project_Template_RevisionFileContent
-
type: datachannel
data:
name: init_revision
profile: $page_init
groups: [ Repository ]
-
type: datachannel
data:
name: file_remove
profile: $page_delete
groups: [ Repository ]
-
type: datachannel
data:
name: file_content
profile: $page_content
groups: [ Repository ]
Setting up data channels for: