Drabble Plugin
Idea: Create a "Drabble 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 Star Rating, 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.
As always, if someone would like to implement this idea before I get around to it, please do so.
Protection Plugin
The Idea: 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.
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.
Except where otherwise noted, this content is licensed under a Creative Commons License.Gatekeeper Plugin
The Idea: 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.
Except where otherwise noted, this content is licensed under a Creative Commons License.Newsletter Plugin
The Idea: 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.
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...
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:
http://forums.b2evolution.net/viewtopic.php?t=16393&highlight=newsletter (2008-08)
http://forums.b2evolution.net/viewtopic.php?t=11987&highlight=newsletter (2007-07)
http://forums.b2evolution.net/viewtopic.php?t=9443&highlight=newsletter (2006-10)
http://forums.b2evolution.net/viewtopic.php?t=16454 (2008-08 - mailsender plugin download)
Except where otherwise noted, this content is licensed under a Creative Commons License.Resume Plugin
The Idea: A plugin which creates a new Type of Post ("Resume"). Rather than the default markups (ins, del, str, 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).
The Research:
- You can create new Post types by going to "Global settings" -> "Post types" -> Create a new element.
- 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".
- 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".
- inc/items/item_types.ctrl.php displays the "Post types" page.
- While we're in the inc/items directory, let's look at items.ctrl.php: the only Plugin events that are called is AdminBeforeItemEditCreate, AdminBeforeItemEditUpdate, and AdminBeforeItemEditDelete.
- items.ctrl.php uses the $AdminUI->disp_view() method to load 'items/views/_item_expert.form.php' for the "expert" new post form
- Inside the _item_expert.form.php file, the Plugin events AdminDisplayToolbar, AdminDisplayEditorButton, and AdminDisplayItemFormFieldset are called.
Except where otherwise noted, this content is licensed under a Creative Commons License.