social networking

Thursday, March 24, 2011

INF506 Assessment 2 - (Social networking project proposal)

Title

The impact of social networking technologies on the Next generation catalogue.

Brief description

I will model the case study on library literature that discusses the use of and the impact of the web2.0 on the next Generation catalogues.

The study will first define the Next generation catalogue concept and will define the web2.0 and then identify the technologies that are inclusive of the Next generation catalogue.

The case study will involve a critical evaluation of selected web 2.0 technologies as used on a selected two libraries; thus an academic and a public library.

Social networking technologies to be used

My focus is to discuss social networking technologies that interface with the Next generation catalogue to promote social interaction and information sharing and exchange.

•  RSS feed

•  Tag cloud

•  Reviews

•  Social bookmarking

•  Online book clubs like Book space/Library Thing

•  Twitter and Face book

These technologies will be discussed but just three will be critically evaluated.

Expected outcomes of the case study.

The study will reveal the understanding and awareness of the next generation social networking impact on

•  Effectiveness of the social networking technologies on Library catalogues.

•  Digital divide issues

•  The technologies’ role in the promotion of library services

•  Priorities of library resources in terms of collection development and quality of customer services vs.   focus on library catalogue design.

•  If it ‘ain’t broke’ still fix it? (OPAC) - Is library just seeking an identity with the internet?

•  Simplicity of use and target audience.

•  Any new social networking technologies yet to appear on the next generation catalogue.

Project plan

Start with a literature review.

Investigate a range of social networking technologies used on Next generation catalogue.

Investigate any new social networking technologies that could be used on the next generation catalogue.

Research and select libraries to use in case study. An academic library and a public library

Explore the two library catalogues to identify Social networking technologies being used.

Obtain knowledge for this case study from the literature review and through investigation and evaluation of the selected library catalogues.

The case study will be presented in a report format. The report will analyse and evaluate the readings on this topic; and it will present screen shots to illustrate the case study.

Monday, March 7, 2011

INF506 - Social Networking for Information Professionals - A Learning Journal

Social networking defined in my own words.

Social networking provides the means by which humans seek to convey their relevance to the society; to exercise control, relief and reliance through exchange of knowledge and sharing of other resources. Social networking has been with us since the beginning of time. In my African village, the culture of the people thrives on social networking. Communities at large are connected with each other through social networking in marriage, economic, agriculture, religion and political activities. Individuals are in contact with each constantly to share not just knowledge but their time, space, emotions, experience and other resources. Social networking technologies allows individuals to interact with each other more frequent and where face to face meeting may not be adequate due to many factors including time limitation as it is typical with the western style living.

Social networking technologies and sites I have already used?


None!
I am very sceptical of the social networking technologies. I have up to now refused to be part of the social networking technology. I respect my privacy and I am being cautious of my information going to people I may not want to share with.

In signing up on Face book and twitter for this subject, I contemplated if I should use my real name.


What I expect from completing INF506.


I am taking this course especially as a way of delving into a more understanding of the social networking technologies. As an Information professional, I am hoping to come out very confident with a range of social networking environments and be able to contribute my knowledge to the information needs of users of these technologies. I hope to overcome the phobia of being part of the 21st century social networking.

Monday, January 17, 2011

INFO545 Assignment 2 - (A reflective journal)

1/11/11 -

Starting point: The start point is in creating this blog post where I can reflective on this project. Great that I have now establish the blog page and can start writing my reflective journal.

Where to start.... My limited knowledge of APIs and skills to write perl scripts; nor programming  is blocking my mind of possible topics for this project. Anyhow, let me just throw these ideas down and then see how it goes....

Ideas:
Google APIs is really nagging me. I have heard  much of what libraries are doing with Google APIs but have never looked any closer. This maybe an opportunity.

Open source: I became aware of VuFind and open source discovery layer to OPAC during researching one of my university papers. I made note then to look more into this product. It maybe a good opportunity to do a project on this.

So let me stop here and review what is happening in the library world with APIs. I think I should first check 'Discussion board' to see if there are any posting that will give me a starting point.

Discussion board.

Great! I have now read the posting by Jennifer Wilbanks on "More on APIs and Mash ups" with contribution from Linda Rosvall.  Jennifer has provided  about the "National Library/Digital NZ's "Mix and Mash: the Great New Zealand Mash Up" competition" . This is a great link. And Linda has provided these: the mix-mash-mini and blunff. Honestly, I have not heard of these before. Mixing and mashing is new concept to me! I am putting these links here as tomorrow I need to go back and review this information. Looks very useful!

 12/1/11.
Literature review: Today I will focus more on understanding this concept of mix and mash. Maybe from there I could become more aware of possibilities with this project. APIs is still nagging me. Okay, I am making the start now. To review some literature starting with these links from discussion board....

