The Fedora Web Administrator provides a web-based user interface to perform repository administration. The application, which was built using Adobe Flex, uses a Flash plugin to run within a web browser. All coordination with the Fedora repository is performed using the Fedora REST API. The Fedora Web Administrator can be used to discover, display, ingest, modify, and purge objects and datastreams within a Fedora Repository.
Fedora 3.2+ Required
The Fedora Web Administrator depends on the Fedora REST API, and specifically on modifications made to this API for Fedora 3.2. For this reason the Fedora Web Administrator will not function correctly if you attempt to use it with a pre-3.2 Fedora Repository.
In Fedora 3.2, the Fedora Web Administrator is considered to be in Beta. If you find a bug, please report it on the Fedora Repository tracker or on the Fedora Users mailing list. Please be sure to indicate the browser being used when you encountered the issue.
Starting the Fedora Web Administrator
Ensure that the Fedora Repository (version 3.2+) has been started. Start a web browser (preferably Mozilla Firefox) and enter the URL http://localhost:8080/fedora/admin, replacing the protocol, host, port, and context to be appropriate to your installation.
The first task in using the Fedora Web Administrator, is connecting to a Fedora Repository. You will need to select the protocol (http or https) and enter the host, port, and context of your running Fedora. (If you plan to connect to Fedora using a protocol, host, or port which is different from the protocol, host, and port on which the Web Administrator was loaded, see the Flash Security section below.)
After you enter your connection information and click Ok, the Web Administrator will connect to the Fedora Repository. Note that you can select the button on the top right corner (which displays the connection options you selected) at any time to connect to a different repository.
The interface of the Web Administrator is divided into two parts. The section on the left provides a slider with Search and Object menus. These menus provide tools that help you either retrieve a digital object which is already in the repository, or add a new object to the repository. The section on the right of the Web Administrator interface is where tabs are made available with search results and object information.
The Object Menu provides three options for working with digital objects. If you know the PID of the object you want to view, simply type that PID into the space provided under the Open Object heading and select Open. This will open the object in a new tab, or if the object has already been opened, it will be selected.
If you want to create a new object, you can do so using the Create Object option. Under the Create Object heading, enter the PID and/or Label for your new object and click Create New Object. This will create a new empty object for you, which you can then update to include all of the necessary information.
If you already have an object defined in XML format, you can use the Ingest Object option. First select the format of the object you plan to ingest, then choose Ingest Object and a dialog will be provided for you to select your object file.
In most browsers (not IE) the file upload dialog is produced as a pop-up window, so if your browser blocks pop-ups, you may need to add an exception or turn off pop-up blocking temporarily in order to use this feature.
The internal format for all objects in Fedora is FOXML 1.1, so any object ingested in another format will be converted to FOXML 1.1 upon ingest. You can always export the object again using any of the available export formats, but the conversion process may produce XML which is slightly different from your original.
The Search Menu provides a way to perform simple searches over object properties and Dublin Core fields (contained in the DC datastream) in order to discover and locate objects in your repository.
To perform a search, select the Search heading to open the Search menu. Then enter your search term (or leave the box blank to search for all objects) and click Search. You also have the option of selecting the fields which you would like to see as part of the result listing.
The results of your search will be opened in a new tab with the results in a table. Selecting any of the table headers will sort the results (on that page). The columns of the table can be reordered and re-sized to make reading easier. To see the next page of results, click on the More Results button.
Selecting any of the rows in the results table will open the corresponding object.
Working with Objects
When an object has been selected, through either the Object menu or search results, it will be opened in a new tab. If a tab for that object is already open, it will be selected. On the object tab you can view and change the properties of the object. You also have the option to export the object (in any of the various formats available), view the XML of an object (in FOXML 1.1 format), or purge the object from the repository. Also on the object tab is the list of datastreams stored as part of the object.
Selecting a datastream from the list will open a dialog to display the properties of the datastream.
From the datastream dialog you have the option to update any of the properties. If the datastream is text or XML, you have the option to edit that content directly by selecting Edit Content.
If the object is an image, you have the option to view the image by selecting View Content.
Select Export Content to download the datastream content. To replace the contents of the datastream, select Replace Content which, depending on the control group of the datastream, will give you different options for replacement.
To add a new datastream, select Add Datastream on the object tab. This opens a new dialog which allows you to specify the details of the new datastream. Selecting the control group will change the available options for including content with the datastream.
After a datastream is added it will be included on the object's datastream list.
If the number of object tabs exceeds the space available for tabs, you can use the drop-down list on the top right to select tabs by name. You also have the option of closing tabs or reorganizing them by dragging them to a new position.
The Web Administrator uses the Fedora REST API to perform all requests, so all actions pass through Fedora security, including user authorization and XACML policy enforcement, prior to being permitted.
Authentication for the Web Administrator is handled by the browser, so the dialog used to prompt for your username and password will differ from browser to browser. Note that since the browser is storing the authentication credentials you may be able to run multiple instances of the Web Administrator across browser windows or tabs without having to re-authenticate. In order to "log out" you will need to end your browser session which, in most cases, requires either closing your browser or using a feature of the browser to clear authenticated sessions.
The timing of when you are prompted for credentials in the Web Administrator depends on how authentication is configured within your Fedora Repository. If API-A auth is enabled, you will be prompted on your first connection. However, if API-A auth is disabled, you will not be prompted to authenticate until you perform an API-M function. (Note that getDatastream, which is used to retrieve datastream information, is considered to be an API-M function.)
The Web Administrator runs inside of a Flash player in your browser and is thus subject to the security constraints imposed by this player. A few of these restrictions are listed here:
- HTTP connections made using SSL can only be made if the flash application was originally loaded via SSL. What this means is that if you want to connect to Fedora using the https protocol option, you need to connect to the Web Administrator using https. Simply put, before selecting the https protocol option in the connect dialog, make sure that the URL in the browser window already begins with https.
- Flash clients are not allowed to make HTTP requests to external services without explicit permission being given by those services. What this means is that if you are running a Web Administrator on a server which uses a different host or port than your Fedora Repository server, you will need to set up a permissions file, called crossdomain.xml, for your Fedora Repository. This file gives applications running in a Flash player the permission to make use of services provided by that server. This file will need to be available at the root of the domain, such as at http://localhost:8080/crossdomain.xml. An example crossdomain.xml file can be found on your Fedora server at http://host:port/fedora/admin/crossdomain.xml. While the example allows access to any Flash player, you have the option of placing limits on who will have access to your services. More information about crossdomain.xml files can be found on Adobe's website.