53
Persistent URL Home Page A Project of OCLC Research OCLC Online Computer Library Center PURLS A PURL is a Persistent Uniform Resource Locator. Functionally, a PURL is a URL. However, instead of pointing directly to the location of an Internet resource, a PURL points to an intermediate resolution service. The PURL resolution service associates the PURL with the actual URL and returns that URL to the client. The client can then complete the URL transaction in the normal fashion. In Web parlance, this is a standard HTTP redirect. The OCLC PURL Service has been strongly influenced by the active participation of OCLC's Office of Research in the Internet Engineering Task Force Uniform Resource Identifier working groups. There is nothing incompatible between PURLs and the ongoing URN (Uniform Resource Name) work. PURLs satisfy many of the requirements of URNs using currently deployed technologies and can be transitioned smoothly into a URN architecture once it is deployed. Further Information and Resources A brief introduction to PURLs A longer introduction to PURLs Frequently Asked Questions Download the PURL software PURL-L mailing list LinkPURLS Linking HTML with PURL's More info Interacting with this Resolver Create your first PURL Register as a user Create PURLs, domains, groups Modify PURLs, domains, groups, users Search this resolver Validate PURLs Power user's page (all features) As of Sat Nov 26 20:04:00 EST 2005 : PURLs Created = 574520 , PURLs Resolved = 160786798 and Unique Client Systems = 9243172 The PURL Team dehn@orc http://purl.oclc.org/26/11/2005 20:04:02

A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Persistent URL Home Page

A Project of OCLC Research OCLC Online Computer Library Center

PURLS

A PURL is a Persistent Uniform Resource Locator. Functionally, a PURL is a URL. However, instead of pointing directly to the location of an Internet resource, a PURL points to an intermediate resolution service. The PURL resolution service associates the PURL with the actual URL and returns that URL to the client. The client can then complete the URL transaction in the normal fashion. In Web parlance, this is a standard HTTP redirect.

The OCLC PURL Service has been strongly influenced by the active participation of OCLC's Office of Research in the Internet Engineering Task Force Uniform Resource Identifier working groups. There is nothing incompatible between PURLs and the ongoing URN (Uniform Resource Name) work. PURLs satisfy many of the requirements of URNs using currently deployed technologies and can be transitioned smoothly into a URN architecture once it is deployed.

Further Information and Resources

● A brief introduction to PURLs

● A longer introduction to PURLs

● Frequently Asked Questions

● Download the PURL software

● PURL-L mailing list

● LinkPURLS Linking HTML with PURL's

● More info

Interacting with this Resolver

● Create your first PURL

● Register as a user

● Create PURLs, domains, groups

● Modify PURLs, domains, groups, users

● Search this resolver

● Validate PURLs

● Power user's page (all features)

As of Sat Nov 26 20:04:00 EST 2005 : PURLs Created = 574520 , PURLs Resolved = 160786798 and Unique Client Systems = 9243172

The PURL Team dehn@orc

http://purl.oclc.org/26/11/2005 20:04:02

Page 2: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Research [OCLC]

About OCLC News and Events Membership Contacts Support Ordering Site Map

United States

Research

OCLC Top 1000 ResearchWorks About Research People Announcements Programs Publications Presentations Software Projects

Research OCLC Research is one of the world's leading centers devoted exclusively to the challenges facing

libraries in a rapidly changing information technology environment.

PREMIS, A Joint OCLC-RLG Working Group, wins 2005 Digital Preservation Award Sponsored by the Digital Preservation Coalition, the £5,000 award recognises new initiatives in digital preservation. November 23, 2005OCLC Research updates its popular list of the top 1000 works held by libraries OCLC Research has updated its "OCLC Top 1000" web site, which lists the works most widely held by OCLC member libraries around the world. October 12, 2005OCLC and Rutgers will study virtual reference services with support from IMLS grant. OCLC and the Rutgers University School of Communication, Information and Library Studies are the recipients of a $684,996 grant from the Institute of Museum and Library Services (IMLS) to study virtual reference services (VRS). October 12, 2005DeweyBrowser deployed over two new collections The DeweyBrowser has been deployed over two new collections of resources. October 6, 2005Lavoie, Connaway, and Dempsey use OCLC's WorldCat to shed light on library print book collections, including the 'G5' Lavoie, Brian, Lynn Silipigni Connaway, and Lorcan Dempsey. 2005. "Anatomy of Aggregate Collections: The Example of Google Print for Libraries." D-Lib Magazine, 11,9 (September). September 30, 2005

http://www.oclc.org/research/ (1 of 2)26/11/2005 20:04:17

Page 3: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Research [OCLC]

Lorcan Dempsey and Brian Lavoie report progress on behalf of DLF Service Framework Working Group DLF Service Framework for Digital Libraries: A progress report for the DLF Steering Committee, 17 May 2005. September 13, 2005DeweyBrowser provides visual interface to Dewey-organized collections The OCLC Research DeweyBrowser prototype allows users to search and browse collections of library resources organized by the Dewey Decimal Classification (DDC). July 29, 2005Recent publications by OCLC Researchers Stu Weibel reflects on a decade of work with Dublin Core; Lorcan Dempsey and colleagues consider metadata management and knowledge organization. July 22, 2005OCLC Research releases Open Source OpenURL 1.0 software The OCLC OpenURL 1.0 distributions provide OpenURL 1.0 resolution capability. July 12, 2005Dazhi Jiao of Bloomington, Indiana (USA) wins OCLC Research Software Contest Dazhi (David) Jiao has won the OCLC Research Software Contest with a submission consisting of an OPAC that includes a ranked list of harvested citations when a detailed bibliographic record is displayed. June 22, 2005

Research OCLC Top 1000 ResearchWorks About Research People Announcements Programs Publications Presentations Software Projects

OCLC Worldwide | Careers at OCLC | Feedback | Privacy Policy | ISO 9001 Certificate

©2005 OCLC Online Computer Library Center

OCLC 6565 Frantz Road, Dublin OH USA 43017-3395 [email protected] 1-614-764-6000 USA 1-800-848-5878

http://www.oclc.org/research/ (2 of 2)26/11/2005 20:04:17

Page 4: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURLs

A Project of OCLC Research OCLC Online Computer Library Center

PURL

PURLs: Persistent Uniform Resource Locators

Stuart Weibel Erik Jul Keith Shafer

1.0 The Problem

The point-and-click idiom of World Wide Web access has made Internet browsing as easy as tapping on the door with your index finger, but every net surfer soon learns that, too often, the summons remains unanswered. The now-familiar Uniform Resource Locator (URL) can change at the whim of hardware reconfiguration, file system reorganization, or changes in organizational structure, leaving users stranded in 404 limbo... Document Not Found.

The unpredictable mobility of Internet resources is an inconvenience at best. For librarians, it is a serious problem which compromises their service to patrons and imposes an unacceptably large burden on catalog maintenance.

2.0 The Ideal

The general solution to this problem is the development of Uniform Resource Names, or URNs. The process of defining URNs has been underway in the Internet Engineering Task Force (IETF) for some time. OCLC is an active participant and supporter of this process.

The persistence requirement of URN schemes is not a technological issue so much as an outcome of the social structures that evolve to meet a common community need. OCLC's origin is deeply rooted in precisely this shared commitment to providing reliable, long-term access to information.

Standardization is necessarily slow and deliberate. Putting all the pieces in place will require consensus in the IETF, developments in the community of Web browser implementors, and deployment of new code by the community of network system managers who administer the Domain Name System (DNS) for the Internet. The concerns and problems of the library community may not be fully appreciated or adequately addressed by these groups in a timely manner. Libraries can and should provide leadership in the solution of these problems.

http://purl.oclc.org/docs/new_purl_summary.html (1 of 3)26/11/2005 20:04:21

Page 5: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURLs

3.0 Today's Solution: The OCLC PURL Service

To aid in the development and acceptance of URN technology, OCLC has deployed a naming and resolution service for general Internet resources. The names, which can be thought of as Persistent URLs (PURLs), can be used both in documents and in cataloging systems. PURLs increase the probability of correct resolution and thereby reduce the burden and expense of catalog maintenance.

PURLs look like URLs (they are URLs):

http://purl.oclc.org/OCLC/PURL/FAQ ---- ------------- ------------- / | \ protocol resolver address name

Functionally, a PURL is a URL. However, instead of pointing directly to the location of an Internet resource, a PURL points to an intermediate resolution service. The PURL resolution service associates the PURL with the actual URL and returns that URL to the client. The client can then complete the URL transaction in the normal fashion. In Web parlance, this is a standard HTTP "redirect".

+-------+ PURL +----------+ Resolver associates PURL | | ------------>> | | with unique URL; maintenance | | | PURL | utilities facilitate | C | URL | SERVER | creation of PURLs and | L | <<------------ | | modification of associated | I | +----------+ URLs. | E | URL +----------+ | N | ------------>> | | | T | | RESOURCE | | | Resource | SERVER | | | <<------------ | | +-------+ +----------+

The OCLC PURL Service has been available since the beginning of the year at http://purl.oclc.org. Some statistics:

[an error occurred while processing this directive]

4.0 The Future

We have assigned PURLs to records cataloged in the Internet Cataloging Project, the U.S. Department of Education-funded project to advance cataloging practice for Internet resources. This project represents the leading edge of MARC description of Internet resources, and has become the forum for discussion and development of standard practice in this new area of digital librarianship. (See the InterCat home page at http://

http://purl.oclc.org/docs/new_purl_summary.html (2 of 3)26/11/2005 20:04:21

Page 6: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURLs

purl.oclc.org/net/InterCat.)

The assignment of PURLs is an intermediate step towards the time when URNs are an integral part of the Internet information architecture. The eventual syntax of URNs is clear enough at this time to afford confidence that the syntax of PURLs can be inexpensively and mechanically translated to the eventual URN form.

Although a PURL service is being run and maintained at OCLC, the PURL model lends itself to distribution across the net, with servers run by organizations with a commitment to maintaining persistent naming schemes (libraries, government organizations, publishers and others).

