VuFind 2.0 an introduction Demian Katz VuFind Developer

Slides:



Advertisements
Similar presentations
Introduction to VuFind
Advertisements

VuFind in a Nutshell A modern and user-friendly OPAC replacement, easily adaptable to other search applications. Built on popular and trusted Open Source.
Other Web Application Development Technologies. PHP.
Creating and Managing Sites Module 7. Overview Creating Standard Sites Customizing Look and Feel Saving Sites as Templates.
Ian J Robotham Software Development Lead Medi-CAL Unit, University of Aberdeen.
EXtensible Catalog David Lindahl University of Rochester.
Web Applications Development Using Coldbox Platform Eddie Johnston.
Software Freedom Day th September 2007 Asia Pacific Institute of Information Technology Colombo, Sri Lanka. Nazly Ahmed Scripting The Web.
INSTALLATION OF WORDPRESS. WORDPRESS WordPress is an open source CMS, often used as a blog publishing application powered by PHP and MySQL. It has many.
An Open Source ILS Independent OPAC Jackie Wrosch, Systems Librarian Eastern Michigan University.
ICS 665 Jesse Abdul. jQuery UI Overview  jQuery UI javascript library Includes all UI component functionality  jQuery UI CSS framework Includes standard.
Drupal 7 as an enterprise web application framework Why as a developer you should use Drupal to build web applications? Klaus Harris DrupalCon Munich 2012.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Submitted by: Madeeha Khalid Sana Nisar Ambreen Tabassum.
ZFApp Preview Walkthrough. What is ZFApp? ZFApp is an application framework built on top of Zend Framework Fully compatible with the latest ZF Versions.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Drupal Training Syllabus Chaitanya Lakshmi
W EB A PPLICATIONS & W EB S ERVICES DEVELOPMENT USING Z END F RAMEWORK Sayed Ahmed B. Sc. Engineering in Computer Science and Engineering M. Sc. in Computer.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
Revolutionizing enterprise web development Searching with Solr.
Symfony web development framework is used to develop rapid, complex and large scale web applications faster and in an effective way.
Introduction to Web Dimitar Nenchev Ivan Nakov
1Computer Sciences Department Princess Nourah bint Abdulrahman University.
Tuukka Haapaniemi XForms – What’s the need? HTML forms Very outdated Hard to develop and to maintain Requires lot of work To create basic.
Frameworks CompSci 230 S Software Construction.
Chính phủ điện tử TS. Phạm Văn Tính Khoa CNTT, ĐH Nông Lâm TP.HCM
Date : 3/04/2010 Web Technology Solutions Class: PHP Web Application Frameworks.
Module 1: Overview of Microsoft Office SharePoint Server 2007.
VuFind: Community & Code. vufind.org Overview Intro to VuFind Features & Technologies Community, Support, Sustainability …
Martin Kruliš by Martin Kruliš (v1.1)1.
Rich Internet Applications 2. Core JavaScript. The importance of JavaScript Many choices open to the developer for server-side Can choose server technology.
1 CLASS – Simple NOAA Archive Access Portal SNAAP Eric Kihn and Rob Prentice NGDC CLASS Developers Meeting July 14th, 2008 Simple NOAA Archive Access Portal.
Location Guide & Text Me a Call Number integration to Primo Presented By Dhanushka Samarakoon Marjorie Devlin.
10 Most Popular PHP Frameworks for Modern Web Development
1/7/2016www.infocampus.co.in1. 1/7/2016www.infocampus.co.in2 Web Development training gives you and all-round training in both the design and the development.
Top 5 IDE that Simplifies PHP Development Biztech IT Consultancy Pvt. Ltd. | |
10 Mobile Application Framework Must Know to Launch New App.
Presentation by Giorgos Theodoridis. WordPress is a free web software you can use to create a beautiful website, blog, or app, (CMS) based on PHP and.
Drupal Basics May 30, 2012 By Sean Fitzpatrick. Sean Fitzpatrick | Welcome We're going to talk about Drupal We're going to keep it pretty.
Web Technology Solutions
Kendo UI ASP.NET MVC Wrappers
Migrate your code from magento 1 to Magento 2
Web Technologies Computing Science Thompson Rivers University
Angular 4 + TypeScript Getting Started
EVENT LOGGING & CONTENT VERSIONING SYSTEM
ASP.NET MVC Introduction
Coding Defensively Coding Defensively
AVOIR -African virtual
WordPress “WordPress is a free and open source blog publishing application.” Christina Vasileiou Database management system.
PHP Training at GoLogica in Bangalore
Fourth VuFind user meeting in Constance, Germany, October 7th, 2015
Unit 6-Chapter 2 Struts.
IBM AS 400 online Training in Hyderabad
CMPE419 Mobile Application Development
Copyright Justin C. Klein Keane
CS360 Windows Programming
…and web frameworks in general
What's New in Visual Studio 2005
Web Applications Best Practices
Using CORAL ERM for improving the acquisitions management in LibriSuite Cristina Gareta 37th ADLUG Annual Meeting: ‘Ways to preserve.
Office 365 Development.
…and web frameworks in general
ASP.NET MVC Web Development
Web Technologies Computing Science Thompson Rivers University
VuFind Summit 2017 Demian Katz VuFind Developer
VuFind Summit 2018 Demian Katz VuFind Developer
CMPE419 Mobile Application Development
Stephen Faig to provide the introduction
Implementation of Drupal: An Effective Content Management System for
Web Application Development Using PHP
Presentation transcript:

