Semantic Bundle

Semantic Bundle (abbreviated as SB) is a pre-packaged bundle of extensions for use with wikis that are based around the Semantic MediaWiki extension. It can be obtained either through Git or by downloading a single .tgz or .zip file.

Semantic Bundle is a suitable alternative if you cannot run Composer to install or upgrade SMW (1.9+) and a number of other extensions that require Composer, such as Maps (3.0+). Do not run Composer if you want to install Semantic Bundle.

Page Schemas - lets users define a schema for each category that can be used to automatically generate templates, forms, etc. for that category

Replace Text - provides a form for administrators to do a text search-and-replace across the wiki

Widgets - allows adding widgets to the wiki by simply creating pages in the "Widget:" namespace

Semantic Bundle is not at all meant to be a comprehensive set of useful extensions, and there are many other extensions that are also quite useful, either in conjunction with SMW or in general, that were not included in the bundle. Most notably, there are various extensions that are bundled into MediaWiki, and thus don't need to be included in SB:

At either page, select "File > Download" or hit "Ctrl + s" to download the file.

Once you have the .zip or .tgz file, you should move it to the /extensions directory and extract it there. e.g. tar zxf SemanticBundle-20140514.tgz

Until 2014, Semantic Bundle was available at Google Code. Unfortunately, in early 2014 Google Code stopped allowing downloaded files, which is why the location moved. However, old downloads can still be found at that site.

Extracting the files will create directories under /extensions for each of the extensions contained in Semantic Bundle.

If you enter the "SemanticBundle" directory, you will see SemanticBundleSettings.sample.php and SemanticBundle.php, among several other files. SemanticBundleSettings.sample.php contains calls to include all the extensions that Semantic Bundle contains. By default, the calls to all extensions but Semantic MediaWiki are commented out. Don't un-comment these until after initializing Semantic MediaWiki; see below.

Copy the existing SemanticBundleSettings.sample.php file to a new file, named SemanticBundleSettings.php. You shouldn't directly use SemanticBundleSettings.sample.php (even though it's possible), because any changes you make to the file SemanticBundleSettings.sample.php will be lost if you ever upgrade to a new version of Semantic Bundle.

Then, include SemanticBundleSettings.php and SemanticBundle.php within LocalSettings.php:

It should be noted that SemanticBundle.php isn't actually required - but it holds version information for Semantic Bundle, which can help with debugging; and it's also good marketing for the Semantic Bundle project - so we ask you to please consider including it.

The next step is to initialize Semantic MediaWiki. First, make sure that you are logged in as an administrator/sysop, such as the WikiSysop user. Then, go to Special:SMWAdmin, and click on the "Initialize or upgrade tables" button.

After successful initialization, open up SemanticBundleSettings.php and uncomment the extensions you would like to use.

Note: it's strongly recommended to initialize SMW before you include (i.e., uncomment) any of the other SB extensions (other than Validator, which is necessary), to avoid potential errors from extensions that require SMW.

For more information on installing the extensions, see the installation and configuration sections for each extension. Of the extensions currently in SB, Approved Revs and Widgets require some additional setup before they can be used.

Semantic Bundle provides a number of important benefits over downloading and installing individual extensions; among them:

it provides a "best practices" set of extensions around Semantic MediaWiki, based on user experiences

it simplifies download, especially for those systems that don't have Git, and especially for those extensions (like ParserFunctions) that don't have a standard downloadable version already

it tries to guarantee working code by using tagged, stable versions of extensions whenever possible

it simplifies installation by providing a pre-generated list of includes

On the other hand, with individually-downloaded extensions, you may stand a better chance of having fully-up-to-date extensions, since the versions in Semantic Bundle are usually but not always the most recent.