ContentRoller is an easy to configure, setup, customize, and use social news, links and blogging environment similar to sites like Digg, Buzzup, DZone, The Server Side, Slashdot, etc. ContentRoller also makes for a nice personal blogging environment. ContentRoller has tons of features. Including:
Of course, the goal is for ContentRoller to be an extremely easy environment to install, customize and use. To this end, we currently provide a MySQL version of ContentRoller, and an embedded database version. You can also use any other database by simply creating the database and pointing to it via JNDI (jPersist will adapt).
Installing ContentRoller is simply a matter of dropping the ContentRoller.war file into your servlet container’s (Tomcat, Resin) webapps directory. In the case of the embedded version you’re done. Simply start the server and type http://localhost:8080/ContentRoller and you should see what you see at http://www.ContentRoller.com.
In the case of the MySQL version, you first need to create the database in MySQL. If you haven’t already, download the ContentRoller.sql file. Then simply import the database into MySQL:
mysql -u user_with_create_permissions -ppassword < ContentRoller.sql
Then, create a new MySQL user and password (username=ContentRoller, password=ContentRoller), and assign it SELECT, INSERT, UPDATE and DELETE privileges for the ContentRoller database. If your database server is accessible to others, you will want to change the username and password to something more secure, but this also requires changing the JNDI definition.
Next, you will need to copy the mysql-connector-java-*.jar file from /WEB-INF/lib to your shared lib directory.
If using Tomcat you’re good to go (Tomcat is predefined in the META-INF directory). If you’re using Resin or another servlet container you may need to define a JNDI database resource. For resin this would be:
<database jndi-name="jdbc/ContentRoller">
<driver type="com.mysql.jdbc.Driver">
<url>jdbc:mysql://localhost/ContentRoller</url>
<user>ContentRoller</user>
<password>ContentRoller</password>
</driver>
</database>
At this point ContentRoller should be ready for use. So, start the server and type http://localhost:8080/ContentRoller and you should see what you see at http://www.ContentRoller.com.
Installing ContentRoller as the default application (runs as http://www.host.com) usually just requires ContentRoller being moved to the ROOT directory in the webapps directory.
Getting ContentRoller to run under other containers may require more expertise, but it’s a simple Java servlet and should be easy for Java oriented web developers. However, if you need assistance we are more then happy to provide support.
As mentioned the goal is for ease of use. ContentRoller was designed to be easily configured and customized via the following:
The configuration and properties files are in the WEB-INF directory and they are as follows:
NOTE: It is not intended that any of the tag files be modified for simple changes, but you can modify them if you like (tag files are likely to change over time). All the tag files are simple and can easily be copied and modified. For example, if you want different menu options simply copy WEB-INF/tags/ContentRoller/menu.tag to WEB-INF/templates/menu.jsp make your changes and include it in the template:
One of the best features of ContentRoller is the fact that it is mostly self-managing. There is not a whole lot of anything that has to be done outside of normal server and database activities. However, there are some things an administrator needs to do, such as editing unwanted content and removing spam.
With ContentRoller spam can be managed by the users. As users spam vote an article/comment, a minimum threshold may be reached at which time the article/comment will be marked as spam. As more users spam vote, the spam will eventually reach a maximum threshold and the article/comment will be removed. However, if an administrator spams an article, it will be given the maximum number and removed from all queues. An administrator can also, at anytime, edit any article and/or make it not visible.
NOTE: Reaching maximum spam only affects the article’s ability to be in the queues, but it can still come up in searches. So, if an article is offensive, it should be edited and the offensive content removed. However, comments are not searchable and will not be seen.
User management is also self-managed. However, to define a trusted user (users who can enter HTML content unchecked), or to define an administrator, you have to edit the users table directly. There is no way to change the administrator/trusted status via the web interface. You can also disable a user account by deleting it and/or changing the password (adding a single character to the front of the encrypted password is very effective).
The database is simple, and while referential integrity exists between article related tables, there is none associated with the user table. This may change in the future, but for now the reasons are as follows:
Changes can be made to the database tables and/or their data (providing table names and column names are within jPersist’s mapping abilities) at anytime. You can also change defaults, data types (within reason and acceptable bounds), and data size with no ill-effects to jPersist and/or ContentRoller.
However, if you change article data (clean the database, update searchable columns, etc), then the search index should be rebuilt (see next section).
ContentRoller uses Apache’s Lucene for search indexing. If the index gets out of sync with the database (via updates and/or deletes), your searches can start returning odd results. If this happens, it’s time to rebuild the index.
Rebuilding the index happens when the index does not exist, so simply delete the index directory and/or all the files in it.
Download ContentRoller for Java 1.6
| Note: | For best results, copy a template (WEB-INF/templates and styles/templates) that is close to what you like when customizing your site. This will help protect your customization from software updates. |
All our projects are open source and located on SourceForge.net. All support requests, bug reports, code access, etc. can be found at SourceForge.net
If you would like to contribute code and/or fixes, please send a support request (via SourceForge.net) requesting commit access to our repository.
ContentRoller is open to anyone who would like to work with it; mostly we are looking for templates and plug-ins/add-ons.
ContentRoller can be found at https://sourceforge.net/projects/contentroller
Email: cinfo@contentroller.com