MEMBUAT KATALOG ONLINE DENGAN SLIMS DI CMS BALITBANG

sContoh plugin slims di CMS Balitbang

Pengantar

Plugin slims di CMS Balitbang ini saya buat berdsarkan adopsi plugin slims di WordPress yang scriptnya sudah saya modifikasi disesuaikan dengan alur program CMS Balitbang. Kenapa saya membuat plugin ini karena kebetulan tahun ini saya dipercaya oleh sekolah untuk membuat digital library dan saya tertarik menggunakan SLIMS yang open source dan sangat lengkap fiturnya dan terus dikembangkan, terima kasih buat team pengembang SLIMS. disamping itu saya juga menggunakan cms balitbang sebagai websekolah akhirnya cari referensi bisa tidak kalo buat katalog online di cms balitbang dengan bantuan SLIMS dan akhirnya menemukan tutorial plugin slims di wordpress dan terjadilah plugin slims untuk cms balitbang ini. Ok, biar lebih jelasnya ikuti aja tutorialnya ya.

File-file pendukung

  • Penambahan script di config.php di folder lib
  • Pembuatan fungsi slim slims.php sebagai plugin slim di cms balitbang
  • Penambahan/pemasangan slim di menu fitur dibagian file index.php di folder html

Langkah-langkah pemasangan plugin slims di CMS Balitbang

Penambahan script di config.php di folder lib

Untuk menghindari malpratik silahkan renam dulu config.php dengan nama lainnya misal config_asli.php

  • Buka file config.php di folder lib
  • Tambahkan script dibawah ini , di bagian paling bawah script config.php

//konfigurasi perpustakaan SLIMS

$base_url_slims ="http://slimskudus.net/demo/";

//Detail Bibliography

define('TITLE', ('Judul'));

define('COLLECTION_LOCATION', ('Lokasi Koleksi'));

define('EDITION', ('Edisi'));

define('CALL_NUMBER', ('Nomor Panggil'));

define('ISBN_ISSN', ('ISBN / ISSN'));

define('AUTHORS', ('Penulis'));

define('SUBJECTS', ('Subjek'));

define('CLASSIFICATION', ('Klasifikasi'));

define('SERIES_TITLE', ('Judul Seri'));

define('GMD', ('GMD'));

define('LANGUAGE',('Bahasa'));

define('PUBLISHER',('Penerbit'));

define('PUBLISHING_YEAR',('Tahun Terbit'));

define('PUBLISHING_PLACE',('Lokasi Terbit'));

define('COLLATION',('Deskripsi Fisik'));

define('ABSTRACT_NOTES',('Abstrak/Catatan'));

define('SPESIFIC_DETAIL_INFO',('Info Detil Spesifik'));

define('IMAGE',('Gambar Sampul'));

define('AVAILABILITY',('Ketersediaan'));

  • Isikan link OPAC /SLIMS yang sudah terinstal di variable $base_url_slims seperti dibawah ini, misal saya akan menampilkan OPAC slimskudus.net dengan alamat http://slimskudus.net/demo/ maka scriptnya seperti dibawah ini

$base_url_slims =”http://slimskudus.net/demo/”;

Contoh LINK OPAC sman 3 kota sukabumi http://e-library.sman3kotasukabumi.sch.id/ maka variable nya di isi seperti dibawah ini

 

$base_url_slims =”http://e-library.sman3kotasukabumi.sch.id/”;

 

Pembuatan fungsi slim slims.php sebagai plugin slim di cms balitbang

PLUGIN ini saya adopsi dari script PLUGIN slims dengan wordpress yang sudah saya rubah disesuaikan dengan alur program CMS Balitbang

 

 