Jennifer's link took me to a National radio presentation which is presented clearly and tried to explain the concepts re-mixing and mashing quite simply - Marsh-up: takes pieces of data and content that are available online and then mixes them up into a web application service. APIs as an example of marsh-up pulls information out of website or a data base and does interesting things with the data.  Remix is more on the creative side. More involved in content items like poems, images, graphics rather than dealing with data. Okay so I basically understand these concepts now. I am now also aware of Creative commons -/. Creative common is where people can display ownership of their intellectual property and what they would other to do with it. It does not replace copyright but rather creates a "fair middle way between the extremes of copyright control".

Mix.mash.org: I have reviewed the great things that New Zealanders have done in the mix&mash competition. The Meshblock presentation has especially inspired me on what I could do for this project.

Looking at this, what I am thinking of right now is that: 
A mashup on Online Catalogue; after a user does a search and gets to the full result screen, they click on a link beside the title "View use statistics". This link then opens up a window like this screen shot below that then provides the user with some use analysis. On the right hand side where the map is could be a list of related titles allowing the user to compare the usage between similar titles. I am keeping this on my mind as a possible topic for this project.

 
 How To Make Your Own Web Mashup. Let me spend a bit of time on this one. It might teach me a thing or two... After scrolling through the hundred of API programs from the Programmable web site; my head starts to whistle...  Gosh!  there is so much to learn in a short time!

This is over my head!  Zero coding knowledge...
So after spending time on this the Programmable web site, All I have learned so far are step I must take in making a mash-up using APIs - Thus:
  • Pick a subject
  • Decide where your data is coming from - as this will drive the API which I could use
  • Weigh your coding skills - as mashups are mostly a programmers affair - Hmmm!
  • How much time do you have - as development skill is proportional to complexity - [Keep it simple I think...]
  • Signup to use existing API e.g Google APIs
  • Start Coding - This is the serious bit. Need some tutorial .
My mind is too wild on this API possibility. I need a focused plan.

1) Topic: Mashup google charts on Opac.

2) Data will come from the ILS system

3) Zero coding skills but I could learn. I will start by investigating possibilities...

4) What is google APIs and how does it work

5) What has the library community done with mashing using google APIs?

 http://code.google.com/apis/chart/ . I should look more into this later.



15 /1/11
Today I got stucked for hours learning more about whats going on with mashups/APIs. 
I have reviewed various presentation (ppt) on library mashups scripting.

Basically, the idea is to combine data and information from two or more sources to build a new application or services. From these presentation I got directed to the Programmable Web. Here I spent quite some time in trying to understand the APIs available and how they are used on web mashups. Honestly, it is getting overwhelming. I am amazed at the thousand of mashup that have been created using various APIs. It is so interesting that I got lost into this web page for quite sometime just seeing the various mashups presented. I did a search on Libraries and got a list of library mashup including: (I am listing these here as I may need refer to these later in my project)

Libraries in Denmark - uses Google Maps API
Boulder Library with Amazon - Uses Amazon API
GuruLib - uses Amazon API
Go-Go Google Gadget - uses GooglrHomepage API
CodexMap- LibraryThing ,GoogleMaps, GeoNames,AmazonEC2 APIs
Readit.Me - Facebook,Amazon APIs
WorldCat + Newyork Times - WorldCatSearch and NewYorkTimesBestsellers APIs
Libsquare - Foursquare,Brightkite, GoogleMaps APIs.
Descriptions of these mashups are on Programmable Web.
It is looking more like mashup is a new way to deliver library data.

16/1/11
I am spending so much time getting stucked on trying to see what is possible with mashing using Google Charts tools for this project . What I have in mind is to undertake a project of mashing Google charts with library data to provide a usage graph per each title searched then I need to check if it is easy to learn visualization through Google API. I have therefore spent some time going through the "how do I start steps showing below:
How do I start?
  1. Learn to use visualizations by reading the Developer's Guide.
  2. Visit the Visualization Gallery and the Gadget Gallery to see visualizations are available.
  3. Learn how to build your own public data source.
  4. Read the Creating Visualizations guide to learn how to write new visualizations.
  5. Share your visualization or your productivity tool with the community.
  6. Learn how to implement a data source using tools and data source implementations provided by Google or third parties.
  7. Learn how to integrate your visualization with Google Spreadsheets.
After spending so much time in trying to learn to how I could integrate the Google charts with the Opac, it is becoming clear that this scope is beyond my capability.  I am however developing understanding possibilities with APIs and mashing. Though I can not present this in technical details, my desire for this project is to:
  • Write a script to pull data from ILS to feed to Google API visualisation. The script will:
    • Query the (SirsiDynix Symphony) ILS database. To join the Bibliographic table with Item table; then with Checkout (Issues) history table; then with user Table.
    • During a search a get bib key string like "search=single&id=12345", passes the search through the relevant tables and retrieves all users who have previously checked out items attached to the bib key retrieved. It then accesses the user table to retrieve the usage statistics by categories like Age and Gender. It prepares the data in csv format and creates a spread sheet stored in a temp file and  a URL to this file is generated.
    • A perl script to achieve this will be placed in the Apache directly and will be called by the Opac java scripts. The java script prepares this data and feeds the data to Google API visualisation through a URL to the csv data.
  • Google API visualization.
    • The link on the OPAC "View usage statistics" is the URL of the Google API Chart.
    • Google Visualisation API will initialise the URL of the spreadsheet data and will use this data to then draw the chart in the form to which it is defined.