Since the introduction of the PURL model and services, a number of institutions have expressed an interest in formal participation and in running PURL servers of their own. OCLC freely distributes its PURL source code to aid in rapid, wide distribution of this enabling technology. See http://www.oclc.org/purl/docs/download.html for details.

For further information, please see

● The OCLC PURL Service at http://purl.oclc.org, and

● The PURL FAQ at http://purl.oclc.org/OCLC/PURL/FAQ.

This article is an updated version of PURLs to improve access to Internet by Stuart L. Weibel and Erik Jul from the 1995 November/December issue of the OCLC Newsletter, page 19.

Other project staff:● Jon Fausey

● Eric Miller

● Roger Thompson

● Vince Tkac

http://purl.oclc.org/docs/new_purl_summary.html (3 of 3)26/11/2005 20:04:21

Page 7: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Introduction to PURLs

A Project of OCLC Research OCLC Online Computer Library Center

PURL

Introduction to Persistent Uniform Resource Locators

Keith Shafer, Stuart Weibel, Erik Jul, Jon Fausey OCLC Online Computer Library Center, Inc. 6565 Frantz Road, Dublin, Ohio 43017-3395

KEY WORDS: Internet Services, Networking Technology Frontiers, URL, PURL, URN

Problem Introduction

The point-and-click idiom of World Wide Web usage has made Internet browsing as easy as tapping on the door with your index finger, but every net surfer soon learns that, too often, the summons remains unanswered. The now-familiar Uniform Resource Locator (URL) can change at the whim of hardware reconfiguration, file system reorganization, or changes in organizational structure, leaving users stranded in 404 limbo... Document Not Found.

The unpredictable mobility of Internet resources is an inconvenience at best. For librarians, it is a serious problem which compromises their service to patrons and imposes an unacceptably large burden on catalog maintenance. The general solution to this problem is the development of Uniform Resource Names, or URNs. The process of defining URNs has been underway in the Internet Engineering Task Force (IETF) for some time. OCLC is an active participant and supporter of this process.

Standardization is necessarily slow and deliberate. Putting all the pieces in place will require consensus in the IETF, developments in the community of Web browser implementors, and deployment of new code by the community of network system managers who administer the Domain Name System (DNS) for the Internet. The concerns and needs of the library community may not be fully appreciated or adequately addressed by these groups in a timely manner. Libraries can and should provide leadership in the solution of these problems.

The persistence requirement of URN schemes is not a technological issue so much as an outcome of the social structures that evolve to meet a common community need. OCLC's origin is deeply rooted in precisely this shared commitment to providing reliable, long-term access to information.

Today's Solution: Persistent URLs

To aid in the development and acceptance of URN technology, OCLC has deployed a

http://purl.oclc.org/docs/inet96.html (1 of 10)26/11/2005 20:04:33

Page 8: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Introduction to PURLs

naming and resolution service for general Internet resources. The names, which can be thought of as Persistent URLs (PURLs), can be used in documents, Web pages, and in cataloging systems. PURLs increase the probability of correct resolution over that of URLs, and thereby reduce the burden and expense of maintaining viable, long-term access to electronic resources.

Functionally, a PURL is a URL. However, instead of pointing directly to the location of an Internet resource, a PURL points to an intermediate resolution service. The PURL Resolution Service associates the PURL with the actual URL and returns that URL to the client. The client can then complete the URL transaction in the normal fashion. In Web parlance, this is a standard HyperText Transfer Protocol (HTTP) redirect.

+------- + PURL +----------+ Resolver associates | | ------------>> | | PURL with unique URL; | | | PURL | maintenance utilities | C | URL | SERVER | facilitate creation of | L | <<------------ | | PURLs and modification | I | +----------+ of associated URLs. | E | URL +----------+ | N | ------------>> | | | T | | RESOURCE | | | Resource | SERVER | | | <<------------ | | +--------+ +----------+

The redirection used in the OCLC PURL Service is a standard HTTP feature. Redirection keeps the OCLC PURL Server load light. For example, the single processor Sun4 file server that ran the OCLC PURL Service in April, 1996 could support over 50 resolutions per second on a 500,000 PURL database. In addition to performing redirection, the PURL Server could serve all/some documents directly. The key to the PURL Server is indirection, not redirection. That is, naming items to separate location from identification.

PURLs look just like URLs because they are URLs. A PURL has three parts: (1) a protocol, (2) a resolver address, and (3) a name. The following PURL examples use the same access protocol (http) to connect to the same PURL Resolver (purl.oclc.org) to resolve different names:

http://purl.oclc.org/keith/home http://purl.oclc.org/OCLC/PURL/FAQ http://purl.oclc.org/OCLC/OLUC/32127398/1 ---- ------------- -------------------- / | \ protocol resolver address name

Note that the resolver address is the IP address or domain name of the PURL

http://purl.oclc.org/docs/inet96.html (2 of 10)26/11/2005 20:04:33

Page 9: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Introduction to PURLs

Resolver. This portion of the PURL is resolved by the Domain Name Server (DNS). The name is user-assigned and resolved by the associated PURL Resolver as described above.

PURLs provide the means to assign a name for a network resource that is persistent, even if the item changes its actual location. For instance, when this paper was written, one of the author's home pages was located at <URL:http://www.oclc.org:5046/~shafer> and referred to by the PURL <URL: http://purl.oclc.org/keith/home>. If the home page later moves, only a single change to the PURL database is required and instances of the PURL in documents will remain valid. That is, if properly maintained, the PURL <URL:http://purl.oclc.org/keith/home> will always point to the current home page no matter where it is. Similarly, PURLs distributed in bibliographic records or by any other mechanism can remain viable over time without propagating the maintenance task to all instances of the records.

What makes a PURL Persistent?

While one can change what a PURL resolves to, one cannot change the PURL itself. This means that a PURL can last longer than any particular URL that may be associated with it. PURLs persist indefinitely, and as long as they do, all instances of such PURLs (for example, links in a Web document or a bibliographic record) remain valid. Of course, someone has to operate the PURL Resolvers that provide this persistence. If the associated URL of a PURL becomes outdated, resolution of the PURL may fail. However, the PURL and its full history will be available as long as the PURL Service itself is maintained.

It is important to note that persistence is a function of organizations, not technology. It is expected that a PURL Service will always be available to resolve the PURL. They are called PURLs instead of URLs (even though they are URLs) to emphasize that PURLs have more support than normal URLs. For instance, they show a commitment by organizations running PURL Resolvers to make the names persistent. OCLC has long been committed to facilitating access to the world's information, and that commitment stands behind PURLs, too. It is expected that other organizations with similar commitments to provide long term access to information will want to run PURL Servers as well: government agencies, publishers, libraries, and universities, for example.

PURLs and URNs

PURLs are a direct result of OCLC's work in the Uniform Resource Name (URN) standards and library cataloging communities. The assignment of PURLs is an intermediate step towards the time when URNs are an integral part of the Internet information architecture. The eventual syntax of URNs is clear enough at this time to afford confidence that the syntax of PURLs can be inexpensively and mechanically translated to the eventual URN form. For instance, the PURL

http://purl.oclc.org/keith/home ---- ------------- ----------

http://purl.oclc.org/docs/inet96.html (3 of 10)26/11/2005 20:04:33

Page 10: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Introduction to PURLs

/ | \ protocol resolver address name

could be written something like the following using the Path URN syntax:

URN:/org/oclc/purl/keith/home ------------- ---------- | | naming authority name

where the URN is essentially a hierarchical name with the first portion representing the naming authority and the second portion signifying the local name. Note that the naming authority in this example is merely the resolver address of the corresponding PURL written backwards (with slashes instead of dots) and the local name is the same.

Syntax aside, one way to think of URNs and PURLs is to consider what it would take to turn a PURL Server into a URN Server: very little. If Web browsers were changed to recognize the syntax URN:/org/oclc/purl/keith/home and could then connect to the resolver at purl.oclc.org, the resolver could then resolve the name /keith/home.

PURLs are not Proprietary

PURLs are not a proprietary solution for naming. PURLs introduce no new protocols and require no client modifications. Instead, PURLs use standard HTTP protocols to connect to PURL Resolvers and standard HTTP redirects to return information to the requesting client.

It is expected that several PURL Resolvers will be running around the world with each one responsible for resolving its particular name space. Moreover, because PURLs are a distributed, not centralized, solution, the name portion of a PURL need not be globally unique. Clearly these PURLs use different resolvers:

http://purl.oclc.org/keith/home http://purl.fake.com/keith/home

Some Technical Details

Some PURL terminology and administrative details are presented in this section for those interested in the technical aspects of PURLs. Those not interested in such details may want to skip to the next section.

PURL Domains

Domains are subdivisions of the name space on a PURL Resolver. They are very much

http://purl.oclc.org/docs/inet96.html (4 of 10)26/11/2005 20:04:33

Page 11: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Introduction to PURLs

like directories in a file system. The current implementation provides the ability to control who has write access (i.e., the ability to create PURLs, subdomains, etc.) within a domain. In the future, read access control will also be provided but for now, anybody can read (i.e., resolve) anybody else's PURLs.

There are two varieties of domains: top-level domains and subdomains.

● Top-level domains, as their name implies, occupy the top-level of the name space on a PURL Resolver. Users that own a top-level domain own and control access to that entire subdivision of the PURL Resolver's name space.

● Subdomains exist within top-level domains or other subdomains to any level of nesting. Users can create subdomains in any domain for which they have write privileges.

For example, the PURL <URL:http://purl.fake.com/A/B/C/document> has three domains, A, B, and C. A is a top-level domain, B is a subdomain of A and C is a subdomain of B.

Partial Redirection

The concept of partial redirection is the use of a domain as a prefix for a localized hierarchy of URLs. This is possible because a PURL Resolver will resolve as much of a PURL as it can find in its database and append the remainder (unresolved portion) to the end of the resolved URL. For example, if the PURL partial redirect

http://purl.foo.com/bar/

exists and is associated with the URL

http://your.Web.server/your/Web/root/

then an attempt to resolve

http://purl.foo.com/bar/some/stuff.html

will resolve to the URL

