<?xml version="1.0" encoding="iso-8859-1"?><!-- generator="b2evolution/3.3.3" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Epapyr Software</title>
		<link>http://epapyr.us/</link>
		<atom:link rel="self" type="application/rss+xml" href="http://epapyr.us/?tempskin=_rss2" />
		<description></description>
		<language>en-US</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=3.3.3"/>
		<ttl>60</ttl>
				<item>
			<title>Drabble Plugin</title>
			<link>http://epapyr.us/drabble-plugin</link>
			<pubDate>Wed, 16 Jun 2010 22:02:26 +0000</pubDate>			<dc:creator>cary</dc:creator>
			<category domain="main">b2evolution</category>			<guid isPermaLink="false">347@http://epapyr.us/blogs/</guid>
						<description>&lt;p&gt;Idea: Create a &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Drabble&quot;&gt;Drabble&lt;/a&gt; Contest&quot; post type.  This would allow the blog author to author a post as normal, declaring a theme for the contest.  Comments to this post would be considered entries to the contest whose contents would be limited to 100 words (or whatever threshold the blog author decided. Incorporating the &lt;a href=&quot;http://plugins.b2evolution.net/index.php/2006/10/05/star_rating&quot;&gt;Star Rating&lt;/a&gt;, or similar voting-type plugin would allow visitors to vote on the comments / entries and the contest would expire at a pre-determined time in the future.&lt;/p&gt;

&lt;p&gt;As always, if someone would like to implement this idea before I get around to it, please do so.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://epapyr.us/drabble-plugin&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Idea: Create a "<a href="http://en.wikipedia.org/wiki/Drabble">Drabble</a> Contest" post type.  This would allow the blog author to author a post as normal, declaring a theme for the contest.  Comments to this post would be considered entries to the contest whose contents would be limited to 100 words (or whatever threshold the blog author decided. Incorporating the <a href="http://plugins.b2evolution.net/index.php/2006/10/05/star_rating">Star Rating</a>, or similar voting-type plugin would allow visitors to vote on the comments / entries and the contest would expire at a pre-determined time in the future.</p>

<p>As always, if someone would like to implement this idea before I get around to it, please do so.</p><div class="item_footer"><p><small><a href="http://epapyr.us/drabble-plugin">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://epapyr.us/drabble-plugin#comments</comments>
			<wfw:commentRss>http://epapyr.us/?tempskin=_rss2&#38;disp=comments&#38;p=347</wfw:commentRss>
		</item>
				<item>
			<title>Protection Plugin</title>
			<link>http://epapyr.us/protection-plugin</link>
			<pubDate>Sun, 01 Mar 2009 22:41:27 +0000</pubDate>			<dc:creator>ckm</dc:creator>
			<category domain="main">b2evolution</category>			<guid isPermaLink="false">71@http://epapyr.us/blogs/</guid>
						<description>&lt;p&gt;&lt;strong&gt;The Idea:&lt;/strong&gt; A plugin which will use anti-spam measures (ie. captcha or turing-test) to hide posts from robots/web crawlers, but allow humans to see them without having to create an account on the site. &lt;/p&gt;

&lt;p&gt;I envision this plugin adding a drop down menu of all the availalble anti-spam plugins as an option to the &quot;Visibility/Sharing&quot; menu when creating a new post. When the site is viewed, the post's title is visible and instead of the text of the post, the anti-spam test is present. Once the visitor submits a correct test, the text of the page would load.&lt;/p&gt;

&lt;!-- Creative Commons License --&gt; &lt;div class=&quot;cc_license&quot;&gt;&lt;a rel=&quot;cc:license&quot; href=&quot;http://creativecommons.org/licenses/by/3.0/us/&quot; title=&quot;Creative Commons License: Attribution&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by/3.0/80x15.png&quot; alt=&quot;Creative Commons License: Attribution&quot; /&gt;&lt;/a&gt;Except where otherwise noted, this content is licensed under a &lt;a rel=&quot;cc:license&quot; href=&quot;http://creativecommons.org/licenses/by/3.0/us/&quot; title=&quot;Creative Commons License: Attribution&quot;&gt;Creative Commons License&lt;/a&gt;.&lt;/div&gt; &lt;!-- /Creative Commons License --&gt;
&lt;!--
&lt;rdf:RDF xmlns=&quot;http://creativecommons.org/ns#&quot;
    xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;
    xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
&lt;Work rdf:about=&quot;http://epapyr.us/protection-plugin&quot;&gt;
  &lt;dc:title&gt;Protection Plugin&lt;/dc:title&gt;
  &lt;dc:creator&gt;&lt;Agent&gt;
    &lt;dc:title&gt;ckm (User ID#6 at http://epapyr.us/blogs/)&lt;/dc:title&gt;
  &lt;/Agent&gt;&lt;/dc:creator&gt;
  &lt;dc:rights&gt;&lt;Agent&gt;
    &lt;dc:title&gt;ckm (User ID#6 at http://epapyr.us/blogs/)&lt;/dc:title&gt;
  &lt;/Agent&gt;&lt;/dc:rights&gt;
  &lt;dc:date&gt;2009-03-01 16:41:27&lt;/dc:date&gt;
  &lt;license rdf:resource=&quot;by/3.0/us/&quot; /&gt;
&lt;/Work&gt;
&lt;License rdf:about=&quot;by/3.0/us/&quot;&gt;
  &lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot; /&gt;
  &lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot; /&gt;
  &lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot; /&gt;
  &lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot; /&gt;
  &lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot; /&gt;
&lt;/License&gt;
&lt;/rdf:RDF&gt;
--&gt;
&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://epapyr.us/protection-plugin&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><strong>The Idea:</strong> A plugin which will use anti-spam measures (ie. captcha or turing-test) to hide posts from robots/web crawlers, but allow humans to see them without having to create an account on the site. </p>

<p>I envision this plugin adding a drop down menu of all the availalble anti-spam plugins as an option to the "Visibility/Sharing" menu when creating a new post. When the site is viewed, the post's title is visible and instead of the text of the post, the anti-spam test is present. Once the visitor submits a correct test, the text of the page would load.</p>

<!-- Creative Commons License --> <div class="cc_license"><a rel="cc:license" href="http://creativecommons.org/licenses/by/3.0/us/" title="Creative Commons License: Attribution"><img src="http://i.creativecommons.org/l/by/3.0/80x15.png" alt="Creative Commons License: Attribution" /></a>Except where otherwise noted, this content is licensed under a <a rel="cc:license" href="http://creativecommons.org/licenses/by/3.0/us/" title="Creative Commons License: Attribution">Creative Commons License</a>.</div> <!-- /Creative Commons License -->
<!--
<rdf:RDF xmlns="http://creativecommons.org/ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="http://epapyr.us/protection-plugin">
  <dc:title>Protection Plugin</dc:title>
  <dc:creator><Agent>
    <dc:title>ckm (User ID#6 at http://epapyr.us/blogs/)</dc:title>
  </Agent></dc:creator>
  <dc:rights><Agent>
    <dc:title>ckm (User ID#6 at http://epapyr.us/blogs/)</dc:title>
  </Agent></dc:rights>
  <dc:date>2009-03-01 16:41:27</dc:date>
  <license rdf:resource="by/3.0/us/" />
</Work>
<License rdf:about="by/3.0/us/">
  <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
  <permits rdf:resource="http://web.resource.org/cc/Distribution" />
  <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
  <requires rdf:resource="http://web.resource.org/cc/Notice" />
  <requires rdf:resource="http://web.resource.org/cc/Attribution" />
</License>
</rdf:RDF>
-->
<div class="item_footer"><p><small><a href="http://epapyr.us/protection-plugin">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://epapyr.us/protection-plugin#comments</comments>
			<wfw:commentRss>http://epapyr.us/?tempskin=_rss2&#38;disp=comments&#38;p=71</wfw:commentRss>
		</item>
				<item>
			<title>Gatekeeper Plugin</title>
			<link>http://epapyr.us/gatekeeper_plugin</link>
			<pubDate>Thu, 29 Jan 2009 02:13:40 +0000</pubDate>			<dc:creator>ckm</dc:creator>
			<category domain="main">b2evolution</category>			<guid isPermaLink="false">58@http://epapyr.us/blogs/</guid>
						<description>&lt;p&gt;&lt;strong&gt;The Idea:&lt;/strong&gt; The Gatekeeper would track the number of times a particular IP address attempts to log into the backoffice and deny further access after failing a specified number of times. After some time has gone by, the Gatekeeper would reset and allow that IP to attempt to login once more. The administrator could specify one or more IPs to never block, deny all IPs identified as spammers or cause failed login attempts to be treated as spammers.&lt;/p&gt;

&lt;!-- Creative Commons License NEWSTYLE license:by nation:3.0/us display:thin --&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://epapyr.us/gatekeeper_plugin&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><strong>The Idea:</strong> The Gatekeeper would track the number of times a particular IP address attempts to log into the backoffice and deny further access after failing a specified number of times. After some time has gone by, the Gatekeeper would reset and allow that IP to attempt to login once more. The administrator could specify one or more IPs to never block, deny all IPs identified as spammers or cause failed login attempts to be treated as spammers.</p>

<!-- Creative Commons License --> <div class="cc_license"><a rel="cc:license" href="http://creativecommons.org/licenses/by/3.0/us/" title="Creative Commons License: Attribution"><img src="http://i.creativecommons.org/l/by/3.0/80x15.png" alt="Creative Commons License: Attribution" /></a>Except where otherwise noted, this content is licensed under a <a rel="cc:license" href="http://creativecommons.org/licenses/by/3.0/us/" title="Creative Commons License: Attribution">Creative Commons License</a>.</div> <!-- /Creative Commons License -->
<!--
<rdf:RDF xmlns="http://creativecommons.org/ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="http://epapyr.us/gatekeeper_plugin">
  <dc:title>Gatekeeper Plugin</dc:title>
  <dc:creator><Agent>
    <dc:title>ckm (User ID#6 at http://epapyr.us/blogs/)</dc:title>
  </Agent></dc:creator>
  <dc:rights><Agent>
    <dc:title>ckm (User ID#6 at http://epapyr.us/blogs/)</dc:title>
  </Agent></dc:rights>
  <dc:date>2009-01-28 20:13:40</dc:date>
  <license rdf:resource="by/3.0/us/" />
</Work>
<License rdf:about="by/3.0/us/">
  <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
  <permits rdf:resource="http://web.resource.org/cc/Distribution" />
  <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
  <requires rdf:resource="http://web.resource.org/cc/Notice" />
  <requires rdf:resource="http://web.resource.org/cc/Attribution" />
</License>
</rdf:RDF>
-->
<div class="item_footer"><p><small><a href="http://epapyr.us/gatekeeper_plugin">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://epapyr.us/gatekeeper_plugin#comments</comments>
			<wfw:commentRss>http://epapyr.us/?tempskin=_rss2&#38;disp=comments&#38;p=58</wfw:commentRss>
		</item>
				<item>
			<title>Newsletter Plugin</title>
			<link>http://epapyr.us/newsletter_plugin</link>
			<pubDate>Wed, 28 Jan 2009 02:37:26 +0000</pubDate>			<dc:creator>ckm</dc:creator>
			<category domain="main">b2evolution</category>			<guid isPermaLink="false">57@http://epapyr.us/blogs/</guid>
						<description>&lt;p&gt;&lt;strong&gt;The Idea:&lt;/strong&gt; Allow visitors to register their email address on the site without needing to generate (yet another!) password. The blog author can create a post of Type &quot;Newsletter&quot; which would get mailed out to all the registered users and/or posted to the blog as a regular entry depending upon the configuration options. This plugin would need a way to generate a confirmation email to verify the user did request to be added, a way for users to easily remove their email (probably also sending a confirmation email) and a new table in the database to store email addresses.&lt;/p&gt;

&lt;p&gt;b2evolution provides the register.php file, which could probably be tweaked to provide this functionality: remove the login and password-fields and change up which database entries get updated, and you'd be good to go on the frontend. The back end would need a little work...&lt;/p&gt;

&lt;p&gt;This is not a unique idea to me, there have been many requests on the forums for a newsletter-type plugin, however, they do have a focus on mailing registered users, whereas I don't want to make registration (creating a login/password) on my blog a requirement. This is just a sampling:&lt;br /&gt;
&lt;a href=&quot;http://forums.b2evolution.net/viewtopic.php?t=16393&amp;amp;highlight=newsletter&quot;&gt;http://forums.b2evolution.net/viewtopic.php?t=16393&amp;amp;highlight=newsletter&lt;/a&gt; (2008-08)&lt;br /&gt;
&lt;a href=&quot;http://forums.b2evolution.net/viewtopic.php?t=11987&amp;amp;highlight=newsletter&quot;&gt;http://forums.b2evolution.net/viewtopic.php?t=11987&amp;amp;highlight=newsletter&lt;/a&gt; (2007-07)&lt;br /&gt;
&lt;a href=&quot;http://forums.b2evolution.net/viewtopic.php?t=9443&amp;amp;highlight=newsletter&quot;&gt;http://forums.b2evolution.net/viewtopic.php?t=9443&amp;amp;highlight=newsletter&lt;/a&gt; (2006-10)&lt;br /&gt;
&lt;a href=&quot;http://forums.b2evolution.net/viewtopic.php?t=16454&quot;&gt;http://forums.b2evolution.net/viewtopic.php?t=16454&lt;/a&gt; (2008-08 - mailsender plugin download)&lt;/p&gt;



&lt;!-- Creative Commons License NEWSTYLE license:by nation:3.0/us display:thin --&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://epapyr.us/newsletter_plugin&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><strong>The Idea:</strong> Allow visitors to register their email address on the site without needing to generate (yet another!) password. The blog author can create a post of Type "Newsletter" which would get mailed out to all the registered users and/or posted to the blog as a regular entry depending upon the configuration options. This plugin would need a way to generate a confirmation email to verify the user did request to be added, a way for users to easily remove their email (probably also sending a confirmation email) and a new table in the database to store email addresses.</p>

<p>b2evolution provides the register.php file, which could probably be tweaked to provide this functionality: remove the login and password-fields and change up which database entries get updated, and you'd be good to go on the frontend. The back end would need a little work...</p>

<p>This is not a unique idea to me, there have been many requests on the forums for a newsletter-type plugin, however, they do have a focus on mailing registered users, whereas I don't want to make registration (creating a login/password) on my blog a requirement. This is just a sampling:<br />
<a href="http://forums.b2evolution.net/viewtopic.php?t=16393&amp;highlight=newsletter">http://forums.b2evolution.net/viewtopic.php?t=16393&amp;highlight=newsletter</a> (2008-08)<br />
<a href="http://forums.b2evolution.net/viewtopic.php?t=11987&amp;highlight=newsletter">http://forums.b2evolution.net/viewtopic.php?t=11987&amp;highlight=newsletter</a> (2007-07)<br />
<a href="http://forums.b2evolution.net/viewtopic.php?t=9443&amp;highlight=newsletter">http://forums.b2evolution.net/viewtopic.php?t=9443&amp;highlight=newsletter</a> (2006-10)<br />
<a href="http://forums.b2evolution.net/viewtopic.php?t=16454">http://forums.b2evolution.net/viewtopic.php?t=16454</a> (2008-08 - mailsender plugin download)</p>



<!-- Creative Commons License --> <div class="cc_license"><a rel="cc:license" href="http://creativecommons.org/licenses/by/3.0/us/" title="Creative Commons License: Attribution"><img src="http://i.creativecommons.org/l/by/3.0/80x15.png" alt="Creative Commons License: Attribution" /></a>Except where otherwise noted, this content is licensed under a <a rel="cc:license" href="http://creativecommons.org/licenses/by/3.0/us/" title="Creative Commons License: Attribution">Creative Commons License</a>.</div> <!-- /Creative Commons License -->
<!--
<rdf:RDF xmlns="http://creativecommons.org/ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="http://epapyr.us/newsletter_plugin">
  <dc:title>Newsletter Plugin</dc:title>
  <dc:creator><Agent>
    <dc:title>ckm (User ID#6 at http://epapyr.us/blogs/)</dc:title>
  </Agent></dc:creator>
  <dc:rights><Agent>
    <dc:title>ckm (User ID#6 at http://epapyr.us/blogs/)</dc:title>
  </Agent></dc:rights>
  <dc:date>2009-01-27 20:37:26</dc:date>
  <license rdf:resource="by/3.0/us/" />
</Work>
<License rdf:about="by/3.0/us/">
  <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
  <permits rdf:resource="http://web.resource.org/cc/Distribution" />
  <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
  <requires rdf:resource="http://web.resource.org/cc/Notice" />
  <requires rdf:resource="http://web.resource.org/cc/Attribution" />
</License>
</rdf:RDF>
-->
<div class="item_footer"><p><small><a href="http://epapyr.us/newsletter_plugin">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://epapyr.us/newsletter_plugin#comments</comments>
			<wfw:commentRss>http://epapyr.us/?tempskin=_rss2&#38;disp=comments&#38;p=57</wfw:commentRss>
		</item>
				<item>
			<title>Resume Plugin</title>
			<link>http://epapyr.us/resume_plugin</link>
			<pubDate>Wed, 28 Jan 2009 01:47:38 +0000</pubDate>			<dc:creator>ckm</dc:creator>
			<category domain="main">b2evolution</category>			<guid isPermaLink="false">56@http://epapyr.us/blogs/</guid>
						<description>&lt;p&gt;&lt;strong&gt;The Idea:&lt;/strong&gt; A plugin which creates a new Type of Post (&quot;Resume&quot;). Rather than the default markups (&lt;ins&gt;ins&lt;/ins&gt;, &lt;del&gt;del&lt;/del&gt;, &lt;strong&gt;str&lt;/strong&gt;, &lt;em&gt;em&lt;/em&gt;, etc.) there would be markups for dates, positions, tasks, etc. Included with the plugin would be a &quot;print&quot; stylesheet which would provide pretty-formating suitable for printing. Additionally, it could be protected via antispam/anti-bot or login measures (as determined by the blog author).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Research:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;You can create new Post types by going to &quot;Global settings&quot; -&gt; &quot;Post types&quot; -&gt; Create a new element.&lt;/li&gt;
  &lt;li&gt;The &quot;Post types&quot; tab is created in skins_adm/_adminui_general.class.php: all the tabs are generated by an array passed to add_menu_entries(); the link to &quot;Post types&quot; is &quot;admin.php?ctrl=itemtypes&quot;.&lt;/li&gt;
  &lt;li&gt;admin.php does not have &quot;itemtypes&quot; spelled out in it; it seems to sanitize what's passed in and then calls the requested controller: &quot;$inc_path.$ctrl_mappings[$ctrl];&quot;; according to conf/_admin.php, the controller mapping for &quot;itemtypes&quot; is &quot;items/item_types.ctrl.php&quot;.&lt;/li&gt;
  &lt;li&gt;inc/items/item_types.ctrl.php displays the &quot;Post types&quot; page.&lt;/li&gt;
  &lt;li&gt;While we're in the inc/items directory, let's look at items.ctrl.php: the only Plugin events that are called is &lt;a href=&quot;http://doc.b2evolution.net/HEAD/plugins/plugin.html#methodAdminBeforeItemEditCreate&quot;&gt;AdminBeforeItemEditCreate&lt;/a&gt;, &lt;a href=&quot;http://doc.b2evolution.net/HEAD/plugins/Plugin.html#methodAdminBeforeItemEditUpdate&quot;&gt;AdminBeforeItemEditUpdate&lt;/a&gt;, and &lt;a href=&quot;http://doc.b2evolution.net/HEAD/plugins/Plugin.html#methodAdminBeforeItemEditDelete&quot;&gt;AdminBeforeItemEditDelete&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;items.ctrl.php uses the $AdminUI-&gt;disp_view() method to load 'items/views/_item_expert.form.php' for the &quot;expert&quot; new post form&lt;/li&gt;
  &lt;li&gt;Inside the _item_expert.form.php file, the Plugin events &lt;a href=&quot;http://doc.b2evolution.net/HEAD/plugins/Plugin.html#methodAdminDisplayToolbar&quot;&gt;AdminDisplayToolbar&lt;/a&gt;, &lt;a href=&quot;http://doc.b2evolution.net/HEAD/plugins/Plugin.html#methodAdminDisplayEditorButton&quot;&gt;AdminDisplayEditorButton&lt;/a&gt;, and &lt;a href=&quot;http://doc.b2evolution.net/HEAD/plugins/Plugin.html#methodAdminDisplayItemFormFieldset&quot;&gt;AdminDisplayItemFormFieldset&lt;/a&gt; are called.&lt;/li&gt;
&lt;/ol&gt;


&lt;!-- Creative Commons License NEWSTYLE license:by nation:3.0/us display:thin --&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://epapyr.us/resume_plugin&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><strong>The Idea:</strong> A plugin which creates a new Type of Post ("Resume"). Rather than the default markups (<ins>ins</ins>, <del>del</del>, <strong>str</strong>, <em>em</em>, etc.) there would be markups for dates, positions, tasks, etc. Included with the plugin would be a "print" stylesheet which would provide pretty-formating suitable for printing. Additionally, it could be protected via antispam/anti-bot or login measures (as determined by the blog author).</p>

<p><strong>The Research:</strong></p>
<ol>
  <li>You can create new Post types by going to "Global settings" -> "Post types" -> Create a new element.</li>
  <li>The "Post types" tab is created in skins_adm/_adminui_general.class.php: all the tabs are generated by an array passed to add_menu_entries(); the link to "Post types" is "admin.php?ctrl=itemtypes".</li>
  <li>admin.php does not have "itemtypes" spelled out in it; it seems to sanitize what's passed in and then calls the requested controller: "$inc_path.$ctrl_mappings[$ctrl];"; according to conf/_admin.php, the controller mapping for "itemtypes" is "items/item_types.ctrl.php".</li>
  <li>inc/items/item_types.ctrl.php displays the "Post types" page.</li>
  <li>While we're in the inc/items directory, let's look at items.ctrl.php: the only Plugin events that are called is <a href="http://doc.b2evolution.net/HEAD/plugins/plugin.html#methodAdminBeforeItemEditCreate">AdminBeforeItemEditCreate</a>, <a href="http://doc.b2evolution.net/HEAD/plugins/Plugin.html#methodAdminBeforeItemEditUpdate">AdminBeforeItemEditUpdate</a>, and <a href="http://doc.b2evolution.net/HEAD/plugins/Plugin.html#methodAdminBeforeItemEditDelete">AdminBeforeItemEditDelete</a>.</li>
  <li>items.ctrl.php uses the $AdminUI->disp_view() method to load 'items/views/_item_expert.form.php' for the "expert" new post form</li>
  <li>Inside the _item_expert.form.php file, the Plugin events <a href="http://doc.b2evolution.net/HEAD/plugins/Plugin.html#methodAdminDisplayToolbar">AdminDisplayToolbar</a>, <a href="http://doc.b2evolution.net/HEAD/plugins/Plugin.html#methodAdminDisplayEditorButton">AdminDisplayEditorButton</a>, and <a href="http://doc.b2evolution.net/HEAD/plugins/Plugin.html#methodAdminDisplayItemFormFieldset">AdminDisplayItemFormFieldset</a> are called.</li>
</ol>


<!-- Creative Commons License --> <div class="cc_license"><a rel="cc:license" href="http://creativecommons.org/licenses/by/3.0/us/" title="Creative Commons License: Attribution"><img src="http://i.creativecommons.org/l/by/3.0/80x15.png" alt="Creative Commons License: Attribution" /></a>Except where otherwise noted, this content is licensed under a <a rel="cc:license" href="http://creativecommons.org/licenses/by/3.0/us/" title="Creative Commons License: Attribution">Creative Commons License</a>.</div> <!-- /Creative Commons License -->
<!--
<rdf:RDF xmlns="http://creativecommons.org/ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="http://epapyr.us/resume_plugin">
  <dc:title>Resume Plugin</dc:title>
  <dc:creator><Agent>
    <dc:title>ckm (User ID#6 at http://epapyr.us/blogs/)</dc:title>
  </Agent></dc:creator>
  <dc:rights><Agent>
    <dc:title>ckm (User ID#6 at http://epapyr.us/blogs/)</dc:title>
  </Agent></dc:rights>
  <dc:date>2009-01-27 19:47:38</dc:date>
  <license rdf:resource="by/3.0/us/" />
</Work>
<License rdf:about="by/3.0/us/">
  <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
  <permits rdf:resource="http://web.resource.org/cc/Distribution" />
  <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
  <requires rdf:resource="http://web.resource.org/cc/Notice" />
  <requires rdf:resource="http://web.resource.org/cc/Attribution" />
</License>
</rdf:RDF>
-->
<div class="item_footer"><p><small><a href="http://epapyr.us/resume_plugin">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://epapyr.us/resume_plugin#comments</comments>
			<wfw:commentRss>http://epapyr.us/?tempskin=_rss2&#38;disp=comments&#38;p=56</wfw:commentRss>
		</item>
				<item>
			<title>Plugin Manager Plugin</title>
			<link>http://epapyr.us/plugin_manager_plugin</link>
			<pubDate>Thu, 22 Jan 2009 03:22:12 +0000</pubDate>			<dc:creator>admin</dc:creator>
			<category domain="main">b2evolution</category>			<guid isPermaLink="false">53@http://epapyr.us/blogs/</guid>
						<description>&lt;p&gt;I'd like to be able to enable plugins (espcially antispam ones) on a per-blog basis (instead of globally). This is a list of other people who have asked for the same thing (or something similar) within the last year:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://forums.b2evolution.net/viewtopic.php?t=15207&quot;&gt;http://forums.b2evolution.net/viewtopic.php?t=15207&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://forums.b2evolution.net/viewtopic.php?t=16696&quot;&gt;http://forums.b2evolution.net/viewtopic.php?t=16696&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Idea:&lt;/strong&gt; The Plugin Manager would add a &quot;Plugins&quot; tab to the Blog settings screen. From here, the blog owner (not necessarly the administrator) would be able to enable and disable the plugins he[1] wants to enable on that individual blog. It would also provide a transparent (can we say complicated&amp;#8253;) way of allowing the owner to change the configuration of the plugins without modifying the global settings. &lt;/p&gt;

&lt;p&gt;[1]While I appreciate the effort to include the feminine perspective in writing, typing out &quot;him or her&quot;, &quot;hers or his&quot;, &quot;he or she&quot;, etc, is time consuming and reading it  breaks the flow of the prose. I'll continue to use the masculine form to include the feminine as I learned back in the day, and hope that my readers understand I mean no disrepsect to anyone.&lt;/p&gt;
&lt;!-- Creative Commons License NEWSTYLE license:by nation:3.0/us display:thin --&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://epapyr.us/plugin_manager_plugin&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>I'd like to be able to enable plugins (espcially antispam ones) on a per-blog basis (instead of globally). This is a list of other people who have asked for the same thing (or something similar) within the last year:</p>

<p><a href="http://forums.b2evolution.net/viewtopic.php?t=15207">http://forums.b2evolution.net/viewtopic.php?t=15207</a><br />
<a href="http://forums.b2evolution.net/viewtopic.php?t=16696">http://forums.b2evolution.net/viewtopic.php?t=16696</a></p>

<p><strong>The Idea:</strong> The Plugin Manager would add a "Plugins" tab to the Blog settings screen. From here, the blog owner (not necessarly the administrator) would be able to enable and disable the plugins he[1] wants to enable on that individual blog. It would also provide a transparent (can we say complicated&#8253;) way of allowing the owner to change the configuration of the plugins without modifying the global settings. </p>

<p>[1]While I appreciate the effort to include the feminine perspective in writing, typing out "him or her", "hers or his", "he or she", etc, is time consuming and reading it  breaks the flow of the prose. I'll continue to use the masculine form to include the feminine as I learned back in the day, and hope that my readers understand I mean no disrepsect to anyone.</p>
<!-- Creative Commons License NEWSTYLE license:by nation:3.0/us display:thin --><div class="item_footer"><p><small><a href="http://epapyr.us/plugin_manager_plugin">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://epapyr.us/plugin_manager_plugin#comments</comments>
			<wfw:commentRss>http://epapyr.us/?tempskin=_rss2&#38;disp=comments&#38;p=53</wfw:commentRss>
		</item>
				<item>
			<title>reCAPTCHA Plugin</title>
			<link>http://epapyr.us/recaptcha</link>
			<pubDate>Sat, 17 Jan 2009 05:29:32 +0000</pubDate>			<dc:creator>admin</dc:creator>
			<category domain="main">b2evolution</category>			<guid isPermaLink="false">44@http://epapyr.us/blogs/</guid>
						<description>&lt;p&gt;I originally published the reCAPTCHA plugin in May of 2007. After a couple of months of tweaking, I moved onto other projects and let it languish. I've since had some time to revive this plugin and have updated it in several ways. I've also migrated it to this site rather than my personal blog because it is a better fit here. I hope that people are finding this plugin useful.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction to reCAPTCHA&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;reCAPTCHA is a free CAPTCHA service that helps to digitize books, newspapers and old time radio shows. &lt;br /&gt;
--http://recaptcha.net/learnmore.html&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Rather than generating a random string of characters for a user to solve to prove their humanity, reCAPTHCA scans old print media and uses the Internet masses as a decentralized optical character recognition (OCR) program. One of the words presented is known, the other is not. The assumption made is that if the known word is submitted correctly, then the unknown word is correct as well. Over time, if the same unknown word is solved the same way by multiple reCAPTCHA solvers, then they have a high confidence that is what the word actually is.&lt;/p&gt;
&lt;p&gt;To address accessibility concerns of blind people, reCAPTCHA also provides an audio captcha. If your computer does not have the required plugin, it can download an MP3 for you to listen to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;reCAPTCHA Plugin&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This plugin allows b2evolution users to assist the reCAPTCHA project in their goal of digitizing old media while providing hurdle for spammers to cross. It is not the ultimate answer to blog spam, but it is one tool available to you. For those who care, starting with the 1.0 version of the reCAPTCHA Plugin, I'm licensing the plugin under the same terms as the reCAPTCHA library, included in the LICENSE file, basically a single-clause BSD license.&lt;/p&gt;

&lt;p&gt;I'd love to get feedback from those who are using this plugin, if it is doing its job or if it can be improved. Please leave a comment here or on the b2evolution plugin page or forums. Thanks for your interest!&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://epapyr.us/media/plugins/recaptcha_plugin-1.1.zip&quot; title=&quot;current&quot;&gt;Download Current&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Table of Contents:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Introduction (this page)&lt;/li&gt;
  &lt;li&gt;Installation Instructions&lt;/li&gt;
  &lt;li&gt;Configuration Instructions&lt;/li&gt;
  &lt;li&gt;TODO list&lt;/li&gt;
&lt;/ol&gt;

&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://epapyr.us/recaptcha&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>I originally published the reCAPTCHA plugin in May of 2007. After a couple of months of tweaking, I moved onto other projects and let it languish. I've since had some time to revive this plugin and have updated it in several ways. I've also migrated it to this site rather than my personal blog because it is a better fit here. I hope that people are finding this plugin useful.</p><p> </p>

<p><strong>Introduction to reCAPTCHA</strong></p>
<blockquote><p>reCAPTCHA is a free CAPTCHA service that helps to digitize books, newspapers and old time radio shows. <br />
--http://recaptcha.net/learnmore.html</p></blockquote>

<p>Rather than generating a random string of characters for a user to solve to prove their humanity, reCAPTHCA scans old print media and uses the Internet masses as a decentralized optical character recognition (OCR) program. One of the words presented is known, the other is not. The assumption made is that if the known word is submitted correctly, then the unknown word is correct as well. Over time, if the same unknown word is solved the same way by multiple reCAPTCHA solvers, then they have a high confidence that is what the word actually is.</p>
<p>To address accessibility concerns of blind people, reCAPTCHA also provides an audio captcha. If your computer does not have the required plugin, it can download an MP3 for you to listen to.</p>

<p><strong>reCAPTCHA Plugin</strong></p>
<p>This plugin allows b2evolution users to assist the reCAPTCHA project in their goal of digitizing old media while providing hurdle for spammers to cross. It is not the ultimate answer to blog spam, but it is one tool available to you. For those who care, starting with the 1.0 version of the reCAPTCHA Plugin, I'm licensing the plugin under the same terms as the reCAPTCHA library, included in the LICENSE file, basically a single-clause BSD license.</p>

<p>I'd love to get feedback from those who are using this plugin, if it is doing its job or if it can be improved. Please leave a comment here or on the b2evolution plugin page or forums. Thanks for your interest!</p>


<p><a href="http://epapyr.us/media/plugins/recaptcha_plugin-1.1.zip" title="current">Download Current</a></p>

<p><strong>Table of Contents:</strong></p>
<ol>
  <li>Introduction (this page)</li>
  <li>Installation Instructions</li>
  <li>Configuration Instructions</li>
  <li>TODO list</li>
</ol>

<div class="item_footer"><p><small><a href="http://epapyr.us/recaptcha">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://epapyr.us/recaptcha#comments</comments>
			<wfw:commentRss>http://epapyr.us/?tempskin=_rss2&#38;disp=comments&#38;p=44</wfw:commentRss>
		</item>
			</channel>
</rss>