The result will look something like this:


Where the 246 is the total number of borrowers; followed by the usage break- down by age and gender.

I believe that this will be useful information for searchers. It will also show how location of material in the library influences the usage of the material by Age groups.

Okay, I am taking a break here. I am frustrated with my limitation of programing skills.

18/1/11

Next I need to take a look at some coding already done in a mashing...

I know this idea looks so good but I don't have the know-how skills to achieve this. However, I am not giving up yet. I need to review if the library community has already done this similarly API mashup. I will review what sort of mashups have been done that maybe similar to my project idea.

  • I have worked out the means to report the ILS system to retrieve the usage statistics.
  • The next steps which require writing the relevant perl and java script and then apply these to Google chart visualisation is looking like an impossible task for me right now.

  • But this idea has stimulated my interest in mashups, in learning API scripting, and visualization.
  • I've got to think of another topic!

19/1/11

There is lots of interest in Open source in the library community. As there is much discussion on VuFind as an open source, a project on this will be quite useful as it will enable me to understand how the VuFind product works.
First I will need to Visit the VuFind website to see what capabilities are for my project.

Here are some findings:
 
  • VuFind is an opensource resource discovery layer for library catalogue developed and maintained by Villanova University.
  • The goal of VuFind is to enable your users to search and browse through all of your library's resources by replacing the traditional OPAC to include:
  • Catalog Records
  • Digital Library Items
  • Institutional Repository
  • Institutional Bibliography
  • Other Library Collections and Resources

VuFind: Social Features from Falvey Memorial Library on Vimeo.

Typical features include:
  • Author Biographies
  • Persistent URLs
  • Zotero Compatible
  • Internationalization
  • Open search , OAI, Solr
  • Live Record Status and Location with Ajax Querying
  • "More Like this" - Resource Suggestions
  • Save Resource to Organised Lists
  • Browsing for resources
Architecture: (click image for a bigger image)

More on VuFind
The latest release of VuFind is 1.0.1.
Many libraries on various Integrated Library Management Systems (ILS) have implemented the VuFind product, however,  and many of these libraries are currently either in Beta or are testing.
VuFind installation and documentation is available of http://vufind.org/

Next step is to review the requirements for a VuFind install project and what I would like to achieve.

20/1/11.
Objectives for the VuFind Project:
  • Install VuFind.
  • Connectivity to ILS to retrieve holdings information and for patron empowerment.
This project will be possible:
  • where I have an ILS system to connect Vufind to.
  • where I have knowledge of the ILS system settings and Query tools.
  • some skill in interpreting programing scripts.
My work computer has 2 ILS systems installed. Thus; Sirsidynix's Symphony and Sirsidynix Horizon system.

I have a good knowledge of MSSQL reporting.

I have a good knowledge of the Sysdynix Enterprise which is another Discovery layer for Library catalogue. It will be interesting to observe the differences between VuFind and the Sirsidynix Enterprise.

I think I can tackle this project.

VuFind Requirement:

VuFind was developed with the following software packages :

Apache HTTP Server 2.2 or later (2.2.12 or later recommended)

PHP 5.2.x  (My first time experience)
Smarty 2.6.26 (My first time experience)

MySQL 4.1 or later (some experience with MSSQL)

Java J2SE JDK 1.4 or later (Some experience as I use this at work)

GNU Aspell Library – Optional 1) (No experience)

Installation:
There is an  installation documentation that will help guide me through the installing process.

The documentation provides  information in these broad areas:
  • Introduction
  • Installation & Setup
  • Developers & Systems Administrators
  • VuFind Project Administration
  • Presentation Slides
  • Marketing Materials
  • User Supplied Documentation
 Start
Okay I think I am ready to start on the VuFind project starting first with a review of the product. Starting with Presentation slides and Video clips.

21/1/11
Having reviewed information on VuFind, I want to go ahead with the install and be able to play with this product.

Steps to take:
Follow install instruction to install VuFind.
Install VuFind on my personal laptop. Check that this laptop meets requirement.
Install all required software package.
Download unicorn driver
Downloading of MARC records from ILS.
My work laptop named 'rchile' has ILS.
 VuFind which will be installed on my personal laptop "localhost" will connect to 'Rchile' for ILS connectivity.

I have read the install instruction and they seem straight forward. I hope there won't be any surprises.

