Version 45 (modified by 13 years ago) (diff) | ,
---|
Contents
Self-contained Blog plugin
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, supporting Trac 0.11 and 0.12 installations. The current 0.11 branch is 0.12 compatible, but does not yet support other locales than English (no l10n/i18n support).
Basic features are:
- Create, edit and view blog posts under a new 'Blog' menu a.
- Browse post by month, category and author + and Archive page for all posts.
- Attachments on blog posts.
- Comments for blog posts.
- Posts and comments appear in Timeline / RSS.
- Search for blog posts and comments.
- Admin page for basic settings and editing informational text in sidebar.
- Permissions for
BLOG_VIEW, BLOG_COMMENT, BLOG_MODIFY_OWN, BLOG_MODIFY_ALL, BLOG_CREATE, 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.
- TracLink provider. Examples:
[blog:this_is_my_post]
,[blog:category/trac]
,[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.
- AnnouncerPlugin has a plugin to provide the same functionality as the FullBlogNotificationPlugin.
- Sample plugin that implements blog post 'draft' functionality (
BlogDraftPlugin.py
).
Some planned features are not yet done:
- Diff between version of the post.
- XmlRpcPlugin support.
Feedback is most welcome - see osimons to get in touch with me by mail or on the #trac channel.
Macro
A macro to display list of posts and extracts outside (or inside) the Blog module - most commonly Wiki pages.
All arguments are optional:
[[BlogList]]
Available named arguments:
recent=
- max. number of postscategory=
- a categoryauthor=
- an authorperiod=
- time period of the format YYYY/MMheading=
- a heading for the listformat=
- type of display (see below for details)max_size=
- max. number of characters to render for each post
Example showing some available named arguments:
[[BlogList(recent=5, max_size=250, period=2007/12, author=osimons, format=float, heading=Some Trac Posts)]]
The arguments for criteria are 'AND'-based, so the above example will render at most 5 posts by 'osimons' in December 2007.
There is no heading unless specified.
Without restriction on recent number of posts, it will use the number currently active in the Blog module as default for 'float' and 'full' rendering, but for rendering of 'inline' list it will render all found as default unless restricted. Additionally for 'float' and 'full' it will truncate content if it is larger than a max_size (if set).
The format=
keyword argument supports rendering these formats:
format=inline | Renders an unordered list in the normal text flow (default). |
format=float | A floating box out on the side of the page with slightly more detail. |
format=full | Full rendering like on period, category and author listings inside blog. |
The arguments can appear in any order.
Posts are rendered sorted by newest first for all modes.
Screenshots
The plugin in action (old-ish screenshot):
To see the blog in action, visit its 'home' at http://www.coderesort.com/about/blog
Migration
There is a script available in the 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 here.
If you have any issues, create a 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). Runpython setup.py install
. - or, check out the source (see below) and similarly run
python setup.py install
at correct location (like previous alternative). To update the plugin later, you can then just dosvn 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
Note: on Fedora-14, Python 2.7, Trac 0.11, trac did not see the plugin after easy_install and restart. Adding these two symbolic links in site_packages fixed it:
ln -s TracFullBlogPlugin-0.1.1_r9430-py2.7.egg/EGG-INFO TracFullBlogPlugin-0.1.1_r9430-py2.7.egg-info ln -s TracFullBlogPlugin-0.1.1_r9430-py2.7.egg/tracfullblog
I don't know what the long-term effects of this not-by-the-books edit are with future upgrades. A better egg hacker should probably correct my advice. (dr2chase)
Source
You can check out FullBlogPlugin from here using Subversion, or browse the source with Trac.
Get it working
Follow these simple steps and configuration hints:
- Install the plugin in your preferred manner (see above).
- Enable the plugin:
[components] tracfullblog.* = enabled
- Run
trac-admin /path/to/env upgrade
. - Restart server and as
TRAC-ADMIN
you should now see 'Blog' in menu. - 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
Upgrade on your Trac environment
$ trac-admin <env> upgrade
Available Plugins
- AnnouncerPlugin/PluginSupport/FullBlogPlugin Email Notifications for FullBlogPlugin using AnnouncerPlugin
- FullBlogNotificationPlugin Email Notifications for FullBlogPlugin
Recent Changes
- 18216 by rjollos on 2021-04-13 16:25:30
-
FullBlogPlugin: Bump version after release
Version 0.2.0 has been published to PyPI.
Refs #13999.
- 18215 by Cinc-th on 2021-04-13 06:23:23
-
FullBlogPlugin: reverted the recent version change in [18204] because it clashes with proper release management.
- 18207 by Cinc-th on 2021-04-12 18:29:02
-
FullBlogPlugin: rearranged the contents of the side bar. New handling of About post link in the sidebar. See comment:4:ticket:13971.
Refs #13971
(more)
Author/Contributors
Attachments (1)
-
fullblog-01.png (107.0 KB) - added by 18 years ago.
A screenshot of FullBlogPlugin post view with commenting.
Download all attachments as: .zip