<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>phpBB Weekly</title>
	
	<link>http://www.phpbbweekly.net</link>
	<description>Hosted by Douglas Bell and David Lewis</description>
	<lastBuildDate>Wed, 01 Sep 2010 05:12:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/phpBBweekly" /><feedburner:info uri="phpbbweekly" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-nc-sa/2.5/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><feedburner:emailServiceId>phpBBweekly</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>phpBB Weekly #161: So Long, And Thanks For All the (Eric) Fish</title>
		<link>http://feedproxy.google.com/~r/phpBBweekly/~3/1nofcsq9xw4/</link>
		<comments>http://www.phpbbweekly.net/2010/09/01/phpbb-weekly-161-so-long-and-thanks-for-all-the-eric-fish/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 05:12:09 +0000</pubDate>
		<dc:creator>Douglas Bell</dc:creator>
				<category><![CDATA[Released Episodes]]></category>

		<guid isPermaLink="false">http://www.phpbbweekly.net/?p=1068</guid>
		<description><![CDATA[Download AAC Episode (46.8 MB) &#124; Download MP3 Episode (91.1 MB) Download Episode Chat Log Episode Duration: 1:34:56 On This Episode: Douglas Bell (webmacster87), David Lewis (Highway of Life), and Francis Lewis (Handyman`) It&#8217;s our last live episode of phpBB Weekly, and the last time David and Douglas are on the show as the regular [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://media.techpodcasts.com/phpbbweekly/s3.amazonaws.com/phpbbweekly/episodes/161.m4a">Download AAC Episode (46.8 MB)</a> | <a href="http://media.techpodcasts.com/phpbbweekly/s3.amazonaws.com/phpbbweekly/episodes/161.mp3">Download MP3 Episode (91.1 MB)</a><br />
<a href="http://www.phpbbweekly.net/chatlogs/161.txt">Download Episode Chat Log</a></p>
<p><strong>Episode Duration:</strong> 1:34:56<br />
<strong>On This Episode:</strong> Douglas Bell (webmacster87), David Lewis (Highway of Life), and Francis Lewis (Handyman`)</p>
<p>It&#8217;s our last live episode of phpBB Weekly, and the last time David and Douglas are on the show as the regular co-hosts before the show goes <a href="http://www.phpbbweekly.net/2010/08/17/transition/">under new management</a>. However, it was a special episode, not only because almost the entire thing was improvised without planned show notes, but as a great opportunity for recapping Libertyvasion 2010 and offering some parting thoughts to the phpBB project as it continues moving into the future.</p>
<p>We start by looking at <a href="http://blog.phpbb.com/2010/08/20/help-us-making-modding-in-phpbb-3-1-easy/">how we can help make MODding eaiser</a> by offering suggestions to the teams on where to implement hooks in phpBB 3.1 Ascraeus.</p>
<p>Douglas also recaps some of the <a href="http://www.phpbbweekly.net/category/libertyvasion/">presentations from Libertyvasion</a>, noting some of the plans and discussions relating to the future of phpBB development-particularly concerning phpBB4&#8242;s integration with Symfony 2&#8211;and recapping presentations about the proliferation of the MOD Team Tools, and looking at the improvements coming to the automatic MOD installer to be included with phpBB 3.1.</p>
<p>We also congratulate <a href="http://www.phpbb.com/community/viewtopic.php?f=14&#038;t=2101618">Yuriy and Patrick on their promotions</a> to Operations Manager and Support Team Leader, respectively, and Douglas notes that Rich McGirr (RMcGirr83) was also given a surprise promotion to full MOD Team Member. Some other promotions that were neglected on the episode include the additions of Igor Wiedler (eviL&lt;3) to the Developer Team and Christian Bullock (Christian 2.0) to the Support Team, along with a number of other new team members throughout the teams.</p>
<p>Then, Douglas and David pull back and reflect on how phpBB Weekly started and grew&#8211;against all odds&#8211;to the institution that it is today. We reflect back on some of our more memorable episodes &#8212; some of the ones mentioned are our <a href="http://www.phpbbweekly.net/2009/03/31/phpbb-weekly-102-bbgourmet-cooking-for-your-community/">BBGourmet April Fools episode</a>, <a href="http://www.phpbbweekly.net/2008/02/10/phpbb-weekly-050-guest-patrick-okeefe-of-phpbbhackscom/">our first interview with Patrick O&#8217;Keefe</a>, and <a href="http://www.phpbbweekly.net/2007/12/09/phpbb-weekly-042/">the one where the teams taunted Douglas about the phpBB3 Gold release</a>.</p>
<p>Then, David and Francis give us one last little chunk of podcast acting, as they take us all the way to England, where a man tries to get a license for his fish named Eric.</p>
<p>Finally, we close with our MOD and Style of the Week. We congratulate the winners of the <a href="http://www.phpbb.com/community/viewtopic.php?f=14&#038;t=2091690">Summer of MODs contest</a> by making both of the winning MODs our MODs of the Week: <a href="http://www.phpbb.com/customise/db/mod/precise_similar_topics_ii/">Precise Similar Topics II</a> by VSE, and <a href="http://www.phpbb.com/customise/db/mod/thanks_for_posts/">Thanks for posts (ratings edition)</a> by [WordPress is unable to display his username properly]. And for the Style of the Week, we honor Christian&#8217;s victory in the <a href="http://www.phpbb.com/community/viewtopic.php?f=14&#038;t=2096189">Libertyvasion T-Shirt Contest</a> by making the Style of the Week <a href="http://www.phpbb.com/customise/db/style/absolution/">Absolution</a> by Christian 2.0.</p>
<p>We all want to thank everyone who has followed phpBB Weekly for all these years; it&#8217;s been a fun ride. We&#8217;re looking forward to seeing how the podcast continues to grow and evolve when Phil and Sam take over the show, and wish them lots of luck and lots of fun!</p>
<img src="http://feeds.feedburner.com/~r/phpBBweekly/~4/1nofcsq9xw4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.phpbbweekly.net/2010/09/01/phpbb-weekly-161-so-long-and-thanks-for-all-the-eric-fish/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>

		<feedburner:origLink>http://www.phpbbweekly.net/2010/09/01/phpbb-weekly-161-so-long-and-thanks-for-all-the-eric-fish/</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/phpBBweekly/~5/6yEcx43aAIk/161.m4a" length="46789373" type="audio/x-m4a" /><feedburner:origEnclosureLink>http://media.techpodcasts.com/phpbbweekly/s3.amazonaws.com/phpbbweekly/episodes/161.m4a</feedburner:origEnclosureLink></item>
		<item>
		<title>phpBB Weekly #160: Live from Libertyvasion 2010</title>
		<link>http://feedproxy.google.com/~r/phpBBweekly/~3/CQOMTU5x5T8/</link>
		<comments>http://www.phpbbweekly.net/2010/08/25/phpbb-weekly-160-live-from-libertyvasion-2010/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 23:29:16 +0000</pubDate>
		<dc:creator>Douglas Bell</dc:creator>
				<category><![CDATA[Libertyvasion 2010]]></category>
		<category><![CDATA[Released Episodes]]></category>

		<guid isPermaLink="false">http://www.phpbbweekly.net/?p=1066</guid>
		<description><![CDATA[Download AAC Episode (26 MB) &#124; Download MP3 Episode (50.9 MB) Download Episode Chat Log Episode Duration: 52:58 Panel Moderators: Steve Atkinson (stevemaury / Support Team) and Douglas Bell (webmacster87) Panel Members: David Colón (DavidIQ / MOD Team), Will Hough (will_hough / Moderator Team), Raimon Meuldijk (Raimon / Styles Team), Yuriy Rusko (Marshalrusty / Management [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://media.techpodcasts.com/phpbbweekly/s3.amazonaws.com/phpbbweekly/episodes/160.m4a">Download AAC Episode (26 MB)</a> | <a href="http://media.techpodcasts.com/phpbbweekly/s3.amazonaws.com/phpbbweekly/episodes/160.mp3">Download MP3 Episode (50.9 MB)</a><br />
<a href="http://www.phpbbweekly.net/chatlogs/160.txt">Download Episode Chat Log</a></p>
<p><strong>Episode Duration:</strong> 52:58<br />
<strong>Panel Moderators:</strong> Steve Atkinson (stevemaury / Support Team) and Douglas Bell (webmacster87)<br />
<strong>Panel Members:</strong> David Colón (DavidIQ / MOD Team), Will Hough (will_hough / Moderator Team), Raimon Meuldijk (Raimon / Styles Team), Yuriy Rusko (Marshalrusty / Management Team &#038; Support Team), and Josh Woody (A_Jelly_Doughnut / Developer Team)</p>
<p>This special episode of phpBB Weekly is the recording of the phpBB Team Discussion Panel session which took place during <a href="http://www.phpbb.com/libertyvasion/">Libertyvasion 2010</a> in New York City on Saturday, August 21. Support Team member Steve Atkinson moderated the panel, while Douglas Bell coordinated the questions asked from the audience and from phpBB Weekly&#8217;s special Libertyvasion channel (#phpbb-libertyvasion on irc.freenode.net) to make this an incredibly informative session covering a wide range of topics.</p>
<p>All six teams were represented on this panel, and the members weighed their input topics including how quick reply made it into phpBB3, how phpBB &#8220;competes&#8221; with other bulletin boards and social media, what it&#8217;s like to work with such a wide age-range of team members, how plans for phpBB4 will affect phpBB, how each of the members got involved in the first place, and much more.</p>
<p>Enjoy this great discussion panel, and plan to join us for our final live phpBB Weekly episode this Saturday for a complete Libertyvasion 2010 recap!</p>
<img src="http://feeds.feedburner.com/~r/phpBBweekly/~4/CQOMTU5x5T8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.phpbbweekly.net/2010/08/25/phpbb-weekly-160-live-from-libertyvasion-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>

		<feedburner:origLink>http://www.phpbbweekly.net/2010/08/25/phpbb-weekly-160-live-from-libertyvasion-2010/</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/phpBBweekly/~5/ldvRP1ZC9rk/160.m4a" length="26040146" type="audio/x-m4a" /><feedburner:origEnclosureLink>http://media.techpodcasts.com/phpbbweekly/s3.amazonaws.com/phpbbweekly/episodes/160.m4a</feedburner:origEnclosureLink></item>
		<item>
		<title>[Libertyvasion] Building Your Community</title>
		<link>http://feedproxy.google.com/~r/phpBBweekly/~3/hMULBteIbXc/</link>
		<comments>http://www.phpbbweekly.net/2010/08/21/libertyvasion-building-your-community/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 21:22:38 +0000</pubDate>
		<dc:creator>Douglas Bell</dc:creator>
				<category><![CDATA[Libertyvasion 2010]]></category>

		<guid isPermaLink="false">http://www.phpbbweekly.net/?p=1055</guid>
		<description><![CDATA[Session: Building Your Community by]]></description>
			<content:encoded><![CDATA[<p><strong>Session:</strong> Building Your Community by <a href="http://www.phpbb.com/libertyvasion/speakers/#cullen-walsh>Cullen Walsh</a><br />
<strong>Date/Time:</strong> Saturday 8/21 at 5:00-5:40 PM</p>
<p><em>This post contains my rough crib-notes from this presentation at <a href="http://www.phpbb.com/libertyvasion/">Libertyvasion 2010</a>. The post has not been proof-read for spelling, grammar, or accuracy.</em></p>
<p>This presentation is more focused on your community, though it&#8217;s not a be-all end-all, there&#8217;ll be a Q&#038;A discussion at the end.</p>
<p>It&#8217;s important to know why you are creating your forum. What services and benefits is it going to provide? What will people get out of your forum? Just saying &#8220;I WANT A FORUM!&#8221; is the wrong answer. How will your site be different? Who do you want to attract? Why would they come to you? How will people find your site? (Google will not magically drive people to your site.)</p>
<p>Don&#8217;t spam your site! People will ignore it and delete it, except for spambots, who will immediately come to your site.<br />
Use signatures and website fields to promote your site. Buy ads (if appropriate) to drive people to your site. However, note that targeted campaigns will go much farther than blanket ones. Bringing new users to your site is the hardest part of getting your new community off the ground.</p>
<p>How will your board be organized? Don&#8217;t start with dozens and dozens of forums. Are there any legal issues with your site? How many people do you expect? How do you plan on expanding?</p>
<p>Most importantly: Why are people going to stay? Your site needs to have content and a reason for people to stay, or people will drift away to other sites. Your site will be a failure unless you can answer all of these questions.</p>
<p>Once you&#8217;ve established your site, some tips:<br />
* Moderation &#8212; There is no one-size fits all approach to moderation. You do need to prepare rules, but be flexible in how you enforce them. Don&#8217;t hide what you expect out of users. (On phpBB.com, every page links to the rules page.) Make sure that your users know the rules. Know how to handle various situations; you will encounter all kinds of situations on your board, including: spam, competitor advertisements, profanity, flame wars, forum games, obnoxious avatars/signatures, banned users coming back, criticism of your site, escalating complaints (&#038; chain of command for dealing with appeals), legal threats/action, and plenty of others.<br />
The phpBB.com Moderator Team has an internal 24-page guide for handling situations, and a private forum for communicating on how to handle situations and ensure problems are being handled fairly or consistently.</p>
<p>Open mic offering suggestions of other issues to be aware of. Mentioned were the &#8220;holy trinity of flame topics&#8221;: politics, religion, and web browsers. Be aware of local laws that apply to your board, i.e. the COPPA in the United States.<br />
Question asked &#8212; isn&#8217;t it all just common sense? It is, but there are lots of people that don&#8217;t do the right thing for what&#8217;s best for the community.</p>
<p>When you&#8217;re building your site, think about what your community wants, what it needs, and what can help it grow. Don&#8217;t install 55 MODs on a site that has only 5 members, where&#8217;s the value there?</p>
<img src="http://feeds.feedburner.com/~r/phpBBweekly/~4/hMULBteIbXc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.phpbbweekly.net/2010/08/21/libertyvasion-building-your-community/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpbbweekly.net/2010/08/21/libertyvasion-building-your-community/</feedburner:origLink></item>
		<item>
		<title>[Libertyvasion] Titania: The Customization Database</title>
		<link>http://feedproxy.google.com/~r/phpBBweekly/~3/6-Wo9pnTEzQ/</link>
		<comments>http://www.phpbbweekly.net/2010/08/21/libertyvasion-titania-the-customization-database/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 20:49:07 +0000</pubDate>
		<dc:creator>Douglas Bell</dc:creator>
				<category><![CDATA[Libertyvasion 2010]]></category>

		<guid isPermaLink="false">http://www.phpbbweekly.net/?p=1053</guid>
		<description><![CDATA[Session: Titania: The Customization Database by Nathan Guse and Tom Catullo Date/Time: Saturday 8/21 at 4:30-4:55 PM This post contains my rough crib-notes from this presentation at Libertyvasion 2010. The post has not been proof-read for spelling, grammar, or accuracy. The Customization Database is an application that has been in use since the retirement of [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session:</strong> Titania: The Customization Database by <a href="http://www.phpbb.com/libertyvasion/speakers/#nathan-guse">Nathan Guse</a> and <a href="http://www.phpbb.com/libertyvasion/speakers/#tom-catullo">Tom Catullo</a><br />
<strong>Date/Time:</strong> Saturday 8/21 at 4:30-4:55 PM</p>
<p><em>This post contains my rough crib-notes from this presentation at <a href="http://www.phpbb.com/libertyvasion/">Libertyvasion 2010</a>. The post has not been proof-read for spelling, grammar, or accuracy.</em></p>
<p>The Customization Database is an application that has been in use since the retirement of Ariel (the previous MODs/Styles Database), and Titania now handles more than just MODs and Styles and has many more features.</p>
<p>Titania improved searching contributions greatly over Ariel, makes category listings more prominent, easier to access and navigate. Now offers screenshots and demo links more prominently, and for non-styles as well. Titania also makes previous revisions available to the public for download. Much more prominent Download button.</p>
<p>For authors, contributions can now contain more information (screenshots, co-authors, demo URL, etc.) and allows for updating/editing this information for the contributions. Each contribution now has its own Support and FAQ sections, and support topics are propagated to a single location for authors. No longer necessary to cram all support into a single topic within the MODs or Styles Releases forum.</p>
<p>Titania also brings automation to the MOD revision process, including automatic checks by the MPV (MOD pre-validator) and AutoMOD. Author can immediately see the result and make fixes immediately without waiting for validation.</p>
<p>Titania is very maintainable. The code is object-oriented and generally contained in classes, and is built to integrate seamlessly with a phpBB installation. Titania makes use of a similar hooks system that phpBB has. Requires no edits in phpBB to install it, despite its size.</p>
<p>Unlike Ariel, Titania&#8217;s code is not directly integrated with phpBB.com but is its own application. It has been released on Code Forge so that International Support Teams can use it on their own websites rather than having to build their own.</p>
<p><strong>Q&#038;A</strong><br />
Titania uses its own system to provide the individual support forums for contributions, and is completely standalone, although it does take advantage of phpBB APIs where necessary.</p>
<img src="http://feeds.feedburner.com/~r/phpBBweekly/~4/6-Wo9pnTEzQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.phpbbweekly.net/2010/08/21/libertyvasion-titania-the-customization-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpbbweekly.net/2010/08/21/libertyvasion-titania-the-customization-database/</feedburner:origLink></item>
		<item>
		<title>[Libertyvasion] Automatic MOD Installation: Then and Now</title>
		<link>http://feedproxy.google.com/~r/phpBBweekly/~3/av1QKLz4sk8/</link>
		<comments>http://www.phpbbweekly.net/2010/08/21/libertyvasion-automatic-mod-installation-then-and-now/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 18:42:58 +0000</pubDate>
		<dc:creator>Douglas Bell</dc:creator>
				<category><![CDATA[Libertyvasion 2010]]></category>

		<guid isPermaLink="false">http://www.phpbbweekly.net/?p=1045</guid>
		<description><![CDATA[Session: Automatic MOD Installation: Then and Now by Josh Woody Date/Time: Saturday 8/21 at 2:20-2:50 PM This post contains my rough crib-notes from this presentation at Libertyvasion 2010. The post has not been proof-read for spelling, grammar, or accuracy. Josh will be talking about the history of automatic MOD installation (not just pertaining to phpBB), [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session:</strong> Automatic MOD Installation: Then and Now by <a href="http://www.phpbb.com/libertyvasion/speakers/#josh-woody">Josh Woody</a><br />
<strong>Date/Time:</strong> Saturday 8/21 at 2:20-2:50 PM</p>
<p><em>This post contains my rough crib-notes from this presentation at <a href="http://www.phpbb.com/libertyvasion/">Libertyvasion 2010</a>. The post has not been proof-read for spelling, grammar, or accuracy.</em></p>
<p>Josh will be talking about the history of automatic MOD installation (not just pertaining to phpBB), up to what&#8217;s coming in 3.1.</p>
<p>GNU diff/patch is &#8220;older than a wild Yuriy (1970s)&#8221; and powers the automatic updater. Diff/patch is well-supported in the *nix world, but not-so-well supported in the Win32 world.<br />
In phpBB, GNU diff/patch is completely functional, but misses several items that MODs use, such as metadata, new file copies are more difficult, and &#8220;do it yourself&#8221; non-file change instructions. It&#8217;s not easy to process by hand.</p>
<p>EasyMOD was 2002-03, the granddaddy of this for phpBB3. Originally written by Nuttzy99, later picked up by Jim (TerraFrost). Performed MOD file changes well, but that&#8217;s about it. Couldn&#8217;t handle custom styles or translations. Josh steps us through a sample MOD install of Nils&#8217; April Fools MOD for phpBB2 using EasyMOD 0.4.0 beta.<br />
No options to speak of in EasyMOD, most support questions revolved around initial setup, especially permissions.</p>
<p>The MODX transition began because the Text Template limited what EasyMOD could do. It was a verbose <code>patch</code> with some metadata, didn&#8217;t work well with translations and multiple styles, etc. MODX allowed the new AutoMOD features to exist (just not always in an obvious or friendly fashion, or equitably). Now Josh steps through a sample MOD installation with AutoMOD 1.0.0 &#8212; noxwizard&#8217;s EasyPortal for phpBB3. Still has some issues that are not intuitive.</p>
<p>The Ascraeus MOD installer has the following priorities: Fix the user interface, address the inequities (things you can&#8217;t do with AutoMOD though supported by MODX), and make the code more flexible. No screenshots yet because the UI isn&#8217;t available yet, so far only backend work has been done.<br />
The new MOD installer will move closer to a wizard interface, and give the user all relevant prompts before installing the MOD. Demonstrates the process of installing &#8220;RMcGirr83&#8242;s Beer MOD&#8221;. First get to tell AutoMOD how to process styles, how to process languages, if this is an upgrade to an existing MOD or not, and <em>then</em> start the install.</p>
<p>Question: Will phpBB 3.1 will be supporting a language fallback? For example, if new English strings are added that don&#8217;t exist in German, will phpBB fall back to showing the English strings by itself? Answer is no, not feasible at this time because of how the language files are implemented. Not feasible to calculate whether or not to fallback on a string-by-string basis.</p>
<p>Will phpBB interface with phpBB.com and the customization database? Answer is maybe, but only if the feature can be completed in time for the Ascraeus release.</p>
<img src="http://feeds.feedburner.com/~r/phpBBweekly/~4/av1QKLz4sk8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.phpbbweekly.net/2010/08/21/libertyvasion-automatic-mod-installation-then-and-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpbbweekly.net/2010/08/21/libertyvasion-automatic-mod-installation-then-and-now/</feedburner:origLink></item>
		<item>
		<title>[Libertyvasion] phpBB “Ascraeus” 3.1: News for MOD Authors</title>
		<link>http://feedproxy.google.com/~r/phpBBweekly/~3/GKmg_pw83Ko/</link>
		<comments>http://www.phpbbweekly.net/2010/08/21/libertyvasion-phpbb-ascraeus-3-1-news-for-mod-authors/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 17:54:01 +0000</pubDate>
		<dc:creator>Douglas Bell</dc:creator>
				<category><![CDATA[Libertyvasion 2010]]></category>

		<guid isPermaLink="false">http://www.phpbbweekly.net/?p=1043</guid>
		<description><![CDATA[Session: phpBB &#8220;Ascraeus&#8221; 3.1: News for MOD Authors by Henry Sudhof Date/Time: Saturday 8/21 at 1:30-2:10 PM This post contains my rough crib-notes from this presentation at Libertyvasion 2010. The post has not been proof-read for spelling, grammar, or accuracy. The phpBB3 code-base looks like a bunch of spaghetti code. (Showing a picture of spaghetti [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session:</strong> phpBB &#8220;Ascraeus&#8221; 3.1: News for MOD Authors by <a href="http://www.phpbb.com/libertyvasion/speakers/#henry-sudhof">Henry Sudhof</a><br />
<strong>Date/Time:</strong> Saturday 8/21 at 1:30-2:10 PM</p>
<p><em>This post contains my rough crib-notes from this presentation at <a href="http://www.phpbb.com/libertyvasion/">Libertyvasion 2010</a>. The post has not been proof-read for spelling, grammar, or accuracy.</em></p>
<p>The phpBB3 code-base looks like a bunch of spaghetti code. (Showing a picture of spaghetti on the screen.)</p>
<p>phpBB 3.0 introduced modules (plug-and-play), but were limited to adding pages to the control panels, and is not well understood. There are also plugins, which work for the search, CAPTCHA, auth, and cache. However, the functionality of these varies, there are different non-uniform APIs, and it&#8217;s not well adopted. And there are also hooks which alter phpBB&#8217;s behavior, but these are mainly intended for wrapping phpBB within other applications. They are rather limited, and by-and-large have not been adopted. Instead, we are using MODs, which are glorified patchfiles, but have excellent adoption.</p>
<p>MODs aren&#8217;t necessarily bad. They provide unlimited expressive power, are simple to understand, have a shallow learning curve, have been adopted very well, are a well-documented format, offer good performance, and benefit from MOD Team audits. However, there is a non-uniform codebase, creating difficulties with maintenance, it impedes updating phpBB, can cause conflicts and side-effects, and are difficult to install, among other issues. (Yet another picture of spaghetti on the screen.)</p>
<p>phpBB 3.1 introduces hooks into the system, meaning that the phpBB code will call and run all functions hooked into particular places of execution in the code</p>
<p>In order to do this, the old hook system is going to have to be rewritten. &#8220;Hooks have to be fun.&#8221; They need to be able to resolve conflicts (within limits), allow for easy placement, and make it easier to implement hooks.</p>
<p>phpBB 3.1 will have &#8220;automagic&#8221; hooks, using PHP OOP methods. Examples of the under-the-hood code that enables these to work being shown.</p>
<p>Flavors: Injection, Validation, Callback registration, Event, System, Altering, Cron, and many others.<br />
phpBB needs ideas of where to place hooks, help with the MOD installer in hooks, community support for this implementation, and lots of testing of these hooks.</p>
<p>Thanks that won&#8217;t happen in phpBB 3.1: Forms not built by any form API, nor will there be pretty URLs (URL rewriting).</p>
<p><strong>Q&#038;A</strong><br />
Douglas comments that hooks are a big step for making more pluggable MODs, and it&#8217;s the main reason why WordPress Plugins are as successful and as plentiful as they are. However, in order for the hooks system to be successful, MOD authors really need to share feedback on where hooks should be added within the phpBB 3.1 core.<br />
Stefan asks about why phpBB isn&#8217;t deciding to adopt Symfony&#8217;s hooking system within 3.1 to help reduce the spaghetti code and make future transition easier: the main issue is that phpBB 3.1 still needs to support PHP 5.2.x.</p>
<img src="http://feeds.feedburner.com/~r/phpBBweekly/~4/GKmg_pw83Ko" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.phpbbweekly.net/2010/08/21/libertyvasion-phpbb-ascraeus-3-1-news-for-mod-authors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpbbweekly.net/2010/08/21/libertyvasion-phpbb-ascraeus-3-1-news-for-mod-authors/</feedburner:origLink></item>
		<item>
		<title>[Libertyvasion] MODding phpBB</title>
		<link>http://feedproxy.google.com/~r/phpBBweekly/~3/rN7qPxZgAgs/</link>
		<comments>http://www.phpbbweekly.net/2010/08/21/libertyvasion-modding-phpbb/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 15:03:07 +0000</pubDate>
		<dc:creator>Douglas Bell</dc:creator>
				<category><![CDATA[Libertyvasion 2010]]></category>

		<guid isPermaLink="false">http://www.phpbbweekly.net/?p=1033</guid>
		<description><![CDATA[Session: MODding phpBB by David Colón, Igor Wiedler and MOD Team Members Date/Time: Saturday 8/21 at 10:20-11:00 AM This post contains my rough crib-notes from this presentation at Libertyvasion 2010. The post has not been proof-read for spelling, grammar, or accuracy. What is the MOD Team? Well first you must know what a MOD, or [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session:</strong> MODding phpBB by <a href="http://www.phpbb.com/libertyvasion/speakers/#david-colon">David Colón</a>, <a href="http://www.phpbb.com/libertyvasion/speakers/#igor-wiedler">Igor Wiedler</a> and MOD Team Members<br />
<strong>Date/Time:</strong> Saturday 8/21 at 10:20-11:00 AM</p>
<p><em>This post contains my rough crib-notes from this presentation at <a href="http://www.phpbb.com/libertyvasion/">Libertyvasion 2010</a>. The post has not been proof-read for spelling, grammar, or accuracy.</em></p>
<p>What is the MOD Team? Well first you must know what a MOD, or MODification is &#8212; modifying the code of phpBB to add a new feature that doesn&#8217;t come with phpBB.<br />
The MOD Team validates the code of MODs submitted to the Customizations Database, to make sure that it&#8217;s clean, secure, and functions as advertised.<br />
This presentation is about how the team operates, what tools are available, and how you can get involved.</p>
<p>Paul &#038; Derk to present on the <strong>Validation Process:</strong><br />
How you can get your MOD improved&#8230;<br />
* Follow the phpBB Coding Guidelines<br />
* Test the MOD to make sure it functions, and with the MOD Pre-Validator and AutoMOD<br />
* Ask the community for feedback and to help test (in the MODs in Development forum)</p>
<p>The MOD Team runs a MOD pre-validation script, which checks for common errors using the MOD Pre-Validator and AutoMOD.<br />
The actual code validation looks through the code of the MOD line-by-line, making sure that the MOD fits the description and the license is compatible with the GPL. The coding guidelines are checked, as is possible security issues (SQL injections, XSS, etc.), and ensuring that the MOD satisfies the MOD Database guidelines. The team also gives suggestions to MOD authors on how they can optimize their code, and follow proper English spelling.</p>
<p>Testing is done by Junior MOD validators (which allows the full team members to be able to do the line-by-line validation on more MODs). This process includes installing with AutoMOD and ensuring that the MOD works as advertised and avoids conflicts with other MODs.</p>
<p>There are a few options for when the MOD is validated: approve it, deny it, insta-deny it (if pre-validation failed), or repack it (if there are only minor issues that need to be fixed). &#8220;Anything larger than something small is deny-worthy.&#8221; Insta-denying is not automatic, it&#8217;s a case-by-case decision</p>
<p>Advantages of using the MOD Database: You get a free security audit of your code, plus phpBB.com is hosting your MOD downloads, Screenshots, FAQ, and Support forum. It&#8217;s also the best way to get exposure for your MOD to the phpBB community.</p>
<p>Sam and Igor present on <strong>MOD Team Tools</strong>:<br />
MODX is a MOD packaging format, originally based on the phpBB2-era text template. The XML-based file contains all of the code and instructions for modifying phpBB. It&#8217;s a pain to write by hand, because it&#8217;s a machine-readable format, but there are a number of tools for generating it. (Also, MODX 2.0 is coming soon&#8230;)</p>
<p>Modxed by APTX is written in C++, plus tumba25 has a Web-Based Creator which is a GUI for creating MODs. These are both creation tools.<br />
There are also generators which create MODX files from a diff between a vanilla phpBB and a modified phpBB. AcydBurn has a MODX Changes Generator, eviL&lt;3 has a Mod_diff tool, nadverman has a Token based version, and tumba25 has a MODX Generator which also supports in-lines and dynamic context.</p>
<p>Another tool is the Unified MOD Install Library (UMIL) which provides abstraction for database changes &#8212; 1.0 largely written by EXreaction and Highway of Life. AutoMOD uses it for installation, and it is used and well-accepted within the MODding community. UMIL will be included with phpBB 3.1 (tentative), and UMIL 2.0 is in development. Still accepting ideas for the new version; there&#8217;s no ETA for release yet.</p>
<p>phpBB QuickInstall is a tool written by eviL&lt;3 and is now maintained by tumba25. It allows for a quick one-click installation of phpBB3 (for testing purposes), and lets you manage multiple boards, each with its own codeset. phpBB QuickInstall is available in phpBB2 and phpBB3 versions, and also installs AutoMOD by default.</p>
<p>The MOD Pre-Validator (MPV) was written by the MOD Team (smithy_dll, Vic D&#8217;Elfant, Paul, eviL&lt;3, and DavidIQ), which originated from an old C# tool called EAL. It provides a static analysis of the MOD files to provide hints on what could be improved. MPV was open-sourced a year and a half ago, plus there&#8217;s a hosted version on phpBB.com. Titania (being discussed later today) performs an MPV check automatically.</p>
<p>So how do these tools work together? First you can set up a phpBB QuickInstall, where you can then apply your changes to the phpBB codebase. Then use the MODX Generator to create a diff that you can add to the MODX Creator to add metadata, then use UMIL to prepare the necessary database changes, and finally use AutoMOD to test your MOD to make sure it works properly.</p>
<p>Sam present on <strong>Getting Involved</strong>, substituting for Jeremy:<br />
The MOD Team exists because of phpBB&#8217;s strong MODding community. So how can new users get involved, what can more experienced users do?<br />
Community mainly hangs out in the 3.0.x Modifications Forums, often providing help for each other on developers. New users can get involved by helping users out in the forums, or by posting new MODs in the MODs in Development forum. If you&#8217;re a more experienced user, apply to become a Junior Validator. (This is a great path to get on-track to becoming a full MOD Team member.) Simple application to apply for Junior Validator time.<br />
Making your own MOD is much easier thanks to the new Customization Database (more later today) &#8212; submit your MOD and hope it gets validated!<br />
Contribute to the Wiki and the MOD Writers Library. (Note: The wiki will be moving back to MediaWiki due to popular demand.)<br />
Finally, help spread the word about the MODding community! Tell people that you write MODs for phpBB.<br />
Want to try something new? Start writing Bridges between phpBB and other platforms &#8212; a new section of the Customization Database. (Breaking News: Cullen Walsh (ckwalsh) will be releasing a pre-release version of his Drupal-phpBB bridge later today!)</p>
<p><strong>Q&#038;A</strong><br />
The phpBB MOD Database has existed since 2001. When phpBB 2.0.0 was release, &#8220;hacks&#8221; were renamed MODs and were directly integrated into the main phpBB website.</p>
<p><strong>Summer of MODs</strong><br />
Winners are <a href="http://www.phpbb.com/customise/db/mod/precise_similar_topics_ii/">Precise Similar Topics II</a> by VSE and <a href="http://www.phpbb.com/customise/db/mod/thanks_for_posts/">Thanks for posts (rating edition)</a> (WordPress can&#8217;t display the username of the author).</p>
<p><strong>Special Announcements</strong><br />
Rich McGirr (RMcGirr83), a long-time Junior Validator, was surprised with the announcement that he has been promoted to a full member of the MOD Team.</p>
<img src="http://feeds.feedburner.com/~r/phpBBweekly/~4/rN7qPxZgAgs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.phpbbweekly.net/2010/08/21/libertyvasion-modding-phpbb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpbbweekly.net/2010/08/21/libertyvasion-modding-phpbb/</feedburner:origLink></item>
		<item>
		<title>[Libertyvasion] phpBB Development Update &amp; Roadmap</title>
		<link>http://feedproxy.google.com/~r/phpBBweekly/~3/ditpPE9hPGs/</link>
		<comments>http://www.phpbbweekly.net/2010/08/21/libertyvasion-phpbb-development-update-roadmap/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 14:05:48 +0000</pubDate>
		<dc:creator>Douglas Bell</dc:creator>
				<category><![CDATA[Libertyvasion 2010]]></category>

		<guid isPermaLink="false">http://www.phpbbweekly.net/?p=1031</guid>
		<description><![CDATA[Session: phpBB Development Update &#038; Roadmap by Nils Adermann and Chris Smith Date/Time: Saturday 8/21 at 9:30-10:10 AM This post contains my rough crib-notes from this presentation at Libertyvasion 2010. The post has not been proof-read for spelling, grammar, or accuracy. Nils to talk about how phpBB development has changed over the past two years, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session:</strong> phpBB Development Update &#038; Roadmap by <a href="http://www.phpbb.com/libertyvasion/speakers/#nils-adermann">Nils Adermann</a> and <a href="http://www.phpbb.com/libertyvasion/speakers/#chris-smith">Chris Smith</a><br />
<strong>Date/Time:</strong> Saturday 8/21 at 9:30-10:10 AM</p>
<p><em>This post contains my rough crib-notes from this presentation at <a href="http://www.phpbb.com/libertyvasion/">Libertyvasion 2010</a>. The post has not been proof-read for spelling, grammar, or accuracy.</em></p>
<p>Nils to talk about how phpBB development has changed over the past two years, and why these changes have been made.</p>
<p>In the past, phpBB development was a top-down process, decided by a few people with no outside input. This worked well in the beginning of phpBB when it was smaller, but as the project grew, it outgrew its development process. This caused development to dramatically slow down. Dev Team is now trying to encourage a more open, more democratic process, and get more people involved in development. While not everyone will want to join, Dev Team wants everyone to be represented in the dev process. </p>
<p>Steps that have been taken:<br />
* Introducing Git (using GitHub) as version control for phpBB<br />
* Area51 discussion forums now allow for more discussion of new features, the Request for Comments (RFC) process<br />
* New bug tracker<br />
* Bamboo = continuous integration platform (going to be using a lot more in the future)</p>
<p><strong>Walking Through the Development Process</strong><br />
1) Someone (a user, MOD author, etc.) has an idea for a change or improvement or new feature<br />
2) File a ticket on the tracker, which puts it on the radar for development (new tracker is an improvement for the Development Team, easier for them to better manage a larger number of tickets &#8212; Dev Team is going to try to improve it for the users side)<br />
3) RFCs for discussion of these features &#8212; this is new to phpBB, process is still being worked out (i.e. the subsilver2 debacle)<br />
<em>By the way, subsilver2 will still be maintained going forward with a provided upgrade path, but will not be bundled with phpBB 3.1 anymore and will only be downloadable from the Styles DB.</em><br />
The goal for RFCs is to reach a consensus for general acceptance of the change.<br />
4) Patches &#8212; While RFCs are for bigger changes, all changes will need to have a patch. <strong>Patches can be written by anyone.</strong> Anyone can help implement new ideas in phpBB, which is great if Dev Team members don&#8217;t want to take time to implement a feature, but a member of the community wants to see it happen.<br />
Even if the Dev Team members don&#8217;t think a feature is important, if the feature does well in the RFC process and a patch is submitted (and works), it will go into the phpBB software.<br />
5) Merging &#8212; This is done by the Development Team, where patches &#038; feature branches are merged into release branches. Using Git helps the Dev Team better manage this model of development.<br />
6) Releasing &#8212; The Dev Team now uses feature freezes to expedite the development process.</p>
<p>This means that there will be more frequent releases, though they will have fewer features. However hopefully this will end the process of having many years between 3.x releases. The reason it&#8217;s been nearly three years since 3.0.0 is because the teams started to fall into the &#8220;practically rewriting the entire thing&#8221; trap that caught them during the 3.0 development process &#8212; last year they decided to scrap that completely and start over with a more realistic goal.</p>
<p><strong>What&#8217;s Coming in 3.1 Ascraeus for Developers</strong><br />
Chris Smith presents this part.<br />
* New Coding Guidelines! Classes will be <code>phpbb_</code> prefixed. Not using <code>eval()</code> anywhere, which will not be permitted by MOD authors. Using newlines at the end of files. Bye bye closing <code>?&rt;</code> PHP tag, which is not needed in straight-up PHP files.<br />
* Hooks (to be described later today)<br />
* New BBCode Engine, stack-based as opposed to a series of regular expressions. All core BBCodes will also be custom BBCodes.<br />
* New Template Engine, implemented as a PHP string filter, dramatically improving memory consumption when compiling template files. Provides a nice performance improvement.<br />
* Request Class which replaces the <code>request_var()</code> function. Use to retrieve the <code>$_POST $_GET $_COOKIE</code> superglobal values, since the superglobals themselves will be overwritten. Also compatibility for bridges &#038; wrapping phpBB.<br />
* Modular Cron allows the cron processes to be extendable by MOD authors. At the moment this is entirely community-developed, no developer has written code for this so far.</p>
<p><strong>What&#8217;s Coming for phpBB Administrators</strong><br />
* Now supports SQLite 3 (thanks to dropping PHP4 support)<br />
* Integrating AutoMOD directly into the core (more on that later today)<br />
* Improved Team page (list of administrators &#038; moderators), whereas this is static in 3.0.x, it will be admin-configurable in 3.1<br />
* User Pruning &#8212; big improvement for pruning out lots of users, i.e. spambots</p>
<p><strong>Coming for phpBB End-Users</strong><br />
* Gravatar support built-in (which is great for reducing avatar load on the admin&#8217;s server)<br />
* Soft Delete, so that simply clicking Delete (by a moderator) will preserve posts in a hidden trash can<br />
* Full timezone support (using PHP datetime functions), including automatic Daylight Savings Time transition<br />
* Resume downloads of attachments (saving bandwidth for everyone)</p>
<p>This list is non-exhaustive, Nils recently blogged a more complete list of features coming in 3.1.</p>
<img src="http://feeds.feedburner.com/~r/phpBBweekly/~4/ditpPE9hPGs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.phpbbweekly.net/2010/08/21/libertyvasion-phpbb-development-update-roadmap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpbbweekly.net/2010/08/21/libertyvasion-phpbb-development-update-roadmap/</feedburner:origLink></item>
		<item>
		<title>[Libertyvasion] Building phpBB4 on Symfony 2</title>
		<link>http://feedproxy.google.com/~r/phpBBweekly/~3/aUng0w4jFBo/</link>
		<comments>http://www.phpbbweekly.net/2010/08/21/libertyvasion-building-phpbb4-on-symfony-2/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 14:04:34 +0000</pubDate>
		<dc:creator>Douglas Bell</dc:creator>
				<category><![CDATA[Libertyvasion 2010]]></category>

		<guid isPermaLink="false">http://www.phpbbweekly.net/?p=1035</guid>
		<description><![CDATA[Session: Building phpBB4 on Symfony 2 by Fabien Potencier Date/Time: Saturday 8/21 at 11:10 AM-12:10 PM This post contains my rough crib-notes from this presentation at Libertyvasion 2010. The post has not been proof-read for spelling, grammar, or accuracy. This presentation will be similar to yesterday&#8217;s presentation about Symfony 2, but not as much specific [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session:</strong> Building phpBB4 on Symfony 2 by <a href="http://www.phpbb.com/libertyvasion/speakers/#fabien-potencier">Fabien Potencier</a><br />
<strong>Date/Time:</strong> Saturday 8/21 at 11:10 AM-12:10 PM</p>
<p><em>This post contains my rough crib-notes from this presentation at <a href="http://www.phpbb.com/libertyvasion/">Libertyvasion 2010</a>. The post has not been proof-read for spelling, grammar, or accuracy.</em></p>
<p>This presentation will be similar to yesterday&#8217;s presentation about Symfony 2, but not as much specific code demos. First, a quick look at Symfony 1 vs. Symfony 2.</p>
<p>Symfony&#8217;s goal is to allow developers to make better applications faster, and has been designed to be the best possible platform to create end-user websites and applications such as phpBB. Symfony uses an MVC (model-view-controller) framework. Symfony has a concept of a &#8220;slot&#8221; to defined content areas within the layout of your application. PHP can be used for templates, or an end-user templating engine can be used.<br />
The Routing system in Symfony allows a single PHP file under the front-facing directory to be the front-controller, which provides for a much more user-friendly output of content. Showing an example of URL rewriting with this architecture.<br />
Configuration in Symfony can be done using YAML, XML, or plain PHP formats.<br />
The routing system means that templates never have to generate a URL, simply use the built-in routing methods to handle this process.</p>
<p>Bundles provides flexibility for the routing system &#8212; act somewhat like plugins, but Symfony bundles are treated like &#8220;first-class citizens.&#8221; Everything in Symfony is constructed as a bundle, structured as sets of files.</p>
<p>Environments allow for different modes/views depending on what process of the site development you&#8217;re in (i.e. Development Environment, Staging Environment, and Production Environment). You can also create your own custom environments.</p>
<p>Symfony provides Developer Tools to help debug problems faster. This includes a logging mechanism, the developer toolbar, etc.</p>
<p>Security is really important for Symfony (and phpBB), and processes are built-in to protect from XSS, CSRF, and SQL injections using built-in automatic escaping, if you ask for it in the code. Symfony 2 allows for creating an Apache environment variable in a .htaccess or httpd.conf file, which can be accessed in the database configuration file, helping to keep the information in different places for improved security.</p>
<p>Symfony uses PHPUnit for unit testing (like phpBB), and also provides functional tests to allow for testing your application.</p>
<p>Caching in Symfony is rather unique &#8212; Symfony actually relies on HTTP caching rather than provide its own system. ESI (Edge Side Includes) is a specification from 2001 implemented partially in Symfony 2.</p>
<p>Last but not least: HttpKernel is the construction kit for the framework and provides a lot of the architecture and building blocks used to create Symfony&#8217;s MVC framework. It&#8217;s a basic interface with a single <code>handle()</code> method, which can be used to build a framework compatible with Symfony 2. Going a step further by extending the interface provides a lot more power, including features such as the caching, the web developer toolbar, etc. This relies on an event system to roll through the model-view-controller architecture.</p>
<p>Stefan Koopmanschap is going to talk a bit about the Symfony community and how you can ask questions &#038; get answers about Symfony, knowing that there will be many questions about it as phpBB starts integrating it.<br />
* #symfony IRC channel on freenode (very friendly for new people, but be clear in what you&#8217;re looking for!)<br />
* Symfony forums (which happen to be powered by phpBB)<br />
* Symfony Google groups, the most important is the symfony-users group<br />
* Ask a question about Symfony on Twitter (if you can get your question in 140 characters!)<br />
* Symfony is probably the best-documented PHP framework right now</p>
<p><strong>Q&#038;A</strong><br />
Question to Nils: phpBB decided to start using a framework in order to not have to reinvent the wheel. Allows the development team to focus on actually building the application rather than the underlying framework.<br />
Why Symfony? A few very technical reasons. phpBB4 wanted to be very future-proof, with a framework that&#8217;s not based at all on PHP4 code and was really something new. &#8220;If that&#8217;s one of your points, then there&#8217;s not a whole lot of frameworks left.&#8221; A couple of other ideas for phpBB4, some of which are listed on the Development Wiki, meant that the Dev Team decided to choose Symfony 2.<br />
The benefits here are primarily for developers and MOD authors. MOD authors will see lots of differences because of the improved focus on modularity and extendability. phpBB4 seeks to eliminate having to modify core code, with a true plugin-style architecture that avoids changing lines of core code and prevents MOD conflicts. Also other bundles, not directly related to phpBB (i.e. the Blog MOD) can benefit from much tighter integration with phpBB without having to write them specifically for phpBB.</p>
<img src="http://feeds.feedburner.com/~r/phpBBweekly/~4/aUng0w4jFBo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.phpbbweekly.net/2010/08/21/libertyvasion-building-phpbb4-on-symfony-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpbbweekly.net/2010/08/21/libertyvasion-building-phpbb4-on-symfony-2/</feedburner:origLink></item>
		<item>
		<title>[Libertyvasion] Doctrine 2</title>
		<link>http://feedproxy.google.com/~r/phpBBweekly/~3/vqWjba1dO3Q/</link>
		<comments>http://www.phpbbweekly.net/2010/08/20/libertyvasion-doctrine-2/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 18:40:46 +0000</pubDate>
		<dc:creator>Douglas Bell</dc:creator>
				<category><![CDATA[Libertyvasion 2010]]></category>

		<guid isPermaLink="false">http://www.phpbbweekly.net/?p=1020</guid>
		<description><![CDATA[Session: Doctrine 2 by Jonathan Wage Date/Time: Friday 8/20 at 2:00-2:45 PM This post contains my rough crib-notes from this presentation at Libertyvasion 2010. The post has not been proof-read for spelling, grammar, or accuracy. Jonathan Wage, has been a web developer for over a decade. An Open Source Evangelist and published author, contributes to [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session:</strong> Doctrine 2 by <a href="http://www.phpbb.com/libertyvasion/speakers/#jonathan-wage">Jonathan Wage</a><br />
<strong>Date/Time:</strong> Friday 8/20 at 2:00-2:45 PM</p>
<p><em>This post contains my rough crib-notes from this presentation at <a href="http://www.phpbb.com/libertyvasion/">Libertyvasion 2010</a>. The post has not been proof-read for spelling, grammar, or accuracy.</em></p>
<p>Jonathan Wage, has been a web developer for over a decade. An Open Source Evangelist and published author, contributes to Doctrine and Symfony, and is employed by Sensio Labs.</p>
<p>Doctrine started on April 13, 2006 (first commit), and first stable version released September 1, 2008. It was one of the first Object Relational Mapper (ORM) implementations for PHP. Version 1.0, maintained until 3/1/10, has been integrated with a number of popular frameworks, including Symfony.</p>
<p><strong>What&#8217;s an Object Relational Mapper?</strong><br />
Shows the definition coming straight off of Wikipedia. Essentially it creates a virtual object database for interacting between a database and an object-oriented programming language, such as PHP.</p>
<p>Jonathan is showing off how Doctrine 1 worked, but pointing out some problems: The domain is bound to the persistence layer, the complexity of domain entities is limited by the persistence layer, <code>$model->save()</code> is a bottle neck for persisting large numbers of objects, and testing your domain model requires mocking the persistence layer.</p>
<p>Doctrine 2 aims to solve a lot of those problems. No more base class to extend; you&#8217;re simply working with regular PHP objects, classes, and properties. Base tables &#038; domain entities no longer bound to the persistence layer. Can specify mapping information with XML, YAML, or DocBlock Annotations in PHP, and Jonathan explains the advantages &#038; disadvantages of each. XML is his preferred method.</p>
<p>Transparent Persistence is the #1 rule followed in Doctrine 2. No dependencies to the persistence layer should exist, meaning that testing can happen directly with PHPUnit. Doctrine can persist an object simply by passing an instantiated object to a persist() method.</p>
<p>Why Transparency?<br />
* Better performance<br />
* Easier to cache regular PHP objects that are not bound to the persistence layer<br />
* Easier to test your domain, no mocking required<br />
* Ultimate flexibility over the complexity of your domain entities without being imposed on by your persistence layer</p>
<p>Doctrine 1 benefited greatly from using PHP 5.3 in terms of speed &#038; memory usage in testing. Doctrine 2 is about 2-3 times faster than Doctrine 1. Doctrine 2 also fully uses &#038; supports namespaces, making it much easier to combine libraries by virtually eliminating naming conflicts. Doctrine 2 (&#038; Symfony 2) also fully supports PHP 5.3 Interoperability Standards (link coming).</p>
<p>Doctrine code is divided into a few different packages:<br />
* Doctrine\Common &#8212; Common functionality shared across packages, Events, Annotations Library, Lexer Parser for the Doctrine Query Language (DQL), Other various convenience tools<br />
* Doctrine\DBAL &#8212; Relational database abstraction layer (MySQL, SQLite, PostgreSQL, Oracle, MsSQL), can also write drivers for other databases &#8212; DBAL is Standalone, can be used without the ORM<br />
* Schema Manager &#8212; Issue DDL statements through intuitive APIs, introspect your database scheme as well<br />
* Doctrine\ORM (the &#8220;killer feature&#8221; of Doctrine) &#8212; Built on top of the DBAL</p>
<p>The architecture of Doctrine 2:<br />
* The ObjectManager: EntityManager and DocumentManager<br />
* Object States: Objects can be New, Managed, Detached, or Removed</p>
<p>The Doctrine Query Language (DQL) is the killer ORM feature. It&#8217;s similar to SQL, and is a proprietary object query language. Instead of working with tables and columns, you&#8217;re working with objects and fields. Doctrine 2 parses it with a recursive descent parser (giving you good parse errors if you mess up). Doctrine constructs an abstract syntax table (AST) when parsing the DQL query, which generates the full SQL query for the relational database being used. The DQL parser also has every piece of the language represented by its own class in its own file, so it&#8217;s easy to discover and learn the language (i.e. OrderByClause.php, SelectClause.php, etc.). Parsing of the DQL is also cached to improve performance.</p>
<p>Jonathan shows and explains a DQL query, which looks very much like SQL, however he&#8217;s pointing out how doing a LEFT JOIN is easier because you don&#8217;t need to explain in the query how to map the two together, since Doctrine has already mapped them. Doctrine also has a result cache method so that the results of the query are stored in a cache driver instead of the database. Events can be set up to automatically clear the cache when the data gets changed.</p>
<p>The Doctrine features are tightly integrated with Symfony 2 &#8212; simply enabling the DBAL and ORM services in the Symfony configuration is all that needs to happen.</p>
<p>In Conclusion: Why use an ORM?<br />
* Encapsulation of your domain logic in one place<br />
* This improves Maintainability<br />
* Testability is improved because of this maintainability<br />
* Portability for portable &#038; thin application controller code and fat models</p>
<img src="http://feeds.feedburner.com/~r/phpBBweekly/~4/vqWjba1dO3Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.phpbbweekly.net/2010/08/20/libertyvasion-doctrine-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpbbweekly.net/2010/08/20/libertyvasion-doctrine-2/</feedburner:origLink></item>
	</channel>
</rss>