http://your.Web.server/your/Web/root/some/stuff.html

Using this concept a partial redirect can serve as the permanent name prefix for all the resources stored at a Web site or any hierarchical subset thereof. Every document stored under the server's Web root directory can then be accessed by appending its relative (i.e., the partial) path to the partial redirect. This would allow the site's users

http://purl.oclc.org/docs/inet96.html (5 of 10)26/11/2005 20:04:33

Page 12: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Introduction to PURLs

to use the partial redirect as the prefix for all documents at the site. In addition, relocating the entire Web site would require changing only the single partial redirect; users of the site would see no changes.

A partial redirect is a special-purpose PURL that acts like a domain. A regular domain has no associated URL. It is just part of a local name. While a partial redirect has a URL associated with it, that URL is not guaranteed (or even expected) to reference an actual resource. The URL associated with a partial redirect may only be a prefix common to the complete URLs of multiple resources. In contrast, the URL associated with a PURL is expected to reference a single actual resource.

Registered Users

Registered users of a PURL Resolver are people who have created a user ID and password on the PURL Resolver. To become a registered user, point a Web browser at a PURL Resolver and follow the resolver's instructions for becoming a registered user. The resolver should provide a form on which to enter a user ID and a password. Immediate confirmation will be given on the success or failure of the registration process.

Unregistered users can resolve and search a resolver for only universally-resolvable PURLs, domains, and partial redirects. A privately resolvable PURL, domain, or partial redirect is one that will only be resolved for designated registered users of the PURL Resolver on which it resides. (At the time this document was written, all PURLs were universally resolvable because read access control was under development.)

Groups

A group is a list of registered users, groups, or both. The special group all includes all registered users. There is also a wheel group with root as a member that can modify anything. When access control is fully implemented, there will be a special group which includes all registered and unregistered users.

Groups are mechanisms that allow users to organize and easily specify lists of registered users. This mechanism is useful for specifying access control information. In and of themselves, groups do not bestow new capabilities on their members. A group must be specified as a member of a PURL's, domain's, or partial redirect's read, write, or maintenance access control list to have any effect on its members.

Only registered users can create groups. To create a group, direct a Web browser to a PURL Resolver and follow the resolver's instructions for creating a group. The PURL Resolver should provide immediate feedback on the success of the group creation request.

Access Control Lists

An access control list is a list of registered users, groups, or both, that is associated with one and only one PURL, domain, or partial redirect. Access control lists are attributes of a PURL, domain, or partial redirect. There are 3 kinds of access control

http://purl.oclc.org/docs/inet96.html (6 of 10)26/11/2005 20:04:33

Page 13: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Introduction to PURLs

lists:

● read access control lists

❍ are created for PURLs, domains, and partial redirects

❍ allow their members to resolve the PURL, domain, or partial redirect

❍ members are called readers of the PURL, domain, or partial redirect

● write access control lists

❍ are created for domains

❍ allow their members to create PURLS, domains, and partial redirects within domains

❍ members are called writers of the domain

● maintenance control lists

❍ are created for PURLs, domains, and partial redirects

❍ allow their members to edit the PURL's, domain's, or partial redirect's other access control lists

❍ members are called maintainers of the PURL, domain, or partial redirect

Creating PURLs

A registered user can create a PURL provided that:

● The top-level domain of the name exists. Top-level domains cannot be created automatically. They require a request for manual intervention performed by the PURL Resolver's administrator.

● The user has write access to the top-level domain used in the name.

● The user has write access to the last existing subdomain in the name or all the subdomains in the name do not exist (in which case they are created automatically).

● The name does not already exist.

The creator of a PURL assigns the name component of the PURL. Names can be arbitrary. There need be no relationship between the name in a PURL and the URL associated with it. A PURL can look very different from its associated URL. For example, the PURL

http://purl.oclc.org/foo/bar

can have the associated URL

http://purl.oclc.org/docs/inet96.html (7 of 10)26/11/2005 20:04:33

Page 14: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Introduction to PURLs

http://my.address.org/very/long/path/name/and/obscure/file_name.txt

What Resources should have PURLs?

Users should assign a PURL to any discrete resource for which reliable access over time is desired. For example, a home page, an electronic journal, an individual article, or a paper are good candidates for a persistent name. Some dynamic resources such as "today's newspaper" or "closing price of Foo stock" are also good candidates.

Non-discrete resources such as sections within a document or charts or graphics that would not make sense outside the context of their containing document are not good candidates for PURLs. Temporary resources are also poor candidates.

Objects at the top of hierarchies of objects which might be moved as a unit are excellent partial redirect candidates. Depending on the underlying nature of the hierarchy, the lower-level objects may not require PURLs. For example, if the hypertext object hierarchy corresponds closely to the hierarchy of the objects in the underlying file system and the hypertext links are relative links based on the file system hierarchy, then a single PURL for the top-level object in the hierarchy is all that may be necessary.

To create a PURL, point a Web browser to a PURL Resolver and follow the resolver's instructions for creating a PURL. PURL Resolvers provide a form to fill out to create a PURL. This form should provide a default public domain with universal write access.

Maintaining PURLs

PURLs are not updated automatically when their associated URL changes unless some outside process is run to notify the corresponding PURL Resolver. A maintainer must update the information in the appropriate PURL Server when the associated URL changes. It is the responsibility of a PURL's owner and its maintainers to update the PURL when the associated URL changes.

PURL maintenance can be performed by connecting to a PURL Resolver using a Web browser and then using the PURL Resolver's maintenance forms to make the appropriate changes to the desired PURL. Only authorized PURL maintainers can modify a PURL.

A PURL maintainer can turn off PURL resolution. This is done by entering a new, empty, URL on the PURL maintenance form for the PURL in question. This will cause a history page to be returned when resolution of the PURL is attempted. A history page for a PURL contains administrative information accumulated over time and details about past associated URLs.

PURL maintenance is an important difference between PURLs and several URN proposals. In some URN proposals, a URN is a permanent name for a unique resource and only that resource forever. Some URN proposals would allow the same resource to

http://purl.oclc.org/docs/inet96.html (8 of 10)26/11/2005 20:04:33

Page 15: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Introduction to PURLs

move, but would not allow a different resource to be associated with the URN. PURLs make the name permanent, but allow the associated URL to change.

Using PURLs

Users can select (click on) a PURL on a Web page or in a document, and the PURL should be resolved to the associated URL, which the browser will then use to access the resource.

Users can put PURLs in Web pages, documents, or other resources with the confidence that the PURL will persist over time. The links will remain valid even if the associated URLs change. This does not mean that a PURL magically changes its own associated URL when the referenced resource moves--the maintainers of the PURL make this happen.

Users can submit a PURL (or even just part of a PURL) to the PURL Resolver to obtain more information about the PURL, the associated URL, or, in some cases, the resource itself.

The Future

