You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@roller.apache.org by Dave <sn...@gmail.com> on 2007/03/23 16:08:43 UTC

Roller 4.0 status and code freeze date

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

Re: Roller 4.0 status and code freeze date

Posted by Elias Torres <el...@torrez.us>.

Allen Gilliland wrote:
[snip]
> 
> This is definitely an idea we would be interested in, but out of
> curiosity, why wouldn't a rating be a direct attribute of an entry
> rather than an association?  It seems that way you wouldn't need a new
> table, just a new column.
> 

I think the purpose to allow all users to rate your entry, sort of like
tagging your entries. Therefore we need multiple rows per entry.

-Elias

Re: Roller 4.0 status and code freeze date

Posted by James M Snell <ja...@gmail.com>.

Allen Gilliland wrote:
> I think all of these sound interesting and I definitely think you should
> write up proposals for them so we can talk about them more.  A couple
> specific comments inline below ...
> 
> [snip]
> This is definitely an idea we would be interested in, but out of
> curiosity, why wouldn't a rating be a direct attribute of an entry
> rather than an association?  It seems that way you wouldn't need a new
> table, just a new column.
> 

The rating table tracks each rating per user and the time of the rating.

  create table roller_weblogentry_rating (
    entryid varchar(48) not null,
    userid varchar(48) not null,
    ratetime timestamp not null default current timestamp,
    rating smallint not null default 0,
    primary key (entryid,userid)
  );

This allows us to easily track the number of ratings for an entry, allow
users to modify their ratings, ensure that users cannot game the system
by rating an entry more than once, etc.

> The other thing is the RatingServlet.  If the purpose of that servlet is
> to return some kind of computer consumable output then I think the
> better approach would be to create something like a JsonServlet and make
> part of that servlet capable of getting entries by rating.  I know that
> one of the things I definitely think we should add to Roller is some
> ways to make weblog content come out in more formats than just html &
> xml (atom & rss).  So if we had a JsonServlet which allowed you to get
> at all the normal data about a weblog directly then that would fulfill
> this need and provide more options to Roller users/developers who want
> to create more tools for weblogs using ajax.  i.e. something like ...
> 

Yes, this is good.  Let me stew on this a bit more and see if I can come
up with something good.

> [snip]
> Sounds good, but is the real purpose of this to go on the homepage or
> somewhere in the authoring UI?  since you are required to be logged in
> it seems like this could just be in the authoring UI and displayed on
> (or just off of) the main menu when you login.
> 

In our implementation it sits just off the home page.  We have a tabbed
interface where one of the options is "My Activity".  The way it is
implemented, it could appear either in the authoring UI or homepage theme.

> [snip]
>>
>> 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.
> 
> this should already be working, if you go to /<frontpage blog>/<lang> it
> should return entries from just that language.
> 
> 

Ok, I missed that completely. Thanks.

>>
>> 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.
> 
> That's a lot of proposals, are you really going to try doing all of them
> for 4.0?  The best thing is probably to just pick the ones you feel sure
> you'll be able to complete in the next month or so and focus on those.
> 

Not necessarily for 4.0. Things like the threading extension and bidi
support are very easy.  I can submit patches for those for 4.0 quite easily.

Most of this has already been implemented but, like the RatingServlet,
can likely be implemented better.  It is not likely that all these can
get done in time for the 4.0 release.

- James

Re: Roller 4.0 status and code freeze date

Posted by Allen Gilliland <al...@sun.com>.
I think all of these sound interesting and I definitely think you should 
write up proposals for them so we can talk about them more.  A couple 
specific comments inline below ...

James M Snell wrote:
> 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)

This is definitely an idea we would be interested in, but out of 
curiosity, why wouldn't a rating be a direct attribute of an entry 
rather than an association?  It seems that way you wouldn't need a new 
table, just a new column.

The other thing is the RatingServlet.  If the purpose of that servlet is 
to return some kind of computer consumable output then I think the 
better approach would be to create something like a JsonServlet and make 
part of that servlet capable of getting entries by rating.  I know that 
one of the things I definitely think we should add to Roller is some 
ways to make weblog content come out in more formats than just html & 
xml (atom & rss).  So if we had a JsonServlet which allowed you to get 
at all the normal data about a weblog directly then that would fulfill 
this need and provide more options to Roller users/developers who want 
to create more tools for weblogs using ajax.  i.e. something like ...

/<weblog>/json/entries/rating/5
/<weblog>/json/entries/category/myCat
/<weblog>/json/entries?size=10
/<weblog>/json/comments/entry/<anchor>

Those urls would return json content for 5 start entries, entries in 
category 'myCat', 10 most recent entries, and comments from an entry 
respectively.


> 
> 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.

Sounds good, but is the real purpose of this to go on the homepage or 
somewhere in the authoring UI?  since you are required to be logged in 
it seems like this could just be in the authoring UI and displayed on 
(or just off of) the main menu when you login.


> 
> 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.

definitely something we should support.


> 
> 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.

this should already be working, if you go to /<frontpage blog>/<lang> it 
should return entries from just that 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.

That's a lot of proposals, are you really going to try doing all of them 
for 4.0?  The best thing is probably to just pick the ones you feel sure 
you'll be able to complete in the next month or so and focus on those.

-- Allen


> 
> - 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
>>

Re: Roller 4.0 status and code freeze date

Posted by Elias Torres <el...@torrez.us>.
+1 ;)

-Elias

James M Snell wrote:
> 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
>>
> 

Re: Roller 4.0 status and code freeze date

Posted by James M Snell <ja...@gmail.com>.
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
> 

Re: Roller 4.0 status and code freeze date

Posted by Elias Torres <el...@torrez.us>.
I have two proposals I have not written up yet...

- Search (this is a substantial amount of work, but I have many pieces
tested out, just needs write up and review)
- Minor tweaks here and there to better support reverse proxies ( revise
response headers, etc)

-Elias

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
>