Welcome to the Njala Prototype version of the SMART Project.
Smart is a program for managing records needed to support an academic institution. It currently supports managing administrative and academic records in three broad categories: curriculum records, staff records, and student records.
Smart is built on top of Ramp ramp (Record and Activity Management Program), which provides mechanisms for creating activity pages for choosing among various activities and table settings for viewing and updating records in database tables. Smart is, then, primarily a set of customized activity pages and table settings, along with documentation, to support managing administrative and academic records. Ramp, in turn, is built on MySQL, PHP, and the Zend Framework.
In time, the plan is to expand Smart to include customized activities specific to the academic records domain, such as student registration and generation of transcripts, in addition to the more general-purpose activities supported by Ramp.
SMART (Njala Prototype) Release 0.9.2. Released on October 12, 2014.
See the [RAMP README] ramp file for RAMP's System Requirements.
Install Ramp ramp, using the Installation Instructions provided with it. A simplified version of those instructions appear here.
Installing Smart:
-
Download or clone this repository under the Document Root for your server or your personal web page area.
-
Set up a virtual host for this Smart instance (if possible).
If you have the appropriate powers on your server, create a virtual host for this repository. (Zend, and therefore RAMP, works better under its own virtual host.) The actual steps to take depend on your operating system, but involve adding the virtual host information to your system and then restarting the web server. For example, on a Debian or Ubuntu system you would do the following using
sudo
:- Copy
smart-njala-proto.conf
to/etc/apache2/sites-available
. - Edit the
smart-njala-proto.conf
copy in thesites-available
directory to set an appropriate ServerAdmin, ServerName and DocumentRoot. - Enable the site:
a2ensite smart-njala-proto
. - Restart the apache server (e.g.,
service apache2 reload
).
- Copy
-
Set up the
njala_proto
database: (The instructions below are for setting up a demo or development environment; to set up a production environment, see the full Installation manual.)-
Go to the
installation/installDB
subdirectory. -
Copy createDevelMysqlAccts.sql (e.g., to createMysqlAccts.sql) and make sure the file is readable only to you. Edit it and change the DBA and Smart usernames and passwords (or at least the passwords) to provide the most basic security.
-
Go into
mysql
as root and read in the new file andsetupSmartDB.sql
:SOURCE createMysqlAccts.sql; SOURCE setupSmartDB.sql; quit
-
-
Create a customized configuration file with the correct username and password:
-
Go to the
configs
subdirectory. -
Copy template_custom_properties.ini to
custom_properties.ini
and make sure the file is readable only to you and thewww-data
group (or whatever group your web server is part of). Editcustom_properties.ini
and change the username and password to the Smart username and password set in thecreateMysqlAccts.sql
file above. You may wish to customize other properties as well (see theREADME
file in theconfigs
directory for more details). -
Create an
application.ini
file that contains the following "building block" files in the specified order:ramp_basics.ini
,ramp_defaults.ini
,smart_defaults.ini
, andcustom_properties.ini
. For example,cat ramp_basics.ini ramp_defaults.ini >application.ini cat smart_defaults.ini custom_properties.ini >>application.ini
-
-
Include basic documentation and adminstrative table settings from Ramp:
-
Create a copy or link of Ramp's
README.md
file, calledrampREADME.md
, in the top-level directory of this installation. -
Then create a copy or link of Ramp's
application/docs
directory, calledrampDocs
, under thedocs
directory in this installation. -
Finally, create a copy or link of Ramp's
application/adminSettings
directory, calledrampAdmin
, under thesettings/Admin
directory.For example, in the top-level directory (the one containing this
README.md
file) the following commands on a Unix/Linux/MacOS system would create appropriate symbolic links:ln -s ../ramp/README.md rampREADME.md cd docs ln -s ../../ramp/application/docs rampDocs cd ../settings ln -s ../../ramp/application/adminSettings Admin/rampAdmin
-
-
If you are using git, add the following files and directories to your
.gitignore
file in the top directory of this Smart instance (the directory above configs, installation, and public).installation/installDB/createMysqlAccts.sql configs/custom_properties.ini configs/application.ini rampREADME.md docs/rampDocs settings/Admin/rampAdmin
-
If you are running a browser on the same machine as your server, you can bring up the Njala Prototype using the virtual host ServerName as the URL (e.g.,
njala.smart/
). If not, unless the new virtual host is being served by DNS (and, therefore, publicly accessible), you will need to make changes on the client machines to see it. For example, this might be a matter of editing/etc/hosts
on the client machines and adding lines that resolve the virtual server names from the appropriate machine. For example,123.45.0.67 njala.smart [or whatever name you used]
If you are not using virtual hosts, you can get to your Njala Prototype as a subdirectory under your server name, e.g.,
/my.servername.com/smart-njala-prototype/public/
Please see [INSTALL.md] install for more detailed information. (Under construction...)
The source files for Ramp/Smart are released under a BSD 2-Clause license. You can find a copy of this license in [LICENSE.md] license.
[TODO: Need to choose the correct CC license for documentation. Do activity files and table settings fit under software or documentation for licensing purposes?]
The Ramp/Smart team would like to thank all the contributors to the Ramp/Smart project and the institutional supporters who have provided time, expertise, and money.
Institutional supporters include:
Kalamazoo College, Kalamazoo, Michigan, USA
Njala University, Sierra Leone
The Arcus Center for Socal Justice Leadership, Kalamazoo, Michigan, USA
Individual contributors include:
Keaton Adams
Giancarlo Anemone
Alyce Brady
Christopher Cain
Katrina Carlsen
Chris Clerville
Ryan Davis
Ashton Galloway
Guilherme Guedes
Simon Haile
Tristan Kiel
Lucas Kushner
Justin Leatherwood
Tendai Mudyiwa
William Reichle
Renjie Song
Kyle Sunden
Jiakan Wang
Riley Wetzel
Jae Hyun (Andrew) Choe
David Daly
Ana Paula Dos Santos Dantas
Sam Evans-Golden
Kevin Ewing
Sapana Gupta
Austin Haffey
Rana Hayajneh
Conrad Hipkins-Jones
Kevin Joh
Sarah Manski
Griffin Smalley
Hayley Smith
Shang (Sally) Sun
Alec Wright