Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Create and deploy blog and wiki modules with Apache Geronimo

A practitioner's guide

Artem Papkov (artem@us.ibm.com), Solution Architect, IBM, Software Group
Artem Papkov is currently a solution architect with IBM's Client Innovation Team, working with customers and Business Partners to adopt emerging technologies, such as SOA and Web services. After graduating from the Belarusian State University of Informatics and Radioelectronics in 1998 with master's degree in computer science, he joined IBM in Research Triangle Park, NC in 2000. His experience includes software development of multitier solutions using emerging technologies, architecture design, and integration of Internet-based solutions. For the past three years he has been focused on working closely with customers, helping them adopt Web services as IBM's strategic integration technology and SOA as the integration approach.
Jim Smith (jamessmi@us.ibm.com), Manager, IBM, Software Group
Jim Smith has over 18 years of experience in software development. He started his career at Sandia National Labs in Livermore, California, designing high-speed data acquisition systems and distributed computing systems using a myriad of existing legacy code. With deep experience in Java language and customer-facing skills, Jim moved to the Emerging Internet Technologies team focusing on making Java solutions real for IBM customers. Jim was one of the founders of Advanced Technology Solutions (ATS), a global software services and development organization with a mission to develop, refine, and franchise advanced technologies and lightweight business processes for IBM, development labs, Business Partners, and customers, resulting in faster adoption and deployment of standard technologies and IBM products. Currently, Jim manages the organization.

Summary:  Blogs and wikis are taking the Internet by storm. These new ways to share ideas and collaborate with friends have proven worthy of close attention from all kinds of social groups -- from a few buddies to large corporations. One reason these technologies thrive is simplicity for both end users and administrators. Administrators find that Apache Geronimo is a robust and secure platform for creating new blog and wiki applications. Find out how you, too, can create blog and wiki applications using Geronimo and other open source components.

Date:  22 Aug 2006
Level:  Introductory
Also available in:   Korean

Activity:  6652 views
Comments:  

Overview of blog and wiki technologies

Since the late 1990s, when Web proliferation reached a certain saturation point, some users began compiling lists of their favorite Web sites that conformed to a certain interest or topic. Many of the entries contained in the user lists were commented on and dated. Such lists were quickly described as weblogs, or blogs, and users maintaining such blogs were called bloggers. Later, blogs emerged into a collection of articles, usually in reverse chronological order, related to a specific topic. As Wikipedia puts it:

Early weblogs were simply manually updated components of common websites. However, the evolution of tools to facilitate the production and maintenance of web articles posted in said chronological fashion made the publishing process feasible to a much larger, less technical, population. Ultimately, this resulted in the distinct class of online publishing that produces blogs we recognize today. For instance, the use of some sort of browser-based software is now a typical aspect of 'blogging.' Blogs can be hosted by dedicated blog hosting services, or they can be run using blog software on regular web hosting services. Like other media, blogs often focus on a particular subject, such as food, politics, or local news. Some blogs function as online diaries.

During the same time period when blogs were emerging, Ward Cunningham invented a technology that allows anybody to contribute to a Web page through simple editing. He has named the technology Wiki Wiki Web (from the Hawaiian word wiki for quick or fast) that was shortened to just wiki later. One of the obvious advantages of using wikis is that they allow users to contribute to Web page content on the spot. And, since the editing is simple, there's no special software required to contribute. You can find more information about wiki technology on the Wikipedia Web encyclopedia, which is itself implemented using wiki technology (see Resources for a link).

Collaborative applications

Web 2.0 is all the buzz, even though the term has been around for almost a year now, and it seems only cooking magazines have not jumped on the bandwagon of discussing what the future of Web 2.0 might be. Since the milestone article "What Is Web 2.0: Design Patterns and Business Models for the Next Generation of Software" by Tim O'Reilly in September 2005 (see Resources for a link), many discussions occurred agreeing to or denying the term Web 2.0 coined by the paper. Nevertheless, most people agree that the Web has changed and entered a new phase of evolution that's taking it to the next logical plateau. In his article, O'Reilly outlines core elements that any Web 2.0 company must possess:

  • Services, not packaged software, with cost-effective scalability
  • Control over unique, hard-to-re-create data sources that get richer as more people use them
  • Trusting users as codevelopers
  • Harnessing collective intelligence
  • Leveraging "the long tail" through customer self service
  • Software above the level of a single device
  • Lightweight user interfaces, development models, and business models

In essence, these elements define the criteria for a true Web 2.0 style application. Testing a given application against these will give you a good idea of where it stands in the overall Web evolution spectrum.

However, one of the most interesting aspects of a Web 2.0 application is the level of collaboration required from developers and participants to achieve good results. Collaboration is an essential part of the Web 2.0 evolution and is recognized as such by many modern enterprises. Both blogs and wikis are Web 2.0 technologies that allow users to collaborate on a particular subject or thought. While blogs allow easy commenting on a subject and streamlining the decision-making process, wikis provide a convenient mechanism for making actual changes to content based on your expertise or viewpoint.

This article guides you through the process of deploying your own blog and wiki components onto the Apache Geronimo application server.

Get ready to deploy blog and wiki components

To deploy blog and wiki components on Geronimo, you need to install the Geronimo application server first. You can get the Geronimo installation package from the Geronimo Web site (see Resources for a link) and install it per the installation guide, also available on the Geronimo Web site. Note that Geronimo 1.0 (used in preparation for this article) does not run on Java™ 1.5 and needs Java 1.4 (see Resources for a link to download this).

