History: Software_Project
Source of version: 34
- «
- »
Copy to clipboard
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 [http://openmoko.org|Open Moko project], which uses several applications to manage its community. # [http://www.mediawiki.org/|MediaWiki] for the main site # Not [http://docs.openmoko.org/trac/|one] but [http://admin-trac.openmoko.org/trac|two] instances of [http://trac.edgewall.org/|Trac] for bug tracking, and more (they migrated from [http://www.bugzilla.org/|Bugzilla]) # [http://www.planetplanet.org/|Planet] for RSS aggregation # [http://gforge.org/|Gforge] for project management # [http://www.gnu.org/software/mailman/|Mailman] for the mailing lists/forums They appear to have used the "best of breed" strategy when picking applications. More about this at [http://marclaporte.com/TikiSucks] 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. **Tiki forums are not the same as mailman mailing lists, and Open Moko wiki cleverly notes [http://wiki.openmoko.org/wiki/Discussion_Forums#Why_aren.27t_there_Web_forums.3F|that "Apparently, there are two groups of people: one group does not like Web forums; the other group prefers Web forums"] so we should set-up the ((doc:Forum and List Synchronization)) **Project management would be the TikiWiki way and not the [http://gforge.org/|gforge] way. *not all features are necesarily as advanced. *Some feature are just missing. **[http://dev.tikiwiki.org/wish1995|TikiWiki doesn't offer the svn browser feature that Trac does]. __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 [http://wordpress.org/|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 *Wiki *Forums **((doc:Forum and Mailing List Synchronization)) *Improve the ((Bug_Tracker)) profile *RSS aggregator *Categories *((dev:Source browser)) *((dev:Code review)) *etc Things we should improve to make Tiki an even more compelling software collaboration tool: * http://blog.lphuberdeau.com/wordpress/2009/01/25/adding-collaboration-and-durability-to-code-reviews/ Related: ((Support_Mozilla_com)) We'll start below {maketoc} !Features & settings {CODE(caption=>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 {CODE} !Creating a menu !!Top bar menu {CODE(caption=>YAML,wrap=1)} preferences: feature_sitemenu : y feature_topbar_id_menu: $profileobject:Software_Project_menu$ {CODE} !!Menu items {CODE(caption=>YAML,wrap=1)} 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 ] {CODE} !Modules {CODE(caption=>YAML)} objects: - type: module ref: module_minichat data: name: minichat groups: [ Anonymous, Registered ] position: right order: 2 {CODE} ! Permissions Uses: ((Community_Permissions)) {CODE(caption=>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)) {CODE} ! Hooks for version control {CODE(caption=>YAML, wrap=1)} 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 ] {CODE} Setting up data channels for: * ((Software_Project_RevisionInit)) * ((Software_Project_RevisionFileDelete)) * ((Software_Project_RevisionFileContent))