Core Concepts

JReviews has hundreds of settings which can be overwhelming if you try to jump right in without first learing the basics. Once you learn the core concepts and building blocks you'll be able to build your site in no time, and then move on to fine-tuning your setup.

Overview

JReviews fits into the category of Content Construction Kits (CCKs) because it allows you to create different content types within the same solution.

JReviews is all about making it easier to create and display structured content, making sure that it's searchable by visitors, and discoverable by search engines. It gives you the tools needed to allow anyone to create structured content on your site. Whether it's site administrators, editors, or site visitors. It's up to you to decide who has permission to contribute.

Don't let the JReviews name confuse you! Yes, JReviews has the most complete review system for Joomla and WordPress sites, but this is just one aspect of the system that can be easily switched off for specific content types if not needed.

The ultimate goal here is for you to have an Aha! moment, where recognize all the potential JReviews has to offer. After that you will start thinking about all the different products on your site that you can replace with a single seamless and integrated solution!

Structured Data Focused

All of the JReviews functionality is added on top of the native content systems in Joomla and WordPress. For Joomla, it's articles and for WordPress it's posts. You decide which categories you want to incorporte into JReviews so it can do all its magic for content in those categories, while other categories behave as usual.

JReviews uses the term listing when referring to an article or a post. Every listing starts off with a very basic data structure inherited from articles and posts in Joomla and WordPress respectively:

  • Title
  • Summary
  • Description

This basic structure may be enough when writing a news article or a blog post. However, when creating other types of content, it's important to be able to extend this basic structure. Not only for data entry through a form, but also for displaying the data in an organized fashion and to help search engines to better understand the content on the page.

Structured data has been the foundation of JReviews since the very beginning and fits quite well with Google's structured data guidelines as you will see later on in the Search Engine Optimization section.

Building Blocks

There are multiple inter-related parts which makes it difficult to list them in a specific order. Below you'll find a brief introduction to each of the building blocks and how they fit together. To make the concepts relatable to a real life example, lets say we are going to build a Movie database website.

The main building blocks are:

Listing Type
Custom Field
Field Group
Listing
Category
Directory

Of course there are many other things that can be toggled on and off globally and by listing type. Things like reviews, favorites, inquiries, claims, and so on, but we consider these to be more features, than building blocks.

Listing Type

A listing type is like the blueprint for a listing. It's were you assemble the data structure for the listing. There are many settings that are either listing type-specific or can be overriden for each listing type.

In this database you will not only list movies, but also actors. So it makes sense that the system will have two distinct listing types: Movie and Actor.

For our movie database, we are going to enable reviews for movies, but not for actors. For movies, we can define the rating criteria we want to use for reviews directly in the listing type. In our case we'll be rating movies on: Story, Cast Performance, Cinematography, Sound Track.

Next, we need to think about the data structure for these two listing types to make it easy to create the listings and display them in an organized fashion.

Custom Field

Each listing starts with a basic set of fields: title, summary and description. To extend that structure we use custom fields. For the movie and actor listing types we'll want to add the following fields:

  • Movie: Release Date, Cast, Runtime, Genres
  • Actor: Birthday, Place of birth, Official Website, Gender

There are many custom field types to choose from (text, textarea, select, checkbox, radio, etc.), but one in particular is very useful in the movie database example. The Cast field in Movie should allow choosing from existing actors in your database to be able to establish a relationship. This is possible through the use of a related listing custom field. You can learn more about this in the related listings section.

Custom fields can also be used as tags to create a taxonomy to classify and organize listings. Think about it as creating virtual categories. For example, for the movie listings, the Genres custom field can allow selecting multiple options drama, comedy. These options can automatically be converted into links that allow users to see lists of other drama or comedy movies.

Field Group

Field Groups allow grouping fields together to be able to more easily associate them with a listing type. So you would group the movie and actor custom fields under a movie and actor field groups respectively. There are situations where a listing type will have a lot of custom fields, like for technical specs for a product, and in these cases having multiple field groups within a single listing type comes in handy.

Listing

If the listing type is the blueprint for a listing, then the listing is the embodyment of that blueprint. It's the data structure you defined, come to life on a page on your website. With real, useful content. Searchable. Discoverable.

In addition to custom fields, there are many ways in which the content of a listing can be further enriched:

  • Photos, videos, attachments and audio uploads
  • User and editor reviews. Reviews can also have their own discussions via review comments.
  • Widgets that display related listings: - Like actors for movies, and movies for an actor - Venue for events, and events at a venue - Listings in proximity to the current listing - Listings in the same category - Listings by the same listing owner
  • Listing resources, when using the ListingResources Add-on
  • Maps, when using the MapsPro Add-on

Category

For search and navigation purposes, listings belong to a category. In JReviews a listing can belong to a single category and a category is associated with a single directory and listing type. To create categories, use the Joomla Article Categories and WordPress Post Category menus. This is explained in more detail in the Setup & Configuration section, and it will beneficial to spend some time going over the planning & organizing article.

Directory

A directory groups together categories. There isnt't a clear cut rule on how you should structure directories and categories. But if you are planning on using JReviews for different purposes like news articles, classifieds, business directory, it probably makes sense to have a different directory for each of these which can help structure the navigation on the site.