Posts filed under 'Development'
12. Is there a benefit to using open source software in digital libraries? What are some of the pros and cons?
In researching this question, I found a great webpage by the Northwest Regional Educational Laboratory (2005) that lays out the main arguments for and against open source software in a very methodical way. The table below is my take on the arguments presented on the website.
Ultimately, I believe that there is a benefit to choosing an open source solution for a digital library provided that the choice is based on consideration of the staff, users, and overall computing environment into which it will be deployed. For example, if there is someone to provide technical support and there are few issues of integration with proprietary formats, then an open source solution is likely to be successful.
|
Issues |
Pros |
Cons |
Ambiguous |
|---|---|---|---|
|
Total Cost of Ownership (TCO) |
|
|
|
|
Features & Quality |
|
|
|
|
Deployment & Maintenance |
|
|
|
|
Users & Migration |
|
|
|
|
Free Markets & Choice |
|
|
|
Northwest Regional Educational Laboratory (2005). Open options: Arguments about open source. Retrieved July 30, 2008 from http://www.netc.org/openoptions/pros_cons/comparing.html
Add comment July 30, 2008
11. What is XML-RPC and what is it used for?
XML-RPC stands for eXtensible Markup Language Remote Procedure Call. It is a method of sharing messages between client and server. Further, “XML-RPC is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. The framework has been designed to be independent of any particular programming model and other implementation-specific semantics” (Mindel, Brown, Mindel, & Baker, 2005).
References
Mindel, A., Brown, P. Mindel, M., & Baker, M., (2005). What is XML-RPC? In, Wordtracker Web Services Technical Documentation. Retrieved July 28, 2008 from http://www.wordtracker.com/docs/api/ch02.html
Add comment July 28, 2008
10. What would the following code be used for?
Overall, the purpose of this code is to generate an RSS feed for a WordPress blog entry.
It starts with a line of code that specifies a version of XML (1.0) and character encoding (Unicode 8-bit). The next lines of code are a programmer’s comment on the version of the WordPress, and the version of RSS software. The xmlns lines of code are XML namespaces, an advanced concept that allow you to include all kinds of optional data in your RSS feed (Pilgrim & Ruby, 2002).
According to the RSS Advisory Board (2007), the single <channel> element is subordinate to the <rss> element. The <channel> element contains information about the channel (metadata) and its contents. What follows are the metadata tags for the new WordPress blog, including the blog’s title, it’s URL, description, publication date, version of WordPress, and language of publication.
References
Pilgrim, M. & Ruby, S. (2002, October 24). How do I declare namespaces in my RSS feed? Feed Validator. Retrieved July 28, 2008 from http://validator.w3.org/feed/docs/howto/declare_namespaces.html
RSS Advisory Board (2007, October 15). RSS 2.0 Specification. Retrieved July 28, 2008 from http://www.rssboard.org/rss-specification
****
<?xml version=”1.0″ encoding=”UTF-8″?>
<!– generator=”wordpress/1.5.1.3″ –>
<rss version=”2.0″
xmlns:content=”http://purl.org/rss/1.0/modules/content/”
xmlns:wfw=”http://wellformedweb.org/CommentAPI/”
xmlns:dc=”http://purl.org/dc/elements/1.1/”>
<channel>
<title>From the Dean</title>
<link>http://iis.syr.edu/ISTWP</link>
<description>Thoughts and news from Dean Raymond von Dran</description>
<pubDate>Fri, 08 Jul 2005 15:10:26 +0000</pubDate>
<generator>http://wordpress.org/?v=1.5.1.3</generator>
<language>en</language>
<item>
<title>Hello world!</title>
<link>http://iis.syr.edu/ISTWP/?p=1</link>
<comments>http://iis.syr.edu/ISTWP/?p=1#comments</comments>
<pubDate>Fri, 08 Jul 2005 15:10:26 +0000</pubDate>
<dc:creator>Administrator</dc:creator>
<category>Uncategorized</category>
<guid>http://iis.syr.edu/ISTWP/?p=1</guid>
<description><![CDATA[ Welcome to WordPress. This is your first post. Edit or delete it, then start blogging! ]]></description>
<content:encoded>
<![CDATA[ <p>Welcome to WordPress. This is your first post. Edit or delete it, then start blogging! </p>]]>
</content:encoded>
<wfw:commentRSS>http://iis.syr.edu/ISTWP/?feed=rss2&p=1</wfw:commentRSS>
</item>
</channel>
</rss>
Add comment July 28, 2008
9. What does the following line of code do?
According the the PHP Group (2008), phpinfo is a function that generates a large amount of information about the current state of PHP. It is useful for checking configuration settings and predefined variables. It is also useful for debugging purposes.
References
The PHP Group (2008, July 25). PHP: phpinfo. Retrieved July 28, 2008 from http://us.php.net/phpinfo
Add comment July 28, 2008
8. Name three server installable blogging systems/packages (as opposed to hosted solutions).
- WordPress – for text blogging. See: http://wordpress.org/download/
-
Podesk – for Video blogging. See: http://www.podesk.com/About-Podesk.html
-
Apache Roller – for multi-user and group-blogging (i.e., 3 permission levels: editor, author, limited). See: http://roller.apache.org/
Add comment July 28, 2008
7. What is Tomcat and how is it different from Apache?
This was one of the more difficult questions for me to answer, not because I couldn’t find any information but because I couldn’t understand a lot of what I read. Fortunately, I found an article by Ellis (2004), who works for Well House Consultants, that helped to clear up some of the confusion.
Ellis (2004) explains that Tomcat is a servlet (i.e., a server-side program) that provides an environment on which to run Java scripts that are accessible via web browsers. Further, Tomcat is an industry standard, a measure against which other servlet providers should conform. Apache is the original C version of an HTTP web server. It is used for the majority of websites worldwide, and it can serve both static and dynamic content.
Tomcat is related to Apache via Jakarta, an Apache project that deals with open source additions in Java. Jakarta has over 20 sub-projects, of which Tomcat is one.
References
Ellis, G. J. (2004). Tomcat overview. Retrieved July 18, 2008 from
Add comment July 28, 2008
6. Name five Open Source products (include URL’s).
There are two websites that I often use to look for open source products:
Five products that I either use or know of include:
-
Open Office at http://why.openoffice.org/:
-
an open source office productivity package, compatible with Microsoft Office Suite up to the 2003 version.
-
-
GIMP at http://www.gimp.org/features/stands for Gnu Image Manipulation Program:
-
an open source package for photo retouching and image composition/authoring, similar to Photoshop.
-
-
Fedora at http://www.fedora.info/documents/brochure/Fedora%20Page%20Final.htm stand for Flexible Extensible Digital Object Repository Architecture:
-
an open source digital asset management (DAM) architecture that can be used as the underlying infrastructure for digital libraries, institutional repositories,intranet archives, etc. (This is separate and distinct from the Linux based Fedora operating system, which is also open source.)
-
-
aTunes at http://www.atunes.org/
-
audio player and manager, developed in Java that plays mp3, ogg, wma, wav, flac, mp4 and radio streaming. It also allows users to easily edit tags, organize music and rip Audio CDs.
-
-
Thunderbird at http://www.mozilla.com/en-US/thunderbird/features.html
-
a feature-rich open source email client.
-
Add comment July 28, 2008
5. What does PHP stand for?
Although the PHP website gives a basic definition, I found a blog post by Bob Congdon (2003) to be much more helpful. He says,
“As a programming language and etymology geek, my first question was: what the heck does PHP stand for? According to the FAQ, ‘PHP is a recursive acronym that stands for: PHP: Hypertext Preprocessor.’ But wait, there’s more — PHP succeeds any earlier incarnation called ‘PHP/FI’ where PHP stood for ‘Personal Home Page’.”
References
Congdon, R. (2003, September 3). What does PHP stand for? Retrieved July 27, 2008 from http://www.bobcongdon.net/blog/2003/09/what-does-php-stand-for.html
Add comment July 17, 2008
4. What are some alternatives (proprietary or open source) to LAMP?
Chisnall (2006) wrote a great article outlining alternatives to each software package within the LAMP platform. Some of the technical justifications for his choices were a bit too heady for me, but I will provide a summary of his suggestions here.
Linux Alternatives
-
OpenBSD* – touted by Chisnall (2006) as an operating system (OS) “for the truly paranoid.” Each bug identified in the system is treated as potentially exploitable. Therefore, they attempt to remove every single occurrence of that kind of bug. It also has good firewall and routing capabilities, but it does not scale very well. This is because the symmetric multi-processing (SMP) architecture is not very well developed. Thus, load-balancing across processors is not as efficient.
-
NetBSD – “Well known for running on everything, including your toaster (Chisnall, 2006, § Alternatives to Linux). It has a very clean system architecture, which makes it portable and easy for systems administrators to support.
Apache Alternatives
-
LightTPD – Chisnall (2006) says that this software is great for providing “static content from a single processor machine” (§ Alternatives to Apache). However, it does not scale as well as other web server applications, such as YAWS (which stands for Yet Another Web Server).
MySQL Alternatives
-
PostgreSQL – Chisnall (2006) suggests that PostgreSQL performs better than MySQL. The website for PostgreSQL (2008 ) defines it as an enterprise-class relational database system. It is feature-rich and has a reputation for reliability and data integrity.
PHP Alternatives
-
Ruby on Rails – Chisnall (2006) does not explain what this is, except to say that is “for database-driven applications” (§ Alternatives to PHP). Looking at the product website, I liked the tag line “Web development that doesn’t hurt” (Ruby on Rails, n.d.). It goes on to explain that RoR is a website development application based on the programming language Ruby. It uses the agile software development methodology, which radically speeds up the timeline for development; projects that used to take weeks can be completed in a matter of days (Ruby on Rails, n.d.).
*BSD = Berkeley Software Distribution
References
Chisnall, D. (2006, June 2). Alternatives to LAMP. InformIT. Retrieved July 16, 2008 from
http://www.informit.com/articles/article.aspx?p=472693
PostgreSQL (2008). PostgreSQL: About. Retrieved July 27, 2008 from http://www.postgresql.org/about/
Ruby on Rails (n.d.) Retrieved on July 27, 2008 from http://www.rubyonrails.com/
Add comment July 17, 2008