Also, some of the components used in this article require the MySQL database installed (see Resources for a link to download an installation package). MySQL 5.0.16 was used in writing this article. A default installation of the product will suffice for our purposes.

In addition to the Geronimo application server and MySQL database server, you need the actual blog or wiki components. In this article, you'll use XWiki for wiki functions and blojsom as a blog module.

Install and deploy the wiki component (XWiki)

To install the XWiki component onto the Geronimo application server, you have to download a sample XWiki database and unpack the file xwiki-db-xxx.zip into a temporary location. The SQL file contained within the archive contains scripts required for creating and populating all required database tables. However, you have to create the database yourself. You can create the database by opening the MySQL command prompt (mysql -uusername -ppassword) and issuing the following command: create database xwiki;
use xwiki;
.

Now, you have to grant sufficient permissions to the user xwiki to work with the database by issuing the following command: grant all privileges on xwiki.*
to xwiki@localhost identified by 'xwiki';
.

At this point, the database is created and the right privileges are granted to the xwiki system user so you can import the sample database by issuing the following command from the directory where you have unpacked the SQL file to: mysql -u xwiki -pxwiki xwiki < xwiki.sql.

After the database creation is taken care of, you can install the Web ARchive (WAR) file containing the XWiki module. You do this through the Geronimo Administrative Console, located by default at http://localhost:8080/console, and log in with administrative credentials (system/manager by default). After you're successfully logged in to the Geronimo Administrative Console, navigate to the Deploy New menu item under the Applications category and deploy the xwiki.war per the Geronimo standard deployment procedure. Figure 1 shows how the deployment page will look.


Figure 1. The deployment screen
The deployment screen

After the application is installed, it shows up in the list of Web App WARs, as shown in Figure 2.


Figure 2. List of Web App WARs
List of Web App WARs

Note: Unfortunately, the version of the Hibernate library supplied with the XWiki package conflicts with the version of the same library included with the Geronimo application server and, therefore, you need to make a small change in its configuration. To change the xwiki configuration, navigate to the directory with the deployed xwiki.war package under <Geronimo_Home>/config-store/. The directory can be determined by opening the index.properties file stored in the root of <Geronimo_Home>/config-store/ and finding an entry corresponding to the XWiki module. Access the directory referenced in the index.properties file and open ../war/WEB-INF/hibernate.cfg.xml for editing. Navigate to the end of property elements and add the following property to the list:

<property
name="hibernate.query.factory_class">org.hibernate.hql.classic./
ClassicQueryTranslatorFactory</property>

This addresses the issue with the library.

Now, you can navigate to the home page of your newly deployed wiki (http://127.0.0.1:8080/xwiki/bin/view/Main/WebHome) and enjoy it. Figure 3 shows how the page should look.


Figure 3. Your newly deployed wiki
Your newly deployed wiki

Install and deploy the blog component (blojsom)

The installation and deployment of the blojsom blog module into the Geronimo application server is even simpler than configuring XWiki. All you need to do is open the Geronimo Administrative Console and navigate to Deploy New as described earlier. Deploy the blojsom.war module, similar to how you already deployed xwiki.war. Figure 4 shows how the console screen should look.


Figure 4. Deploy the blosjom WAR module
Deploy the blosjom WAR module

After the module is installed, you can access your newly deployed application by pointing your browser to http://localhost:8080/blojsom/blog/default/.

You can further configure both wiki and blog modules per administration instructions available on their respective home pages.

XWiki deployment note

The only issue we've discovered during the deployment of the XWiki module was a conflict of different versions of the Hibernate library, which was successfully resolved through updating the configuration.

Conclusion

This article demonstrates how to deploy wiki and blog modules onto the Geronimo application server. It shows that a Java 2 Platform, Enterprise Edition (J2EE)-compliant application server has no major problems running blog or wiki applications.

Overall, the Apache Geronimo application server is a powerful option for your development needs and provides a solid platform for running collaborative applications for small organizations or businesses.


Resources

Learn

Get products and technologies

Discuss

About the authors

Artem Papkov is currently a solution architect with IBM's Client Innovation Team, working with customers and Business Partners to adopt emerging technologies, such as SOA and Web services. After graduating from the Belarusian State University of Informatics and Radioelectronics in 1998 with master's degree in computer science, he joined IBM in Research Triangle Park, NC in 2000. His experience includes software development of multitier solutions using emerging technologies, architecture design, and integration of Internet-based solutions. For the past three years he has been focused on working closely with customers, helping them adopt Web services as IBM's strategic integration technology and SOA as the integration approach.

Jim Smith has over 18 years of experience in software development. He started his career at Sandia National Labs in Livermore, California, designing high-speed data acquisition systems and distributed computing systems using a myriad of existing legacy code. With deep experience in Java language and customer-facing skills, Jim moved to the Emerging Internet Technologies team focusing on making Java solutions real for IBM customers. Jim was one of the founders of Advanced Technology Solutions (ATS), a global software services and development organization with a mission to develop, refine, and franchise advanced technologies and lightweight business processes for IBM, development labs, Business Partners, and customers, resulting in faster adoption and deployment of standard technologies and IBM products. Currently, Jim manages the organization.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Open source, Java technology, Web development, WebSphere
ArticleID=155046
ArticleTitle=Create and deploy blog and wiki modules with Apache Geronimo
publish-date=08222006
author1-email=artem@us.ibm.com
author1-email-cc=
author2-email=jamessmi@us.ibm.com
author2-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Special offers