July 1st, 2009
The Texas Digital Library has been using the Django framework for a growing number of our smaller projects. Typically, if there’s not already a well established open source solution for the task at hand then the default answer is to write it in Django. Our faculty directory and request systems are already implemented in Django and we are currently refreshing our account management system into the framework. As our use of Django has grown, our practice of storing these projects in the version control repository as one unit has shown its weakness. Within the version control repository, we have passwords, database connections, and file locations stored; in general different settings between production vs development. This makes it hard to keep track of the settings for production vs pre-production and the development instances. This post is my attempt at describe a set of best practices for how to store Django projects in a code repository and deploy them between production and development environments.
Django Applications vs Projects
Django provides tools and concepts to break up your websites into very small components that can be re-used between sites. The first and most basic distinction that needs to be understood is Django’s difference between applications and projects.
A Django Application is a single self-contained set of related features that depends upon the Django framework. By convention, a Django application typically will contain: admin.py, models.py, urls.py, views.py, and other files. These applications should contain no configuration that needs to be changed between installations.
A Django Project is a collection of applications that share a single database configuration, work together in a URL space, and share a common set of application configurations. Projects may contain multiple applications or just one. Django requires that projects have at least three files: manage.py, settings.py, and urls.py. I believe it is best to consider Django Projects like Apache’s httpd.conf.
Read the rest of this entry »
Tags: Django, Python, SVN
Posted in HOWTO | No Comments »
June 16th, 2009
My colleague, Adam Mikeal, presented our paper titled “Large-scale ETD repositories: a case study of a digital library application” at JCDL 2009, where it was nominated for best paper! The paper describes at a high level the Texas Digital Library’s implementation of a state-wide electronic thesis and dissertation (ETD) system, delving into the theoretical, technical, and political issues that were encountered. Vireo is the main component of the system, a Manakin-based addon to DSpace that handles the ETD work flow, starting with a student’s initial submission through an iterative staff review, cataloging by the library, and on to final publication.
Citation:
Mikeal, A., Creel, J., Maslov, A., Phillips, S., Leggett, J., and McFarland, M. 2009. Large-scale ETD repositories: a case study of a digital library application. In Proceedings of the 2009 Joint international Conference on Digital Libraries (Austin, TX, USA, June 15 – 19, 2009). JCDL ‘09. ACM, New York, NY, 135-144. DOI= http://doi.acm.org/10.1145/1555400.1555423
Tags: DSpace, ETD, JCDL09, Manakin, Repositories, Vireo
Posted in Publications | No Comments »
May 28th, 2009
During the Open Repositories 2009 conference I attended the Microsoft’s “Tools for Repositories” workshop. At the workshop Microsoft was able to get down into the details of their new products and how they are intended to work together. I was impressed by the breadth of work that Microsoft is engaging in to support scholarly publishing use-cases within their tool set. The workshop lasted about 4 hours, longer than most of the other workshops at OR09. The bulk of time was given to the two developers Savas Paratatidas and Pablo Fernicola, along with the team leader Alex Wade.
Microsoft announced their intention to engage with the repository community at last year’s OR08 conference in Southhampton. The OR09 workshop featured the tools that Microsoft has developed in the intervening year starting with new authoring tools in Word, publishing via SWORD, a new peer-reviewed journaling service, and the new .NET based repository. It’s clear to see that Microsoft will have a huge impact on scholarly publishing in the future. We, as the repository community, will need to adjust our services to ensure they work smoothly within the Microsoft ecosystem. After the jump read about the three big features that were presented.
Read the rest of this entry »
Tags: OR09, Repositories, SWORD, Zentity
Posted in Reports | No Comments »
May 13th, 2009
A common question for someone just starting to develop with DSpace is how do others set up their development environment. Often times this isn’t documented anywhere, but a lot of time goes into researching the best way to set things up. Today I co-taught a class on customizing DSpace for TDL. One of the hand outs I created for the class is a simple how to setup DSpace, Eclipse, and Tomcat together for easier development. This is certainly not the only way to set up these tools, but it is the method most developers in TDL choose.
One thing to note is the use of Sysdeo’s Tomcat plugin vs. Eclipse’s WTP plugin for integration with Tomcat. I played around with the WTP tools that come standard with Eclipse and found them to be too buggy to rely on. I hope that future versions of Eclipse will iron out the kinks in WTP tools, but for now I’m going to stick with Sysdeo.
Versions:
- Eclipse 3.4.x
- Tomcat 5.x or 6.x
- DSpace 1.5.x
Howto: setup Eclipse, Tomcat, and DSpace
Tags: DSpace, Eclipse, Tomcat
Posted in HOWTO | No Comments »
May 13th, 2009
TDL offers several training classes for DSpace and other software/services we offer. They are a good way to get in depth information on a particular topic; the sessions typically last for a day – in some cases half a day. You’ll be able to get all your questions answered about a particular topic.
This last Wednesday after getting back from vacation I co-taught the “DSpace Customization” class with Steve Williams from UT. I think the class was a great success, here are the slides we used for the class.
DSpace Customization Slides
Tags: DSpace, TDL, Training
Posted in Presentations | No Comments »
May 12th, 2009
About a year ago we ran into the problem where a department wanted to ingest content into our repository using a batch ingest format from their internal database system. My initial thought was to pull the page out of the DSpace manual that covers the batch import and hand that over to them so they can build their import. Turns out, that page doesn’t exist. All the DSpace manual will tell you how to do is the syntax the ./import command uses to run the batch import. If you want to find out how to build a DSpace import the only place you can look is at the Java source to piece it together.
Obviously this isn’t going to work for another department, so I created a simple one page hand out (print in duplex) to give someone who needs to create an import. I think this is still a good resource, so even if I wrote it over a year ago I wanted to publish it on my blog.
DSpace Batch Import Format
Tags: DSpace
Posted in HOWTO | No Comments »
Where to host a blog?
June 7th, 2009One of the questions I faced when starting this blog is where should I host it? There are lots of options from several commercial blogging services or from the many free blogging services such as Blogger, SquareSpace, ExpressionEgine, or WordPress.com. Because of my employment there is also the option to use the Texas Digital Library’s blogging service based upon WordPress. Then lastly because I have the technical skills and available hosting, I can self publish my blog. I ultimately decided to self publish this blog using my own means instead of using a blogging service, here are the factors that effected my decision:
Read the rest of this entry »
Tags: Blogging, TDL
Posted in Commentary | No Comments »