I am  excited to start this install work today; but as I am very busy at work today, I will make the start tomorrow:






An Unlikely Story!
A Cartoon by Michael Stype
© 1999

22/1/11.
I have come to work today to focus on this project. It's Saturday and I have the office to myself.
I am now ready to start the install...
Follow instruction on installing VuFind on Windows.

Checklist:
1. Download VuFind - I downloaded the tar.gz file successfully. I used WinZip to extract the zipped files to c:/vufind as instructed.

2. Install the Apache HTTP Server. I download and installed Apache successfully. But I could not restart Apache.  Spent time trouble shooting. Then I realised that I had forgotten to do the step: Configure Apache Server) and check that this line is uncommented (doesn't have a # in front of it):
LoadModule rewrite_module modules/mod_rewrite.so.

 3. Install MySQL. I followed the instructions on downloading and installing Msql successfully.

4. Install PHP. Okay. I did not read this line which was somewhere on the install page:
Which version do I choose?
If you are using PHP with Apache 1 or Apache2 from Apache.org you need to use the VC6 versions of PHP.
I had to re-install PHP as I initially downloaded a wrong version. Damn! PHP install is the most complicated and time consuming - so far. It includes configuring Pear and downloading SMARTY.

Below:Where wrong version of PHP - version 9 installed , here I am running the wrong version of pear bat file. I rectified problem with re-installing PHP version 6.


[Error below] Where I missed the install step of adding the Pear directory to system
environment.

5. Install the Java JDK. I downloaded Java and configured system environment as per instructions.

6. Run VuFind Installation Script. I ran into problems with this step and spent lots of time trouble shooting.  This is when I realised that I had installed the wrong version of PHP. I therefore had to go back and install the correct version of PHP and re-ran PEAR. I then had to re-run this step and this time the process completed successfully.
7. Configure VuFind. I followed the instructions on to configure Apache to link with VuFind. I ran into errors with re-starting Apache. Instruction on "Troubleshooting Apache" in the install document assisted me to resolve problems. It took me a while to troubleshoot Apache.

8. Start VuFind. Yes! VuFind starts, no problem.
Okay, using the URL http://localhost/vufind called the right page.





















Good. Now I need to download marc records so I can test searching.
9. Import Records
Having  the Symphony install on my Work Laptop 'rchile'. I ran a Unicorn API query:
selcatalog catalogdump -om -ka035 > marc_for_vufind.

Once records were exported in the recommended .mrc formats to a file, I then ran the Import Record step to import records to VuFind. These records were immediately indexed and I could search then on VuFind. The import process took just a few minutes. I had imported just over a thousand bib records.

I tested searching these record successfully.
Image source: cdn.buzznet.com

  • After several hours,   I have now complete the first objective of the VuFind Project; thus  Install VuFind.
  • Challenges: Having missed a few steps in the instructions, I encountered errors with Apache which I spent hours to rectified. Then I went back to the instructions and realised "If only I followed the instructions more deligently"!
Second project objective.

  • A PHP driver code to talk to various library systems is an important part of VuFind, but it can be impossible to test or modify without access to a real system.
  • :) I have two ILS - Symphony and Horizon on my work laptop. I will attempt this integration on Symphony (unicorn) and if I am unsucessful I will try intergrating with Horizon.
24/1/11.

To integrate VuFind with ILS, you need to install the right driver for the ILS. There is a unicorn driver delivered with the VuFind install. However, I earlier read and noted advise from VuFind -Unicorn support webpage to download a unicorn driver.

Vufind is on a different server - My personal laptop
Symphony (unicorn) ILS is on my work laptop. Database is CISAM.
VuFind server will access the Symphony database via Apache running on the work laptop - 'rchile'.

I edited the C:vufind\web\conf \config.ini. I set value driver=unicorn.
The delivered unicorn driver is in C:\vufind\web\drivers \Unicorn.php.
This Unicorn driver uses :\vufind\web\conf \Unicorn.ini to connection information.

The advise from VuFind -Unicorn support webpage is to download a unicorn driver posted on their wiki page and to override this driver with the delivered.

I downloaded and installed the Unicorn driver per instruction.
As per this groups' advise, I also downloaded and installed the unicorn perl script in the right Apache directory on Unicorn server - 'rchile' as instructed.

Part of the instruction was to test run the Unicorn ILS perl script - driver.pl at the command line to ensure it reported the correct holdings information.
The test fails! I can not access Unicorn information from the ILS as expected. The test returns no data!

Hmmm!

