Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
patches | 2012-02-23 | ||
readme.md | 2012-02-24 | 6.5 kB | |
moodle-ilios-block-20110830.tar.gz | 2012-02-21 | 2.7 kB | |
ilios2_distribution_20120221.tar.gz | 2012-02-21 | 12.3 MB | |
Totals: 4 Items | 12.3 MB | 0 |
February 21th, 2012
About
This is the sixth source code release of Ilios 2 (version 2.0.6b
).
Please note that the modifiable contents of the are known to grow between version releases, so give the distribution file a look if you are upgrading from a previous install. system/application/config/config.php
The changelist of notables is maintained in a parallel file named _ILIOS2_VERSION_HISTORY.txt
.
Please keep up to date, and feel free to contact us via any of the following:
Thanks from the Ilios 2 Team.
Installation
Prerequisites and Dependencies
The Ilios 2 server side code relies upon the following:
-
Apache 2.2.3+
orIIS 6+
-
PHP 5.2.X
whereX
is at least10
, withmysqli
support.Note: short tags must be turned on in the PHP configuration (
short_open_tag = On
) -
MySQL 5.0.77
or later, with support for bothInnoDB
andMyISAM
Note: MySQL must NOT run in
strict
SQL mode. -
A Shibboleth authentication system which returns the authenticated user's unique email address via the 'mail' HTTP header field. See, also, 'SECURITY' below.
Deployment
Ilios 2 uses the CodeIgniter framework and, as such, has its directory structure laid out in usual CodeIgniter structure.
The minimal steps to get an Ilios 2 deployment running are not that great and can be described as the following:
-
Copy the Ilios 2 release tar ball into the root directory of your web server (or whatever subdirectory you wish)
-
Unpack the tarball
-
Change file permissions appropriately. The following directories need to be able to be written to by your Apache process:
learning_materials tmp_uploads system/logs
-
Configure the following files to reflect your institution's name, appropriate URLs, and database attributes:
present_initial_frame.html present_actual.php system/application/config/config.php system/application/config/database.php system/application/helpers/I2_url_helper.php
-
Construct and populate your database as described below
-
Run the script found in the root directory called: install_user_zero.sh
-
Turn on Shibboleth protection -- detailed more below.
-
Ilios 2 should now be ready for use.
Construction and population of the database
The database may be constructed by source
-ing the table schemas, stored procedures and stored functions SQL.
Thereafter, you may ingest the 2010 MeSH universe SQL.
Alternatively, download the MeSH XML of your choosing, ant
compile the source code in ilios2_mesh_parser.tar.gz
and run the resulting Java program against the XML file to populate your MeSH databases.
To create the needed tables, stored procedures and stored functions for Ilios2, source the following the SQL files:
database/ilios2_tables.sql
database/ilios2_stored.sql
Once you've done this, you should populate the following tables appropriately (an example population exists in database/data_population
):
alert_change_type
competency
discipline
learning_material_status
learning_material_user_role
school
department
session_type
user_role
Lastly, the 2010 MeSH universe SQL can be found in the mesh_tables_and_data.sql.gz
file which is in the database/data_population
directory.
Shibbolizing Ilios
We recommend the following exposure scheme; this is assuming Ilios2 is installed at the web-root:
<Location />
AuthType shibboleth
ShibRequestSetting requireSession 1
require valid-user
</Location>
<LocationMatch /$>
Satisfy Any
Allow from all
</LocationMatch>
<Location /ilios2.php/authentication_controller>
Satisfy Any
Allow from all
</Location>
<Location /index.php>
Satisfy Any
Allow from all
</Location>
<Location /present.html>
Satisfy Any
Allow from all
</Location>
<Location /present_nav_frame.html>
Satisfy Any
Allow from all
</Location>
<Location /present_initial_frame.html>
Satisfy Any
Allow from all
</Location>
<Location /images>
Satisfy Any
Allow from all
</Location>
<Location /system/application/views/scripts>
Satisfy Any
Allow from all
</Location>
<Location /system/application/views/images>
Satisfy Any
Allow from all
</Location>
<Location /favicon.ico>
Satisfy Any
Allow from all
</Location>
<Location /VERSION.php>
Satisfy Any
Allow from all
</Location>
Upgrading
The least painful way to upgrade from the previous version would likely be to copy the following items out of the way:
learning_materials
tmp_uploads
present_initial_frame.html
present_actual.php
system/application/config/config.php
system/application/config/database.php
system/application/helpers/I2_url_helper.php
Then backup all data of course, and next unpack the new tarball over the pre-existing install.
Copy back the above listed assets, also noting any changes to the files listed at the top of this document (like system/application/config/config.php
) which need be included in your older version.
Lastly, run the SQL commands specified in database/_DB_UPGRADE.sql
on your Ilios database that apply to the range of versions that you are upgrading from/to.
Authentication and Security
While there is support built in to allow an Ilios-only authentication system, it is turned off in this deployment as we deploy at UCSF using Shibboleth to provide authentication.
If you wish to run Ilios internal authentication in place of shibboleth, please download and apply the authentication patch. The patch file and further instructions can be found in the /patches sub-directory.
Caveat for Developers
A number of things depend on the Javascript 'thread' model (or lack thereof); should you be considering porting this code to a different language, please keep that in mind.
Thanks
The Ilios 2 Team would like to thank the UCSF School of Medicine and Office of Educational Technology for their support of this project.