<?xml version="1.0" encoding="UTF-8"?>
<wiki>
  <body>&lt;p&gt;Just some initial brainstorms. Any syntax here is just for illustration, so if it looks a bit dodgy, don&amp;#8217;t freak out :)&lt;/p&gt;
&lt;h1&gt;Registering addon&lt;/h1&gt;
&lt;p&gt;Call a register method on the Gluttonberg component. The key is so that the addon&amp;#8217;s configuration can be recalled later. The constant is the module containing the addon. The rest is a hash of options which will be kept in the configuration. The exact options &#8212; I have no idea at this point.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
Gluttonberg::Addons.register(:forum, Forum, :navigation =&amp;gt; &quot;Forum&quot;)

 &lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;Registering routes&lt;/h1&gt;
&lt;p&gt;Unlike stand-alone slices, addons will not register their own routes, instead they defer to Gluttonberg, which will namespace them and add the routes at the same time it does it&amp;#8217;s own.&lt;/p&gt;
&lt;p&gt;Here is an example of how an addon might define it&amp;#8217;s routes;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
Gluttonberg::Addons.prepare_routes(:forum) do
  match(&quot;/&quot;).to(:controller =&amp;gt; &quot;posts&quot;, :action =&amp;gt; &quot;latest&quot;).name(:latest)
  resources(:posts)
  resources(:users)
  resources(:categories)
end

 &lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;Backend Integration&lt;/h1&gt;
&lt;p&gt;Most addons would need to integrate with the admin in someway &#8212; parts of it will need protection, need to appear in the nav, have the same form styles etc. For example, when registering an addon, there will be an option to specify if it needs to appear in the main navigation and how it should be labelled.&lt;/p&gt;</body>
  <created-at type="datetime">2008-10-12T23:10:13-07:00</created-at>
  <id type="integer">66522</id>
  <permalink>customcomponents</permalink>
  <repository-id type="integer">55020</repository-id>
  <title>CustomComponents</title>
  <updated-at type="datetime">2008-10-12T23:10:33-07:00</updated-at>
  <user-id type="integer">109</user-id>
</wiki>