<?php
/*
Plugin Name: SLiMS CMS Balitbang
Plugin URI: http://slims.web.id
Description: Display all collections from SLiMS application. Please visit www.slims.web.id for more detail about SLiMS (Senayan Library Management System)
Version: 1.2
Author: Aris
Author URI: http://www.facebook.com/arisddg31

Copyright (C) 2015 Aris Munandar (email : arisddg31@gmail.com)

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/

//include 'lib/language.php';

function katalog() {
include "koneksi.php";
//include "language.php";
$kd=$_GET['kd'];
 
 if(isset($kd)) {
 $source_url = $base_url_slims . "index.php?p=show_detail&inXML=true&id=".$kd; 
 $xml_read = @file_get_contents($source_url);
 if (!$xml_read) { 
 $data .='Ooops...cannot load remote URL. Please check your configuration';
 } else {
 $xml = new SimpleXMLElement($xml_read);
 $author_name = ''; 
 $subject_name = '';
 
 foreach($xml->mods as $coll) {
 $namespaces = $coll->getNamespaces(true);
 $slims = $coll->children($namespaces['slims']);
 foreach($coll->name as $author) {
 $author_name.= $author->namePart . '-' . $author->role->roleTerm.'<br/>';
 }
 $ketersediaan .='<table width="100%" border="1">';
 foreach($coll->location->holdingSimple->copyInformation as $ada) {
 $ketersediaan.= '<tr><td>'.$ada->numerationAndChronology . '</td><td>' . $ada->shelfLocator.'</td><td>'. $ada->sublocation.'</td></tr>';
 }
 $ketersediaan .='</table>';
 foreach($coll->subject as $subject) {
 $subject_name.= $subject->topic . '<br/>';
 }
 if($slims->image != '') {
 $img = '<img src="'.$base_url_slims.'lib/phpthumb/phpThumb.php?src=../../images/docs/'.$slims->image.'&w=190" />';
 } else {
 $img = '';
 }
 
 $data .= '<br />
 <table width="100%">
 <tr>
 <td>'.TITLE.'</td>
 <td><h4>'.$coll->titleInfo->title.' '. $coll->titleInfo->subTitle.'</h4><br/>
 <a href="'.$base_url_slims.'index.php?p=show_detail&id='.$coll->attributes()->ID.'" class="url" title="View Detail in XML Format" target="_blank">View on OPAC</a> |  
 <a href="'.$base_url_slims.'index.php?p=show_detail&inXML=true&id='.$coll->attributes()->ID.'" class="url" title="View Detail in XML Format" target="_blank">XML Detail</a>
 </td>
 </tr>
 <tr>
 <td>'.COLLECTION_LOCATION.'</td>
 <td>'.$coll->location->physicalLocation.'</td>
 </tr>
 <tr>
 <td>'.EDITION.'</td>
 <td>'.$coll->originInfo->edition.'</td>
 </tr>
 <tr>
 <td>'.CALL_NUMBER.'</td>
 <td>'.$coll->location->shelfLocator.'</td>
 </tr>
 <tr>
 <td>'.ISBN_ISSN.'</td>
 <td>'.$coll->identifier .'</td>
 </tr>
 <tr>
 <td>'.AUTHORS.'</td>
 <td>'.$author_name.'</td>
 </tr>
 <tr>
 <td>'.SUBJECTS.'</td>
 <td>'.$subject_name.'</td>
 </tr>
 <tr>
 <td>'.CLASSIFICATION.'</td>
 <td>'.$coll->classification.'</td>
 </tr>';
 if($coll->series) {
 $data .= '
 <tr>
 <td>'.SERIES_TITLE.'</td>
 <td>'.$coll->series.'</td>
 </tr>';
 }
 $data .= '
 <tr>
 <td>'.GMD.'</td>
 <td>'.$coll->physicalDescription->form.'</td>
 </tr>
 <tr>
 <td>'.LANGUAGE.'</td>
 <td>'.$coll->language->languageTerm[1].'</td>
 </tr>
 <tr>
 <td>'.PUBLISHER.'</td>
 <td>'.$coll->originInfo->publisher.'</td>
 </tr>
 <tr>
 <td>'.PUBLISHING_YEAR.'</td>
 <td>'.$coll->originInfo->dateIssued.'</td>
 </tr>
 <tr>
 <td>'.PUBLISHING_PLACE.'</td>
 <td>'.$coll->originInfo->place->placeTerm.'</td>
 </tr>
 <tr>
 <td>'.COLLATION.'</td>
 <td>'.$coll->physicalDescription->extent.'</td>
 </tr>
 <tr>
 <td>'.ABSTRACT_NOTES.'</td>
 <td>'.$coll->note.'</td>
 </tr>
 <tr>
 <td>'.SPESIFIC_DETAIL_INFO.'</td>
 <td>'.$coll->call_number.'</td>
 </tr>
 <tr>
 <td>'.IMAGE.'</td>
 <td>'.$img.'</td>
 </tr>
 <tr>
 <td>'.AVAILABILITY.'</td>
 <td>'.$ketersediaan.'</td>
 </tr>';
 $data.=" <tr>
 <td></td>
 <td><p><a href='index.php?id=slims&hal=1' style='color:000000;text-decoration:none' title='Hal 1'>Katalog</a></p></td>
 </tr>
 </table>";
 }
 }
 } else {
 
 $hal=abs((int)$_GET['hal']);
 $source_url = $base_url_slims ."index.php?resultXML=true&page=".$hal;
 $xml_read = @file_get_contents($source_url);
 if (!$xml_read) { 
 $data .= 'Ooops...cannot load remote URL. Please check your configuration';
 } else{
 
 $xml = new SimpleXMLElement($xml_read);
 $modsGet = $xml->getNamespaces(true);
 $modsRead = $xml->children($modsGet['slims']);
 $byk = $modsRead->resultInfo->modsResultNum;
 $kol = $modsRead->resultInfo->modsResultShowed;
 $author_name = ''; 
 $brs=10;
 
 if ($byk<=$brs)
 $jml=0;
 else
 {
 $jml=floor($byk / $brs);
 $sisa= $byk % $brs;
 if ($sisa!=0)
 $jml++; 
 }
 if ($hal=="")
 $awal=0;
 else
 $awal=$brs*($hal-1);
 
 if ($hal=="") $hal=1;
 $back=$hal-1;
 $next=$hal+1;
 if ($hal==1) $back=1;
 if ($hal==$jml) $next=$jml;
 $mulai=1;
 $batas=$jml;
 if ($jml>$kol)
 $batas=$kol;
 
 if ($hal>$kol) {
 $mulai=1+$hal-$kol;
 $batas=$hal;
 }
 
 $data .= "<table width='100%' border='0' cellspacing='4' cellpadding='2' >";
 if ($jml!=0) {
 $data .= "<tr><td colspan=2><center><a href='index.php?id=slims&hal=1' style='color:000000;text-decoration:none' title='Hal 1'>Awal </a> 
 <a href='index.php?id=slims&hal=$back' style='color:000000;text-decoration:none' title='$back'>Sebelum </a> |"; 
 for($i=$mulai;$i<=$batas;$i++)
 {
 if ($i==$hal)
 $data .= "<b><a href='index.php?id=slims&hal=$i' style='color:000000;text-decoration:none' title='Hal $i dari $byk Data'> $i </a></b> |"; 
 else
 $data .= "<a href='index.php?id=slims&hal=$i' style='color:000000;text-decoration:none' title='Hal $i dari $byk Data'> $i </a> |"; 
 }
 $data .= "<a href='index.php?id=slims&hal=$next' style='color:000000;text-decoration:none' title='$next'> Lanjut</a> 
 <a href='index.php?id=slims&hal=$jml' style='color:000000;text-decoration:none' title='Hal $jml'> Akhir</a>
 </center></td></tr>";
 }
 
 
 foreach($xml->mods as $coll) {
 $namespaces = $coll->getNamespaces(true);
 $slims = $coll->children($namespaces['slims']);
 
 $data .= "
 <tr>";
 if($slims->image != '') {
 $data .= '<td valign=top><img src="'.$base_url_slims.'lib/phpthumb/phpThumb.php?src=../../images/docs/'.$slims->image.'&w=90" />';
 }
 $data .= '
 <td valign=top><h3><a href="index.php?id=slims&kd='.$coll->attributes()->ID.'" title="Record Detail">'.$coll->titleInfo->title.' '. $coll->titleInfo->subTitle.'</a></h3><br>
 <b>Author(s)</b> : ';
 foreach($coll->name as $author) {
 $author_name.= $author->namePart . ',';
 }
 $data .= substr($author_name,0,-1);
 
 $data .='<br>
 <a href="index.php?id=slims&kd='.$coll->attributes()->ID.'" title="Record Detail">Record Detail</a>
 <a href="'.$base_url_slims.'index.php?p=show_detail&inXML=true&id='.$coll->attributes()->ID.'" class="xmlDetailLink" title="View Detail in XML Format" target="_blank">XML Detail</a>
 </tr>';
 } 
 $data .= '</table>';
 
 }
 }
 
 


return $data;
}

/*
function register_slims_options() {
 add_menu_page('SLiMS Option Page', 'Senayan', 'manage_options', 'slimswp/options.php', '', plugins_url('slimswp/images/icon.png'), 99);
}

add_shortcode( 'slims', 'slims_page' );
add_action('admin_menu', 'register_slims_options');
*/