PURLs have been assigned to records cataloged in the Internet Cataloging Project, the U.S. Department of Education-funded project to advance cataloging practice for Internet resources. This project represents the leading edge of MARC description of Internet resources, and has become the forum for discussion and development of standard practice in this new area of digital librarianship. (See the InterCat home page at <URL:http://purl.oclc.org/net/InterCat>.)

The OCLC PURL Service has been running since the beginning of January, 1996. As of March 28, 1996, it had serviced 178,000 resolution requests for the 5,500 PURLs in its local database for 5,000 different users.

Although a PURL Service is being run and maintained at OCLC, the PURL model lends itself to distribution across the net. Since the introduction of the PURL model and services, a number of institutions have expressed an interest in running their own PURL Servers. OCLC freely distributes the PURL source code to aid in rapid, wide distribution of this enabling technology. See <URL: http://www.oclc.org/oclc/purl/download> for details.

PURLs are a direct result of ongoing research at OCLC Online Computer Library Center, Inc. OCLC is a nonprofit computer library service and research organization whose computer network and services link more than 21,000 libraries in 63 countries and territories.

For further PURL information, please see

● The OCLC PURL Service at <URL: http://purl.oclc.org>,

http://purl.oclc.org/docs/inet96.html (9 of 10)26/11/2005 20:04:33

Page 16: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Introduction to PURLs

● The PURL demonstration page at <URL: http://purl.oclc.org/OCLC/PURL/demo>,

● The PURL FAQ at <URL: http://purl.oclc.org/OCLC/PURL/FAQ>, and

● The PURL-L mailing list described at <URL: http://purl.oclc.org/OCLC/PURL/PURL-L>.

Additional PURL project staff members include Eric Miller, Roger Thompson, Vince Tkac, and many others.

http://purl.oclc.org/docs/inet96.html (10 of 10)26/11/2005 20:04:33

Page 17: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

A Project of OCLC Research OCLC Online Computer Library Center

PURL

PURL Frequently Asked Questions

1.0 General Questions (Terminology and Philosophy) 1.1 What does PURL stand for? 1.2 What is a PURL? 1.3 What does a PURL do? 1.4 What does a PURL look like? 1.5 Why do we need PURLs? 1.6 What makes PURLs "persistent"? 1.7 What is a PURL resolver? 1.8 What is a domain? 1.9 What is a partial redirect or partial redirection? 1.10 What is the difference between a PURL, a domain, and a partial redirect?

2.0 Questions about Registering with a PURL Resolver 2.1 Who are registered users? 2.2 Should I become a registered user? 2.3 What can I do (or not do) as an unregistered user? 2.4 What can I do as a registered user? 2.5 How do I become a registered user?

3.0 Questions about Creating PURLs, Domains, and Partial Redirects 3.1 Can I create a PURL? 3.2 How do I create a PURL? 3.3 How is the name component of a PURL assigned? 3.4 How do I know if the PURL name I assign is unique? 3.5 What is the relationship between the name in a PURL and the URL associated with it? 3.6 Can I create a top-level domain? 3.7 How do I request the creation of a top-level domain? 3.8 Can I create a subdomain? 3.9 How do I create a subdomain? 3.10 Can a PURL and a domain have the same name? 3.11 Can I create a partial redirect? 3.12 How do I create a partial redirect? 3.13 What is the syntax of the name component of a PURL, domain, or partial redirect? 3.14 Can I delete a PURL?

http://purl.oclc.org/docs/purl_faq.html (1 of 20)26/11/2005 20:04:42

Page 18: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

3.15 Can I delete a domain? 3.16 Can I delete a partial redirect?

4.0 Questions about Access to PURLs 4.1 What is an access control list? 4.2 What is a group? 4.3 What are groups used for? 4.4 Who are group members? 4.5 Can I create a group? 4.6 How do I create a group? 4.7 How do I become a member of a group? 4.8 What can I do as a member of a group? 4.9 How do I designate members of my groups? 4.10 Who are the maintainers of a PURL, domain, or partial redirect? 4.11 How do I become a maintainer of a PURL, domain, or partial redirect? 4.12 What can I do as a maintainer of a PURL, domain, or partial redirect? 4.13 How do I designate the maintainers of my PURLs, domains, and partial redirects? 4.14 Who are the readers of a PURL, domain, or partial redirect? 4.15 How do I designate the readers of my PURLs, domains, and partial redirects? 4.16 Who are the writers of a PURL, domain, or partial redirect? 4.17 How do I designate the writers of my domains? 4.18 How do I become a reader or writer of a PURL, domain, or partial redirect? 4.19 What is a universally resolvable PURL, domain, or partial redirect? 4.20 What is a privately resolvable PURL, domain, or partial redirect? 4.21 How can I make a PURL, domain, or partial redirect universally or privately resolvable?

5.0 Questions about Using PURLs 5.1 What can I do with a PURL? 5.2 What sorts of objects should be assigned PURLs? 5.3 What sorts of objects should be assigned partial redirects? 5.4 Will OCLC be the gateway to my collection? 5.5 How can I tell whose PURL service resolves a specific PURL? 5.6 How can I save PURLs as bookmarks? 5.7 Can I use local references in conjunction with a PURL? (i.e., http://purl.foo.com/ME/HOME#LREF) 5.8 What happens to relative HREFs in documents retrieved via PURLs?

6.0 Questions about Maintaining PURLs 6.1 Are PURLs updated automatically when their associated URL changes? 6.2 Who keeps PURLs up-to-date with their associated URLs? 6.3 How do I update or maintain a PURL?

http://purl.oclc.org/docs/purl_faq.html (2 of 20)26/11/2005 20:04:42

Page 19: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

6.4 Who can modify a PURL's associated URL? 6.5 Does a PURL ever have more than one associated URL at a time? 6.6 Does a PURL have the same associated URL forever? 6.7 Is it possible for a given URL to be assigned multiple PURLs?

7.0 Questions about the Design of the PURL Service 7.1 Can PURLs fail? 7.2 Is this a proprietary or an open solution? 7.3 What is the relationship between PURLs and Uniform Resource Names (URNs) 7.4 Does a PURL server have to use redirection? 7.5 If PURLs are widely used, won't PURL servers become hopelessly overloaded? 7.6 Do PURLs impose additional network burdens or performance problems?

8.0 Questions about Running a PURL Service 8.1 How can I get the OCLC PURL software? 8.2 How do I install and run the OCLC PURL software 8.3 Can I build my own PURL server? 8.4 Where can I find the PURL software source code? 8.5 What platforms does the PURL resolver run on? 8.6 How do I build my own PURL server from the source code?

9.0 Further Information

1.0 General Questions (Terminology and Philosophy)

1.1 What does PURL stand for?

PURL stands for "Persistent Uniform Resource Locator."

1.2 What is a PURL?

Functionally, a PURL is a URL.

1.3 What does a PURL do?

Instead of pointing directly to the location of an Internet resource, a PURL points to an intermediate resolution service. The resolution service associates the PURL with the actual URL and returns that URL to the client, which can then complete the transaction in the normal fashion.

In Web parlance, this is a standard HTTP "redirect."

_______ PURL ---------- | | ------------>> | | Resolver associates PURL with | | | PURL | unique URL; maintenance

http://purl.oclc.org/docs/purl_faq.html (3 of 20)26/11/2005 20:04:42

Page 20: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

utilities | C | URL | SERVER | facilitate creation of PURLs and | L | <<------------ | | modification of associated URLs. | I | ---------- | E | URL ---------- | N | ------------>> | | | T | | RESOURCE | | | Resource | SERVER | | | <<------------ | | -------- ----------

1.4 What does a PURL look like?

PURLs look just like URLs because they are URLs. A PURL has three parts: (1) the protocol, (2) the resolver address, and (3) a name.

1. Protocol - The protocol used to access the PURL resolver. Note: This protocol may differ from that used to access the resource associated with the PURL.

2. Resolver address - The IP address or domain name of the PURL resolver. This portion of the PURL is resolved by the Domain Name Server (DNS).

3. Name - User-assigned name. Note: This name may differ from the name of the resource in the associated URL.

Here are a few examples of PURLs (some are hypothetical):

http://purl.oclc.org/OCLC/RSPD ---- ------------- --------- / | \ protocol resolver address name

http://purl.oclc.org/oclc/rsch/metadataII ---- ------------- -------------------- / | \ protocol resolver address name

http://purl.somewhere.edu/library/catalog ---- ------------------ --------------- / | \ protocol resolver address name

http://purl.org/keith/home ---- -------- ---------- / | \ protocol resolver address name

http://purl.org/net/weibel ---- -------- ---------- / | \

http://purl.oclc.org/docs/purl_faq.html (4 of 20)26/11/2005 20:04:42

Page 21: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

protocol resolver address name

http://purl.publisher.com/journal/article_id ---- ------------------ ------------------ / | \ protocol resolver address name

Here's a PURL taken from a record in the InterCat Catalog:

http://purl.oclc.org/oclc/oluc/32127398/1 ---- ------------- -------------------- / | \ protocol resolver address name

1.5 Why do we need PURLs?

Sometimes URLs do not work because Internet resources move, change names or method of access, or other reasons. Once a URL fails, all instances of that URL (for example, links in a Web document or a bibliographic record) become invalid.

1.6 What makes PURLs "persistent"?

They never change.

A PURL can be associated with any given resource/URL. While PURLs allow you to associate different URLs with them, the PURL itself never changes. Put another way, you can change what a PURL resolves to, but you can't change the PURL.

This means that a PURL can last longer than any particular URL that may be associated with it. PURLs persist indefinitely, and as long as they do, all instances of such PURLs (for example, links in a Web document or a bibliographic record) remain valid.

Of course, someone has to operate the PURL resolvers that provide this persistence, and that's the second source of persistence for PURLs. OCLC has long been committed to facilitating access to the world's information, and that commitment stands behind PURLs, too. We encourage others who decide to operate PURL resolvers to provide the same level of commitment so the PURLs they resolve are truly persistent.

1.7 What is a PURL resolver?

A PURL resolver is a service, available via standard HTTP 1.0 protocols, that facilitates the creation, maintenance, and resolution of PURLs.

1.8 What is a domain?

Domains are subdivisions of the name space on a PURL resolver. They are very much like directories in a file system. The current implementation provides the ability to control who has write access (i.e., the ability to create PURLs, subdomains, etc.) within a domain. In the future, read access control will also be provided but for now, anybody can read (i.e.,

http://purl.oclc.org/docs/purl_faq.html (5 of 20)26/11/2005 20:04:42

Page 22: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

resolve) anybody else's PURLs.

There are two varieties of domains: top-level and subdomains.

● Top-level domains, as their name implies, occupy the top-level of the name space on a PURL resolver. When you own a top-level domain, you own and control access to that entire subdivision of the purl resolver's name space.

● Subdomains exist within top-level domains or other subdomains to any level of nesting. You can create subdomains in any domain in which you have write privileges.

1.9 What is a partial redirect or partial redirection?

The concept of partial redirection is the use of a domain as a prefix for a localized hierarchy of URLs. This is possible because a PURL resolver will resolve as much of a PURL as it can find in its database and append the remainder (unresolved portion) to the end of the resolved URL. For example, if the partial redirect http://purl.foo.com/bar exists and is associated with the URL http://your.web.server/your/servers/web/root then an attempt to resolve the partial redirect PURL http://purl.foo.com/bar/some/other/stuff.html will resolve to the URL http://your.web.server/your/servers/web/root/some/other/stuff.html

Using this concept, you could create a partial redirect as the permanent name prefix for all the resources stored at a web site or any hierarchical subset thereof. For example, suppose you created the partial redirect described above. Every document stored under your server's web root directory could then be accessed by appending its relative (i.e. partial) path to the partial redirect. This would allow your site's users to use the partial redirect as the prefix for all documents at your site and allow you to relocate your entire web and change only the single partial redirect you created without your users needing to know anything about it.

1.10 What is the difference between a PURL, a domain, and a partial redirect?

A partial redirect is a special-purpose PURL that acts like a domain. A regular domain has no associated URL. While a partial redirect has a URL associated with it, that URL is not guaranteed (or even expected) to reference an actual resource. The URL associated with a partial redirect may only be a prefix common to the complete URLs of multiple resources. In contrast, the URL associated with a PURL is expected to reference a single actual resource.

2.0 Questions about Registering with a PURL Resolver

2.1 Who are registered users?

Registered users of a PURL resolver are people who have created a user ID and password on the PURL resolver.

2.2 Should I become a registered user?

If you want to be able to do any of these things, you must become a registered user.

http://purl.oclc.org/docs/purl_faq.html (6 of 20)26/11/2005 20:04:42

Page 23: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

Otherwise, you do not have to become a registered user.

2.3 What can I do (or not do) as an unregistered user?

Unregistered users can resolve and search a resolver for only universally-resolvable PURLs, domains, and partial redirects. They can not do these things.

2.4 What can I do as a registered user?

As a registered user, you can:

● Create PURLs and assign associated URLs.

● Update URLs associated with PURLs you own.

● Request the creation of top-level domains.

● Create subdomains.

● Create partial redirects.

● Create groups.

● Resolve and search for universally-resolvable PURLs as well as some privately-resolvable PURLs.

2.5 How do I become a registered user?

Point your Web browser to a PURL resolver, for example, OCLC's PURL resolver, and follow the resolver's instructions for becoming a registered user. The resolver should provide you with a form on which to enter a user ID and a password. Once you have received confirmation that your user ID and password have been accepted, you are a registered user of that PURL resolver.

3.0 Questions about Creating PURLs, Domains, and Partial Redirects

3.1 Can I create a PURL?

Yes. Anyone can create a PURL.

3.2 How do I create a PURL?

If you are not a registered user of the PURL resolver on which you want to create a PURL, you must become one. You are then able to create PURLs in domains of which you are a writer.

To create a PURL, point your Web browser to a PURL resolver, for example, OCLC's PURL resolver, and follow the resolver's instructions for creating a PURL. PURL resolvers provide a form for you to fill out to create a PURL. (This form should provide you with a default public domain in which you are allowed to create PURLs, so you don't have to go fishing for one.)

http://purl.oclc.org/docs/purl_faq.html (7 of 20)26/11/2005 20:04:42

Page 24: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

3.3 How is the name component of a PURL assigned?

As the creator of a PURL, you assign the name component of the PURL. Names can be fairly arbitrary (see examples, above). For example, the name oclc/rsch/metadataII can be read as "the resource metadataII in the subdomain rsch in the top-level domain oclc."

As registered user, you can create a name provided:

● The top-level domain of the name exists. Top-level domains cannot be created automatically - they require a request for manual intervention performed by the resolver's administrator.

● You are a registered user with write access to the top-level domain used in the name.

● Either you have write access to the last subdomain in the name or all the subdomains in the name do not exist (in which case they are created automatically).

● The name does not already exist.

3.4 How do I know if the PURL name I assign is unique?

The PURL resolver will not allow you to create a PURL if an identical PURL already exists. You can also search the resolver's database for the PURL you have in mind before you try to create it.

3.5 What is the relationship between the name in a PURL and the URL associated with it?

None.

A PURL can look very different from its associated URL. For example, suppose the URL for a resource is

http://my.address.org/very/long/path/name/and/obscure/file_name.txt

This URL can be associated with the PURL

http://purl.oclc.org/foo/bar

It is not necessary for the PURL name component to duplicate any portion of the associated URL.

3.6 Can I create a top-level domain?

Not directly. You can request the creation of a top-level domain by the administrator of a PURL resolver but there is no guarantee that your request will be granted. Each site running a PURL resolver may establish their own policy for allocating top-level domains.

There are no functions of a PURL resolver that require ownership of a top-level domain, so there is nothing you can do with a top-level domain that you can't do with a subdomain.

http://purl.oclc.org/docs/purl_faq.html (8 of 20)26/11/2005 20:04:42

Page 25: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

3.7 How do I request the creation of a top-level domain?

If you are not a registered user of the PURL resolver on which you want to define a top-level domain, you must become one. You can then request the creation of a top-level domain on the resolver by the resolver's administrator.

As the owner of a top-level domain or a subdomain, you have full administrative control over its accessibility, including the ability to define other readers, writers, and maintainers.

To request the creation of a top-level domain, point your Web browser to a PURL resolver, for example, OCLC's PURL resolver, and follow the resolver's instructions for creating a top-level domain. PURL resolvers provide a form for you to fill out to request a top-level domain. Submit the form and the resolver's administrator should notify you when your request has been granted or denied.

3.8 Can I create a subdomain?

Yes. Anyone can create a subdomain.

3.9 How do I create a subdomain?

If you are not a registered user of the PURL resolver on which you want to create a subdomain, you must become one. You are then able to create subdomains in domains of which you are a writer.

To create a subdomain explicitly, point your Web browser to a PURL resolver, for example, OCLC's PURL resolver, and follow the resolver's instructions for creating a subdomain. The PURL resolver should tell you immediately whether or not your subdomain was created successfully.

To create a subdomain implicitly, create a PURL which has a nonexistent subdomain in its name. If you are a writer of the last existing domain in the PURL's name, then the subsequent nonexistent subdomains will be created automatically during the creation of the full PURL name you requested.

3.10 Can a PURL and a domain have the same name?

Yes. This may be confusing at first, but it is an important feature to grasp. The best way to demonstrate is by example. Consider the following PURLs, each of which has a URL associated with it in the resolver:

1. http://purl.foo.com/net/jdoe

2. http://purl.foo.com/net/jdoe/bar

The first PURL's name, net/jdoe, is also the name of the domain in which the second PURL's name exists. This aspect of PURL naming differs from the common rule in file systems that does not allow a file and a directory to share a name.

3.11 Can I create a partial redirect?

http://purl.oclc.org/docs/purl_faq.html (9 of 20)26/11/2005 20:04:42

Page 26: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

Yes. Anyone can create a partial redirect.

3.12 How do I create a partial redirect?

If you are not a registered user of the PURL resolver on which you want to create a partial redirect, you must become one. You are then able to create partial redirects in domains of which you are a writer.

To create a partial redirect, point your Web browser to a PURL resolver, for example, OCLC's PURL resolver, and follow the resolver's instructions for creating a partial redirect. The PURL resolver should inform you of the success of your request immediately.

3.13 What is the syntax of the name component of a PURL, domain, or partial redirect?

The name component of a PURL, domain, or partial redirect uses the URL syntax with several exceptions:

● The "#" character is not allowed because...

● The "~" character is not allowed.

● Multiple consecutive "/" characters are collapsed into one.

● The "/" character is a legitimate final character in each, but required in a partial redirect name.

In short, only the following characters are allowed in the name component of a PURL, domain, or partial redirect:

● a-z lower-case Roman alphabetic

● A-Z upper-case Roman alphabetic

● 0-9 digits

● ^ caret

● % percent sign

● / slash

● $ dollar sign

● _ underscore

● . period

● + plus sign

● ! exclamation point

● * asterisk

● ' apostrophe

● ( left parenthesis

● ) right parenthesis

● ; semicolon

http://purl.oclc.org/docs/purl_faq.html (10 of 20)26/11/2005 20:04:42

Page 27: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

● @ commercial at

● & ampersand

● = equal sign

● , comma

● - hyphen

3.14 Can I delete a PURL?

No. No one can or should delete a PURL. A PURL can, however, be associated with a "null URL", i.e., no URL at all, in which case, a history page is returned when the PURL is resolved.

3.15 Can I delete a domain?

No. Once a domain is created it will persist indefinitely.

3.16 Can I delete a partial redirect?

No. No one can or should delete a partial redirect. A partial redirect can, however, be associated with a "null URL", i.e., no URL at all, in which case, a history page is returned when the partial redirect is resolved.

4.0 Questions about Access to PURLs

4.1 What is an access control list?

An access control list is a list of registered users, groups, or both, that is associated with one and only one PURL, domain, or partial redirect. Access control lists are attributes of a PURL, domain, or partial redirect. There are 3 kinds of access control lists:

● read access control lists (not yet implemented)

❍ are created for PURLs, domains, and partial redirects

❍ allow their members to resolve the PURL, domain, or partial redirect

❍ members are called readers of the PURL, domain, or partial redirect

● write access control lists

❍ are created for domains

❍ allow their members to create things within domains

❍ members are called writers of the domain

● maintenance control lists (not yet implemented)

❍ are created for PURLs, domains, and partial redirects

❍ allow their members to edit the PURL's, domain's, or partial redirect's other access control lists

http://purl.oclc.org/docs/purl_faq.html (11 of 20)26/11/2005 20:04:42

Page 28: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

❍ members are called maintainers of the PURL, domain, or partial redirect

4.2 What is a group?

A group is a list of registered users, groups, or both. The group all includes all registered users. When access control is fully implemented, there will be a special group which includes all registered and unregistered users.

4.3 What are groups used for?

Groups are mechanisms that allow you to organize and easily specify lists of registered users. This mechanism is useful for specifying other readers, writers, or maintainers of things you own. In and of themselves, groups do not bestow new capabilities on their members. A group must be specified as a member of a PURL's, domain's, or partial redirect's read, write, or maintenance access control list to have any effect on its members.

4.4 Who are group members?

Group members are registered users who are included in a group.

4.5 Can I create a group?

Yes. Anyone can create a group.

4.6 How do I create a group?

If you are not a registered user of the PURL resolver on which you want to create a group, you must become one. You are then able to create groups. You are not automatically a member of a group you have created unless you have included your own registered user ID in the group.

To create a group, point your Web browser to a PURL resolver, for example, OCLC's PURL resolver, and follow the resolver's instructions for creating a group. The PURL resolver should inform you of the success of your request immediately.

4.7 How do I become a member of a group?

The owner of the group must include your registered user ID or the name of another group of which you are a member in the group for you to be a member.

4.8 What can I do as a member of a group?

That depends entirely on how the group is used. If it is specified as a member of an access control list of a PURL, domain, or partial redirect, then you have corresponding access privileges. If the group is not used for anything, then your privileges have not expanded as a result of being a member.

4.9 How do I designate members of my groups?

http://purl.oclc.org/docs/purl_faq.html (12 of 20)26/11/2005 20:04:42

Page 29: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

As a registered user, you can create groups and specify which registered users are members of the groups you create by specifying their registered user id's, either explicitly or by specifying other groups.

4.10 Who are the maintainers of a PURL, domain, or partial redirect?

You and other users whom you designate in the maintenance access control list of the PURL, domain, or partial redirect are its maintainers. (The ability to designate other users as maintainers has not yet been implemented.)

4.11 How do I become a maintainer of a PURL, domain, or partial redirect?

Either by creating it yourself or by being designated in its maintenance access control list by its owner when this feature becomes available.

4.12 What can I do as a maintainer of a PURL, domain, or partial redirect?

As a maintainer of a PURL or partial redirect, when access control is fully implemented you will be able to specify:

1. who can resolve it

2. who can modify its URL

As a maintainer of a domain, you can now specify who can create things in it. When access control is fully implemented, you will be able to specify:

1. who can resolve things in it

2. who can create things in it

3. who can maintain (1) and (2)

4.13 How do I designate the maintainers of my PURLs, domains, and partial redirects?

As the owner of a PURL, domain, or partial redirect you will be able, in a future release of the PURL resolver software, to specify other maintainers for it when you create or maintain the PURL, domain, or partial redirect by including them in its maintenance access control list.

4.14 Who are the readers of a PURL, domain, or partial redirect?

You and those whom you designate in the read access control list of your PURL, domain, or partial redirect are its readers. Readers can resolve your PURL, domain, or partial redirect. Until read access control is implemented, anyone who can connect to the appropriate resolver can resolve your PURLs, domains, and partial redirects.

4.15 How do I designate the readers of my PURLs, domains, and partial redirects?

When read access control is implemented, each PURL, domain, and partial redirect will have a read access control list associated with it. You will be able to designate readers of each thing you own by specifying the members of its associated read access control list.

http://purl.oclc.org/docs/purl_faq.html (13 of 20)26/11/2005 20:04:42

Page 30: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

4.16 Who are the writers of a PURL, domain, or partial redirect?

You are the only writer of the PURLs and partial redirects you have created. (Creating a PURL or partial redirect is the same as writing it and can only be done once for any PURL or partial redirect.) You and those whom you designate in the write access control list are the writers of your domains. Writers can create PURLs, subdomains, and partial redirects in a domain.

4.17 How do I designate the writers of my domains?

Each domain has a write access control list associated with it. You can designate the writers of each domain you own by specifying the members of its associated write access control list.

4.18 How do I become a reader or writer of a PURL, domain, or partial redirect?

Either by creating it or by being included in its read or write access control list by its owner. Any access control list that includes the group all as a member includes every registered user on the PURL resolver as a member.

4.19 What is a universally resolvable PURL, domain, or partial redirect?

A universally resolvable PURL, domain, or partial redirect is one that anyone can get resolved or search a PURL resolver for. (With the current software, all PURLs are universally resolvable because read access control is not yet implemented.)

4.20 What is a privately resolvable PURL, domain, or partial redirect?

(This feature is not yet implemented - see universally resolvable PURLs, domains, and partial redirects. When it is implemented...) A privately resolvable PURL, domain, or partial redirect is one that will only be resolved for designated registered users of the PURL resolver on which it resides.

4.21 How can I make a PURL, domain, or partial redirect universally or privately resolvable?

This feature is not yet implemented, for now all PURLs are universally resolvable by default.

5.0 Questions about Using PURLs

5.1 What can I do with a PURL?

You can select a PURL that you find, for example, on a Web page or in a document, and the PURL will be resolved to the associated URL, which your browser will then use to access the resource.

You can put PURLs in Web pages, documents, or other resources with the confidence that the PURL will persist over time. Your links will remain valid even if the associated URLs change. (This does not mean that a PURL magically changes its own associated URL when the referenced resource moves, you must update your PURLs when this happens.)

http://purl.oclc.org/docs/purl_faq.html (14 of 20)26/11/2005 20:04:42

Page 31: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

You can submit a PURL (or even just part of a PURL) to the PURL resolver to obtain more information about the PURL, the associated URL, or, in some cases, the resource itself.

5.2 What sorts of objects should be assigned PURLs?

You should assign a PURL to any discrete resource that you want users to be able to access reliably over time. For example, a home page, an electronic journal, an individual article, or a paper is a good candidate for a persistent name. Some dynamic resources such as "today's newspaper" or "closing price of Foo stock" are also good candidates.

Non-discrete resources such as sections within a document or charts or graphics that would not make sense outside the context of their containing document are not good candidates for PURLs. Temporary resources are also poor candidates.

5.3 What sorts of objects should be assigned partial redirects?

Objects at the top of hierarchies of objects which might be moved as a unit are excellent partial redirect candidates. Depending on the underlying nature of the hierarchy, the lower-level objects may not require PURLs. For example, if the hypertext object hierarchy corresponds closely to the hierarchy of the objects in the underlying filesystem and the hypertext links are relative links based on the filesystem hierarchy, then a single PURL for the top-level object in the hierarchy is all that may be necessary.

5.4 Will OCLC be the gateway to my collection?

It is our goal to have PURL servers running world wide. These PURL servers would then be gateways for the respective local organizations. Your collection can be on any PURL server of your choosing, or spread across multiple PURL servers.

It is possible for PURL servers to service more than just the local organization. For instance, the OCLC PURL server already accepts and resolves external PURLs.

5.5 How can I tell whose PURL service resolves a specific PURL?

Look at the resolver address in the PURL. For example, in the hypothetical PURL http://purl.foo.com/NET/jdoe, the resolver address is purl.foo.com. If the resolver address is any of the following, then the PURL is resolved by OCLC's PURL service:

● purl.oclc.org

● purl.com

● purl.net

● purl.org

Otherwise, look at the last two segments of the resolver address in the PURL. These should indicate the organizational entity running the resolver for that PURL. For example, the resolver address purl.foo.com indicates that the com(mercial) organizational entity foo runs the resolver for this PURL.

5.6 How can I save PURLs as bookmarks?

http://purl.oclc.org/docs/purl_faq.html (15 of 20)26/11/2005 20:04:42

Page 32: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

Avoid using the "save-current-document-as-a-bookmark" feature of most browsers because this will save the URL, not the PURL, of the document. Note that when you access a document via a PURL, it causes a redirect to the associated URL. The URL, not the PURL, is what the browser associates with the "current document" it is displaying. Instead, you should use your browser's manual bookmark editing features to enter PURLs by hand. That way, the PURL, not the URL associated with it, becomes the bookmark.

5.7 Can I use local references in conjunction with a PURL? (i.e., http://purl.foo.com/ME/HOME#LREF)

There's more to this question than meets the eye. Let's break it down into manageable pieces.

First, the local reference (i.e. #LREF) is a directive to the HTTP client (browser). When you select a URL containing a local reference, only the portion of the URL preceding the local reference is requested from the HTTP server. It is the client's responsibility to act on this directive in relation to the requested document once the document is received. Therefore this behavior is dependent upon the client. Not all clients handle local references the same way.

PURLs can not contain local references because we do not allow them to contain the "#" character. Since browsers would not send the local reference (i.e., anything after and including a "#" character, such as #LREF) part of a PURL to the PURL resolver, there'd be no point in allowing it.

You can use local references appended to PURLs so that your browser attempts to locate the local reference within the document retrieved by the PURL, but some browsers (incorrectly) drop the local reference upon receiving the redirect from the PURL resolver (actually any redirect from any HTTP server) and therefore fail to act on the local reference directive when the actual document is received.

As a result, PURLs with local references appended to them, such as http://purl.oclc.org/OCLC/PURL/FAQ#toc6.0, resolve to (the beginning of) the document referenced by the PURL under some Web browsers. To determine how your browser behaves, try the example PURL above. If it takes you to the top of this document, then your browser is not handling local references correctly. If it takes you to section 6.0 of this document, then your browser is handling local references correctly. Either way, you should still end up with this document.

5.8 What happens to relative HREFs in documents retrieved via PURLs?

Suppose the PURL http://purl.foo.com/DOCS/bar maps to the URL http://www.foo.com/bar/baz.html and that your browser has just retrieved this document. When an anchor (HTML <A> tag) containing an HREF attribute whose value is not a fully-qualified URL (i.e., a "relative HREF" such as <A HREF="zap/frob.html">) is selected in the browser, the browser cobbles-together a fully qualified URL to send to an HTTP server. It uses the URL, not the PURL, of the containing document up to the last "/" and appends to it the value of the HREF attribute.

For example, the anchor <A HREF="zap/frob.html"> in the document http://www.foo.

http://purl.oclc.org/docs/purl_faq.html (16 of 20)26/11/2005 20:04:42

Page 33: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

com/bar/baz.html becomes the fully-qualified URL http://www.foo.com/bar/zap/frob.html sent out in a GET request from the browser. This means that the relative HREF above will not resolve to the PURL http://purl.foo.com/DOCS/zap/frob.html regardless of that PURL's existence. For this reason, do not use relative HREFs to try to reference PURLs when writing HTML documents.

Remember, relative HREFs are relative to the URL of the containing document, not the PURL it was retrieved with.

6.0 Questions about Maintaining PURLs

6.1 Are PURLs updated automatically when their associated URL changes?

No. You (or another maintainer) must update your PURL when the associated URL changes.

6.2 Who keeps PURLs up-to-date with their associated URLs?

It is the responsibility of a PURL's owner and its maintainers to update the PURL when the associated URL changes. You can update the URL associated with any PURL you created. In addition, you can update any PURL for which you are a maintainer.

6.3 How do I update or maintain a PURL?

You can perform PURL maintenance by connecting to a PURL resolver using a WWW browser and then using the PURL resolver's maintenance forms to make the appropriate changes to the desired PURL. The resolver will not allow you to modify a PURL unless you are an maintainer of the PURL.

6.4 Who can modify a PURL's associated URL?

Only maintainers can modify the URL associated with a PURL.

6.5 Does a PURL ever have more than one associated URL at a time?

No. PURLs are uniquely associated with a single URL at any given moment. Over time, however, the associated URL can change. In other words, a PURL may have many URLs associated with it over time, but only one at a time.

6.6 Does a PURL have the same associated URL forever?

No. The owner of a PURL can change the associated URL at will.

This is a particularly important difference between PURLs and several URN proposals. In some URN proposals, a URN is a permanent name for a unique resource and only that resource forever. Some URN proposals would allow the same resource to move, but would not allow a different resource to be associated with the URN.

6.7 Is it possible for a given URL to be assigned multiple PURLs?

http://purl.oclc.org/docs/purl_faq.html (17 of 20)26/11/2005 20:04:42

Page 34: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

Yes. This will happen when a user creates PURLs on several PURL resolvers and each of these PURLs has the same associated URL. We hope that common sense and etiquette will prevent most users from creating multiple PURLs on the same server, each of which has the same associated URL.

7.0 Questions about the Design of the PURL Service

7.1 Can PURLs fail?

A PURL is only as good as its associated URL. If the associated URL becomes outdated, it will fail. However, the PURL and its full history will always be available.

The PURL resolver maintenance component is designed to facilitate the upkeep of PURLs.

7.2 Is this a proprietary or an open solution?

PURLs are based upon widely accepted and deployed, open Internet protocols.

It is anticipated that organizations other than OCLC will run PURL servers. Libraries, government organizations, and publishers are examples of organizations that may elect to become PURL resolvers, either using tools from OCLC or developing their own.

7.3 What is the relationship between PURLs and Uniform Resource Names (URNs)

URNs are under development under the auspices of the Internet Engineering Task Force (IETF).

The PURL work has been strongly influenced by OCLC's active participation in the IETF Uniform Resource Identifier working groups. There is nothing incompatible between PURLs and ongoing URN work. OCLC will continue to participate actively in the consensus building process concerning URNs in the IETF and will support the results of that process as it is deployed.

PURLs satisfy most of the requirements of URNs in a technology that is deployed today. This technology can be applied to the task of maintaining catalogs of Internet resources today, and can be transitioned smoothly into the URN architecture once it is deployed.

Section 6.6 relates an important difference between PURLs and several URN proposals.

7.4 Does a PURL server have to use redirection?

No, a server can choose to return the document directly. The OCLC PURL Service uses redirection to reduce the load on the PURL resolver. Indirection, not redirection, is the key. Even if the PURL server returns the document from its own storage, the PURL of the document does not necessarily correspond to its actual location.

7.5 If PURLs are widely used, won't PURL servers become hopelessly overloaded?

The PURL architecture is based on existing distributed technology: the Domain Name Service (DNS) and the HyperText Transport Protocol (HTTP). Servers can be distributed

http://purl.oclc.org/docs/purl_faq.html (18 of 20)26/11/2005 20:04:42

Page 35: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

widely, run by a wide spectrum of organizations with a commitment to maintaining persistent naming schemes (Libraries, government organizations, publishers and others).

7.6 Do PURLs impose additional network burdens or performance problems?

The benefits of the additional level of indirection provided by the PURL service come at the price of additional network traffic (two network round trips instead of one). This is no less true for any name resolution service that might be implemented in the future. This is is a reasonable and low-cost tradeoff for increased link reliability and decreased catalog maintenance burdens.

8.0 Questions about Running a PURL Service

8.1 How can I get the OCLC PURL software?

If possible, please download the distribution from here.

Otherwise:

1. Establish an FTP connection to ftp.rsch.oclc.org.

2. When asked for an account name, enter anonymous.

3. When asked for a password, enter your e-mail address.

4. Enter bin to ensure binary transfer mode.

5. Enter cd shafer/purl

6. Enter dir

7. Enter get PURL.xx.yy.arch.tar.ctype where xx.yy is the highest release number, arch is the os-cpu combination that works best for you, and ctype is either gz (gzipped) or Z (compressed) depending on which type you can uncompress.

8. When the transfer completes, enter quit to disconnect the FTP connection.

In either case, please let us know if you bring-up a PURL resolver service so we can notify you of new releases and let others know about your service.

Also, please let us know about bugs, bug fixes, enhancements, and ports so we can continue to improve the software for everyone.

8.2 How do I install and run the OCLC PURL software

See the files README and INSTALL included with the OCLC PURL software distribution.

8.3 Can I build my own PURL server?

Absolutely. We expect others to build similar tools and services.

8.4 Where can I find the PURL software source code?

The OCLC PURL Resolver Software distribution includes the complete source code.

http://purl.oclc.org/docs/purl_faq.html (19 of 20)26/11/2005 20:04:42

Page 36: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL FAQ

8.5 What platforms does the PURL resolver run on?

The PURL code has been built and tested on the following platforms (OS/CPU/compiler):

● SunOS 4.1.3/SPARC/g++ 2.7.0

● Solaris 2.5/SPARC/g++ 2.7.0

● AIX 3.2/RS6000/cc

● Linux 1.2.13/Intel/g++ 2.7.0

It has also been tested on:

● Solaris 2.4/SPARC

● AIX 4.1/RS6000

8.6 How do I build my own PURL server from the source code?

See the files INSTALL and PORTING in the OCLC PURL Resolver Software distribution.

9.0 Further Information

See also:

● The PURL Home Page

● A PURL Overview

● The PURL mailing list

Contacts:

For research directions, comments, and early adoption, send mail to [email protected].

PURLs are a result of ongoing research at OCLC Online Computer Library Center, Inc. OCLC is a nonprofit computer library service and research organization whose computer network and services link more than 21,000 libraries in 63 countries and territories. Please visit the OCLC PURL Service if you want to find out more about PURLs, download the PURL code, or see PURLs in action.

http://purl.oclc.org/docs/purl_faq.html (20 of 20)26/11/2005 20:04:42

Page 37: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

OCLC PURL Resolver software download [OCLC - PURL]

About OCLC News and Events Membership Contacts Support Ordering Site Map

United States

PURL Persistent URLs and the OCLC PURL Service

OCLC PURL Resolver

Research : Projects : PURL : OCLC PURL Resolver software download

OCLC PURL Resolver software download

Thank you for your interest in OCLC's PURL Resolver Software. Before you download the code, you should read and agree to the license that pertains to this version of the OCLC PURL Resolver Software.

Please let us know if you're running a PURL Resolver. In this way, we can keep you informed about code changes and let others know about your service. Also, please contact us at [email protected] or the PURL-L discussion list about bugs, bug fixes, enhancements, and ports so we can continue to improve the software for everyone.

Download the code

To download the OCLC PURL Resolver Software, select the version you want from the list below. The code is currently precompiled for Solaris, AIX, and Linux, although the complete source is included with each distribution.

Note: you may have to shift-click on the links to force your browser to save the file to disk instead of trying to view it.

Version 2.13 Version 2.14 Version 2.15 (newest)

Sourcegzipped (5.2 MB)

compressed (8.2 MB)

gzipped (5.4 MB)

compressed (8.5 MB)

gzipped (9.1 MB)

compressed (14.4 MB)

Solaris 2.6gzipped (6.0 MB)

compressed (9.3 MB)

gzipped (6.0 MB)

compressed (9.3 MB)

gzipped (9.1 MB)

compressed (14.4 MB)

AIX 4.3gzipped (6.6 MB)

compressed (10.4 MB)

gzipped (6.8 MB)

compressed (10.7 MB)

Linuxgzipped (5.7 MB)

compressed (8.2 MB)

gzipped (6.0 MB)

compressed (9.3 MB)

Create a directory for this and future PURL distributions

If this is a first-time installation, create a directory in which the OCLC PURL Resolver Software distribution hierarchy (and that of subsequent distributions) will be unpacked. The directory you create is where this and all subsequent PURL distributions will reside and be run from. Each distribution will reside completely within a subdirectory of the directory you create.

If the directory you create is /foo/purl, then you will end-up with a directory hierarchy that looks something like the following where dist-1 is release 1 of the software, dist-2 is release 2 of the software and live is a symbolic link to the current production release (dist-1 or dist-2).

"/"

http://www.oclc.org/research/projects/purl/download.htm (1 of 2)26/11/2005 20:04:45

Page 38: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

OCLC PURL Resolver software download [OCLC - PURL]

software download

/ | \ foo bar ... / / purl / | \ / | \live dist-1 dist-2 ...

Unpack the distribution under the PURL distributions directory

1. Change directory to the PURL distributions directory (See previous step)2. Put the distribution file in this directory3. Uncompress the distribution using either:

❍ gunzip PURL.xx.yy.ARCH.tar.gz or❍ uncompress PURL.xx.yy.ARCH.tar.Z

4. Untar the distribution: tar xvf PURL.xx.yy.ARCH.tar ❍ This will unpack the distribution into a subdirectory named dist-xx.yy. Unpacking the same

distribution a second time will destructively overwrite the contents of the dist-xx.yy subdirectory if one already exists.

Read the README and INSTALL documents included in the distribution

These documents will guide you the rest of the way through the installation of the PURL Resolver Software. Note that it is assumed that you have read and agreed to the license that pertains to this free version of the OCLC PURL Resolver Software.

History

PURLs are a result of ongoing research at OCLC. Please visit the OCLC PURL Service if you want to find out more about PURLs or see PURLs in action.

Research OCLC Top 1000 ResearchWorks About Research People Announcements Programs Publications Presentations Software Projects

OCLC Worldwide | Careers at OCLC | Feedback | Privacy Policy | ISO 9001 Certificate

©2005 OCLC Online Computer Library Center

OCLC 6565 Frantz Road, Dublin OH USA 43017-3395 [email protected] 1-614-764-6000 USA 1-800-848-5878

http://www.oclc.org/research/projects/purl/download.htm (2 of 2)26/11/2005 20:04:45

Page 39: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL List Request

A Project of OCLC Research OCLC Online Computer Library Center

PURL

PURL discussion list

The PURL-L list is for the discussion of the OCLC PURL Resolver Software. This includes bugs, suggested improvements, and its overall role in the quest for URNs.

Topics covered in this document:

● Subscribing

● Unsubscribing

● Getting the PURL-L list info page

Subscribing

To subscribe, send an e-mail message to [email protected] containing the following message body (not subject - subject is irrelevant):

SUB PURL-L your name

Send this message from the machine on which you usually run your mail client program because some listserv commands which require authentication or confirmation will fail if run from a different machine than the one you subscribed from.

As a rule, send all listserv commands to [email protected] and all posts to [email protected].

Unsubscribing

To unsubscribe, send an e-mail message to [email protected] containing the following message body (not subject - subject is irrelevant):

UNSUB PURL-L

http://purl.oclc.org/docs/subscribe.html (1 of 2)26/11/2005 20:04:47

Page 40: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL List Request

Further information

For further information about the list, send an e-mail message to [email protected] containing the following message body:

INFO PURL-L

http://purl.oclc.org/docs/subscribe.html (2 of 2)26/11/2005 20:04:47

Page 41: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Using the LINK element in HTML documents to indicate a page's PURL

A Project of OCLC Research OCLC Online Computer Library Center

PURLS

Using the LINK element in HTML documents to indicate a page's PURL

Date Modified: 2005-02-07

Install the firefox extension. 4.2 kb Once installed, simply use your bookmarks normally. If a page has a Link Purl, it'll 'Do The Right Thing.' You can test the extension on this page, and this other page. You can use this image to indicate that your page is Purl Friendly.

<a href="http://purl.org/net/linkpurl"><img src="http://purl.org/maint/badge_purl.gif" alt="Purl Friendly" height="17" width="117"></a>

Bookmarking a page that has a PURL is difficult. The user must know about the PURL and must manually create the bookmark. It would be very nice if the user agent provided a means to bookmark the PURL instead of the real URL. To do this, the agent would need to know the PURL. While agents could figure this out while resolving a PURL, it would be much easier if each page specified its own PURL internally. This is done most easily by using the LINK element, with the 'rel' attribute set to 'purl'. What follows is an RFCish description of how user agents should deal with PURLs.

Definitions:

PURL Persistent Uniform Resource Locator

LINK PURL A URL in the HREF attribute of a LINK element with rel="purl"

ANCHOR PURL A URL in the HREF attribute of an A element with a URI authority known to be a PURL server and that when resolved returns an HTTP 302 response.

REAL URL The URL returned by a PURL server in an HTTP 302 response.

If a user bookmarks a page with a LINK PURL, the agent MUST save the the PURL as the URL to be resolved when the bookmark is selected. When a page with a LINK PURL is bookmarked, the REAL URL SHOULD be saved as well, but not as the URL to be resolved. If the agent does save the REAL URL, it MUST save the most recent REAL URL returned by the PURL server.

When an agent resolves an ANCHOR PURL, and there is

http://purl.oclc.org/maint/linkpurl.html/ (1 of 3)26/11/2005 20:04:52

Page 42: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Using the LINK element in HTML documents to indicate a page's PURL

no LINK PURL in the returned page, it SHOULD behave as though the ANCHOR PURL is a LINK PURL in the returned page.

In the diagram below, AP is an ANCHOR PURL in a webpage. Resolving AP returns an HTTP 302 response containing the REAL URL, R(AP). Resolving R(AP) returns a page containing a LINK PURL, LP. Resolving LP returns an HTTP 302 response containing R(LP).

If AP and LP are the same, then there are no conflicts. If AP and LP are different, but R(AP) and R(LP) are the same, then LP SHOULD be used by the agent for display and bookmarking. However, if R(AP) and R(LP) are different, then AP SHOULD be used for display and bookmarking.

Reasoning: If R(AP) and R(LP) are the same, then two different PURLs resolve to a single REAL URL. The LP is in the page, and presumably selected by the author of the page, and should be used. If R(AP) and R(LP) are different, but R(AP) actually returned the page, then it can be assumed that LP is incorrect, and AP should be used.

http://purl.oclc.org/maint/linkpurl.html/ (2 of 3)26/11/2005 20:04:52

Page 43: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Using the LINK element in HTML documents to indicate a page's PURL

http://purl.oclc.org/maint/linkpurl.html/ (3 of 3)26/11/2005 20:04:52

Page 44: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL Info Page

A Project of OCLC Research OCLC Online Computer Library Center

PURLS

Persistent URL Information Page

● The PURL Demonstration Page

● PURL Sightings

● PURL Servers at Other Sites

● Information about The Handle System

● The PURL Handle System Demonstration Page

● Known Problems

Go to the PURL Resolver's Home Page

http://purl.oclc.org/more_info.html26/11/2005 20:04:53

Page 45: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Creating Your First PURL

A Project of OCLC Research OCLC Online Computer Library Center

PURLS

Creating Your First PURL

There are 2 steps necessary to create your first PURL: 1. Register as a user of this PURL resolver

Only the registered users of a PURL resolver can create PURLs on it. Therefore, before you can create a PURL, you must register as a user of the PURL resolver on which you wish to create a PURL. To become a registered user of this PURL resolver, complete the user registration form.

Although you may never need to use more than one PURL resolver, if you do you must register as a user of each different PURL resolver you use. Registering as a user of this resolver does not register you on any other resolvers. Sometimes, the registered users of a PURL resolver are called "locally registered users" or "local users" to emphasize this point.

2. Create the PURL After you have become a registered user of a PURL resolver, you can create PURLs on it. To create a PURL on this PURL resolver, start by completing the Preliminary PURL creation form.

Once you have registered as a user and created your first PURL, you have mastered the essentials of using a PURL resolver. These and other interactive features of this resolver are available from its home page and all are used similarly.

Go to the PURL Resolver's Home Page

http://purl.oclc.org/getting_started.html26/11/2005 20:04:55

Page 46: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL User Registration Form

A Project of OCLC Research OCLC Online Computer Library Center

PURLS

User Registration Form

ConceptsTo create a PURL on this resolver, you must first register as a user of this resolver. If this is not what you want to do, please see the home page of this PURL resolver for more information and options.

Registered user information consists of an ID, password, e-mail address, affiliation, and a password hint.

The ID and password you register are used to authenticate all transactions you generate against this PURL resolver's database. You can select your own user ID and Password. User IDs are restricted to the alpha-numeric characters plus '-' (dash) and '_' (underscore). Once entered, a user ID can not be modified, but all other user information can. Your password prevents unauthorized use of your user ID for creating and modifying PURLs, domains, and groups.

Affiliation represents any organization that may be associated with the user ID. The e-mail address is used to notify you of any problems with the resolver or the status of the PURLs created with this user ID. The password hint should be a word or phrase that can be sent to you as a reminder if you ever forget your password.

InstructionsTo register as a user of this PURL resolver, provide the requested information in the fields below. Enter an E-mail Address at which you can be notified of any problems with the resolver or the status of the PURLs you have created. Choose your own User ID and Password. User IDs are restricted to the alpha-numeric characters plus '-' (dash) and '_' (underscore). Enter a word or phrase in the Password Hint field that can be sent to you as a reminder if you ever forget your password. Select the Register button when the information is complete

Your Name

Affiliation

E-mail Address required

ID required

http://purl.oclc.org/maint/register.html (1 of 2)26/11/2005 20:04:57

Page 47: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL User Registration Form

Password required

Verify Password (enter password again) required

Password Hint required

Go to the PURL Resolver's Home Page

http://purl.oclc.org/maint/register.html (2 of 2)26/11/2005 20:04:57

Page 48: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Links to Create PURLs, Groups, or Domains

A Project of OCLC Research OCLC Online Computer Library Center

PURLS

Links to Create PURLs, Groups, or Domains

● Create a PURL

● Create a partial redirect

● Create a group

● Request a top-level domain

● Create a sub-domain

If you can't find what you're looking for, try the Power User's Page.

Go to the PURL Resolver's Home Page

http://purl.oclc.org/maint/create_all.html26/11/2005 20:05:00

Page 49: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL Modify Page

A Project of OCLC Research OCLC Online Computer Library Center

PURLS

Persistent URL Modification Page

● Modify a user's information

● Modify a group

● Modify a PURL

● Modify a domain

If you can't find what you're looking for, try the Power User's Page.

Go to the PURL Resolver's Home Page

http://purl.oclc.org/maint/modify_all.html26/11/2005 20:05:02

Page 50: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL Search Page

A Project of OCLC Research OCLC Online Computer Library Center

PURLS

PURL Search Page

Search this Resolver for:

● PURLs

● user information

● group information

● domain information

Go to the PURL Resolver's Home Page

http://purl.oclc.org/maint/search.html26/11/2005 20:05:03

Page 51: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL Validation

A Project of OCLC Research OCLC Online Computer Library Center

PURLS

PURL Validation

See the validation documation README.html for more information on general validation and running batch validation jobs.

Validate PURLs

● Validate PURLs by PURL, URL, and/or Maintainer

● Validate PURLs by previous validation results

● Validate PURLs by hand entering the PURLs

View previous results

● View previous PURL validation results by PURL, URL, and/or Maintainer

● View previous PURL validation results by previous validation results

● View previous PURL validation results by hand entering the PURLs

Go to the PURL Resolver's Home Page

http://purl.oclc.org/maint/validate/26/11/2005 20:05:05

Page 52: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

PURL Power User's Page

A Project of OCLC Research OCLC Online Computer Library Center

PURLS

Persistent URL Power User's Page

Account Creation and Maintenance

● Register a new user

● Modify user information

● Search user information

PURL Creation and Maintenance

● Create a PURL

● Create a partial redirect PURL

● Modify a PURL

● Chain a PURL

● Clone a PURL

● Batch add PURLs

● Batch modify PURLs

● Search PURL metadata

● PURL Validation

Group Creation and Maintenance

● Create a new group

● Modify group information

● Search group information

Domain Creation and Maintenance

● Request a top-level domain

● Create a subdomain in an existing domain

● Modify existing domain information

● Search domain information

Search this Resolver for:

● Search PURL metadata

● Search user information

● Search group information

● Search domain information

Documentation

● Frequently Asked Questions

● Known Problems

Contact Information

● Mail PURL Site Administrator

● Mail PURL Software Team at OCLC

Go to the PURL Resolver's Home Page

http://purl.oclc.org/maint/power.html26/11/2005 20:05:07

Page 53: A Project of OCLC Research OCLC Online Computer Library Center … pp PURL.pdf · 2008. 3. 4. · OCLC Research updates its popular list of the top 1000 works held by libraries OCLC

Contributors

A Project of OCLC Research OCLC Online Computer Library Center

PURL

The PURL Team

[email protected] Problems

Jon Fausey Programming and Documentation

Erik Jul Design, Marketing and InterCat Integration

Eric Miller Design and Use

Keith Shafer Project Manager

Roger Thompson Programming and Documentation

Vince Tkac Programming and Design

Stu Weibel Design and External Liaison

Jeff Young Support

Contributors

Lori Burrington Mark Crook Steve Driscoll

Julie Gay Ralph LeVan Rick Limes

Tod Matola Bill McKelvey Alex Meske

Dave Morris Terry Noreault Larry Phelps

Bill Rogge Rick Smith Laura Toms

Back to PURL Home Page

http://purl.oclc.org/docs/contributors.html26/11/2005 20:05:09