Pierre Tutorials

Pierre Tutorial Overview

What is Pierre and what can it do?

Pierre is a tool that allows for the generic autogeneration of browsing and searching services. Designed and implemented by the University of Manchester, this product is a follow on from the successful Pedro project. As with Pedro, Pierre is entirely Java based. Although we would certainly encourage you to use Pedro for your data modelling AND data capture, Pierre has been designed to take most XML schemas and generate a service with it, even if that schema has not been created with Pedro. In the first release, Pierre has only been tested on Windows.

Pierre has several components to them, each intended for different kinds of users. Users of Pierre fall into three categories: service designers, repository designers and end users. In practice, these may be the same person but it is likely that in the majority of cases they will not be. Service designers will use the configuration tool which is the core of Pierre; it is from this that the various service aspects are autogenerated. These services consist of interfaces for browsing and searching over data repositories (databases). These interfaces consist of a web interface, a standalone application, a text menu based apllication, and a command line service. The api for Pierre can also be used for imbedding Pierre's capabilities within existing frameworks. Repository designers deal with hooking up back end technologies to Pierre services. End users use the services deployed by Pierre.

Service Descriptions

Services generated by Pierre allow end users to browse over data in a data repository and to perform simple, advanced, and expert searches. It is important to realize that not all the services will have all the same functionality - this is due primarily to the nature of the technology used and the generic design of the software. Browsing allows end users to get summary information about the data sets in the data repository. Searching can exist in three forms: simple, advanced, and expert. Simple searching involves the end users using preset, or canned, queries. These will typically have been designed by a domain expert and should reflect common queries that may be made routinely. Advanced search allows end users to construct their own queries from a selection of given fields that are taken from the model in question. Expert search allows the end user to use a query language (eg XQuery,SQL) suitable to the database (eg eXist, MySQL) being used and make queries directly.

The Kinds of Tutorials

Developer Tutorial:

This is primarily a manual for developers wishing to enhance Pierre to their own needs or to embed Pierre in an existing service.

Configuration Tutorial:

The configuration tool is the core of Pierre as it is from here that all service interfaces are generated. The tutorial is broken down into sections each corresponding to a panel on the tool. It is expected that service configurers will be familiar with computer concepts, such as field, gui, class, etc. but not necessarily be programmers themselves. The section dealing with databases, security, and plugins will require some knowledge of classes and implementing methods.

Command Line Tutorial:

The Command Line service is intended for those end users who are familiar with a UNIX environment or who do not have access to the web. As the name implies, browsing and searching are done by typing commands. The tutorial is broken down into browse, simple search, and advanced search sections. Please note that expert search is not supported by this service.

Text Menu Tutorial:

The Text Menu service is intended for end users who do not need or want a gui or who do not have access to the web. The tutorial is broken down into browse, simple search, and expert search sections. Please note that advanced search is not supported by this service.

Standalone Application Tutorial:

The standalone application supports browsing and all types of searching. End users do not need access to the web for this service. The tutorial is broken down into browse, simple search, advanced search and expert search sections.

Web Tutorial:

The Web deployment allows users to browse and search the data repository online. The tutorial is broken down into browse, simple search, and expert search sections. Please note that advanced search is not supported by this service.


If you have any questions or comments please feel free to contact us at the following: cgarwood@cs.man.ac.uk.

Installing and Running the Sample Tutorial

The Pierre download comes with a sample tutorial data repository that end-users, service designers and repository designers alike can use. To run it:
  1. Download the latest Pierre release.
  2. Install Ant, Tomcat5.0 and MySQL. Note that you should install ant so that you can invoke "ant" by typing it at the command line prompt of a shell window.
  3. Make sure you create a blank database called "medicalDB" in MySQL.
  4. Now go to your installation directory and double click on "setup_database.bat". The database should now be populated.
  5. Now you will want to run the services. Double click on the "run_configuration_tool.bat" file. A dialog should appear.
  6. Select "tutorial_model"
  7. The tutorial may be run in two ways: prototype and production. First, view Pierre's prototype services by opening "TutorialService1.browser". Note this is a service that is hooked up to a dummy data repository.
  8. There are some path dependencies in the tutorial browser examples that need to be changed. Go to the General Information tab and try to find the path for "banner2.jpg" that is appropriate for your installation. Use the "Browse..." button to find the file in the ./dist/doc directory.
  9. Save the changes
  10. Press the "Test" button to see an example of how the dummy service would work.
  11. To run the production service, load "TutorialService2.browser".
  12. Again, you need to revise some path information. As before, revise the location of "banner2.jpg" in the General Information tab. Now go to the Database tab. Delete the tutorial.jar and mm.jar files and add them again using the "Browse" button provided. You'll find both of these libraries in the ./dist/tutorial_libraries directory.
  13. Save the changes.
  14. Press "Test" to see how the live application works.
  15. To generate services, first create a scratch directory where your target installation of services can go.
  16. Click on the "Deploy" menu and choose "Generate Services".
  17. Choose your target directory for "Installation Directory". Type "medicalDB" for the web application name. Specify the root directory where tomcat is installed (eg.: "C:/tomcat5").
  18. Press "Install". You will now have a special Ant file which can perform the installation activity.
  19. Open a shell client and make sure you're in the ./dist directory.
  20. Type "ant". You should see a number of installation messages. When it is finished you should see "BUILD SUCCESSFUL".
  21. Go to the target installation directory. You should now be able to double click on the batch files to run the standalone and text menu applications. To run the command line service, open a shell client and go to the root of the installation directory. Open the "copy_into_script.txt" file and paste the command onto the window of the shell client. You should now see that command appearing in the client window. Press Enter and you should be able to begin using the command line service application.
  22. To run the web application, go to the installation directory and copy the "medicalDB" folder to the "webapps" folder of Tomcat5. Restart tomcat and view the application. You may end up typing something like: "http://localhost:8080/medicalDB"

Known bugs at the time of release...

At the time of this current release there are three known bugs that we are still analysing and trying to fix. If you have any suggestions for ways to go about fixing these, please let us know.

1. On the web page deployment: banner images seem to show up when viewed locally but not remotely.

2. On the web page deployment: downloadable files, if they exist for a given case, are opened in a web browser rather than saved to file.

3. On the web page deployment: advanced searching does not seem to recognize partial strings instead of the whole.