Penambahan/pemasangan slim di menu fitur dibagian file index.php di folder html

  • Buka file index.php di folder html
  • Sisipkan script di bawah ini di bawah

case "slims":

include ("../functions/slims.php");

$isi .= atas_isi("Katalog Perpustakaan Digital SMANTI");

$isi .= katalog();

$isi .= bawah_isi();

break;

  • setelah script

case "berita":

include ("../functions/fungsi_berita.php");

$isi .= atas_isi("Berita");

$isi .=berita();

$isi .= bawah_isi();

break;

Penambahan Menu KATALOG ONLINE via administrator

  • Login administrator

http://www.alamatwebsite.sch.id/admin

  • Klik menu Setting Admin
  • Klik Menu & Profil
  • Klik tombol Tambah Profil isikan datanya seperti dibawah ini

Judul     : Katalog Online

Isi : kosongkan

Menu utama      : tidak ada

Tampilkan           : Tampilkan

Link        : index.php?id=slims

Target   : Self

Urut       : 8

 

Selesai / silahkan test

 

Sekian dulu tutorial yang sangat sederhana ini … mudah2an ada manfaatnya bagi rekan2 yang sudah mengembangkan perpustakaan digital menggunakan SLIMS.

 

SELAMAT MENCOBA kalo ada permasalahan bisa komen aja ya he he he

untuk file pendukung sudah saya siapkan silahkan download di bawah ini

download_button

Plusin SLIMS CMS BALITBANG

 

About arisddg31

Saya seorang guru TIK di SMA Negeri 3 Kota Sukabumi asal dari Kota Wates Jogjakarta

Posted on September 19, 2015, in CMS Balitbang, Tutorial and tagged , , , . Bookmark the permalink. Tinggalkan komentar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: