There's been some confusion (and not enough communication from us) about platform support for Clearspace 2.5, so I wanted to post details about how it all works. In order to focus QA efforts we're phasing in support for additional application servers and databases throughout the 2.5.x release cycle. The most critical thing to know is that you shouldn't attempt to upgrade to 2.5.x until your environment is supported. Or even better, consider migrating to our recommended platform configuration (see below).
The table below represents our current roadmap for platform support (the release column indicates where a particular platform is first supported). As with any roadmap, it's subject to changes based on shifting demands or unexpected issues:
|Release||Application Servers||Databases||OS||Java Release|
|2.5.0||Tomcat 6||MySQL, Postgres||Linux||Sun JDK 1.6|
|2.5.1 (Sept 8)||Oracle 10 & 11|
|2.5.2 (Sept 29)||JBoss 4, WebSphere 6.1||IBM JDK 1.6|
|2.5.3 (Oct 20)||Weblogic 9.2||MS SQL Server 2005|
|2.5.4 (Nov 17)||IBM DB2||Windows Server 2003||IBM JDK 1.5|
|2.5.5 (Dec 15)||Solaris 10||Sun JDK 1.5|
The breakdown of recommended and supported platforms for the 2.5.x release cycle:
|Recommended||Linux (2.6 Kernel)||Sun Java 6 (Latest JDK 1.6)||Apache Tomcat 6.0.10 (or later in 6.0.x series)||Postgres 8.x|
Finally, some information about language support roadmap in the 2.5.x series:
|2.5.1 (Sept 8)||English, Spanish|
|2.5.2 (Sept 29)||French, Simplified Chinese, German|
|2.5.3 (Oct 20)||Italian, Japanese|
Over the past months we have come to the realization that when it comes to severity of your cases it really comes down to 3 levels:
Either your production site is down (cannot be accessed) or there is a problem affecting the users in such a way that the site is unusable. This includes (but is not limited to) events like: Cannot post a discussion, cannot add a comment to a blog post, cannot login, etc.
When events like this happen, please reach out to Support as soon as possible to quickly get things assesed and corrected. The easiest way to do that is to create a case in your support community, and choose the severity 'Critical.'
While a Medium Severity issue may still be happening on your production site, it only has minor business impact, resulting in some functionality loss. This can include (again, not limited to) things such as formatting errors, page layout issues, webservices bugs, etc. We know there is sometimes a fine line between medium and critical issues, but we trust you to use your best judgement. If we perceive an issue as mis-categorized, we may change the severity level and explain to you why we have done so.
This is the last severity level. This is intended to bucket all remaining issues that are happening on your staging, UAT, or development site, problems with a widget you are writing, questions on a feature, best practices, feature requests, etc. All issues relating to a non-production site will be re-assigned to low by Jive Support if initially categorized as medium or critical.
When choosing a severity level please keep in mind that there are exceptions to every rule; each company has their own priorities and criteria for defining what is 'mission critical' to their Clearspace instance and business success. We want to accurately understand the impact of each issue you submit, and we feel that moving to 3 severity levels will help us accomplish this to a higher extent.
Your feedback is welcome.
Today's tip: moving rows and columns in the RTE:
This short video goes through the basics of creating and editing tables in the RTE.
This video was created during development, so the table toolbar in the video has a fewer buttons than the final release. All of the tips and tricks in this video are still valid. The next table demo will go through the new buttons that were added after this demo was created.
This is the first installation of the "Be an RTE Power User" series of posts about the RTE, where I plan to show you neat features about our shiny new RTE. In this first installment, I've prepared a small video demonstrating live replacement of emoticons inside the RTE. Check it out!
Comments are welcome, let me know what features you'd like demo'd in the next "Amazing RTE Feature Blog-Post-o-Rama!"
I've heard this question a number of times here on Jivespace and I think even a couple times on our intranet (which is called Brewspace) but I've yet to see it documented anywhere, mostly because no one has ever taken the time to explain it to our awesome docs guy Steve (by the way, have you seen the new docs? They're amazing!). I doubt any of you are losing sleep about it, but just in case, here's my simplified, albeit technical, take on things. If you've got a source build handy, I'd encourage you to follow along in your favorite IDE.
PopularityDeterminationTask is the class that handles the majority of the work. It runs every 15 minutes (as configured in spring-taskContext.xml, which means you can change it via a plugin in 2.5 if you want) and works closely with ActivityManager. Every time it runs it does the following things:
iterates over the set of containers that exist in Clearspace (communities, projects, social groups and blogs)
calculates the popularity of each item in the in-memory copy of activities that activity manager maintains for the current day. The score (or popularity) of each item is calculated by adding together the score of each activity on an item, the scoring is as follows:
each comment (blogs and documents) or reply (thread) is given 5 points
each modification (documents only) is given 5 points
each view is given 1 point
calculates the popularity of items in each container stored the database (a popularity score is computed for each item based on the activity that happened that day every night at midnight, this data is stored in the jivePopularity table) for the last seven days. The individual day score is adjusted for each day old that the score is recorded. We call this decay: the computation is done in SQL but if it were done in Java it would look something like this:
Calendar c = Calendar.getInstance(); c.add(Calendar.DATE, -daysAgo); Date now = new Date(); Date nDaysAgo = c.getTime(); long dateDiff = now.getTime() - nDaysAgo.getTime(); long dateAdjustment = dateDiff / 86400000; long decayedScore = score / (1 + dateAdjustment);
add the results of step 2 and step 3 together. So for example, let's say I published a blog post 2 months ago and through some sort of magic, it got 3 comments every day for the last 2 months (and it's already received 2 comments today that haven't been archived to the jivePopularity table). We only take into account the popularity score for the last seven days so the total score is going to be the sum of the following scores:
Number of Comments
Score With Decay
Finally, each item is added to a SortedSet and then copied back to ActivityManager, where it lives until the next time popularity is calculated fifteen minutes later.
So when you see a widget that shows the most popular items for a given community / space, project, social group or blog, you're getting the n items who have the highest combined score, which is a combination of comments, replies, edits and views, decayed over the last seven days. ¿Comprende?