OpenSIF – an Open Source SIF XML Library

We have started the development of an open source SIF XML library. This Ruby library will allow you to easy create and read SIF XML data elements.

This project is being housed at GitHub and is currently focusing in on the UK Specification. We have chosen the UK specification as we have had a lot of attention from UK Vendors as well as UK Educational Authorities (Sorry NDA’s).

This first round of development is being done in Ruby – however – we may move to create these same SIF XML Libraries in C#, VB, PHP and Java if there is enough interest.

Thanks,

OpenZIS Team.

Install your Zone Integration Server

Introduction
This guide will walk you through the installation of our open source zone integration server (ZIS) known as ZIT. At the end of this tutorial you will have a Zone Integration Server that is functionally ready to serve SIF Messages and ready for SIF specs to be applied. So lets login to your ubuntu server – i will be login in as the user ZIT for this example.

Ubuntu versions tested

Ubuntu 9 64 bit Server Version

Step 0: get apt-get ready

sudo updatedb
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential

sudo reboot

Step 1: Install Apache 2

sudo apt-get install apache2

Step 2: Install MySQL
You will want to assign the MySQL root user a password – please do not leave it blank as you will need it for your ZIS.

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install php5-mysql
sudo apt-get install libmysqlclient-dev

Step 3: create MySQL database

mysql -u root -p

> create database zit default character set utf8 collate utf8_unicode_ci;
> quit

Step 4: Install PHP 5

sudo apt-get install php5 php5-common
sudo apt-get install libapache2-mod-php5 php5-gd php5-dev
sudo apt-get install php-pear

Add two lines to php.ini file:

extension=pdo.so
extension=pdo_mysql.so

 

 

sudo pecl install pdo_mysql

Step 5: Install Zend Framework

wget http://framework.zend.com/releases/ZendFramework-1.8.0/ZendFramework-1.8.0-minimal.tar.gz
tar -xzvf ZendFramework-1.8.0-minimal.tar.gz
mv ZendFramework-1.8.0-minimal ZendFramework

Lets restart apache – it should restart successfully.
sudo /etc/init.d/apache2 restart

Step 6: Download your ZIT Core & unzip
This will contain the basic server package, installation script, and the admin site.

sudo apt-get install unzip
wget http://www.openzis.org/download/zit_core.zip
unzip zit_core.zip

After unzipping the zit_core file you should have a directory named ZIT_CommunityEdition. Now lets move into that directory and see what
our working directory is.

cd ZIT_CommunityEdition
pwd

Take note of the working directory structure that is printed.

Step 7: Configure Apache2

sudo vi httpd.conf

Add in three virtual hosts for your ZIT installation. The Installation will be removed later.

NameVirtualHost 192.168.1.103 <-- use your IP Address for your machine.
<VirtualHost 192.168.1.103 >
ServerAdmin someone@openzis.org
DocumentRoot /The working directory from step 6/ZIT_SERVER
Servername zis.domainname.
<Directory "/The working directory from step 6/ZIT_SERVER">
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
</Directory>
</VirtualHost>

<VirtualHost 192.168.1.103 >
ServerAdmin someone@openzis.org
DocumentRoot /The working directory from step 6/ADMIN_SERVER
Servername admin.domainname.
<Directory "/The working directory from step 6/ADMIN_SERVER">
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
</Directory>
</VirtualHost>

<VirtualHost 192.168.1.103 >
ServerAdmin someone@openzis.org
DocumentRoot /The working directory from step 6/INSTALL
Servername install.domainname.
<Directory "/The working directory from step 6/INSTALL">
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
</Directory>
</VirtualHost>

Add the rewrite module
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

Step 8: ZIS Configuration
Now locate your config.ini located in your ZIT_CommunityEdition directory so that you may update it with your database connection string.

vi config.ini

Now restart your Apache 2 server so that it can pick up the newly added directories.

sudo /etc/init.d/apache2 restart

After a successful restart point your browsers to the Installation directory. There you will want to create your web admin account as well as your ZIT Server Setup variables.

Suggested ZIT Variables:
ServerName: Same as SourceID
SourceID: The unique name for your ZIS ex:zis_abcusd_k12_ca_us
Server URL: ( Virtualhost to your ZIS domain) ex: zis.abcusd.k12.ca.us
Admin URL: ( Virtualhost to your Admin domain ) ex: admin.abcusd.k12.ca.us
Min Buffer: 1024
Max Buffer: 1024000000

After you have walked through the setup you will want to remove the VirtualHost for the installation directory. So simple edit the http.conf file like you did above – just this time you will want to remove the INSTALL virtualhost.

You now have successfully installed the core of your Zone Integration Server. You will need to install the SIF Specs you are interested.
SIF Specifications Available

  • US 1.5r1
  • US 2.0r1 – not yet available for download
  • US 2.1 – not yet available for download
  • UK 1.0 – not yet available for download

Open Source Licenses

I am by no means an IP lawyer and I do not play one on TV. So when I started researching license models I first searched out open source companies that where successful to see what they where using.

When I started reviewing open source companies, I was particularly impressed by JBOSS, who seems to be running with the LGPL. What I found in my search is that there are many ‘exotic’ licenses being used by different Open Source companies and there success doesn’t seem to revolve around the license model so much as there business model.
So moving forward we are planning to release our Zone Integration Terminal (ZIT) under the GPL licenses. This was chosen, as it seems to be best understood – and used by most open source projects.

Current SIF Versions Supported

Just wanted to quickly update those that are following the development of the Zone Integration Terminal.  As of today we are now supporting US SIF versions 1.5r1, 2.0r1, and 2.1.

We are interested in working with anyone who is interested in seeing the UK SIF version supported.

Hidden Improvements within

These past two weeks we have been working on a few improvements to our Zone Integration Terminal (ZIT), but these improvements are not visual, so its going to be hard to actually see our progress.  However, while doing these improvements we also added a new capabilities.  Now your Zone Integration Terminal can use both MySQL and Postgres as its database backend.

We did this as we understand that most IT shops have an increased comfort level when they can stay within there technology window.

update: MSSQL has been added