= Self-contained Blog plugin = [[PageOutline]] == Description == This plugin provides a project Blog, but unlike TracBlogPlugin and SimpleBlogPlugin it does not use Wiki pages to store the content. It has no dependencies on other plugins. This is a production-ready release, available for an up-to-date Trac 0.11 installation. The implemented features should work as expected. Basic features are: * Create, edit and view blog posts under a new 'Blog' menu. * Browse post by month, category and author + and Archive page for all posts. * Attachments on blog posts. * Comments for blog posts. * Posts and comments in Timeline / RSS. * Search for blog posts and comments. * Admin page for basic settings and informational text in sidebar. * Permissions for `BLOG_VIEW, BLOG_COMMENT, BLOG_MODIFY_OWN, BLOG_MODIFY_ALL, BLOG_ADMIN`. * Support for Trac fine-grained permissions security checks (based on resource / realm). * Special handling of a post named 'about'. * Area in sidebar for information text, blogroll, links and similar. * Link provider, like `[blog:this_is_my_post]` and `[blog:category/trac]` and `[blog:2007/10]`. * Delete post version, delete post and delete comment. * A tags provider for TagsPlugin if plugin is available. * A `[[BlogList]]` news-listing macro with various display modes for pulling blog posts into the wiki. * Change listener and manipulator APIs for hooking on to changes. * Spamfilter implementation included - thanks to athomas, ([3106] - forgot commit message...) * Sample plugin provided illustrating how to use the hooks. * FullBlogNotificationPlugin adds email notification of changes to posts and comments. * Sample plugin that implements blog post 'draft' functionality (`SampleBlogPlugin.py`). Some planned features are not yet done: * Diff between version of the post. * XmlRpcPlugin support. Feedback is most welcome - see [wiki:osimons] to get in touch with me by mail or on the #trac channel. == Screenshots == The plugin in action (old-ish screenshot): * [attachment:fullblog-01.png Post view with commenting] To see the blog in action, visit its 'home' at http://www.coderesort.com/about/blog == Migration == There is a script available in the [source:fullblogplugin/0.11/contrib contrib] directory for migrating existing TracBlogPlugin users to the FullBlogPlugin. To use it: * Install TagsPlugin 0.6 * Install FullBlogPlugin * Upgrade the Trac environment: {{{ trac-admin /path/to/env upgrade }}} * Run the migration script: {{{ migrate-tracblog.py /path/to/environment }}} * Confirm the migration succeeded, then remove the old posts (if desired) {{{ migrate-tracblog.py /path/to/environment --delete-only }}} Take a look at `migrate-tracblog.py --help` for more options == Bugs/Feature Requests == Existing bugs and feature requests for FullBlogPlugin are [report:9?COMPONENT=FullBlogPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=FullBlogPlugin&owner=osimons new ticket]. == Download and Install == Either: * Download the zipped source from [download:fullblogplugin here]. Unzip the file, and `cd` into the directory with correct version (currently 0.11). Run `python setup.py install`. * or, check out the source (ses below) and similarly run `python setup.py install` at correct location (like previous alternative). To update the plugin later, you can then just do `svn up` to pull down the latest source from repository and install it again. * or, to install it directly from repository to get the latest version with revision marker, use easy_install: {{{ easy_install --always-unzip http://trac-hacks.org/svn/fullblogplugin/0.11 }}} == Source == You can check out FullBlogPlugin from [http://trac-hacks.org/svn/fullblogplugin here] using Subversion, or [source:fullblogplugin browse the source] with Trac. == Get it working == Follow these simple steps and configuration hints: 1. Install the plugin in your preferred manner (see above). 1. Enable the plugin: {{{ [components] tracfullblog.* = enabled }}} 1. Run `trac-admin /path/to/env upgrade`. 1. Restart server and as `TRAC-ADMIN` you should now see 'Blog' in menu. 1. Add one or more permissions to let users view, create, comment and modify posts (see list above). The link to 'Blog' in menu will appear last. To move it, edit your `trac.ini` config file to add `blog` into the ordered list: {{{ [trac] mainnav = wiki,blog,timeline,.... }}} If you would like the blog to be the new default home page for your project (ie. handle requests to `/myproject/`), then update trac.ini: {{{ [trac] default_handler = FullBlogModule }}} == Related Plugins == * [wiki:FullBlogNotificationPlugin] - sends e-mail notifications about new/changed/deleted blog posts and comments == Recent Changes == [[ChangeLog(fullblogplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:osimons] [[BR]] '''Contributors:'''