<?xml version='1.0'?>

<rss version='2.0'   xmlns:dc='http://purl.org/dc/elements/1.1/'>
	<channel xml:base=''>
		<title><![CDATA[Elgg News: All blog posts]]></title>
		<link>http://www.elggnews.com/?view=rss</link>
		
	<item>
	  <guid isPermaLink='true'>http://elggnews.com/pg/blog/brett/read/109/elgg-17-beta-has-been-released</guid>
	  <pubDate>Mon, 08 Feb 2010 20:17:47 +0000</pubDate>
	  <link>http://elggnews.com/pg/blog/brett/read/109/elgg-17-beta-has-been-released</link>
	  <title><![CDATA[Elgg 1.7 beta has been released]]></title>
	  <description><![CDATA[<p>It's with great pleasure that I announce Elgg 1.7 beta has been released!  Grab a copy from the <a href = "http://elgg.org/downloads.php" >downloads page</a> and start testing!</p>
<p>I would like to remind everyone that while many bugs have been corrected, Elgg 1.7 is still beta quality software and <strong style = "font-weight: bold; " >should not be used in a production environment</strong>.  When upgrading, be sure to back up your current installation and closely follow the documented procedures in UPGRADE.txt.  In addition to these instructions, Cash has written an <a href = "http://community.elgg.org/mod/groups/topicposts.php?topic=408195&amp;group_guid=212067" >informative series of posts on the community site</a> about preparing for the 1.7 upgrade.</p>
<p>As previously mentioned, Elgg 1.7 enhances security by requiring security tokens on all actions.  Plugins that have not been updated to use security tokens will produce a "Form is missing __token or __ts fields" error.  For authors of plugins that do not have security tokens, please review the documentation on <a href = "http://docs.elgg.org/wiki/Actions#Security" >actions and security</a> for information about how to add tokens to your plugins.</p>
<p>Some of the biggest changes in Elgg 1.7 include:</p>
<ul  >
<li  >Full UTF8 support in the database</li>
<li  >Full text search (as a joint effort between Curverider and the MITRE corporation)</li>
<li  >More manageable user data directories</li>
<li  >A new entity-fetching API</li>
<li  >Working and re-written REST API (thanks to Cash Costello).</li>
<li  >Tons and tons of bugfixes!</li>
</ul>
<p>I ask everyone evaluating Elgg 1.7 beta to please make bug reports to the appropriate Trac.  For Elgg core, bug reports should be made at <a href = "http://trac.elgg.org/elgg" >http://trac.elgg.org/elgg</a> while any problems with extensions should be submitted to <a href = "http://trac.elgg.org/extensions" >http://trac.elgg.org/extensions</a>.</p>
<p>Again, I want to thank everyone who has helped to bring Elgg this far!  In the last couple weeks there have been some great bug reports and information from users like Thomas, gv, and Mike Lietz.  Please keep up the great bug reports and feedback!</p>
]]></description>
	</item>

	<item>
	  <guid isPermaLink='true'>http://elggnews.com/pg/blog/brett/read/108/code-freeze-for-elgg-17</guid>
	  <pubDate>Mon, 25 Jan 2010 20:14:03 +0000</pubDate>
	  <link>http://elggnews.com/pg/blog/brett/read/108/code-freeze-for-elgg-17</link>
	  <title><![CDATA[Code freeze for Elgg 1.7]]></title>
	  <description><![CDATA[<p>SVN is officially in a code freeze pending the Elgg 1.7 beta release.  Wow, it feels good to say that!</p>
<p>This means that all new functionality is finalized and only bug fixes will be made in SVN.  We think all major bugs have been resolved and the core is ready to be beta tested, but want a few more days of testing before we are comfortable releasing a beta to the general public.  If you have a spare minute, please grab the latest SVN and give it a try.  Note that this is not yet ready to be used on a production server!</p>
<p>It will especially be helpful for plugin and theme developers to download the latest SVN and check that their plugins work correctly.  One part that plugin authors should especially check are the actions tokens.  As stated in <a href = "http://elggnews.com/pg/blog/brett/read/105/action-tokens-required-in-elgg-17" >my previous blog post</a>, action tokens are required in Elgg to ensure the security of Elgg sites.  </p>
<p>It is not difficult to add security tokens to your plugins.  Two input values need to be set for actions: __elgg_ts and __elgg_token.  There are a few helper views and functions to simplify this:</p>
<blockquote style = "padding: 3px 15px; margin: 0px 0 15px 0; border: none !important; " ><div>
elgg_view('input/form')<br />
elgg_view('output/confirmlink') - When is_action is passed as true in $vars<br />
elgg_view('output/url') - When is_action is passed as true in $vars<br />
elgg_view('input/securitytoken') - For forms<br />
elgg_validate_action_url($url) - For URLs
</div>
</blockquote>
<p>If setting the fields manually, use the current time stamp to generate the token.</p>
<blockquote style = "padding: 3px 15px; margin: 0px 0 15px 0; border: none !important; " ><div>
$ts = time();<br />
$token = generate_action_token($ts);</p>
<p>$action_url = "server/action/myaction?__elgg_ts=$ts&amp;__elgg_token=$token";
</p></div>
</blockquote>
<p>Again, tokens are required for the security of Elgg sites.  Please update plugins accordingly.  If you have any problems implementing security tokens, please post to the development list or community site and I will do my best to answer your question.</p>
]]></description>
	</item>

	<item>
	  <guid isPermaLink='true'>http://elggnews.com/pg/blog/nick/read/107/distributed-version-control-with-git</guid>
	  <pubDate>Fri, 22 Jan 2010 21:32:53 +0000</pubDate>
	  <link>http://elggnews.com/pg/blog/nick/read/107/distributed-version-control-with-git</link>
	  <title><![CDATA[Distributed Version Control With Git]]></title>
	  <description><![CDATA[<p>Developers, ever use Git? Git, like Subversion, is a (distributed) version control system: a way to track changes across each of your files, forever. Just as Subversion was a leap ahead of CVS, Git surpasses Subversion, particularly in regards to branching and merging.</p>
<p>Subversion branching is a cumbersome process at best: "svn copy" commands are executed at some revision number, which you must keep track of for later merging. Any time you port trunk changes into your branch, you have to again carefully note from X to Y revision. Add to the mix multiple developers each with their own branches and maintenance becomes a nightmare.</p>
<p>Your Git repository, however, is itself a branch of the original project! Each developer has a full copy of the entire project, including file history, in their local branch. (This is what makes Git "distributed".) Commits to your branch are all local. You can queue up as many commits as you want, even while offline, before merging your changes back to the remote repository. A single "git push" command is all that is needed to take care of all merging at this point; no need to remember revision numbers or paths!</p>
<p>Worried about navigating through all these distributed branches and commits? No need: Git comes with powerful command line and graphic tools already built into your repository. If that's not enough, check out <a href = "http://github.com" >GitHub</a> for (potentially) free hosting space. You might even notice that <a href = "http://github.com/Elgg/Elgg" >Elgg</a> is already hosted here. That's right, all Elgg trunk commits go into both Subversion and Git!</p>
<p>To learn more about Git, I strongly recommend checking out the <a href = "http://progit.org/book/" >Pro Git</a> book by Scott Chacon. It's released under a Creative Commons license, meaning it's absolutely free to read online!</p>
]]></description>
	</item>

	<item>
	  <guid isPermaLink='true'>http://elggnews.com/pg/blog/brett/read/106/reminder-about-reporting-security-problems-new-plugins-policy</guid>
	  <pubDate>Fri, 22 Jan 2010 20:13:53 +0000</pubDate>
	  <link>http://elggnews.com/pg/blog/brett/read/106/reminder-about-reporting-security-problems-new-plugins-policy</link>
	  <title><![CDATA[Reminder about reporting security problems, new plugins policy]]></title>
	  <description><![CDATA[<p>This is just a quick reminder that for the protection of all Elgg sites, security issues found in Elgg should be reported to <a href = "mailto:security@elgg.com" >security@elgg.com</a> instead of listed on trac, the community site, or the mailing lists.</p>
<p>How is everyone finding the new plugin area on the community site?  Since its launch last week there have been generally positive reviews of it.  I am pleased with how it functions but know there are a few oddities and hope to continually improve it.  The new plugin area features simpler ways for plugin authors to showcase their plugin, recommend releases to their users, request donations, and link to an external project home page.</p>
<p>Because of these improvements and to help clean away some of the clutter, the following new policies will soon go into effect for plugins:</p>
<ul  >
<li  >Projects must contain a functional plugin.  Projects with downloads that contain only images, text files, or other non-plugin files will be deleted.</li>
<li  >Use the built-in images feature.  Images in the project description or release notes will not be permitted.</li>
<li  >Use the built-in links for donations, home page address, and code repository address.  There is no need to duplicate this information in your description or release notes.</li>
</ul>
<p>As always, plugins uploaded to the community site must be released under an Open Source license.  There are many projects that create an open source version of the plugin but also offer a paid or professional version.  This is absolutely fine when it is done tastefully, which I'm happy to say is the case with the current authors of such plugins.</p>
<p>Starting January 29th, 2010, plugins that do not adhere to this policy will be given a warning and then deleted if the policies are not followed.  This is the first step we're taking to clean up the community site.  In the end, we hope to make the community site a place where Elgg users, developers, and newcomers can trade information easily and without distraction.  Be watching for more changes next week!</p>
]]></description>
	</item>

	<item>
	  <guid isPermaLink='true'>http://elggnews.com/pg/blog/brett/read/105/action-tokens-required-in-elgg-17</guid>
	  <pubDate>Thu, 21 Jan 2010 21:47:51 +0000</pubDate>
	  <link>http://elggnews.com/pg/blog/brett/read/105/action-tokens-required-in-elgg-17</link>
	  <title><![CDATA[Action tokens required in Elgg 1.7]]></title>
	  <description><![CDATA[<p>Security is something I take very seriously in Elgg.  Over a year ago action tokens were introduced to counter CSRF attacks.  Since Elgg 1.5, forms that did not include action tokens generated visible errors to alert admins and plugin authors of deprecated code.  <strong style = "font-weight: bold; " >To ensure the security of all Elgg sites, all actions in Elgg 1.7 will require security tokens.</strong></p>
<p>Plugin and theme authors may want to review the <a href = "http://docs.elgg.org/wiki/Actions#Security" >documentation on actions and security</a> to make sure their plugins are correctly using the views to generate tokens.  To supplement this page, I have written a <a href = "http://docs.elgg.org/wiki/Actions_PageHandlers_DirectAccess" >brief description</a> of when to use actions, page handlers, or include a file directly.</p>
<p>This was the last outstanding issue for 1.7.  I will be testing and bugfixing this change before issuing an official beta for 1.7.</p>
]]></description>
	</item>

	<item>
	  <guid isPermaLink='true'>http://elggnews.com/pg/blog/dave/read/104/introducing-an-enterprise-edition-of-elgg</guid>
	  <pubDate>Mon, 18 Jan 2010 15:18:40 +0000</pubDate>
	  <link>http://elggnews.com/pg/blog/dave/read/104/introducing-an-enterprise-edition-of-elgg</link>
	  <title><![CDATA[Introducing an enterprise edition of Elgg]]></title>
	  <description><![CDATA[<p  ><span  ><img src = "http://elggnews.com/_graphics/blog/elgg.com.gif" alt = "image" width = "113" height = "60" style = "float: right; border: 0px; border: 0px; " >Late last year we soft launched a supported version of Elgg aimed at the education market called ElggCampus. Shortly after releasing information about ElggCampus, it became clear that a supported version of Elgg was required by a wider audience so we made the decision to launch an enterprise edition aimed at any individual or organisation requiring a supported version of Elgg.</span><br  ><br  >The enterprise edition of Elgg comes in several flavours; turnkey, dedicated SaaS or on-site. If you would like to find out more, head over to <a href = "http://elgg.com" >elgg.com</a>.&nbsp;</p>
<p><em  >Note: If you signed up for a demo of ElggCampus, we will add you to the list for elgg.com and make sure you get an invite shortly.</em></p>
]]></description>
	</item>

	<item>
	  <guid isPermaLink='true'>http://elggnews.com/pg/blog/brett/read/103/elgg-17s-api</guid>
	  <pubDate>Fri, 15 Jan 2010 20:27:40 +0000</pubDate>
	  <link>http://elggnews.com/pg/blog/brett/read/103/elgg-17s-api</link>
	  <title><![CDATA[Elgg 1.7's API]]></title>
	  <description><![CDATA[<p>One of the most exciting features of Elgg 1.7 is the reworked entity-retrieving API.  The decision to use an array instead of function arguments might seem a bit strange at first, as not many PHP applications use this approach, but it should be familiar to any one who has used a language with named arguments or even JavaScript APIs like jQuery.</p>
<p>I know far too much of my development time has been wasted in counting function arguments.  How often have you tried to get, for example, the number of blog posts, only to have to find the get_entities() function definition, then count the number of arguments between the 'subtype' and 'count' parameters (remembering to include the defaults if you don't want to change them) just to put in a TRUE?  You don't care about the owner_guid, order_by, limit, or offset parameters, so why should you have to think about them?  1.7's API changes that function call from:</p>
<p>	$entities = get_entities($type = 'object', $subtype = 'blog', $owner_guid = 0, $order_by = '', $limit = 10, $offset = 0, $count = TRUE);</p>
<p>to:<br />
	$entities = elgg_get_entities(array(<br />
		'type' =&gt; 'object',<br />
		'subtype' =&gt; 'blog',<br />
		'count' =&gt; TRUE<br />
	));</p>
<p>This part of 1.7 is done and ready to be used by all plugin developers.  Like I previously said, though 1.7 introduces this new API, it does not break compatibility with the previous API.  All the old get_entities*() functions wrap to the new API and including any previous bugs (container_guid, I'm talking about you).</p>
<p>[Edit] One thing I forgot to mention was that these new functions are the beginning of function namespacing in Elgg.  Instead of using the namespacing introduced in PHP 5.3 (because we like keeping Elgg running on as many servers as possible), we've decided to begin prefixing functions with elgg_.  The biggest implication is that this will eventually allow for easier integration with 3rd party apps.</p>
<p>In general 1.7 news, there is one outstanding issue that needs to be resolved before a beta for 1.7 will be released.  For those interested, it is <a href = "http://trac.elgg.org/elgg/ticket/750" >ticket #750</a>, a long-standing bug for a security enhancement concerning actions.  Once that is complete, a beta of 1.7 will run for a few weeks.  Assuming testing goes well, 1.7 final will be released following the beta.  </p>
<p>Once again, I'd like to thank everyone for their patience and understanding with 1.7's development.  The developers and Elgg administrators Dave and I have spoken to each gave overwhelming support on the decision to take a release to solidify core.  I am extremely happy with the progress of 1.7, and hope to have a beta for everyone soon.</p>
]]></description>
	</item>

	<item>
	  <guid isPermaLink='true'>http://elggnews.com/pg/blog/dave/read/95/v17-update</guid>
	  <pubDate>Tue, 15 Dec 2009 16:14:25 +0000</pubDate>
	  <link>http://elggnews.com/pg/blog/dave/read/95/v17-update</link>
	  <title><![CDATA[v1.7 update]]></title>
	  <description><![CDATA[<p  >As many of you will know, v1.7 is the next version of Elgg due for release. A few folks have been asking for an update on a potential release date. At this time, we are unable to give an exact date for release as we want to make sure we have tackled all the items we feel are important and ensure it is has been thoroughly tested.</p>
<p  >If you have been following the commit timeline, you will know that there has been significant development on the core. <a href = "http://elggnews.com/pg/blog/brett/read/90/how-to-make-elgg-17-the-most-stable-yet" >The aim</a> is to sort out some of the annoying issues which have persisted in Elgg since v1.0 and to introduce better coding standards. We feel that it is worth taking the time to make sure v1.7 is the most stable version of Elgg so far and a solid platform for you to build upon.</p>
<p  >We are currently working with developers in the community to test, debug and patch any remaining or unexpected issues that arise during testing. If you would like to help out, please feel free to grab the <a href = "http://elgg.org/downloads.php" >nightly build</a> or latest from SVN and report back any issues you find. Patches are also welcome and can be uploaded to <a href = "http://trac.elgg.org/elgg/" >Elgg's trac</a>. I need to stress - DO NOT USE THE NIGHTLY BUILD OR LATEST SVN ON A PRODUCTION SERVICE.</p>
<p  >We would like to thank everyone for their patience.</p>
]]></description>
	</item>

	<item>
	  <guid isPermaLink='true'>http://elggnews.com/pg/blog/brett/read/93/a-call-to-developers-collaboration-and-elggcamp-ba</guid>
	  <pubDate>Mon, 16 Nov 2009 23:07:25 +0000</pubDate>
	  <link>http://elggnews.com/pg/blog/brett/read/93/a-call-to-developers-collaboration-and-elggcamp-ba</link>
	  <title><![CDATA[A call to developers, Collaboration, and ElggCamp BA]]></title>
	  <description><![CDATA[<p>Elgg 1.7 is getting close. A few of the final pieces are coming into place and I'd like to ask developers to grab the latest SVN to help us test. Please point your SVN client to http://code.elgg.org/elgg/trunk/ and give it a go!</p>
<p>We are specifically interested in testing, feedback, and bug reports of the following:</p>
<ul  >
<li  >Backward compatibility with 1.6's plugins.</li>
<li  >Correct support for UTF8 in the database for new and upgraded installations.</li>
<li  >Correct migration of user data files from username-based storage to GUID-based storage.</li>
<li  >Services APIs</li>
<li  >New search plugin</li>
</ul>
<p>In order to provide the best release possible, we must have a large number of test cases.  Many people use Elgg in clever and unique ways that we can't always anticipate, so please, developers, test.</p>
<p>Test new installations; test migrated installations (<a href = "http://docs.elgg.org/wiki/DuplicateInstallation" >Need to duplicate your live site?</a>); test installations with the core only; test installations using <a href = "http://community.elgg.org/mod/plugins/world.php" >all the plugins you can find</a>.  <i  >Just test!</i>  The more people testing, the fewer bugs there will be in 1.7 final!</p>
<p>Collaboration is what makes an open source product tick, and I'm happy to have had the opportunity to work with some community volunteers on this version of Elgg.  Cash Costello has been a very active member of the community for a while, and has spent the last month fixing Elgg's Services API.  He's working hard to make sure Elgg's services APIs are up-to-date, bug-free, and consistently easy to use.  Thanks Cash!</p>
<p>Justin Richer and his team at MITRE introduced the base of what is the new search.  While there are still details to sort and bugs to squash, this new search is factors better.  Justin and I are keeping in close contact to make sure the new search is easily extensible for plugin authors, and simple for users.  Thanks to Justin and everyone at MITRE!</p>
<p><a href = "http://elggcampba.com" >Elgg Camp Buenos Aires</a> is quickly approaching!  I'm flying down tomorrow to meet up with the guys from <a href = "http://keetup.com" >Keetup</a>, <a href = "http://condiminds.com/" >Condiminds</a>, and <a href = "http://farmsphere.com/" >Farmsphere</a>.  I'm honored to be giving the keynote and am very excited to meet other Elgg developers!  Be on the lookout for pics, tweets from (<a href = "http://twitter.com/brettprofitt" >me</a> and <a href = "http://twitter.com/elgg" >the official Elgg account</a>), and hopefully some SVN commits from the southern hemisphere!</p>
]]></description>
	</item>

	<item>
	  <guid isPermaLink='true'>http://elggnews.com/pg/blog/brett/read/92/elgg-17-development-elgg-users-google-group-and-elggcamp-ba</guid>
	  <pubDate>Sun, 08 Nov 2009 15:58:00 +0000</pubDate>
	  <link>http://elggnews.com/pg/blog/brett/read/92/elgg-17-development-elgg-users-google-group-and-elggcamp-ba</link>
	  <title><![CDATA[Elgg 1.7 development, Elgg Users Google Group, and ElggCamp BA]]></title>
	  <description><![CDATA[<p>Greetings all!</p>
<p>Sorry for the delay in posting--I've been busy in both my developer and personal life and haven't had a chance to sit down over the weekend to write a wrap-up.  I've received quite a few emails from people asking after 1.7.  No need to worry: development of 1.7 is going well and I'm hopeful to have a developer's preview release out the door by the end of this week, with 1.7 final out sometime in December.</p>
<p>As I mentioned in a <a href = "http://elggnews.com/pg/blog/brett/read/90/how-to-make-elgg-17-the-most-stable-yet" >previous post</a>, Elgg 1.7 will have no new features, but will focus on standardizing the API, correcting long-standing bugs, and generally making sure that Elgg is a solid platform to develop on.  Some of the major bugs that are corrected in already include:</p>
<ul  >
<li  >Rest and services API work now (Thanks Cash Costello!)</li>
<li  >File storage based upon GUID instead of username</li>
<li  >Unit tests added (Yes, this could be considered a feature, but YAY UNIT TESTS!!!!)</li>
<li  >Availability and order of parameters in get_entities*() functions normalised</li>
<li  >UTF8 support added in the database</li>
</ul>
<p>As I said on the developer's mailing list, even though the new functions will be available for developers, the old functions <a href = "http://groups.google.com/group/elgg-development/browse_thread/thread/6e22645500e21487/562ca463e34472f3?hl=en-GB&amp;lnk=gst&amp;q=deprecated#562ca463e34472f3" ><em  >will still work</em></a>.  There seems to have been some confusion, misinformation and FUD spread around concerning this point so I'll make it again: <strong  >Elgg 1.7's API will be backward compatible with Elgg 1.6.</strong>  Feel free to quote me on that.  :)</p>
<p>In an effort to help answer the question "What changed in this version of Elgg?" we have started listing major bugfixes and changes in the <a href = "http://code.elgg.org/elgg/trunk/CHANGES.txt" >CHANGES.txt</a> file.  It's a good read!</p>
<p>Moving along, this is just a reminder that as of November 2nd, 2009 the Elgg Users Google Group has closed to new members and messages.  Existing content is still available to read, but please use the <a href = "http://community.elgg.org" >Community Site</a> for all user troubleshooting and discussion.  Please read the <a href = "http://groups.google.com/group/elgg-users/browse_thread/thread/b2373936316bba10/ec0ba0e8275701c8?hl=en-GB&amp;lnk=gst&amp;q=read-only#ec0ba0e8275701c8" >origina announcement</a> for more information.</p>
<p>Now to the fun: ElggCamp Buenos Aires!  <a href = "http://community.elgg.org/pg/profile/pedroprez" >Pedro Prez</a> with <a href = "http://keetup.com/" >Keetup Development</a>, <a href = "http://community.elgg.org/pg/profile/tulicipriota" >Susana Cipriota</a> with <a href = "http://condiminds.com/" >Condiminds.com</a>, and  the folks from <a href = "http://farmsphere.com" >farmsphere.com</a> have organized <a href = "http://elggcampba.com" >ElggCamp Buenos Aires</a> on November 19th, 2009.  Following ElggCamp Boston this past August, I'm really looking forward to heading to BA and meeting some of the Elgg users and developers in the southern hemisphere!  Not to mention it's spring there, and a chilly autumn here in Ohio.</p>
<p>The <a href = "http://elggcampba.com" >ElggCamp BA</a> site has loads more information that <a href = "http://translate.google.com/translate?prev=hp&amp;hl=en&amp;js=y&amp;u=http%3A%2F%2Felggcampba.com&amp;sl=es&amp;tl=en&amp;history_state0=" >Google Translate</a> can help with if your Spanish is rusty.  If you happen to be in or near Buenos Aires, stop in!</p>
]]></description>
	</item>
	</channel>
</rss>