Skip to content

OpenScholar key concepts and architecture

ran81 edited this page Dec 22, 2013 · 1 revision

Introduction

OpenScholar is a site building environment primarily oriented towards the academic community. Upon registering to the primary OpenScholar (OS in short) installation site, users can create their own website for which they can manage its content, members and members' roles, look and layout of the site using themes and much more. Site type which is selected when creating the site can be of the types: "Personal", "Department" and "Project" each with a slightly different feature set.

In the OS terminology a website created by a user is termed a "vsite" which stands for virtual site. As the name implies, it is a full featured site which allows members to register to the site, view and create content according their roles on the site and so on. Behind the scenes these user-roles, memberships, and permissions are handled through the Organic Groups module (OG in short). Along with OG, the module Spaces allows site-wide options and settings to be configurable and overridden in certain sections of a site (or a "space"). These two modules the core of the site creation ability provided by OS. So, to summarize: a vsite defines a group and a space.

Roles and permissions

When a vsite is created by a user what is actually taking place is that an OG group is created with that user being the group administrator. As a default, an OS installation provides 3 roles:

  1. Administrator-the group manager. Has all permissions on the vsite.
  2. Content editor-has all the basic member permissions and can edit any content on the vsite.
  3. Basic member-can create and view content on the site. Roles can be assigned to users and new roles can be created in addition to these three.

Custom core modules

As mentioned before, OG and Spaces modules interact to provide a solid full featured site creation on OS. Inside the openscholar/modules folder there are, besides the contrib folder, more modules that roughly speaking can be dived as follows:

  • Control panel (cp) related modules; The cp folder: The cp folder or control panel includes modules in charge of the control panel's functionality and behavior. The cp appears at the top of the page when a user is logged in.
  • General custom modules; The custom folder.
  • Harvard related modules; The harvard folder: This folder consists of modules being used by Harvard in their OS installation. These modules define the desired behavior in Harvard sites and changes here should be made with extra care.
  • OpenScholar related modules; The os folder: This folder includes modules related to the many OS features and settings such as importing data to a site (os_importer), site wide search using Apache Solr (os_search_solr) and files configuration across the site (os_files) to name a few. Also worth noting that the themes available to users when creating a site are present in a sub folder named themes (a more in depth overview of the themes will be given later on).
  • Features of a vsite; The os_features folder: Here we find the modules that define the a lot of the content types and features provided in a created vsite. These include for example the ability to add a class content type (os_classess) or to administer links in content (os_links) to name a few.
  • VSite related modules; The vsite folder: More vsite specific behavior are found here.
Clone this wiki locally