Loading...
 
Skip to main content

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))

        

History

Information Version
Sun 13 of Jan, 2013 17:26 GMT-0000 Marc Laporte http://home.gna.org/forgeplucker/jailbreaking-the-forges.html 62
Thu 23 of Aug, 2012 19:43 GMT-0000 Marc Laporte . 61
Thu 16 of Aug, 2012 19:55 GMT-0000 Marc Laporte categorize 60
Wed 08 of Aug, 2012 14:30 GMT-0000 Louis-Philippe Huberdeau Missing wiki argvariable 59
Wed 08 of Aug, 2012 14:14 GMT-0000 Louis-Philippe Huberdeau Test 58
Wed 08 of Aug, 2012 14:11 GMT-0000 Louis-Philippe Huberdeau Broken link 57
Wed 08 of Aug, 2012 14:10 GMT-0000 Louis-Philippe Huberdeau Setting a few required preferences 56
Tue 07 of Aug, 2012 19:57 GMT-0000 Louis-Philippe Huberdeau Setting appropriate calculations 55
Tue 07 of Aug, 2012 18:33 GMT-0000 Louis-Philippe Huberdeau Adding rating config 54
Tue 07 of Aug, 2012 18:09 GMT-0000 Louis-Philippe Huberdeau Switching from wikidirect to wikicontent to allow category reference in the dashboard 53
Tue 07 of Aug, 2012 18:08 GMT-0000 Louis-Philippe Huberdeau Adding category creation for rejected commits 52
Tue 07 of Aug, 2012 14:33 GMT-0000 Louis-Philippe Huberdeau Adding homepage override 51
Tue 07 of Aug, 2012 14:26 GMT-0000 Louis-Philippe Huberdeau Enabling proposal commit 50
Tue 04 of Jan, 2011 19:36 GMT-0000 Marc Laporte alias 49
Mon 20 of Dec, 2010 00:20 GMT-0000 Marc Laporte todo 48
Sun 19 of Dec, 2010 23:52 GMT-0000 Marc Laporte Style is not so nice 47
Sun 19 of Dec, 2010 23:39 GMT-0000 Marc Laporte link to sampl 46
Sun 19 of Dec, 2010 23:22 GMT-0000 Marc Laporte clarifying 45
Thu 16 of Dec, 2010 21:00 GMT-0000 Marc Laporte re-save 44
Tue 14 of Sep, 2010 03:15 GMT-0000 Marc Laporte cleaner 43
Fri 03 of Sep, 2010 14:05 GMT-0000 Marc Laporte making inactive for now (because of errors when trying to run profile) 42
Fri 03 of Sep, 2010 13:48 GMT-0000 Marc Laporte cleanup 41
Tue 22 of Jun, 2010 16:10 GMT-0000 Marc Laporte 40
Tue 15 of Jun, 2010 17:24 GMT-0000 System Administrator 39
Tue 15 of Jun, 2010 17:22 GMT-0000 System Administrator 38