I started trouble shooting this:

  • First I went back online on the VuFind -Unicorn site. I spent time in trying find any help on this problem but I found none.
  • I need to subscribed to the vuFind-Unicorn mailing list in order to see the archived discussions of this group - which may give me clues.
  • So I signed in. I will have to wait for the list administrator to contact me.
  • Meanwhile I went back and studied the perl script. I spent a  lot of time trying-erroring changes where I could identify codes that did not seem right.
  • I changed: $ENV{'PATH'} = "$unicorn_base_path/Search/Bin:$unicorn_base_path/Bincustom:$unicorn_base_path/Bin:$ENV{'PATH'}";
  • To: $ENV{'PATH'} = "$unicorn_base_path/Search/Bin:$unicorn_base_path/Bincustom:$unicorn_base_path/Bin";
  • This eliminated the errors to do with Path.
  • However the problem remain that I can not display  the unicorn data.


25/1/11

I have just check my email and got this reply from the vufind-Unicorn mailing list.

From: Tim McGeary

To: rebecca.chile@yahoo.co.nz
Sent: Tue, 25 January, 2011 2:41:21 AM

Subject: Confirmation of VuFind-Unicorn subscription

Greetings,

 I received your request to join the VuFind-Unicorn mailing list.
This list is open to only customers of SirsiDynix. Please verify your customer status by sending the URL of your catalog and your SirsiDynix customer number.
Thank you,

Tim McGeary
Team Leader, Library Technology
 Lehigh University
610-758-4998

Reflection I am staff of Sirsidynix. Will Tim allowed me to join this mailing group? Should I write to Tim to see if he can help?

Response
  • I replied to Tim to ask if as a staff of SirsiDynix, I could join the group.
  • While I await Tim's reply.
Troubleshooting continues...
  • I continued the try and error troubleshooting. But not making any progress.
  • Went back to google for posible solutions to why the perl script (contibuted to the VuFind-unicorn group) is not working in my environment. Found no help.
At this point, I have modified unicorn.ini to connect to the Unicorn ILS  on my laptop.
Test Vufind interface connectivity to Symphony (Unicorn) ILS. Test is failed. No holdings data shows in Vufind.

The link to holdings information threw: "translate_index_not_found(: the error: selcallnum -IC-oCDS 2>dev/null"


This again demonstrate my limited knowledge of Perl script and PHP programming.

I am so frustrated! If only I can find and fix this error.

Tim has responded:
Hi Rebecca,


Yes, you may join at either address, but since I hadn't received a
response from you, I couldn't register you. Please re-sign up at


membership tomorrow (Friday).
Cheers,
Tim

I will register again but time is running out.
I think at this point I should consider giving up on the unicorn driver!

Troubleshooting continues...
Back to Google. I searched  the error "translate_index_not_found". Lots of hits but none specific. Error could be due to many factors.

Anyway, I think I can say for sure that the Perl script "driver.pl" is not being executed!

Either there is a problem with the script or the unicorn.ini is not connecting VuFind to the symphony (unicorn) ILS.

 

26/1/11
Unicorn mailing list will help?
I just tried to login in to VuFind-Unicorn mailing list but my login failed. I was still hoping to get some clues from this groups' mailing list.

Time to move on
I have therefore decided to abolish the unicorn driver goal to connect Vufind to Symphony ILS.

Lessons learned:
  • In trying to resolve the problem with the driver.pl perl script, I spent a significant time studying the script. This focus enabled me to see the logic with perl script. Given more time I could have learned more of perl scripts in other to troubleshoot the problem with the driver script.
  • I also developed an interest in learning how to write perl script.
  • Knowledge of perl script will no doubt be relevant to my current job for troubleshooting problems with delivered perl scripts. There are many perl scripts delivered with the Sirsidynix Symphony system and I have always had interest in having skills to read and interprete the scripts.
  • Downside: I probably spent too much time in trying to troubleshoot the problem with the unicorn driver.pl.
VuFind connectivity with Horizon ILS:
It appears the delivered Horizon driver is fine. All that I would  need to do is to modify the Horizon.ini file to specify the connection information to my Horizon ILS.

Thinking cap is on
  • VuFind on a different server - my personal laptop - 'localhost'
  • Horizon ILS is on my work laptop - 'rchile'. Database is MSSQL
  • I first need to test connection to ensure the VuFind server can access my SQL database.
Test Horizon server connection
  • I am trying this from home using my home broadband.
  • And no! VuFind can not access the Horizon server! Alert! I might have problems.
Troubleshoot connectivity
Spent much of the evening trying to trouble shoot the problem with connectivity.
Gave up and moved on to the next step.


Configure Horizon.ini and test.
  • Configuration
[Catalog]
host = rchile
username = 1433
username = sa
password = [password]
database = horizon742

Test connection
  • Change config.ini to read the horizon driver.
  • Test. Error: Fatal error: Call to undefined function mssql_pconnect() in C:\vufind\web\Drivers\Horizon.php on line 33.
Troubleshoot
Okay, so what does this mean.
I spent quite some time just looking through the horizon.php file.

But hang on - I need to make sure that the connection between the two servers work. After playing with this until late in the night, I gave up and went to bed.

28/1/11.
 ODBC test
