There are a number of proposals that I would like to make. Being that I
haven't submitted any proposals in the past, I'm not 100% sure how to go
about doing it. Here are the basics. Whether these are for 4.0 or not
is definitely not critical.
Proposal 1: Entry ratings and "Featured Posts"
Every entry has a five star rating that, together with the total
comment count and a random weighting is used to generate a listing
of "Featured Posts" that are displayed on the homepage. A date
range for posts considered can be set (e.g. posts from the last
week, last two weeks, last month, etc). The maximum number of
posts that can be featured is 30 (our homepage only shows 4).
The selection of featured posts changes every time the method
is called and is largely non-deterministic. Entries with the
highest ratings and comment counts have a greater chance of
being featured.
The implementation is fairly simple.
* New DB table called roller_weblogentry_rating
* New getRating/setRating on WeblogEntryData
* WeblogManager has new saveWeblogEntryRating and
getWeblogEntryRating methods
* RatingServlet processes the requests for setting
and rendering the five star ratings (ajax)
* weblog.vm macro injects the code necessary to
render the ratings
* Additions to roller.js to process the ratings
(ajax)
Proposal 2: "My Activity" Page
In the previous IBM blogging environment, we had two views that
listed comments to my posts and follow-ups to my comments on
other posts, respectively. In the current version, I have merged
these into a single view that shows all comments to all entries
that I have either posted or commented on. An ActivityServlet
mapped to .../roller-ui/activity serves the page which is rendered
using an _Activity.vm template in the default homepage blog theme.
Currently, the page requires authentication to determine the
identity of the requesting user so their "watched threads" can
be selected. A feed showing this data is also available.
Proposal 3: StatisticsManager
I have implemented a new StatisticsManager component that provides
a number of extended features that can be surfaced in a variety of
ways.
* Count of total entries, users, websites, tags, new
entries/comments/websites today/this week.
* Breakdown of users per email domain (we use this to
track the geographic diversity of our blogging environment)
* Charting the growth of the system over time
* number of entries per day, cumulative entries
* number of comments per day, cumulative comments
* number of tags per day, cumulative tags
* number of websites created per day, cumulative sites
* Charting the "decay" (rate of abandonment) of the system
* Retrieving a list of tags similar to a given tag
(sql: tag like '%{tag}%')
* Retrieving a list of tags related to a given tag
(tags used frequently with {tag})
* Retrieving a list of users who frequently use a given tag
("tag experts")
* Retrieving a list of users who frequently comment on a given
users entries
* Retrieving a list of blogs that frequently use the same tags
as a given blog
A new statistics servlet mapped to .../roller-ui/statistics
uses a _Statistics.vm template in the default homepage theme
to render the stats. Our current implementation uses the Dojo
charting implementation to render the various graphs.
Similar tags, related tags and "tag experts" are displayed in the
sidebar when viewing entries for a given tag
The listing of frequent commenters shows up in the "My Activity"
page (Proposal 2 above)
A listing of related blogs can show up in the sidebar of a blog.
A listing of related entries can show up in the sidebar of a blog
entry page.
Proposal 4: User and Blog Search
In addition to searching posts, we have enabled the ability to search
for blogs and users based on variety of criteria. I have not yet
fully ported this over from our old environment to our new
Roller 3/Lotus connections impl but the basic idea is to extend the
search indexer to support creating Lucene indexes for blogs and users.
Ideally, the user indexer would be capable of optionally pulling in
index data from external sources (e.g. an LDAP registry). The type
of searches we want to enable include finding all blogs for users
within a given geography, or corporate division, or department, etc.
Again, this has not yet been fully implemented.
Proposal 5: Language Filtering
This has not yet been implemented, but we would like the ability to
filtering the home page listing of entries by language.
Proposal 6: Atom Threading Extensions support
We have added support for the Atom Threading Extensions (RFC 4685)
to the Atom feeds produced (entry and comment feeds)
Proposal 7: Atom Bidi Attribute support
We have added support for the draft Atom Bidi Attribute specification
for entries that are marked as "Right-to-Left"... e.g.,
<entry dir="rtl">
...
</entry>
That's it for now. For most of these, we would need to execute a code
grant. Before I start that process, however, I need to know if y'all
are interested in these.
- James
Dave wrote:
> I just updated the Roller 4.0 proposal page and linked to all
> proposals and JIRA issues that are related to the release. Please take
> a look and make sure your proposals and issues are represented
> correctly. Did I leave anything off the list?
>
> I'd like to set a code-freeze date for Roller 4.0 or at least get an
> idea of when we'll have a chance of frost. I know how hard that can be
> with competing priorities, legal holdups and such but it would be
> wonderful if we could sync up enough to all be testing around the same
> time.
>
> So committers: Can you estimate when your 4.0 work will be feature
> complete?
>
> I think I can be done by mid to late April.
>
> - Dave
>