VuFind 2.0 an introduction Demian Katz VuFind Developer

Overview Why VuFind 2.0? PHP 5.3 concepts Zend Framework 2 concepts VuFind 2.0 concepts What’s next?

Why VuFind 2.0? Move to a standard framework Clean up code flow/organization Improve extensibility Take advantage of PHP improvements Move away from outdated technologies (PEAR, Smarty, Subversion, etc.) Bundle all dependencies

PHP 5.3: Namespaces Namespaces prevent collisions; VuFind 1.x suffered from at least one (SolrUtils). Key: Learn to love the backslash namespace VuFind\Config; use VuFind\Config\Reader as ConfigReader;

PHP 5.3: Closures A useful tool for functional programming. The old, procedural way to transform an array: $newArray = array(); foreach ($oldArray as $key => $value) { $newArray[$key] = doStuffTo($value); } $oldArray = $newArray;

PHP 5.3: Closures The new, functional way to transform an array: $callback = function($i) { return doStuffTo($i); } $array = array_map($callback, $array);

Dependency Injection A simple concept that is often handled in complex ways (“DI containers”). When one class depends on another, use constructors or setters to “inject” dependencies. Replaces use of statics/globals. Makes code more modular and relationships more explicit. Often makes testing easier.

Zend Framework 2 Concepts Module system Event system Routing system Controller classes Service managers Database abstraction layer PHP-based template rendering Watch the webinars! –

VuFind 2.0: Data Model Search classes produce record driver objects. Every record is represented by a record driver regardless of source. VuFind uses “duck typing” to extract appropriate data from record drivers.

VuFind 2.0: Controllers Old way: one class per action in web/services New way: one class per controller Advantage: easier to visualize flow Advantage: easier to inherit related functionality (AbstractRecord, AbstractSearch)

VuFind 2.0: Templates Old way: Smarty templates –{$myVariable|escape:html} –{if $this}that{/if} –Custom functionality through Smarty plugins New way: PHP templates – escapeHtml($myVariable);?> – that –Custom functionality through view helpers

VuFind 2.0: Themes Two officially supported themes: –blueprint: “standard” theme using jQuery and Blueprint CSS library. –jquerymobile: “mobile” theme using jQueryMobile library. Old YUI/iWebKit-based themes (classic/default/mobile) will not be included.

VuFind 2.0: Extension Points Local configuration directory –One VuFind install, many configurations Theme system –More powerful inheritance Plugin system –Based on ZF2 service locator system Module system –Override almost anything without touching core code

VuFind 2.0: Install Process Install dependencies (PHP/Apache/Java/MySQL) Download and unpack VuFind php install.php Link generated Apache configuration (or

VuFind 2.0: Source Control and Continuous Integration Git instead of Subversion –Fork to your heart’s content Jenkins for continuous integration –Runs tests, checks style, builds API docs –Sends alerts to vufind-admins mailing list –Automatically triggered by Git commits PHPUnit for testing –Please help us improve test coverage!

What’s Next? More architectural cleanup –Better Solr connector, better abstract search model, better-defined HTTP/cache/logging services (David Maus) –More intelligent AJAX handling New features –Better consortial support (ILS multi-driver) –Hierarchical collections –Multi-column search (i.e. Solr/Summon) –Web search