I brought my personal computer to work and connected it to our network. I tested the connectivity between the two servers - localhost to rchile. Through ODBC connection, I can connect the VuFind server to the Horizon ILS SQL database. Having tested the ODBC connection successfully; the question then was why did this connection not work from my home broadband?

Toubleshoot connectivity from home broadband
I asked the IT staff at my work what the problem could be. He sugested that I may need to open the SQL port 1433 on windows firewall.

Okay, will do this when I get back home.

Test VuFind search interface
Meanwhile, now that I am positive of the connectivity between the servers, I test ran VuFind interface connection for the Holdings and My account information. This failed with the same error: "Call to undefined function mssql_pconnect()".

I think I am in trouble as I have no much time left to complete this project.

Trouble Shooting:
Back home, as I am cooking dinner/after dinner I start trouble shooting. Set Firewall on port 1433 sucessfully.

  • Google search on
Call to undefined function mssql_pconnect()

This returned lots of hits. I worked though many sugestions.
The one that appears relevant was:

Find the line in your php.ini file that looks like this:


;extension=php_mssql.dll
then remove the semi-colon. Look in the extensions directory in your PHP
install directory and make sure that php_mssql.dll is there. If not, then you will need to download it from the php site.

Check and apply the suggestion
  • I looked in the PHP directory, no php_mssql.dll file! I searched the whole C drive but could not find this file.
  • I downloaded the php_mssql.dll. The instruction suggested to add it to PHP/ext.
  • I also added the extension line in PHP.ini.
Restarted Apache sucessfully. All smiles. But wait!

Tested VuFind. Failed on the same error.

Troubleshooting continues...
Back to Google: Again scanned through many hits and found this one:
"It's probably not possible to connect to MS SQL using your PHP installation. Please refer to PHP manual on how to install PHP with MS SQL support. www.php.net/mssql".



29/1/11

It is Saturday. I am again having to spend all day here in my office to work on this project. Now I'll visit www.php.net/mssql.

This website lots on information on "Drivers for PHP for SQL". It suggest the MSSL drivers for various versions of PHP.

I reviewed the drivers carefully making sure to download the version for my PHP version 5.3. Instruction for download and configuration are very clear. So I followed the instructions diligently and successfully. Restart Apache successfully. So far so good...

This proceedure took quite some time.

Test run
Then I tested vufind search...

Same error: "Call to undefined function mssql_pconnect()"

Hmmm!

Troubleshooting continues...
I started doing my own trouble shooting of the Horizon.php file using the SQLSRV Driver API Reference guide. The "help" guide was delivered with the PHP MSSQL driver install.

I took a safe copy of the Horizon.php file and started making try and error changes. Each time I made a change Apache would crash with different errors. No need to document these errors at this stage.  I am just playing...


The following days I just did a bit of playing with the driver configuration got more errors. Spent time undoing my changes so as to get rid of the errors. Then started making changes again. Good that I recorded all the changes I made so I could undo the changes if they failed.

2/2/11.
A break through today.
After dinner, I again started playing with making more 'try and error' changes
This time I noticed a problem in the horizon.php file.

The PHP driver API reference help suggests connecting into mssql with this syntax:
$serverName = "local"
$connectionInfo = array ("UID"=>"$uid",  "PWD"=>"pwd",  "Database"=>"xxxx".

Using this syntax in the Horizon.PHP, I commented out the lines that connects using Horizon.ini:

// Load Configuration for this Module I also replaced all instances in the horizon.php file from



$configArray = parse_ini_file('conf/Horizon.ini', true);


// Connect to database


$this->db = mssql_pconnect($configArray['Catalog']['host'] . ':' . $configArray['Catalog']['port'],


$configArray['Catalog']['username'],


$configArray['Catalog']['password']);


// Select the databse


mssql_select_db($configArray['Catalog']['database']);


}

 I made further changes to the horizon.php
Changed
  • "mssql_query" to sqlsvr_query".
  • "while ($row=msql_fetch_assoc($sqltmt))" to "while ($row=msql_fetch_array($sqltmt, SQLSVR_FETCH_ASSOC);"
I made a few mistakes  during in these change and got some errors when I tested the VuFind searching.

Debugging appeared very useful
I had turned on debug in VuFind config file, so I was able to easily track the line numbers that had problems. Problem were typically with missing punctuation values.

I am feeling very proud of my self! An PHP expert!

Test VuFind.

YES! I can now see holdings information.

My account
Phew! Next I have to test login to "My account".




















