<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Gforge Group's Weblog</title>
	<atom:link href="http://gforgegroup.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://gforgegroup.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Fri, 27 Jan 2012 19:31:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='gforgegroup.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Gforge Group's Weblog</title>
		<link>http://gforgegroup.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://gforgegroup.wordpress.com/osd.xml" title="Gforge Group&#039;s Weblog" />
	<atom:link rel='hub' href='http://gforgegroup.wordpress.com/?pushpress=hub'/>
		<item>
		<title>What to Expect from GForge Advanced Server in 2012!</title>
		<link>http://gforgegroup.wordpress.com/2012/01/04/gforge-as-2012/</link>
		<comments>http://gforgegroup.wordpress.com/2012/01/04/gforge-as-2012/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 19:40:17 +0000</pubDate>
		<dc:creator>gforgegroup</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gforgegroup.wordpress.com/?p=534</guid>
		<description><![CDATA[To all our valued customers we want to wish you all best wishes in 2012! Now that the New Year is here, we wanted to take a quick minute to share our plans for GForge Advanced Server for 2012 and beyond. As many of you know Tim Perdue, the founder of GForge, passed away last [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=534&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>To all our valued customers we want to wish you all best wishes in 2012!</p>
<p>Now that the New Year is here, we wanted to take a quick minute to share our plans for GForge Advanced Server for 2012 and beyond. As many of you know Tim Perdue, the founder of GForge, passed away last September. Since that time our team has been working on evaluating how we do business and how we can improve our products and services and we&#8217;re happy to share some exciting information about the direction of GForge Advanced Server.</p>
<p>Beginning immediately we are adopting a formal release schedule that our customers can count on. The release schedule is meant to make our planning efforts more efficient but, more importantly, give our customers a set schedule they can use to plan upgrades to their GForge Advanced Server instances. To that end, we will be providing two major releases per year: March and September. Major releases, as the name implies, will focus on new features and improved processes. We will also be publishing two maintenance releases each year in January and June and those will focus on bug fixes and only the most trivial of new features.</p>
<p>While I have had the pleasure of working with many of our customers over the past four months, I still feel many of you have some great ideas on how we can improve GForge. To that end we are about launching two new initiatives. The first initiative is a marketing survey. For the marketing survey we randomly selected customers based within specific demographics (e.g. size, organizational goals, country, etc). The customers that were selected have been contacted already and the survey will begin immediately. For those of you who did not get selected, we do welcome you to participate and to do so just send a note to feedback@gforgegroup.com indicating you want to participate in the survey and how (either email or phone). The results of the marketing survey will be used to ensure we continue moving GForge Advanced Server in the right direction for you all but, also, to help us identify and better connect with prospective customers.</p>
<p>The second initiative we are launching in 2012 is a customer focus group. These focus groups will occur twice annually to match up with our two major releases and the focus will be on helping us with release planning. This will be the best way to pitch new features, improvements to existing features and any other concerns you may have. The first customer focus group will occur in February or March to help us solidify our September release plan and begin on the March 2013 release. To do this, we intend to conduct these focus groups via two or three conference calls (e.g. GoToMeeting) and we will be sure all current GForge customers get notified of the dates.</p>
<p>A couple of other things of note is we plan to formally offer GForge Advanced Server under a Software-As-A-Service (SaaS) model toward the end of 2012. To facilitate this, we are announcing that we plan on shutting down the domain gforge.org sometime in June or July. This won&#8217;t affect many of our customers but the projects currently hosted under gforge.org will be migrated over to gforge.com along with the gforge support forum that was intended for users of GForge Community Edition and non-paying Advanced Server customers who are under the 15 user limit of the default license. Once the data migration happens we will shutdown gforge.org and begin implementation of the SaaS model under the gforge.com domain.</p>
<p>To wrap things up, we&#8217;d like to share our plans for the release coming out at the end of March. These plans, while not concrete, should give our you a clear picture of what you can expect in the next release and as we make changes to the release we&#8217;ll be sure to share those on our blog. The plan for the March release includes:<br />
Addition of a GForge Daemon Process &#8211; The current GForge model uses scheduled tasks to do things like create new SCM repositories and mailing lists. The new daemon will allow much of what used to be in our scheduled tasks to occur immediately.<br />
Document Manager User Interface Upgrade &#8211; The document manager, while functional, leaves a lot to be desired. Many of our customers said that the clunky UI simply made this feature unusable and, instead, they opted to use SCM for document storage. The user interface upgrade will make the document manager much more usable and will include basic support for file drag-n-drop into the browser.</p>
<ul>
<li>User-based Git Repositories &#8211; Git is gaining the lion&#8217;s share of the SCM market and user-based SCM repositories will allow for a more collaborative software environment.</li>
<li>Pull requests for Git Repositories &#8211; Going hand-in-hand with user-based Git repositories, we&#8217;ll be implementing pull requests allowing cloned repositories to send pull requests to the maintainers of master Git repositories. This will make use of GForge&#8217;s existing tracker feature.</li>
<li>Per-project SCM customizations &#8211; Right now GForge Advanced Server support CVS, SVN and Git but with SVN and Git you have to, on a site-wide basis, choose to use HTTPS or SSH. This release will allow the use of HTTP or SSH to be done at the project level.</li>
<li>Password aging &#8211; Right now there is no default aging process for user passwords. Support for password aging wil include the ability to specify how long passwords are good before expiring.</li>
<li>REST API &#8211; While our SOAP API has served us well, it introduces a slough of issues with respect to interoperability, file uploads and the SOAP payload is big. The REST API will make integrating GForge with other systems easier and will open the door for us to provide customers with mobile support on iOS and Android devices.</li>
<li>Support for execution of workflow scripts &#8211; Our trackers have supported workflow implementation for years and this release we&#8217;ll be adding the ability to add hooks to execute scripts as part of a defined workflow process.</li>
<li>Refresh of the Microsoft Project Plugin &#8211; The current version of the Microsoft Project plugin was written in Visual Basic 6 and only supported older versions of Microsoft Windows and Microsoft Project. This refresh is a port to .NET which will allow GForge integration into the latest versions of Project using the latest versions of the Windows operating system. We&#8217;re also happy to announce that the Microsoft Project Plugin will be free to all customers using the Enterprise Edition of GForge Advanced Server.</li>
</ul>
<p>Some things we are considering for future releases include:</p>
<ul>
<li>Peer code review</li>
<li>Possible Support for Mercurial DVCS</li>
<li>Support for Ubuntu (mainly to make evaluation on developer workstations easier)</li>
<li>Complete user interface redesign &#8211; The goal here is to reduce the number of page refreshes, boost performance and, most important, make GForge more fun to use.</li>
</ul>
<p>Mobile support for iOS and Andriod devices &#8211; These implementations will use the REST API planned for the March release.<br />
As you see, we have a busy 2012 planned and we look forward to working you in making GForge Advanced Server better. As always, if you have any questions please do not hesitate to contact us at feedback@gforgegroup.com.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gforgegroup.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gforgegroup.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gforgegroup.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gforgegroup.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gforgegroup.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gforgegroup.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gforgegroup.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gforgegroup.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gforgegroup.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gforgegroup.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gforgegroup.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gforgegroup.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gforgegroup.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gforgegroup.wordpress.com/534/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=534&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gforgegroup.wordpress.com/2012/01/04/gforge-as-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9ed513362d470627c46d97f4b49b12b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gforgegroup</media:title>
		</media:content>
	</item>
		<item>
		<title>GForge AS v6.0 Released!</title>
		<link>http://gforgegroup.wordpress.com/2011/09/20/new-features-in-gforge-6-0/</link>
		<comments>http://gforgegroup.wordpress.com/2011/09/20/new-features-in-gforge-6-0/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 21:21:51 +0000</pubDate>
		<dc:creator>gforgegroup</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gforgegroup.wordpress.com/?p=531</guid>
		<description><![CDATA[First and foremost we at the GForge Group want to apologize for the long delay in getting version 6.0 out.  For those who don&#8217;t know, we lost our leader Tim Perdue after a long battle with cancer. As a growing business, we at GForge struggled a bit in adjusting to this newa and it delayed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=531&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>First and foremost we at the GForge Group want to apologize for the long delay in getting version 6.0 out.  For those who don&#8217;t know, <a href="http://gforgegroup.wordpress.com/2011/09/20/goodbye-tim/" target="_blank">we lost our leader Tim Perdue</a> after a long battle with cancer. As a growing business, we at GForge struggled a bit in adjusting to this newa and it delayed the release of version 6.0.  But that that is no longer the case.</p>
<p>We are happy to announce GForge AS 6.0 is ready and it sports several fixes and new features. Some of the most interesting are:</p>
<ul>
<li><strong>Git over HTTP</strong>: Prior to v6.0 you could only use GForge with Git over SSH.</li>
<li><strong>CentOS6 Support: </strong>GForge AS is the first version to support CentOS6.</li>
<li><strong>User Calendars</strong>: Project members can see assigned tasks and add their own events. You can even integrate it with other calendar application via iCal.</li>
<li><strong>Blogs</strong>: GForge projects and users now get their own blog.  Please note this plugin is disabled of at the project level for customers upgrading. Also, in implementing the project blog we&#8217;ve removed the antiquated &#8220;news&#8221; system with a full fledge project blog.</li>
<li><strong>Message Walls</strong>: Gforge gets social with the addition of project and user level message walls.</li>
</ul>
<p>You can download GForge AS 6.0 from the <a href="http://gforgegroup.com/es/download.php">download page</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gforgegroup.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gforgegroup.wordpress.com/531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gforgegroup.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gforgegroup.wordpress.com/531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gforgegroup.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gforgegroup.wordpress.com/531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gforgegroup.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gforgegroup.wordpress.com/531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gforgegroup.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gforgegroup.wordpress.com/531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gforgegroup.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gforgegroup.wordpress.com/531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gforgegroup.wordpress.com/531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gforgegroup.wordpress.com/531/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=531&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gforgegroup.wordpress.com/2011/09/20/new-features-in-gforge-6-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9ed513362d470627c46d97f4b49b12b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gforgegroup</media:title>
		</media:content>
	</item>
		<item>
		<title>On Losing A Pioneer</title>
		<link>http://gforgegroup.wordpress.com/2011/09/20/goodbye-tim/</link>
		<comments>http://gforgegroup.wordpress.com/2011/09/20/goodbye-tim/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 20:02:48 +0000</pubDate>
		<dc:creator>gforgegroup</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[GForge Group]]></category>
		<category><![CDATA[PHPBuiler]]></category>
		<category><![CDATA[SourceForge]]></category>
		<category><![CDATA[Tim Perdue]]></category>
		<category><![CDATA[University of Northern Iowa]]></category>

		<guid isPermaLink="false">http://gforgegroup.wordpress.com/?p=528</guid>
		<description><![CDATA[Last Friday, September 16th GForge Group said goodbye to Tim Perdue who passed away peacefully in a Des Moines area hospice with his family by his side. At 37, Tim’s passing came too soon and was, frankly, unfair leaving all of us who have crossed his path feeling pain and hatred for the cancer that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=528&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last Friday, September 16th GForge Group said goodbye to Tim Perdue who passed away peacefully in a Des Moines area hospice with his family by his side.  At 37, Tim’s passing came too soon and was, frankly, unfair leaving all of us who have crossed his path feeling pain and hatred for the cancer that took him.  Tim is survived by his wife, Lisa; two children Anna and Alex; his mother, Ramona; sister, Shannon Perdue; grandparents Duard and Sylvia Perdue; along with many nieces and nephews. That said, we want to make it clear it shouldn’t be just his family, this company or the other geeks in the Des Moines metro remembering him.  Tim was generations ahead of his time and his impact, though unknown to many, has touched nearly everybody in software development, particularly those developing open source software.  </p>
<p>To those of you who didn’t have the pleasure of knowing Tim, it is best to talk about some of the sites he worked on.  He was a part of the original four person team at VA Linux that built <a href="http://www.sourceforge.net">SourceForge</a> and before that he ran <a href="http://www.phpbuilder.com">PHPBuilder.com</a> and Geocrawler.com which were sold to Internet.com and VA Linux respectively.  For you younger PHP’ers out there, PHPBuilder was the number one resource for PHP development and Tim had gambled on PHP in the enterprise  well before the likes of Facebook, Wikipedia and Digg.</p>
<p>Getting back to SourceForge, let’s face it.  If you have been around the Internet and open source development you know the name SourceForge.  Back in the day it hosted some of the most popular open source projects and had companies screaming for enterprise support for the product.  Tim left VA Linux after the first big dotcom implosion and, after a short hiatus, picked up the open source version of the codebase turning it into GForge, his crowning professional achievement.  Under Tim, GForge has grown to hundreds of customers including some very impressive names.  Amtrak, BAE Systems, Cisco Systems, Texas Instruments, Massachusetts Institute of Technology (MIT) and John Hopkins University are just some of the organizations using GForge.  </p>
<p>Tim accomplished all this coming from modest, Midwest roots.  Born in Minnesota, he grew up in Swea City, Iowa and armed with an MIS degree from the <a href="http://www.uni.edu">University of Northern Iowa</a> he became nothing short of a modern day myth buster.  Tim proved that to succeed you don’t need an Ivy League degree, that you don’t have to live in Silicon Valley to have a successful tech company, and that you don’t need VC money to get a company off the ground. More importantly, he showed that you can create a successful business and still be a great family man.  </p>
<p>Rest assured that we at the GForge Group are committed to continuing Tim’s vision for the company which includes top-notch customer service, continued innovation and never losing sight of good, old fashion, Midwest values.</p>
<p>In taking a moment to reflect on Tim’s life and his accomplishments, if you agree, as we do, that Tim was a pioneer of his time please consider making a donation to the <a href="http://www.johnstoddardcancer.org/ways-to-give.aspx">John Stoddard Cancer Center’s Care Coordinator program</a>.  </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gforgegroup.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gforgegroup.wordpress.com/528/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gforgegroup.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gforgegroup.wordpress.com/528/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gforgegroup.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gforgegroup.wordpress.com/528/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gforgegroup.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gforgegroup.wordpress.com/528/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gforgegroup.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gforgegroup.wordpress.com/528/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gforgegroup.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gforgegroup.wordpress.com/528/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gforgegroup.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gforgegroup.wordpress.com/528/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=528&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gforgegroup.wordpress.com/2011/09/20/goodbye-tim/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9ed513362d470627c46d97f4b49b12b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gforgegroup</media:title>
		</media:content>
	</item>
		<item>
		<title>New blog plugin on Gforge 6</title>
		<link>http://gforgegroup.wordpress.com/2011/06/16/new-blog-plugin-on-gforge-6/</link>
		<comments>http://gforgegroup.wordpress.com/2011/06/16/new-blog-plugin-on-gforge-6/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 21:58:23 +0000</pubDate>
		<dc:creator>gforgegroup</dc:creator>
				<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://gforgegroup.wordpress.com/?p=505</guid>
		<description><![CDATA[The upcoming Gforge 6 release will include a project blog plugin (which replaces the previous news section) and a new user blog plugin, enabling users to easily post  articles on each user&#8217;s page. For a project blog, only the project admin is allowed to create new posts. Simply browse to Blog-&#62;Admin and click on Add [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=505&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The upcoming Gforge 6 release will include a project blog plugin (which replaces the previous news section) and a new user blog plugin, enabling users to easily post  articles on each user&#8217;s page.</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-174018_1302x796_scrot.png"><img class="aligncenter size-full wp-image-508" title="2011-06-16-174018_1302x796_scrot" src="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-174018_1302x796_scrot.png?w=450&#038;h=275" alt="" width="450" height="275" /></a></p>
<p>For a project blog, only the project admin is allowed to create new posts. Simply browse to Blog-&gt;Admin and click on Add Post button, the FCK editor will show up and you can start writing your new article.</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-172347_1298x821_scrot.png"><img class="aligncenter size-full wp-image-506" title="2011-06-16-172347_1298x821_scrot" src="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-172347_1298x821_scrot.png?w=450&#038;h=284" alt="" width="450" height="284" /></a></p>
<p>After the post has been created you will be able to add tags. Go to the Admin page and click on Edit, the tags table will be shown at the bottom.</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-174750_1139x197_scrot.png"><img class="aligncenter size-full wp-image-511" title="2011-06-16-174750_1139x197_scrot" src="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-174750_1139x197_scrot.png?w=450&#038;h=77" alt="" width="450" height="77" /></a>As usual, blog posts can be commented by registered users.</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-184520_1311x710_scrot.png"><img class="aligncenter size-full wp-image-519" title="2011-06-16-184520_1311x710_scrot" src="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-184520_1311x710_scrot.png?w=450&#038;h=243" alt="" width="450" height="243" /></a></p>
<p>Another feature of the project blog  is that for public projects, the site admin can approve a post for display on the site front page.</p>
<p>To access to the user blog section, browse to My Stuff page and click on the blog entry on the left menu. Any user can create his own blog and every article is readable by the rest of users.</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-183217_1324x517_scrot.png"><img class="aligncenter size-full wp-image-515" title="2011-06-16-183217_1324x517_scrot" src="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-183217_1324x517_scrot.png?w=450&#038;h=175" alt="" width="450" height="175" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gforgegroup.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gforgegroup.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gforgegroup.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gforgegroup.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gforgegroup.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gforgegroup.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gforgegroup.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gforgegroup.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gforgegroup.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gforgegroup.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gforgegroup.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gforgegroup.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gforgegroup.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gforgegroup.wordpress.com/505/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=505&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gforgegroup.wordpress.com/2011/06/16/new-blog-plugin-on-gforge-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9ed513362d470627c46d97f4b49b12b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gforgegroup</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-174018_1302x796_scrot.png" medium="image">
			<media:title type="html">2011-06-16-174018_1302x796_scrot</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-172347_1298x821_scrot.png" medium="image">
			<media:title type="html">2011-06-16-172347_1298x821_scrot</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-174750_1139x197_scrot.png" medium="image">
			<media:title type="html">2011-06-16-174750_1139x197_scrot</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-184520_1311x710_scrot.png" medium="image">
			<media:title type="html">2011-06-16-184520_1311x710_scrot</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/06/2011-06-16-183217_1324x517_scrot.png" medium="image">
			<media:title type="html">2011-06-16-183217_1324x517_scrot</media:title>
		</media:content>
	</item>
		<item>
		<title>MS Project GForge AS plugin</title>
		<link>http://gforgegroup.wordpress.com/2011/05/06/ms-project-gforge-as-plugin/</link>
		<comments>http://gforgegroup.wordpress.com/2011/05/06/ms-project-gforge-as-plugin/#comments</comments>
		<pubDate>Fri, 06 May 2011 15:51:46 +0000</pubDate>
		<dc:creator>gforgegroup</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gforgegroup.wordpress.com/?p=478</guid>
		<description><![CDATA[Today we present you the MS Project plugin for GForge AS. a full featured MS Project &#8211; GFOrge AS integration, that  lets you connect to a GForge tracker, work on the tracker items from within MS Project, and then sync to the GForge server to update your changes.  It allows you to sync tasks in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=478&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today we present you the MS Project plugin for GForge AS. a full featured MS Project &#8211; GFOrge AS integration, that  lets you connect to a GForge tracker, work on the tracker items from within MS Project, and then sync to the GForge server to update your changes.  It allows you to sync tasks in both directions, from GForge to MS Project and from MS Project to GForge. A manager can create tasks directly on MS Project and then sync them back to GForge AS and make them instantly available to developers and other team members.</p>
<p>After you install the plugin, it will be available in MS Project under the &#8220;Tools&#8221; menu item (&#8220;GForge Plug-in&#8221;).  The plug dialog shows:</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/05/pic02.png"><img class="aligncenter size-full wp-image-480" title="pic02" src="http://gforgegroup.files.wordpress.com/2011/05/pic02.png?w=450" alt=""   /></a></p>
<p>Enter the GForge server you want to connect to, the serial number (you need a serial number for each GForge server), your GF username and password.  You can set it to use secure connections (SSL), if available on the GForge server.  Clicking &#8220;Fetch subprojects&#8221; will display in the drop-down below all the Trackers to which you have access to (according to the role settings in GF).  Select the desired tracker, select &#8220;Synchronize subproject&#8221; and hit &#8220;Apply&#8221; to let the plugin sync to GForge.</p>
<p>Consider the following GForge tracker example:</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/05/pic01.png"><img class="aligncenter size-full wp-image-481" title="pic01" src="http://gforgegroup.files.wordpress.com/2011/05/pic01.png?w=450&#038;h=293" alt="" width="450" height="293" /></a></p>
<p>It shows a sample tracker with some tracker items.  The latest version available implements the new Hierarchical Tracker feature, to be released in the upcoming GForge 6.</p>
<p>Back to MS Project, after synchronization with GForge, we get the tracker items:</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/05/pic03.png"><img class="aligncenter size-full wp-image-483" title="pic03" src="http://gforgegroup.files.wordpress.com/2011/05/pic03.png?w=450&#038;h=208" alt="" width="450" height="208" /></a></p>
<p>with the Gantt view:</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/05/pic04.png"><img class="aligncenter size-full wp-image-484" title="pic04" src="http://gforgegroup.files.wordpress.com/2011/05/pic04.png?w=450&#038;h=226" alt="" width="450" height="226" /></a></p>
<p><span style="text-decoration:underline;">Editing tracker items:</span></p>
<p>The basic operations you can do are creating / updating / deleting tasks on the tasks sheet, or manipulate start/end times and task dependencies on the Gant View.</p>
<p>Clicking on a task opens the task dialog:</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/05/pic05.png"><img class="aligncenter size-full wp-image-485" title="pic05" src="http://gforgegroup.files.wordpress.com/2011/05/pic05.png?w=450&#038;h=313" alt="" width="450" height="313" /></a></p>
<p><span style="text-decoration:underline;">Task dialog contents</span>:</p>
<p>.<em><strong>General tab</strong></em>, you can set/edit task name, duration, start/end dates, priority</p>
<p>.<em><strong>Notes tab</strong></em>, you can add notes to a task, that will be added as a follow-up in the corresponding GForge task.  predecessors tab, you can assign task dependencies (make this task dependent on other tasks).</p>
<p>.<em><strong>Resources tab</strong></em>, you can assign human resources to the tab. This avaible resources are the same as in the assignees list in the tracker item edit screen in GForge.</p>
<p>Another usual management task is assigning task priorities, schedule tasks and detect and set task dependencies. That can be done directly on the Gantt view.</p>
<p><span style="text-decoration:underline;"><br />
On the Gantt view you can:</span></p>
<p>.Move tasks along the timeline</p>
<p>.Expand/contract tasks</p>
<p>.Set task dependencies (make a task dependent on another, so that the task will start after the one upon which it is dependent on finishes).</p>
<p>The following picture shows an example of task dependency, where task 9 has been made dependent on task 8.</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/05/pic10.png"><img class="aligncenter size-full wp-image-487" title="pic10" src="http://gforgegroup.files.wordpress.com/2011/05/pic10.png?w=450&#038;h=109" alt="" width="450" height="109" /></a></p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/05/pic11.png"><img class="aligncenter size-full wp-image-488" title="pic11" src="http://gforgegroup.files.wordpress.com/2011/05/pic11.png?w=450" alt=""   /></a></p>
<p>Multiple dependencies are supported. GForge tracker items support a task to have multiple dependencies:</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/05/pic12.png"><img class="aligncenter size-full wp-image-489" title="pic12" src="http://gforgegroup.files.wordpress.com/2011/05/pic12.png?w=450&#038;h=238" alt="" width="450" height="238" /></a></p>
<p>When the manager reorganizes the tasks on MS Project, the Gantt diagram will be reflected on GForge server.</p>
<p>The GForge MS Project plugin is a tool specially suited to project managers that are already comfortable working with MS Project and manage projects hosted on a GForge server. It allows the manager focus on what he does: manage projects, using his tool of choice.</p>
<p>MS Project plugin is only available for GForge AS.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gforgegroup.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gforgegroup.wordpress.com/478/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gforgegroup.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gforgegroup.wordpress.com/478/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gforgegroup.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gforgegroup.wordpress.com/478/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gforgegroup.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gforgegroup.wordpress.com/478/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gforgegroup.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gforgegroup.wordpress.com/478/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gforgegroup.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gforgegroup.wordpress.com/478/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gforgegroup.wordpress.com/478/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gforgegroup.wordpress.com/478/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=478&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gforgegroup.wordpress.com/2011/05/06/ms-project-gforge-as-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9ed513362d470627c46d97f4b49b12b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gforgegroup</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/05/pic02.png" medium="image">
			<media:title type="html">pic02</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/05/pic01.png" medium="image">
			<media:title type="html">pic01</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/05/pic03.png" medium="image">
			<media:title type="html">pic03</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/05/pic04.png" medium="image">
			<media:title type="html">pic04</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/05/pic05.png" medium="image">
			<media:title type="html">pic05</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/05/pic10.png" medium="image">
			<media:title type="html">pic10</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/05/pic11.png" medium="image">
			<media:title type="html">pic11</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/05/pic12.png" medium="image">
			<media:title type="html">pic12</media:title>
		</media:content>
	</item>
		<item>
		<title>GForge AS Eclipse Plugin</title>
		<link>http://gforgegroup.wordpress.com/2011/03/17/458/</link>
		<comments>http://gforgegroup.wordpress.com/2011/03/17/458/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 18:05:52 +0000</pubDate>
		<dc:creator>gforgegroup</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gforgegroup.wordpress.com/?p=458</guid>
		<description><![CDATA[In this post we present our plugin for GForge AS, which seamlesly integrates with the Eclipse environment and lets you access GForge&#8217;s server trackers and documents directly from your work environment. Installing it is straightforward, just decompress the distributable package in the eclipse plugin folder, then start Eclipse. You will see a &#8220;GForge&#8221; menu entry. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=458&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this post we present our plugin for GForge AS, which seamlesly integrates with the Eclipse environment and lets you access GForge&#8217;s server trackers and documents directly from your work environment.</p>
<p>Installing it is straightforward, just decompress the distributable package in the eclipse plugin folder, then start Eclipse. You will see a &#8220;GForge&#8221; menu entry. To login to the desired server, just supply the credentials</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/03/bpost_1.png"><img class="aligncenter size-full wp-image-459" title="bpost_1" src="http://gforgegroup.files.wordpress.com/2011/03/bpost_1.png?w=450&#038;h=335" alt="" width="450" height="335" /></a></p>
<p>After login in, you will see the list of projects in an expandable tree. Expanding on a project shows you a &#8220;Documents&#8221; and a &#8220;Trackers&#8221; node. Under &#8220;Documents&#8221;, you have access to all the server folders for which you have access rights to. Under &#8220;Trackers&#8221; you have the list of trackers. The icon lets you distinguish between &#8220;Task&#8221; trackers and &#8220;Issue&#8221; trackers.</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/03/bpost_2.png"><img class="aligncenter size-full wp-image-460" title="bpost_2" src="http://gforgegroup.files.wordpress.com/2011/03/bpost_2.png?w=450" alt=""   /></a></p>
<p><strong>Working with Trackers:</strong></p>
<p>Clicking on a tracker brings the tracker window, which lists the tracker items.  From that view you can create new tracker items, edit a tracker item and run saved queries and get the resulting items listed.</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/03/bpost_3.png"><img class="aligncenter size-full wp-image-461" title="bpost_3" src="http://gforgegroup.files.wordpress.com/2011/03/bpost_3.png?w=450&#038;h=340" alt="" width="450" height="340" /></a></p>
<p>To edit a tracker item, select it from the list and click &#8220;Edit&#8221;. That opens the tracker item edit view, where you have access to all the fields and tabs available on the browser-based version. The edit view is organized in tabs:</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/03/bpost_4.png"><img class="aligncenter size-full wp-image-462" title="bpost_4" src="http://gforgegroup.files.wordpress.com/2011/03/bpost_4.png?w=450&#038;h=441" alt="" width="450" height="441" /></a></p>
<p>On the Tracker Item Edit View you can:</p>
<ul>
<li>Edit all the fields</li>
<li> Add new messages (follow ups)</li>
<li> See and download attached files</li>
<li> See all the changes registered</li>
<li> See all the commits</li>
<li> Add/delete dependencies</li>
<li> Add/delete duplicates</li>
<li> Add/delete associations</li>
<li> Add time tracker entries</li>
<li> Add/delete tags</li>
</ul>
<p><strong>Working with documents:</strong></p>
<p>Clicking on a folder under &#8220;Documents&#8221;, opens the files view.</p>
<p><a href="http://gforgegroup.files.wordpress.com/2011/03/bpost_5.png"><img class="aligncenter size-full wp-image-463" title="bpost_5" src="http://gforgegroup.files.wordpress.com/2011/03/bpost_5.png?w=450&#038;h=241" alt="" width="450" height="241" /></a></p>
<p>On this view you can:</p>
<ul>
<li>Download a file</li>
<li>Upload a file</li>
<li>Edit a file</li>
</ul>
<p>For a particular file, you can:</p>
<ul>
<li>See all the file versions</li>
<li> Add/delete associations</li>
<li> Add/delete tags</li>
</ul>
<p>We have presented the basics regarding our GForge Eclipse Plugin.   A new version will be released together with GForge 6, that includes the new hierarchical trackers.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gforgegroup.wordpress.com/458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gforgegroup.wordpress.com/458/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gforgegroup.wordpress.com/458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gforgegroup.wordpress.com/458/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gforgegroup.wordpress.com/458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gforgegroup.wordpress.com/458/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gforgegroup.wordpress.com/458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gforgegroup.wordpress.com/458/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gforgegroup.wordpress.com/458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gforgegroup.wordpress.com/458/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gforgegroup.wordpress.com/458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gforgegroup.wordpress.com/458/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gforgegroup.wordpress.com/458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gforgegroup.wordpress.com/458/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=458&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gforgegroup.wordpress.com/2011/03/17/458/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9ed513362d470627c46d97f4b49b12b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gforgegroup</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/03/bpost_1.png" medium="image">
			<media:title type="html">bpost_1</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/03/bpost_2.png" medium="image">
			<media:title type="html">bpost_2</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/03/bpost_3.png" medium="image">
			<media:title type="html">bpost_3</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/03/bpost_4.png" medium="image">
			<media:title type="html">bpost_4</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/03/bpost_5.png" medium="image">
			<media:title type="html">bpost_5</media:title>
		</media:content>
	</item>
		<item>
		<title>What is new in GForge 6 AS</title>
		<link>http://gforgegroup.wordpress.com/2011/02/11/whats-new-in-gforge-6-as/</link>
		<comments>http://gforgegroup.wordpress.com/2011/02/11/whats-new-in-gforge-6-as/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 19:02:04 +0000</pubDate>
		<dc:creator>gforgegroup</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gforgegroup.wordpress.com/?p=430</guid>
		<description><![CDATA[We review the major new features that will bring the upcoming GForge AS 6, the next major release of GForge AS. Hierarchical Trackers: Update on the powerful tracking system already existing in GForge AS. Lets you structure tasks as a tree. Tracker items can have subitems, with no limits. You can create trees of any [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=430&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We review the major new features that will bring the upcoming GForge AS 6, the next major release of GForge AS.</p>
<p><strong><span style="text-decoration:underline;"><br />
Hierarchical Trackers:</span></strong></p>
<ul>
<li> Update on the powerful tracking system already existing in GForge AS.</li>
<li>Lets you structure tasks as a tree.</li>
<li>Tracker items can have subitems, with no limits.</li>
<li>You can create trees of any depth, there&#8217;s no limit on the number of levels.</li>
<li>It&#8217;s ajax based, when you expand an item, the system quickly retrieves the children items and populates the tree.</li>
<li>You can assign an item as a child of another item with a simple drag and drop operation.</li>
</ul>
<p><span style="text-decoration:underline;"><strong><a href="http://gforgegroup.files.wordpress.com/2011/02/hierarchical_trackers.png"><br />
<img class="aligncenter size-full wp-image-436" title="hierarchical_trackers" src="http://gforgegroup.files.wordpress.com/2011/02/hierarchical_trackers.png?w=450" alt=""   /></a></strong></span></p>
<p><strong> </strong></p>
<p><strong>Calendar Plugin:</strong></p>
<ul>
<li>The new calendar plugin lets you organize your tasks, share them and export them.</li>
<li>Besides events created by the user, the calendar will show starting/ending tasks assigned to the user in the specified time frame.</li>
<li>There are week and day views too.</li>
<li>You can export individual events or the whole calendar (including tasks) to an icalendar file.</li>
<li>Events marked as public can be seen by others</li>
</ul>
<p><strong><span style="text-decoration:underline;"><a href="http://gforgegroup.files.wordpress.com/2011/02/calendar.png"><br />
<img class="aligncenter size-full wp-image-437" title="calendar" src="http://gforgegroup.files.wordpress.com/2011/02/calendar.png?w=450&#038;h=263" alt="" width="450" height="263" /><br />
</a></span></strong></p>
<p><strong>Blog Plugin:</strong></p>
<ul>
<li>The Blog plugin comes to replace the old &#8220;News&#8221; plugin, with a much more modern look, similar to that offered by WordPress.</li>
<li>Blog posts can contain rich text content with images.</li>
<li>Posts can have tags associated to them, and the tag cloud lets you filter posts by keyword.</li>
<li>A comments subsystem lets users post threaded comments to a post, with a quick and convenient ajax-based interface.</li>
</ul>
<p><span style="text-decoration:underline;"><strong> </strong></span></p>
<p><strong><a href="http://gforgegroup.files.wordpress.com/2011/02/blog1.png"><br />
<img class="aligncenter size-full wp-image-441" title="blog" src="http://gforgegroup.files.wordpress.com/2011/02/blog1.png?w=450&#038;h=345" alt="" width="450" height="345" /></a></strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Social features:</strong></p>
<ul>
<li><strong>Message wall</strong>: optionally, project homepages can include a message wall, where users can post general messages or messages targeted to specific users.
<ul>
<li>Users can post replies to comments.</li>
<li>A post can have an attachment, such as an image or a file.</li>
<li>A post can include a link to specific sections within the project.</li>
<li>The message wall is a quick and convenient way to let users communicate within a project.</li>
<li>Users also have a personal message wall in My Stuff, where they can share private messages between them.<br />
<a href="http://gforgegroup.files.wordpress.com/2011/02/messasge_wall.png"><br />
<img class="aligncenter size-full wp-image-442" title="messasge_wall" src="http://gforgegroup.files.wordpress.com/2011/02/messasge_wall.png?w=450&#038;h=459" alt="" width="450" height="459" /></a></li>
</ul>
</li>
</ul>
<ul>
<li><strong>User avatars:</strong> a user can upload an avatar or choose one from the existing stock avatars. Avatars are shown throughout the system, in user posts, user comments, etc</li>
</ul>
<p><span style="text-decoration:underline;"><strong><br />
GIT over HTTP:</strong></span></p>
<p>we added support for HTTP access to our GIT plugin.</p>
<p>To sum up, GForge 6 brings new an exciting features, we have described some of the major ones in this post, but there are many more news.   When the final release is ready, we will provide the full list.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gforgegroup.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gforgegroup.wordpress.com/430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gforgegroup.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gforgegroup.wordpress.com/430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gforgegroup.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gforgegroup.wordpress.com/430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gforgegroup.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gforgegroup.wordpress.com/430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gforgegroup.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gforgegroup.wordpress.com/430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gforgegroup.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gforgegroup.wordpress.com/430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gforgegroup.wordpress.com/430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gforgegroup.wordpress.com/430/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=430&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gforgegroup.wordpress.com/2011/02/11/whats-new-in-gforge-6-as/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9ed513362d470627c46d97f4b49b12b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gforgegroup</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/02/hierarchical_trackers.png" medium="image">
			<media:title type="html">hierarchical_trackers</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/02/calendar.png" medium="image">
			<media:title type="html">calendar</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/02/blog1.png" medium="image">
			<media:title type="html">blog</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/02/messasge_wall.png" medium="image">
			<media:title type="html">messasge_wall</media:title>
		</media:content>
	</item>
		<item>
		<title>An introduction to plugin development for Gforge</title>
		<link>http://gforgegroup.wordpress.com/2011/01/19/an-introduction-to-plugin-development-for-gforge/</link>
		<comments>http://gforgegroup.wordpress.com/2011/01/19/an-introduction-to-plugin-development-for-gforge/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 13:07:16 +0000</pubDate>
		<dc:creator>gforgegroup</dc:creator>
				<category><![CDATA[extensions]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://gforgegroup.wordpress.com/?p=265</guid>
		<description><![CDATA[In this article we will cover the basic steps needed to write a simple plugin for Gforge AS, the HelloWorld plugin. There will be no real world use for this &#8220;dummy&#8221; plugin, but it will serve to our demonstration purposes. You can find the full source in this tar file or you can checkout the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=265&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this article we will cover the basic steps needed to write a simple plugin for Gforge AS, the HelloWorld plugin. There will be no real world use for this &#8220;dummy&#8221; plugin, but it will  serve to our demonstration purposes. You can find the full source in <a href="http://gforge.com/gf/download/frsrelease/452/15185/helloworld.tar.gz">this</a> tar file or you can checkout the code from the <a href="http://gforge.com/gf/project/helloworld/scmsvn/" target="_blank">helloworld project</a></p>
<h3>Plugins basic architecture overview</h3>
<p>There are three types of plugins in Gforge AS:</p>
<ul>
<li><strong>site plugins</strong> (there is one plugin instance available to the whole site),</li>
<li><strong>project plugins</strong> (multiple instances, one per project, which can be enabled/disabled in the project admin page) and</li>
<li><strong>user plugins</strong> (multiple instances, one per user, can be activated/de-activated by regular users in the My page).</li>
</ul>
<p>There is a set of predefined actions that a plugin will listen for. When a given action is performed, Gforge AS will notify the plugins, and each plugin will handle it. For instance, when a project is approved, the PROJECT_APPROVE notification is sent. One of the listeners, the tracker plugin, will create a set of new trackers based on the project template used when creating this new project.</p>
<h3>Basic file layout</h3>
<p>We need to create the  plugin directory inside  &lt;gforge_path&gt;/plugins, using the plugin name  in lowercase as  directory name. For the HelloWord plugin:<br />
<code><br />
$ ls plugins/<br />
build       ldap           scmcc        snippet     userwiki<br />
docman      mailman        scmcvs       survey      wiki<br />
forum       news           scmgit       tracker     xmlcompatibility<br />
frs         projectjabber  scmperforce  userblog<br />
<strong>helloworld</strong> projectvhost   scmsvn       userfiles<br />
jabber      scm            scmvss       userjabber<br />
</code><br />
Let&#8217;s take a look at the plugin directory structure<br />
<code><br />
$ ls plugins/helloworld/<br />
bin  conf  cronjobs  languages  lib  wwwlib<br />
</code></p>
<p>The Gforge convention for each subdirectory:</p>
<ul>
<li><strong>bin</strong>: contains scripts executables that are not cronjobs,</li>
<li><strong>conf</strong>: configurations files,</li>
<li><strong>cronjobs</strong>: scripts to be executed as cronjobs.</li>
<li><strong>languages</strong>: internationalization files,</li>
<li><strong>lib</strong>: contains all the plugins classes and functions,</li>
<li><strong>lib/html</strong>: contains the plugin template class,</li>
<li><strong>wwwlib</strong>: contains all the scripts for the web interface.</li>
<li><strong>wwwlib/admin</strong>: web scripts for the admin interface</li>
</ul>
<p>In Gforge convention class names are CamelCased and there is one file for each class, using the class name as file name.</p>
<h3>The GFPlugin interface</h3>
<p>The GFPlugin  interface (lib/plugin/GFPlugin.php) defines the basic methods that every plugin will need to implement:</p>
<ul>
<li><strong>getType()</strong>, return the plugin type,</li>
<li><strong>getName()</strong>, returns the plugin name,</li>
<li><strong>getListeners()</strong>, returns an array of action names that the plugin will answer,</li>
<li><strong>handleAction($listenername, $params)</strong>, this method, as his name implies, will handle every registered action,</li>
<li><strong>search(GFsearch $search)</strong>, takes a GFsearch object and returns some result, used for project/site searches.</li>
</ul>
<p>The plugin&#8217;s main class will implement the GFPlugin interface. The name convention for this main class is the plugin name followed by the &#8216;Plugin&#8217; string. Thus, for the HelloWorld plugin, we will call it HelloWorldPlugin, and store it in the HelloWorldPlugin.php file.</p>
<h3>GFProjectPlugin</h3>
<p>This interface extends the GFPlugin interface adding some methods commonly used in project plugins. We will not cover it here though, since the HelloWorld plugin is a very simple one. See lib/plugin/GFProjectPlugin.php for more information.</p>
<h3>PluginResult</h3>
<p>This is a convenient wrapper for any result returned in response to a given action by plugins. This class provides getters and setters for the result, error status and a method to access the plugin object returning the data. See lib/plugin/PluginResult.php for more details.</p>
<h3>The HelloWorld plugin</h3>
<p>Now we can start writing our HelloWorldPlugin class definition, first we need to know what classes we will use. We already explained GFPlugin and PluginResult, the ActionManager class handles the  actions notifications and other interactions between the plugin and the Gforge core, GFUrl generates and parses Gforge&#8217;s urls and Language is a set of tools to handle language translations.</p>
<p><code>&lt;?php<br />
require_once('plugin/GFPlugin.php');<br />
require_once('plugin/ActionManager.php');<br />
require_once('plugin/PluginResult.php');<br />
require_once('core/Language.php');<br />
require_once('GFUrl.php');<br />
</code><br />
The first method we implement is <strong>initialize()</strong>, this method will register the actions that this plugin will answer using the <strong>ActionManager::registerListeners()</strong> method.<br />
<code><br />
class HelloworldPlugin implements GFPlugin {<br />
<span style="visibility:hidden;">+++</span> CONST ALLOW = 1;<br />
<span style="visibility:hidden;">+++</span> CONST DISABLE = 0;<br />
<span style="visibility:hidden;">+++</span> CONST SECTION = 'Helloworld';<br />
</code><br />
<code><br />
<span style="visibility:hidden;">+++</span>public function initialize() {<br />
<span style="visibility:hidden;">++++++</span>ActionManager::registerListeners($this,<br />
<span style="visibility:hidden;">++++++</span>$this-&gt;getListeners());<br />
<span style="visibility:hidden;">++++</span>}<br />
</code><br />
<strong>getType()</strong> returns the plugin&#8217;s type, in this case a project plugin.<br />
<code><br />
public function getType() {<br />
<span style="visibility:hidden;">+++</span>return GFPlugin::PROJECT_PLUGIN;<br />
}<br />
</code><br />
<strong>getName()</strong> will return the name of the plugin, in lowercase.<br />
<code><br />
public function getName() {<br />
<span style="visibility:hidden;">+++</span>return 'helloworld';<br />
}<br />
</code><br />
<strong>getListeners()</strong> just returns an array of strings containing the action names that this plugin listens.<br />
<code><br />
public function getListeners() {<br />
<span style="visibility:hidden;">+++</span>return array(<br />
<span style="visibility:hidden;">++++++</span>'BUILD_PROJECT_TABS',<br />
<span style="visibility:hidden;">++++++</span>'GET_NAV_ELEMENTS',<br />
<span style="visibility:hidden;">++++++</span>'GET_OBSERVER_ROLE_CHOICES',<br />
<span style="visibility:hidden;">++++++</span>'GET_ROLE_CHOICES',<br />
<span style="visibility:hidden;">++++++</span>'PROJECT_APPROVE'<br />
<span style="visibility:hidden;">+++</span>);<br />
}<br />
</code><br />
<strong>handleActions()</strong> maps actions into methods. Don&#8217;t worry if you don&#8217;t know the meaning of every action, we will see a brief description later.<br />
<code><br />
public function handleAction($listenerName, $params) {<br />
<span style="visibility:hidden;">+++</span>switch ($listenerName) {<br />
<span style="visibility:hidden;">++++++</span>case 'BUILD_PROJECT_TABS': {<br />
<span style="visibility:hidden;">+++++++++</span>return<br />
<span style="visibility:hidden;">+++++++++</span>$this-&gt;_buildMainTabsListener($params);<br />
<span style="visibility:hidden;">+++++++++</span>break;<br />
<span style="visibility:hidden;">+++++++</span>}<br />
<span style="visibility:hidden;">++++++</span>case 'GET_NAV_ELEMENTS': {<br />
<span style="visibility:hidden;">+++++++++</span>return $this-&gt;getNavElements($params);<br />
<span style="visibility:hidden;">+++++++++</span>break;<br />
<span style="visibility:hidden;">++++++</span>}<br />
<span style="visibility:hidden;">++++++</span>case 'GET_ROLE_CHOICES': {<br />
<span style="visibility:hidden;">+++++++++</span>return $this-&gt;getRoleChoices($params);<br />
<span style="visibility:hidden;">+++++++++</span>break;<br />
<span style="visibility:hidden;">++++++</span>}<br />
<span style="visibility:hidden;">++++++</span>case 'GET_OBSERVER_ROLE_CHOICES': {<br />
<span style="visibility:hidden;">+++++++++</span>return $this-&gt;getObserverRoleChoices($params);<br />
<span style="visibility:hidden;">+++++++++</span>break;<br />
<span style="visibility:hidden;">++++++</span>}<br />
<span style="visibility:hidden;">++++++</span>case 'PROJECT_APPROVE': {<br />
<span style="visibility:hidden;">+++++++++</span>return $this-&gt;approveActions($params);<br />
<span style="visibility:hidden;">+++++++++</span>break;<br />
<span style="visibility:hidden;">++++++</span>}<br />
<span style="visibility:hidden;">+++</span>}<br />
}<br />
</code><br />
Since this plugin will not return any data on searches, we can write just a stub for the <strong>search()</strong> method.<br />
<code><br />
public function search(GFSearch $search) {<br />
}<br />
</code><br />
The next two methods are mandatory although not specified in the GFPlugin interface but in GFProjectPlugin. To avoid unnecesary complexity and for historical reasons the HelloWorld plugin implements the GFPluing interface, but when you write a real project plugin you should always implement GFProjectPlugin.</p>
<p><strong>disableFromProject()</strong> as its names implies, disables a plugin from a given project. It will be called from a Project object when disabling the plugin. We only need to unregister the actions that the plugin is listening, the caller will take care of everything else.<br />
<code><br />
function disableFromProject() {<br />
<span style="visibility:hidden;">+++</span>// unregister the actions<br />
<span style="visibility:hidden;">+++</span>ActionManager::unregisterListeners($this);<br />
}<br />
</code><br />
<strong>enableInProject()</strong> will be called by a Project object when the plugin is enabled, it&#8217;s safe to write just a stub here.<br />
<code><br />
function enableInProject(Project $project) {<br />
<span style="visibility:hidden;">+++</span>return;<br />
}</code></p>
<h3>HelloworldTemplate</h3>
<p>This class extends ProjectTemplate (lib/html/ProjectTemplate.php) and overrides two methods: <strong>header()</strong> and <strong>getPluginNavElements()</strong>. The first method will set the page title and it will add the breadcrumb for our plugin. The second method will add navigation elements to the plugin entry in the left side menu, as we will see later</p>
<h3>Actions</h3>
<h4>BUILD_PROJECT_TABS</h4>
<div id="attachment_403" class="wp-caption aligncenter" style="width: 142px"><a href="http://gforgegroup.files.wordpress.com/2011/01/tab_view.png"><img class="size-full wp-image-403 " title="tab_view" src="http://gforgegroup.files.wordpress.com/2011/01/tab_view.png?w=450" alt="Tab image of the menu entry"   /></a><p class="wp-caption-text">The left menu entry for HelloWorld</p></div>
<p style="text-align:left;">The first action we need to handle is BUILD_PROJECT_TABS. This signal is sent by the secondTabs method inside the Layout class (lib/html/Layout.php), around line 674:<br />
<code><br />
$prs=ActionManager::notify("BUILD_PROJECT_TABS",$params);<br />
</code><br />
The method expects a collection of PluginResult objects to render the left menu on the project view. So, here is our method to handle this action:<br />
<code><br />
private function _buildMainTabsListener($params) {<br />
<span style="visibility:hidden;">+++</span>if(!isset($params['project']) ||<br />
<span style="visibility:hidden;">+++</span>!is_object($params['project']) ||<br />
<span style="visibility:hidden;">+++</span>!$params['project']-&gt;usesPlugin($this-&gt;getName())) {<br />
<span style="visibility:hidden;">++++++</span>return;<br />
<span style="visibility:hidden;">+++</span>}<br />
<span style="visibility:hidden;">+++</span>$project = $params['project'];<br />
<span style="visibility:hidden;">+++</span>$result = new PluginResult($this);<br />
<span style="visibility:hidden;">+++</span>$value = array(<br />
<span style="visibility:hidden;">++++++</span>'text'  =&gt;<br />
<span style="visibility:hidden;">++++++</span>Language::getSessText('Helloworld.TabString'),<br />
<span style="visibility:hidden;">++++++</span>'action'=&gt;<br />
<span style="visibility:hidden;">++++++</span>GFUrl::getUrl()-&gt;projectURL($project,'','helloworld'),<br />
<span style="visibility:hidden;">++++++</span>'id'=&gt; 'helloworld'<br />
<span style="visibility:hidden;">+++</span>);<br />
<span style="visibility:hidden;">+++</span>$result-&gt;setResult($value);<br />
<span style="visibility:hidden;">+++</span>return $result;<br />
}<br />
</code><br />
First we check if a project object is present in the $params array, and if our plugin is active for that project. Then, we define some data expected by the caller to build the left side menu and we return it inside a PluginResult object.</p>
<h3>Language translation</h3>
<p>This line in the previous code snippet<br />
<code><br />
Language::getSessText('Helloworld.TabString')<br />
</code><br />
uses the Language class, which provides a convenient tool for language translation. This class expects languages files inside the languages subdir in the plugin&#8217;s subtree, where the general format is:<br />
<code><br />
TagName&lt;tab&gt;Message<br />
</code><br />
Base.tab should contain english messages. See the plugin&#8217;s source for more examples on other languages.</p>
<h4>GET_NAV_ELEMENTS</h4>
<p>This signal is sent from HelloWorldTemplate::getPluginNavElements() function which we already covered. It will insert submenu entries below the plugin entry in the left menu, as you can see in the next screenshot.<br />
Insert image here.</p>
<div id="attachment_405" class="wp-caption aligncenter" style="width: 138px"><a href="http://gforgegroup.files.wordpress.com/2011/01/nav_element_view.png"><img class="size-full wp-image-405 " title="nav_element_view" src="http://gforgegroup.files.wordpress.com/2011/01/nav_element_view.png?w=450" alt="view of elements in left menu"   /></a><p class="wp-caption-text">navigation elements in the left menu</p></div>
<h4>GET_ROLE_CHOICES and GET_OBSERVER_ROLE_CHOICES</h4>
<p>When this signal is sent the plugin will return a data structure contaning the available permissions that can be set for a given project. We will only use HelloWorldPlugin::ALLOW and HelloWorldPlugin::DISABLE here, but other plugins implement more complex permissions.<br />
GET_OBSERVER_ROLE_CHOICES is similar except that the plugin must return available permissions for non-members (usually private and public). See the source code for details about the implementation.</p>
<h4>PROJECT_APPROVE</h4>
<p>This signal is sent when a project is approved. <strong>HelloWorldPlugin::approveActions() </strong>does nothing actually, but you can see a well commented example from the mailman plugin.</p>
<h3>The web interface</h3>
<p>Scripts that handle the web interface are stored in plugins/helloworld/wwwlib. The first thing to notice is a file called handler.php, which is a dispatcher. This file will map the parameter &#8216;action&#8217; in the URL to a given script. The default action is handled by index.php, we use the HelloWorldTemplate object to print the page header and footer<br />
<code><br />
&lt;?php<br />
getLanguage();<br />
$Project = GFUrl::getUrl()-&gt;getProject();<br />
require_once('plugins/helloworld/lib/html/HelloworldTemplate.php');<br />
$theme = new HelloworldTemplate();<br />
$params = array(<br />
<span style="visibility:hidden;">+++</span>'title' =&gt; 'Index',<br />
<span style="visibility:hidden;">+++</span>'project' =&gt; $Project,<br />
<span style="visibility:hidden;">+++</span>'selectedbottomtab' =&gt; 'helloworld'<br />
);<br />
$theme-&gt;header($params);<br />
?&gt;<br />
Hello world!<br />
footer($params);<br />
?&gt;<br />
</code></p>
<div id="attachment_407" class="wp-caption aligncenter" style="width: 460px"><a href="http://gforgegroup.files.wordpress.com/2011/01/page_view.png"><img class="size-full wp-image-407" title="page_view" src="http://gforgegroup.files.wordpress.com/2011/01/page_view.png?w=450&#038;h=166" alt="Hello world main page view" width="450" height="166" /></a><p class="wp-caption-text">Hello world main page view</p></div>
<h3>Installation</h3>
<p>The final step is to install our new plugin, first we need to copy the source files to plugins directory in the gforge installation, and add an entry into the plugin table for HelloWorld.<br />
<code><br />
INSERT INTO plugin(plugin_name, plugin_desc, plugin_type, plugin_order, exclusive_type)<br />
VALUES ('helloworld', 'A hello world plugin', 'project',<br />
(SELECT max(plugin_order) FROM plugin WHERE plugin_type='project') + 1,null);<br />
</code><br />
Finally, we must run upgrade.php to update the configuration and language cache.<br />
<code><br />
#cd /opt/gforge5 &amp;&amp; php upgrade.php<br />
</code><br />
This tutorial is not a comprehensive guide, but we covered the basics to start writing your own plugin for Gforge, the best documentation you can get is in the source code of the main plugins bundled with GForge AS.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gforgegroup.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gforgegroup.wordpress.com/265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gforgegroup.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gforgegroup.wordpress.com/265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gforgegroup.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gforgegroup.wordpress.com/265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gforgegroup.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gforgegroup.wordpress.com/265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gforgegroup.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gforgegroup.wordpress.com/265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gforgegroup.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gforgegroup.wordpress.com/265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gforgegroup.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gforgegroup.wordpress.com/265/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=265&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gforgegroup.wordpress.com/2011/01/19/an-introduction-to-plugin-development-for-gforge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9ed513362d470627c46d97f4b49b12b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gforgegroup</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/01/tab_view.png" medium="image">
			<media:title type="html">tab_view</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/01/nav_element_view.png" medium="image">
			<media:title type="html">nav_element_view</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2011/01/page_view.png" medium="image">
			<media:title type="html">page_view</media:title>
		</media:content>
	</item>
		<item>
		<title>An Introduction to Workflow Automation in GForge AS</title>
		<link>http://gforgegroup.wordpress.com/2010/11/23/an-introduction-to-workflow-automation-in-gforge-as/</link>
		<comments>http://gforgegroup.wordpress.com/2010/11/23/an-introduction-to-workflow-automation-in-gforge-as/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 14:21:20 +0000</pubDate>
		<dc:creator>gforgegroup</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gforgegroup.wordpress.com/?p=239</guid>
		<description><![CDATA[Usually, in a collaborative environment, a task unit goes through a process until it&#8217;s complete. Some task types might go through some intermediate steps, and on each step a certain action needs to be taken by the assigned person. This process that a task goes through, passing through different phases/states, the people involved and the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=239&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Usually, in a collaborative environment, a task unit goes through a process until it&#8217;s complete. Some task types might go through some intermediate steps, and on each step a certain action needs to be taken by the assigned person. This process that a task goes through, passing through different phases/states, the people involved and the required input/output information is called a workflow.</p>
<p>A worklow engine, like the one implemented in GForge AS, is an automation software that lets program the procedures, steps and rules of a certain workflow.  The engine will determine when the process is ready to move forward to the next step (or backwards, if defined in the worklow). When the requirements for moving to another step are met, the engine will proceed automatically, assigning resources and notifying the people involved.</p>
<h4>How does workflow automation work in GForge AS:</h4>
<p>The workflow engine works by defining &#8220;transitions&#8221; or &#8220;transition rules&#8221; in the specified field/fields of a tracker. It applies to fields that have a set of possible values. You can define transitions between pair of values, i.e.: the transition applies when that field changes from one value to another. Therefore, you can have as many transitions on a single field as the number of possible pair of values (values must be different, of course).</p>
<p>On a transition, you can define the following:</p>
<ul>
<li><span style="color:#993300;">Roles that can make the transition</span>: you can define a set of roles that are allowed to make the transition</li>
<li><span style="color:#993300;">Required fields</span>: you can define which fields are required to be set</li>
<li><span style="color:#993300;">Notify people when the transition occurs</span>: you can add a message (text) and select a set to roles to be sent that message</li>
<li><span style="color:#993300;">Reasign the item to the specified roles</span>: you can select a set of roles that will have the item assigned after the transition</li>
<li><span style="color:#993300;">Change a field value</span>: you can select a field and specify its new value.</li>
</ul>
<h4>A real life (almost) example:</h4>
<p>Say we have an issue (bug) tracker in a certain software project. This tracker is used for managing issues that appear on a testing phase. So, The QA people report those issues in this tracker as they appear. A junior developer validates the issue, finds possible causes, etc, then reports and passes the isue to the senior developers for fixing.</p>
<p>Let&#8217;s suposse we have three different modules on this software. Each module is managed by a group of junior developers. A first automation we may want to enable is to have the issue, depending on the module where it appeared, automatically assigned to the corresponding junior developers group.</p>
<p>When the junior developer is done validating the issue, we want it routed to the senior developer for fixing.  Once the senior developer fixes it, it&#8217;s routed back to QA for retesting and validating the fix.  When in QA, if  it doesn&#8217;t validate, it gets routed back to the senior developer.</p>
<p>To summarize, the task will cycle through the different stages, being automatically routed, until QA decides it&#8217;s fixed so they can close it. Wokflow automation gets tasks assigned to people depending on specified conditions.</p>
<h4>Description of the different &#8220;stages&#8221; or &#8220;phases&#8221; and &#8220;actions&#8221; of a task in the example workflow:</h4>
<p>a) Issue is entered by a QA member, &#8220;state&#8221; is set to &#8220;Awaiting response&#8221; (default &#8220;state&#8221; setting).  Depending on the &#8220;component&#8221; field setting, the issue is auto-assigned to certain user/group of the Junior Developers role</p>
<p>b) The junior developer tries to reproduce the issue, and sets the state to either: &#8220;Accepted as Bug&#8221;, &#8220;Works for me&#8221; or &#8220;Invalid&#8221;.</p>
<p style="padding-left:30px;">b.1) if set to &#8220;Accepted as Bug&#8221; we want the issue to be re-assigned to a Senior Developer and notify the project admin and the QA members</p>
<p style="padding-left:30px;">b.2) if set to &#8220;Works for me&#8221;, we want to reassign the issue to QA to get evaluated and closed.</p>
<p style="padding-left:30px;">b.3) if set to &#8220;Invalid&#8221;, we want the item be closed and notify QA.</p>
<p>c) When the Senior Developer gets an issue assigned, he/she will attempt to fix it and then set the issue &#8220;state&#8221; to &#8220;Fixed&#8221; or &#8220;Won&#8217;t fix&#8221; accordingly.</p>
<p style="padding-left:30px;">c.1) if set to &#8220;Fixed&#8221;, we want the issue reassigned to QA for retesting.</p>
<p style="padding-left:30px;">c.2) if set to &#8220;Wont-fix&#8221;, we want to notificate the project admin, but the issue doesn&#8217;t get re-assigned to other role.</p>
<p>d) For issues that were reassigned to QA for retesting, one of the following may happen:</p>
<p style="padding-left:30px;">d.1) Issue doesn&#8217;t validate as fixed, &#8220;state&#8221; is set to &#8220;Not Fixed&#8221; and gets automatically reassigned to &#8220;Senior Development&#8221; role for rework. Project admin gets notified.</p>
<p style="padding-left:30px;">d.2) Issue validates as fixed, tester sets &#8220;state&#8221; to &#8220;verified&#8221;. &#8220;Status&#8221; is automatically set to &#8220;closed&#8221;, and senior developer and project admin get notified.</p>
<p style="padding-left:30px;">Sample workflow diagram:</p>
<p style="padding-left:30px;">&nbsp;</p>
<p><a href="http://gforgegroup.files.wordpress.com/2010/11/diagrama.png"><img class="aligncenter size-full wp-image-243" title="Diagrama" src="http://gforgegroup.files.wordpress.com/2010/11/diagrama.png?w=450&#038;h=431" alt="" width="450" height="431" /></a><br />
To summarize, workflow automation facilitates collaboration across departments and individuals. It streamlines the process and helps running the business more efficiently.</p>
<h4>How to create this sample workflow in GForge:</h4>
<p>You can use the default bug tracker that comes with GForge to create this sample workflow and see how it works.</p>
<p>1. Create a test project based on the standard template that comes with GForge</p>
<p>2. Go to &#8220;Tracker &gt;&gt; Bugs&#8221;</p>
<p>3. In the Bugs tracker go to &#8220;Admin &gt;&gt; Edit Fields, Auto-Assign, Workflow&#8221;</p>
<p>4. Select the &#8220;Component&#8221; field in &#8220;Auto assigned By&#8221; and submit.</p>
<p>5. Go to &#8220;Edit Field Values&#8221; in the &#8220;Component&#8221; field.  Enter some values (component names) and assign user/group to each one. If you don&#8217;t have users or groups on your test project, go ahead and create/assign<br />
them first.</p>
<p><a href="http://gforgegroup.files.wordpress.com/2010/11/img-02.png"><img class="aligncenter size-full wp-image-245" title="img-02" src="http://gforgegroup.files.wordpress.com/2010/11/img-02.png?w=450&#038;h=71" alt="" width="450" height="71" /></a></p>
<p>6. Back on the &#8220;Edit Fields, Auto-Assign, Workflow&#8221;, check the &#8220;Resolution&#8221; field on the &#8220;Workflow&#8221; column and submit. This indicates that we want to set a workflow on this field.</p>
<p><a href="http://gforgegroup.files.wordpress.com/2010/11/img-01.png"><img class="aligncenter size-full wp-image-246" title="img-01" src="http://gforgegroup.files.wordpress.com/2010/11/img-01.png?w=450&#038;h=181" alt="" width="450" height="181" /></a></p>
<p>7. Click on &#8220;define&#8221;, you will see the transitions matrix. Check the transitions as shown in the following screenshot and submit. Notice here that we are selecting the transitions described in the above worklow description (check the diagram).</p>
<p><a href="http://gforgegroup.files.wordpress.com/2010/11/img-03.png"><img class="aligncenter size-full wp-image-248" title="img-03" src="http://gforgegroup.files.wordpress.com/2010/11/img-03.png?w=450&#038;h=123" alt="" width="450" height="123" /></a></p>
<p>8. We will show how to define one of those transitions, you can create the rest yourself repeating this process.  Click on &#8220;Details&#8221; for the &#8220;Awaiting Response&#8221; &gt;&gt; &#8220;Accepted as Bug&#8221; transition.</p>
<p>9. Here we set the transition rules and actions, set the different fields as shown in the screenshot.</p>
<p><a href="http://gforgegroup.files.wordpress.com/2010/11/img-04.png"><img class="aligncenter size-full wp-image-249" title="img-04" src="http://gforgegroup.files.wordpress.com/2010/11/img-04.png?w=450&#038;h=383" alt="" width="450" height="383" /></a></p>
<p>10. You can repeat steps 7 to 9 to define the rest of the transitions we created. Set the &#8220;roles that may make this change&#8221; and &#8220;reassign item to role&#8221; accordinly in each case. You can see the complete list of<br />
transitions for a certain tracker if you go to &#8220;Tracker &gt;&gt; Worklow rules&#8221;:</p>
<p><a href="http://gforgegroup.files.wordpress.com/2010/11/img-05.png"><img class="aligncenter size-full wp-image-250" title="img-05" src="http://gforgegroup.files.wordpress.com/2010/11/img-05.png?w=450&#038;h=116" alt="" width="450" height="116" /></a></p>
<p>11. Your worklow is ready to use. Go ahead and create a tracker item, set it to &#8220;awaiting response&#8221;. Then  login with a junior developer role, then with a senior developer, etc. Simulate the actions that each role can take while working on the item and see how the transitions occur automatically when the conditions are met.</p>
<p>We have given an introduction to working with workflows in GForge AS.  It&#8217;s a very powerful feature that can radically improve the efficiency of the organization.  We invite you to implement the example we discussed in this post and see for yourself.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gforgegroup.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gforgegroup.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gforgegroup.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gforgegroup.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gforgegroup.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gforgegroup.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gforgegroup.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gforgegroup.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gforgegroup.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gforgegroup.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gforgegroup.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gforgegroup.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gforgegroup.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gforgegroup.wordpress.com/239/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=239&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gforgegroup.wordpress.com/2010/11/23/an-introduction-to-workflow-automation-in-gforge-as/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9ed513362d470627c46d97f4b49b12b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gforgegroup</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2010/11/diagrama.png" medium="image">
			<media:title type="html">Diagrama</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2010/11/img-02.png" medium="image">
			<media:title type="html">img-02</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2010/11/img-01.png" medium="image">
			<media:title type="html">img-01</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2010/11/img-03.png" medium="image">
			<media:title type="html">img-03</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2010/11/img-04.png" medium="image">
			<media:title type="html">img-04</media:title>
		</media:content>

		<media:content url="http://gforgegroup.files.wordpress.com/2010/11/img-05.png" medium="image">
			<media:title type="html">img-05</media:title>
		</media:content>
	</item>
		<item>
		<title>mod_auth_gforge 2, an apache module for Gforge AS</title>
		<link>http://gforgegroup.wordpress.com/2010/10/15/mod_auth_gforge-2-an-apache-module-for-gforge-as/</link>
		<comments>http://gforgegroup.wordpress.com/2010/10/15/mod_auth_gforge-2-an-apache-module-for-gforge-as/#comments</comments>
		<pubDate>Fri, 15 Oct 2010 14:27:24 +0000</pubDate>
		<dc:creator>gforgegroup</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gforgegroup.wordpress.com/?p=190</guid>
		<description><![CDATA[mod_auth_gforge2 (MAG2) is an apache2 module for controlling subversion DAV access based on Gforge AS permissions. It integrates smoothly with GForge AS, and supports role access and ACL checking. MAG2 is based in the previous MAG for Gforge 4.x series. Installation Pre-compiled binaries for RHEL4/5, as well as the source tar (for compilation on other [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=190&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>mod_auth_gforge2 (MAG2) is an apache2 module for controlling subversion DAV access based on Gforge AS permissions. It integrates smoothly with GForge AS, and supports role access and ACL checking.</p>
<p>MAG2 is based in the previous MAG for Gforge 4.x series.</p>
<h2>Installation</h2>
<p>Pre-compiled binaries for RHEL4/5, as well as the source tar (for compilation on other platforms) can be found <a href="http://gforge.com/gf/project/modauthgforge2/frs/">here</a>. Debug packages are also available.</p>
<p>We will cover the rpm installation here. If you need or want to compile from source, detailed instructions can be found in the README file distributed with the source tar.</p>
<p>On a working Gforge AS installation, all the runtime dependencies needed by MAG2 are installed by default, so it is just a matter of downloading the proper package for your RHEL version/architecture and install it with the rpm command as usual.</p>
<p><code>rpm -i modauthgforge2-0.6-1.i386.rpm</code></p>
<p>There is a debug version of each package too, which provides debugging information.</p>
<h2>Configuration</h2>
<p>Once installed, you need to instruct apache to load the module, which is done with this line.</p>
<p><code>LoadModule auth_gforge_module  modules/mod_auth_gforge.so</code></p>
<p>Make sure you load the auth_gforge_module <strong>after</strong> dav_module and dav_svn_module. Also, remember to remove mod_authz_svn from the module list to be loaded by apache at startup. In Centos/RHEL, check /etc/httpd/conf.d/subversion.conf  also to confirm mod_authz_svn is not being loaded.</p>
<p>The configuration options are explained in the README file, which you can find in /usr/share/doc/modauthgforge2 if you installed MAG2 using rpm, or inside the source tar if you compiled from source. Here is an example using the standard /etc/gforge/httpd.conf file installed by default with Gforge AS:</p>
<pre>LoadModule dav_module         modules/mod_dav.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
#LoadModule authz_svn_module   modules/mod_authz_svn.so
#Uncomment this to load MAG, comment out the previous line
#(authz_svn module)
#and make sure the authz_snv_module is not loaded in
#/etc/httpd/conf.d/subversion.conf
LoadModule auth_gforge_module modules/mod_auth_gforge.so</pre>
<p>Inside your virtual host directive:</p>
<pre>#
#  SVN Repository
#
    &lt;Location svn&gt;
      ErrorDocument 404 default
      DAV svn
      SVNParentPath /var/lib/gforge/svnroot
      #Uncomment the following lines to use MAG
      GforgeSysPath /var/lib/gforge
      GforgeGroupsRoot /svnroot
      Auth_PG_cache_passwords On
      # how to authenticate a user
      # comment out the following line when using MAG
      #AuthzSVNAccessFile /var/lib/gforge/svnroot-access
      AuthType Basic
      AuthName "Document repository"
      # comment the following line when using MAG
      #AuthUserFile /var/lib/gforge/svnroot-authfile
      SVNIndexXSLT "/svnindex.xsl"
      # only authenticated users may access the repository
      Require valid-user
    &lt;/Location&gt;</pre>
<p>You may need to configure the database parameters as well. Check the README for Auth_PG_host_name, Auth_PG_database, Auth_PG_port and Auth_PG_pwd. If you accepted the default database parameters when installing Gforge, this is not needed.</p>
<p>For more details, please check the README</p>
<h2>Final steps</h2>
<p>Once the above steps are done, and you confirmed that everything works, you can disable the cronjob  that handles webdav users creation/modification. Look into cron15.php and comment the following line:<br />
<code>`$base_str/plugins/scmsvn/cronjobs/create_dav_svn_auth.php`;</code></p>
<h2>About anonymous access</h2>
<p>A current MAG2 limitation is that an user needs to be registered at the site for checking out projects when he is not a member and the repository anonymous access is enabled.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gforgegroup.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gforgegroup.wordpress.com/190/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gforgegroup.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gforgegroup.wordpress.com/190/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gforgegroup.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gforgegroup.wordpress.com/190/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gforgegroup.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gforgegroup.wordpress.com/190/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gforgegroup.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gforgegroup.wordpress.com/190/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gforgegroup.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gforgegroup.wordpress.com/190/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gforgegroup.wordpress.com/190/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gforgegroup.wordpress.com/190/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gforgegroup.wordpress.com&amp;blog=4177532&amp;post=190&amp;subd=gforgegroup&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gforgegroup.wordpress.com/2010/10/15/mod_auth_gforge-2-an-apache-module-for-gforge-as/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9ed513362d470627c46d97f4b49b12b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gforgegroup</media:title>
		</media:content>
	</item>
	</channel>
</rss>