Oops, errors :(

5/1/11
Toubleshoot
Back to the Horizon.php.

I again tried a few changes but each time I got different errors.
I am getting very frustrated. I need help.

So I contacted the programmer at my work but he says he does not know PHP programing language. He asked to take a look but will no promises.

I sent Paul the message:

Hi Paul,


Please see if you can assist me.


I get this error from browser on the portion on the php pasted below. 97108 is borrower barcode which I used to login.


Connection established. Error in query preparation/execution. Array ( [0] => Array ( [0] => 42S22 [SQLSTATE] => 42S22 [1] => 207 [code] => 207 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Invalid column name '97108'. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Invalid column name '97108'. )


}
public function getMyTransactions($patron)


{


$serverName = ("rchile");


$connectionInfo = array("UID"=>"sa", "PWD"=>"f0rt1fi3d", "Database"=>"horizon742");


$conn = sqlsrv_connect( $serverName, $connectionInfo);


if( $conn )


{


echo "Connection established.\n";


}


else


{


echo "Connection could not be established.\n";


die( print_r( sqlsrv_errors(), true));


}


$sql = "select item.bib# as BIB_NUM, item.ibarcode as ITEM_BARCODE, " .


"convert(varchar(12), dateadd(dd, item.due_date, '01 jan 1970')) as DUEDATE, " .


"item.n_renewals as RENEW, request.bib_queue_ord as REQUEST from circ " .


"join item on item.item#=circ.item# " .


"join borrower on borrower.borrower#=circ.borrower# " .


"join borrower_barcode on borrower_barcode.borrower#=circ.borrower# " .


"left outer join request on request.item#=circ.item# " .


"where borrower_barcode.bbarcode=\"" . $patron['id'] ."\"";


try {




$qlStmt = sqlsrv_query($conn, $sql);


if( $sqlStmt === false)


{


echo "Error in query preparation/execution.\n";


die( print_r( sqlsrv_errors(), true));


}


while ($row = sqlsrv_fetch_array($sqlStmt, SQLSRV_FETCH_ASSOC)) {


$transList[] = array('id' => $row['BIB_NUM'],


'duedate' => $row['DUEDATE'],


'barcode' => $row['ITEM_BARCODE'],


'renew' => $row['RENEW'],


'request' => $row['REQUEST']);


}


sqlsrv_close( $conn);


return $transList;


} catch (PDOException $e) {


return new PEAR_Error($e->getMessage());


}

Paul replied:
try this:

"where borrower_barcode.bbarcode=\'". $patron['id'] . "\.";


Trouble shooting continues...
After a few emails back and forward with different things to try, Paul finally suggested a workable solution:


"where borrower_barcode.bbarcode='{$patron['id']}'";


This works!

Project objectives accomplished

I had setup to achieve 2 objectives in the VuFind project.


• To install the VuFind product

• To interface VuFind with an ILS.

Yippee Woman Jumping for Joy Animated Animation Animations Gif

Thursday, September 23, 2010

E-readers - Apple iPad vs Amazon Kindle

I have provided below a podcast of about 2 minutes long, in which I have discussed iPad and Kindle E-readers; and given a comparison of  some key attributes of these e-readers.                 .



Background music "Love Doctor" from Album Acid Jazz volume 1 is
composed by:Scott P. Schreer, and Pete Calandra
Published by: Freeplaymusic, BMI,

Wednesday, August 18, 2010

Stop and Think! Digital divide issues

I am conscientious of the issues of digital divide; and since my blog topics are on digital technologies, I have added a search widget that will easily and quickly facilitate retrieval of documents on Digital divide issues especially as they relate to New Zealand.

  • This search interface will retrieve documents in any format on the subject of "Digital divide" from the Digital NZ database.

  • Enter any keywords to further limit your search. For example enter the keyword “schools". This will retrieve documents on "schools" that relate to digital divide.
As we increasingly rely on Technology for social, economic, political, health needs, we must pause to examine the impact this has on individuals who cannot afford it; those who do not have skills or know how to effectively use it; and those who have no access to it at all.

Individuals, governments, and organisations must stop and think of digital divide issues when they  make policies; services and facilities available mostly “online”.

When looking at digital technology and its impact on social relationships and or in bringing people together, we must reflect. Not ALL individuals, not all communities, not all countries have access these technologies.

Saturday, August 14, 2010

Electronic Book Readers Technology

A senior staff of Ellerslie public library, I have been asked to do an environmental scan on the above topic and to do a presentation to staff of this library. As staff are aware of the e-book concepts, I have focused my presentation on key areas of e-reader and supporting emerging technologies such as Cloud computing and Bookserve; and their impact on the need for public libraries to shift their serve module with consideration to issues of digital divide.

This presentation also attempts to compare the popular e-readers on the market.

Add comments that will add value to this presentation.

https://docs.google.com/present/view?id=dg9t4spc_5cjsrd5gj&interval=30&autoStart=true

Friday, August 6, 2010

Ipad - The effect it's having on E-Books, and the implications on Public Libraries


Apple has bombarded us with promises of their recently released Ipad as a revolutionary gadget packed full of features that we must all experience. “Ipad is the best way to experience the web”; “there is nothing like the mail app on ipad”, “Avivid LED makes viewing photos on ipad extraordinary”; “9.7 – inch high-resolution screen makes ipad perfect for watching videos” ; but more importantly is the iBooks app which allows customers to browse and shop for books. Download books and they appear on your bookshelf. “Tap the Store button and the bookshelf flips around like a secret passageway to reveal the ibook store”. Ipad website

NZ herald launched their ipad apps “NZ Herald ipad apps” as soon as  ipad was released and promised readers “ You can now get the best of the Herald at
your fingertips…custom built to play to the strengths of the device you can touch, zoom, tap, pinch and dive-in to the latest news coverage, exclusive video
and engaging photo journalism”. What an irresistible piece of advertising, doesn't that make you want to have it right now! My colleague at work – a technology 'early adopter' bought his ipad the day it was released in New Zealand. He brought it to work and gave me a demo; and I must say that I like what I saw.

While e-book itself has been with us for quite some time, it is the recent advancement in reading devices like ipad that are pushing the e-book craze.  Dan Costa in his article “The Kindle, Flipboard for iPad and the Connected Reader” discusses in more detail the impact of these devices on “irrevocably change [to] the act of reading”, and focuses his discussion on the comparison of these devices. Amazon's 'Kindle' ebook reader has been around before ipad and is cheaper, however the kindle's features are limited to ebook functions; this means less attraction to it than ipad - which is packed with many more features. Most people may rather buy ipad; even if their intent for purchasing ipad is not for ebooks, having the ipad means also taking advantage of the e-book features.

With the market spin on ebook, its use will definitely increase. So what role will the public libraries play in this?

According to Macmillan US CEO John Sargent in Martin Taylor's blog page “Libraries and ebook: tough issues that it’s time to debate” says that “In the past,
getting a book from libraries has had a tremendous amount of friction. You have to go to the library, maybe the book has been checked out, and you have to come back another time…with ebooks, you sit at your couch in your living room and go to the library website , see if the library has it… You get the book, read it, return it, and get another, all without paying a thing…Sounds great! This will be a great improvement to literacy, education and other cultural benefits. But wait, there maybe some implications.

The UK government for example has passed legislation that patrons of public libraries should not charge patrons for ebooks. This is no doubt a major concern
to publishers, bookseller and authors; and how about the budget strain that this sort of legislation will put on libraries as the taste and demand from
public for ebooks escalates. I find Taylor's article quite interesting as he raises very important issues on the impact of e-book on libraries and encourages
debate.

Martyn Daniels in his article "Does anyone care for impact of ebooks for free" also addresses some issues with public libraries free downloadable ebooks
service. According to this article, South Ayrshire libraries have announced the free downloads of ebooks to its members 24/7. He poses the question of “do
the publishers feel that being paid is enough and that it’s no different to physical books being sold to libraries? Do the book store believe that libraries
are no threat to their livelihood? Do authors feel that they will get adequately rewarded by library royalties and a shrinking PLR (public lending right)?”

From these arguments, there appears to be a serious need for debate over the issue of free access to e-book.

Currently, the best way to enjoy and purchase ebook content is via reading devices. You buy ebook from Apple on ipad, you buy book from Amazon on Amazon’s kindle. Will public libraries need to buy rights from say Apple and Kindle to allow public to download ebooks to their gadgets from public libraries. Are ebooks public libraries ebooks compatible with ipad? According to Dave Dickson article "EPUB, iPad and Content interoperability" "thousands of online booksellers (including Barnes & Noble) and most public libraries (including the New York Public Library) are unreadable of ipad".

My colleague who game me a demo of ipad's ibooks explained that: Apple downloads of e-books is limited, currently provides some free 'stuff' but of old books like "Winnie the pooh"; and that it might be a while until Apple starts doing deals with publishers and book vendors. However, he further explained  that, ebooks from internet sites, libraries and Goodreader apps in PDF format and in a reasonable font size could be read on ipad even though not of the same quality as 'ibook' or Amazon kindle.

Dave Dickson’s blog page also mentions a recent study commissioned by the Book Industry Study Group. He said that,  a major concern from consumers on e-reader experience is that “certain e-books are specific to certain e-readers…” he goes on to say that “consumers value content interoperability as a key feature of the digital reading experience, preferring to not have their content specific to one device”. There is also the inability to easily transfer content across devices.

The important questions asked in Martin Taylor article “Should libraries have ebooks? I am not sure they should”-   “If a library buys an ebook, how many times can it lend this ebook and under what terms?”

Some answers to these questions - as they relate to New Zealand could be found on Public Lending Right for New Zealand Authors Act 2008  whose purpose is to "compensate New Zealand authors for the use of their books in public libraries".

Personally I think that libraries should spend money on digitising the library’s collection so it’s more readily available to everyone. Libraries of the future should have no queues, no holds, no walls, no boundaries. Printed books should move into archives.