Boarstall Tower,
Bucks HP18 9UX
United Kingdom
+44 (0) 1844 239339
Erros Ltd Home Page

27th April 2014

ERROS SOI - The ERROS Standard Operating Interface

ERROS is a unique application development framework and operational environment that stores all metadata, application definitions and user data in its own integrated connectionist database. Very complex internet enabled applications can be created using ERROS with little or no program coding. ERROS does not generate program code. No SQL is required for queries or to navigate the bi-directional connections in the database. The concepts of ERROS have been successfully patented.

The ERROS framework provides a sound structured basis on which you can build your integrated applications. As ERROS allows incremental development, application creation can be done without a detailed system specification and without any physical data schema. Applications can evolve in line with the ever changing real-world of the business on a "grow as you go" basis. ERROS is therefore extraordinarily productive for both application development and for maintenance. The unique features of ERROS makes it the truly modern application development system, quite unlike any other. The concepts of ERROS have been successfully patented. It also offers very rapid response times that do not degrade as data volumes grow.

The ERROS framework provides a standard user interface, suitable for all application development and for operating all the applications created, including line of business, transaction processing, etc. This is the ERROS Standard Operator Interface, or SOI. This document outlines some of the features of SOI.

Considerable thought and experience has gone into the design and evolution of SOI. This is the most productive and intuitive interface that we have been able to create. Having a standard interface ensures total consistency in the look and method of operation of all applications, ensuring high productivity from operators. SOI also relieves developers of the burdensome task of creating their own interface so that they deliver new and changed solutions to their users much more quickly and cheaply than would otherwise be the case, although they can create their own interface if they wish.

Every aspect of ERROS is designed for maximum performance and ease of use. Only the data that is required and that can fit on the screen is transmitted to the browser, improving performance particularly when communication speeds are poor or when using a smart phone. This also means that the amount of data retrieved from the database is much reduced. There are many other reasons why all ERROS applications have outstanding performance and these are discussed elsewhere.

Using SOI, ERROS applications can be both developed and operated over the Internet with most standard browsers on PCs, Macs, tablets or smartphones, as well as with traditional 5250 terminals or emulators. Any ERROS application created for 5250 operation will work at once over the Internet in inquiry mode, without any new HTML or Javascript needing to be created. There are no static HTML web pages in ERROS applications as ERROS generates HTML and JavaScript on the fly, using page layout definitions stored in the ERROS application database. Operating ERROS using a browser allows you to display rather more content than is possible with a 5250 screen.

Sample ERROS browser screens from different ERROS applications operated in both inquiry and update mode are included in this document. These were created using the standard HTML and Javascript generation facilities of ERROS. They were mostly rendered using Firefox or Safari using a 1280 X 800 pixel screen and release V2R9 of ERROS. Any of the screens could have been displayed on a smart phone or on a tablet. No special or new HTML generation facilities were required for any of the screens in this document, even though some of them are very different.

The first screens are from STIPPLE which is a very complex application for cataloguing fine and applied art objects and for recording people, places and history. It was created using ERROS, without programming. The relationships in STIPPLE are much more complex than would be the case in most line of business applications.

The STIPPLE screens are followed by screens from other more standard ERROS applications, such as order entry.

Having selected STIPPLE from your list of ERROS applications, ERROS will display the STIPPLE Initial Menu, as in the following screen.

All ERROS applications have an initial menu that lists the main entity types and procedures in the application. Any item in the initial menu may lead directly to an entity type or procedure or there may be lower level menus.

Many internet applications have a menu bar with multiple entries and often lower level items to allow users to navigate round the system. Even though the menu bar may only be used intermittently, it remains on the screen and has to be refreshed every time the screen is redisplayed. This means that in such applications an unnecessarily large amount of data has to be transmitted to the browser for every screen. In some designs, this may be several times the size of the main data in which the operator is currently interested, and will have an adverse effect on performance.

At any point when operating ERROS applications in inquiry mode, you can return to the initial menu by clicking on the initial menu button towards the top left of the screen or by typing ".." in the input box and clicking on the Enter button or pressing the Enter key.

ERROS applications also have a "fast path" menu. This can be accessed by clicking on the "Fast Path" button or by typing "." and clicking on or pressing Enter. You can put the name of an entity type or procedure immediately after the full stop - e.g. typing ".customer" will take you directly to the list of customers. If you you know the name of the customer whose record you require, perhaps "XYZ Company", you could type ".customer/XYZ company". You can then select the information that you require about the XYZ Company.

You can abbreviate words and names. You could type ".cus*/XYZ". If ERROS find more than one record that fits your request, it will stop and ask you to select the record that you require. If you want to find the telephone number of the XYZ Company, you could type ".cus*/XYZ/tel*/". However, if you are not familiar with the shortcutsin your application

The screen is divided into three main parts -

The top part displays an optional banner and or logo, together a function bar with standard operating buttons. ERROS then identifies the application being operated, the name of the operator so that others can check that they are using their own user profile, followed by the name of the operator's employer. ERROS then displays a navigation menu bar and then shows where you are in the database. You may have reached that point by navigating through the menus in your ERROS application, or by taking a short cut to data and bypassing the menus or by navigating through a bi-directional connection from another part of the database.

The second part contains one, or sometimes more, input boxes. There is always an input box displayed and this is generally located about 1/3rd of the way down the screen. This main input box always has focus so the user can type at any time without first having to click on the input box. In this input box, you can type a record identifier or name (or a generic name such as smit* or smith j*) or a record number, such as a product number. Associated with these are an Enter button, and a Repeat Input button. If you click on this, ERROS will redisplay in the main input box your last request which you can use again or modify. There is also an Add button. When you have authority to add new data, this button will have a green background. Otherwise, it will be greyed out.

The third part of the screen is used, in inquiry mode, to display menu items or to display the data found as a result of an inquiry. The format of these lines can vary considerably as will be seen in later screens in this document. The same space is also used in update mode to display screen formats for data entry.

SOI is designed to keep to a minimum the need to use horizontal or vertical slider bars which are slow to operate, and most of the time neither are required.

Keys or buttons that can only be used some of the time have a green background when they are available to draw the user's attention to them. Previous is similar to the browser back button. Jump Back takes you back many screens. You cannot use the browser back button. Buttons that are not currently active are greyed out.

Most of the screens in this document show ERROS in inquiry mode.

Operator Options

Some display and operating options can be set by the operator, who can -

  • change the font size within ERROS. This will be applied instantly to all inquiry and update screens.
  • select not to display the top banner, in which case the display will move up.
  • instruct ERROS to number each record retrieved - see later.
  • instruct ERROS to display the standard operating buttons at the bottom of the screen, instead of or as well as at the top of the screen.
  • instruct ERROS to display all short cut keys on the buttons - see later.

User Company Options

  • A security officer of a company using ERROS applications may change all colours, including the background colour. These are used consistently thoughout all applications. Where there are multiple companies within a group, the colours may be set for each company.
  • Company logos and banners can be displayed on all screens.

In the following screen, the banner is not displayed but an ERROS logo is shown and the default font size has been increased. These changes were done by using the Options button at the top of the screen.

To access a record, you can double click on it. This initial menu was created by an application developer using the ERROS Application Definition application and it can only be changed in that application. There are therefore no buttons here to allow you to edit or delete any records in the menu and the Add button is greyed out.

When you are authorised to add, change or delete records, the screen might look like this.

This list was displayed by navigating through the menus to the entity type Stipple Biographical Names, typing "reynolds j*" in the input box and clicking on the Enter button or pressing the Enter key. If there were more records retrieved to fit the request than could be fitted on the screen, then the More button would be highlighted with a green background. In this case, all records could be accomodated on the screen, but the More button is not greyed out and if the operator wants to retrieve records after the last Reynolds j (Sir Joshua Reynolds), he or she can click on the More button or for earlier records, he can click on the Previous button.

The 6th record has an "S" in front showing that it is a synonym as Jane Reynolds (displayed as the 4th record) was known as Jenny. The synonym facility available in all ERROS applications allows records to be accessed by multiple names - for instance a married woman could be accessed through her married name and also through her maiden name using a synonym. The synonym can only be changed or deleted or additional synonyms created by double clicking on the synonym or the main record (in this case Jane Palmer) and accessing the attribute synonym for the main record.

To change or delete any of the records, click on the appropriate button. To access further details about a record, double click on the name. Note that, although the records are displayed first name(s) before last names, they are sequenced last name before first name(s). Only last names and first names are significant when sequencing records - titles etc. are ignored for this purpose.

When creating this document, I spotted that the record for Sir James Reynolds was incorrect as he was chief justice of the Court of Common Pleas, not please. I wondered who had made this error. A single click on the record followed by a click on the Audit button produced the following screen -

This shows that the record was created on 10th May 2001 by the employee with user id E000010021 in the application 123 which is STIPPLE. She left the employment of Stipple many years ago. A click on Jump Back will take you back to the list of names. To correct the error, click on the edit button for the record and the following update screen will be displayed.

This record is made up of two components - the name itself and the comment about the record. The Next Screen button is displayed in green so click on that to access this longer comment and the following screen is displayed.

Correct the errors and click on Confirm or press Enter. ERROS will display the following screen, with the corrected record. Note that it displays the list beginning with the corrected record.

All ERROS applications allow variable length records, and, by default, multiple iterations of attributes. Thus a contact might have multiple addresses or multiple telephone numbers. An order will have multiple order lines. Where there is no data in an attribute, no "null" values are required. Thus each record (entity) in an entity type (a group of entities with similar characteristics) may have different amounts of data. In tradtional applications, each record will be displayed in full unless special programming is done. ERROS application definitions allow the developer to determine just how much of a record is to be displayed at each point in each application without any program coding being necessary. Many systems have problems handling the considerable flexibility of the real world of data.

The screen above with an image of a mezzotint engraving looks fairly straightforward, but this is only a selection from the rather larger amount of data in the record for this print. Including the image, there are 12 navigable bi-directional connections in this display.

whereas in this print there are 19 links. In the previous portrait, only one person was portrayed whereas in this there are three sitters. ERROS would cope with any number of sitters, as perhaps in a large group portrait. There are only two impressions of the previous print in the Rob Dixon Collection whereas there are three copies of this print. Note that the name of the collection is only displayed once for each print in a collection, making the screen easier to read. STIPPLE can handle multiple collections. The original copper plate was slightly cut down in the later 19th century so two sets of dimensions are required for this print. The birth and death dates of Lady Townshend, and the comment about her, are not stored in the print record but retrieved from the biographical record for each sitter. Thus this data only needs to be stored once, however many prints there are of each sitter, and the data displayed, apparently as part of the print record, is totally consistent from print to print.

Mezzotint is a method of engraving but anyone interested in prints knows that so the name of the attribute in which this data is stored "method of engraving" is not displayed so that the display is easier to read. There are other attributes that do not have data for these two prints and the developer has decided that these attribute names are not to be displayed here.

Both of these prints are part of the same set of prints and, by clicking on the name of the set - the last link for each print, you can navigate at once to the print set catalogue and see the following display.

This screen has 56 navigable links. Further information about each print can be accessed by clicking on "main record". To display further prints in the set, the operator presses Enter. Although this display is taken from a catalogue of sets of prints, the only data taken from the set catalogue are the name of the set, the brief description, the attribute "contains" and the sequence of the prints in the set. The details of each print are retrieved from the print catalogue so these are only stored once. If details of a particular print change, then this display will change, even though the data in the set catalogue has not been changed.

STIPPLE has a facility for recording places and buildings. The following display is for Boarstall Tower, in Buckinghamshire, England, the home of ERROS.

There are 29 navigable links, including the images, on this page. There can be any number of images. The Google Map works just as if you had retrieved it in Google, even though it is part of the STIPPLE display. The operator can press Enter to find further information about Boarstall Tower.

All the screens are generated on the fly by ERROS.

Further screens from STIPPLE will be illustrated later in this document.

The following screens are from other ERROS applications, and, as with the screens from STIPPLE, the necessary HTML and Javascript were generated on the fly. The applications can also be operated using a traditional 5250 terminal if required.

When using 5250 terminals or emulators, a screen like the one above will not fit in a standard 80 character wide display, so ERROS automatically enables F20 (window right) and F19 (window left) in all ERROS applications in 5250 mode when required, allowing a line length of up to 356 characters.

All records in the table above are indexed by name and by product number and you can access any record by typing in the first word (or more) of its name (e.g. "board" for the products on lines 3 and 4) or a generic search term such as "E*". Typing "*" and pressing ENTER will display the records in product name sequence from the beginning of the table. Typing "*" and pressing or clicking on Page Up will cause ERROS to display the records in product name sequence, going backwards from the end of the table. Typing "#*" and pressing or clicking on ENTER will cause ERROS to display the records in product number sequence from the beginning of the table. To access a record by product number (shown to the right of the product name), you can type, for instance, "#12" in the main box or type "12" in the number box. You can use relative operators "<", "<=", "=", ">=" and ">" in front of any of the search terms, whether name or number, in the main input box.

Because every record is indexed, response times are extremely rapid. Even if there were, say, one million different products in stock, ERROS can find any record in a fraction of a second. Only enough records to fill the screen are sent to the browser or 5250. You can page down or up for others or make another request.

Some businesses sell low volumes of high value products and others sell high volumes of low value products. As part of the ERROS framework, a record can be stored for each ERROS customer company defining the maximum number of digits and decimal points for values, for prices and quantities. It also stores the accounting currency, VAT rates and the date from which they applied, on a country by country basis, VAT scheme, etc. ERROS automatically expands the column display widths in both browser and 5250 mode. The above screen allowed for 5 digit quantities. With these and other similar features, software packages can easily be tailored to suit individual businesses or divisions within a business without any program change being required.

As a business expands, it may need to handle an ever increasing number and range of products. Finding a product if you don't know its product number and are not sure of its name can become a problem.

It is simple in ERROS to categorise products into hieriarchies, such as Office furniture/chairs. This can be done at any time, without programming and whilst the application is live, without changing or disturbing the existing product records.

A continual problem with most applications is providing access to associated or connected data, solved either by new program coding for each link or perhaps by using SQL. A solution may have to be created on a table by table basis. With ERROS, no action is required as, because ERROS is based on its connectionist database, ERROS knows where to find the related data. Security can be set to prevent this navigation if required.

Double clicking on, say, A4 paper (line 4) will immediately cause ERROS to display the following screen -

This shows, in date sequence, all orders for the product. No SQL or any other type of query was necessary to achieve this.

As already mentioned, ERROS shows, in all screens, above the input box, the context of the data retrieved and, below the input box, the data retrieved in that context. The Stock Level Adjustment application defines how ERROS is to display the data.

The Create, Update and Delete keys are not active and the operator cannot change the data.

Throughout the screens in this document, attribute iterations displayed in blue represent connections that can be navigated. Users with adequate authority can change all colours on the screen.

The layout of the detail lines in this Sales Order is different from those for products in the previous display. With traditional application development methods, a separate solution has to be created for each table for accessing the records, displaying them, ensuring that the solution can handle the situation when there are too many records to fit on a screen, providing a means of finding individual records in the table, allowing navigation to connected data, etc. Whilst this may not be particularly technically demanding in a traditional environment, it is time consuming and error prone and means that many new programs have to be created as well as SQL. These all need documenting and controlling.

On the IBM i, many solutions would include the use of sub-files defined in DDS to display the detail lines, with a separate sub-file being defined for each record type. This again is very time consuming. In ERROS, there is just one standard ERROS mechanism for this. This doesn't use IBM i sub-files even though it may look the same. This standard mechanism is used for all detail line displays in all applications. When adding new types of data in a traditional environment, new table objects are created. Within ERROS, no new table objects are created for new data types as these fit automatically within the existing ERROS framework.

Double clicking on an order, say Esmond Estates, or typing "1" and pressing or clicking ENTER, will result in the following screen -

ERROS automatically navigates to the order of which the selected record was part.

The Add button is not active and the Edit and Delete buttons are not displayed and the operator cannot change the order.

The first 10 order lines are displayed in the sequence of their product names. Typing "#* and pressing Enter will result in the order being displayed in product number sequence. Any order line can be retrieved by product name or number in a fraction of a second, however many lines there are in an order.

You can double click again, on, say, Boardroom Table and ERROS will display the following screen -

You can double click on one of the orders to look at that order. Alternatively, you can single click on an order and press F7 or click on the Audit button and ERROS will inform you who added/updated the order line and when.

This shows that the product was related to the order at 13.51.56 on 14th February 2013 by the operator with User Profile E000070001, who is employee number 2. It was that operator who authorised the sale of the Board Room table at a much reduced price compared to the previous order.

Every single change to the metadata, application definitions and user data, including every individual line of text, is recorded in the ERROS audit trail.

The next screen is for a sales order in a Sales Order Entry application.

In this application, the operator has authority to change, delete or add to the lines in this order so the relevant buttons are now active and have a green background. Once order entry has been completed, then the order could be marked closed and this would no longer be possible.

The definition of the data ensures data integrity so that, for instance, an order header cannot be deleted leaving order details still there.

In the above screen, there is a total line that displays the values in the order header record. As order lines are added or changed, the order header in the database and its display on the screen will also change. In addition, the stock record for the product is updated as are other relevant records. In traditional systems, this might be done with trigger programs. There is no need for these in ERROS as the Sales Order Entry application definition instructs ERROS which records are to be updated. The operator will be unaware of these changes. Commitment Control is used to ensure data integrity. If journalling is accidentally or deliberately switched off, ERROS will stop working.

When you are using a browser, you can operate your ERROS application using point and click methods or you can operate it as though you were using a 5250 terminal, as the ERROS browser interface emulates 5250 style function keys that you can press and it also provides equivalent buttons that you can click.

By using the Option button, you can instruct ERROS to display short cut keys on the buttons as in the following screen. The short cut keys are active whether or not they are displayed.

You can also select an ERROS option to number the records in lists as in the screen below.

This option allows you to select a record by typing its number in the input box and you may find this quicker than moving the cursor to click on the record. You can use a record number in conjunction with a short cut key - for instance if you type "4" and press F10 (Edit), your ERROS application will allow you to update the 4th record in the list if you have the required authority.

On the initial menu screen above, type "6" and press enter, or double click on "Index of STIPPLE Catalogues". Then type "3" and press ENTER or double click on "STIPPLE Print catalogue". ERROS provides access to the STIPPLE Print catalogue. As menus can be bypassed in inquiry mode, the same result could have been achieved at any point in the application by typing ".p[rint]" and pressing or clicking on ENTER. Type "boarstall" and press or click on ENTER. ERROS will display the following screen -

ERROS has retrieved four prints whose names or synonyms begin with "Boarstall". The two records with the letter "S" to the left are synonyms of the print of Boarstall required as that has the title "Illustrissimo Domino Domino Johanni Aubrey Baronetto" which is difficult to remember. That name could also have been used for the query and it is the name by which the print is identified within STIPPLE. Selecting either of the synonyms by typing "1" or "4" and pressing ENTER or by double clicking on them will cause ERROS to navigate to the required print and display the following screen -
The screen above may look like a standard static HTML screen, but in fact all the data has been retrieved from the STIPPLE database and the necessary HTML and Javascript have been generated by ERROS on the fly, using instructions stored in the STIPPLE database and retrieved by ERROS. Although this sceen is very different from the previous screens, the same mechanism for generating HTML and Javascript is used for all screens in all applications in this document. All the navigable connections are displayed in yellow, comments on the connections are displayed in azure, text in white and some meta data (attribute names) are displayed in green. Any of these colours can be changed. Attribute names are only displayed where they make the screen easier to read.

If you double click on Boarstall Tower, ERROS will display the following screen -

Once again, all the navigable connections are displayed in yellow. Although the same display structure defined in STIPPLE for buildings is applied to all buildings, the actual results will depend on the data available for each building. For instance, Boarstall Tower is open to the public, so opening times are displayed, but, for buildings that are not open, no space is reserved for the non-existent data and any textual data will be moved up the screen.

In the above screen, a 2003 photograph of Boarstall Tower is displayed together with an engraving published in 1695 and a Google Map for Boarstall Tower.

The Google map is "live" as it would be when accessed directly through a browser, and, even though it is being displayed through ERROS, you can click on any of the buttons and change from a map to a satellite image, or zoom in or out, etc.

You could click on one of the ERROS links or press or click on ENTER to find further information and images about Boarstall Tower. However, if you type ".a[ddress]", ERROS will display the following Screen -

ERROS has moved from the STIPPLE Print Catalogue to STIPPLE Addresses. You could also have reached this screen by returning to the STIPPLE initial menu and navigating through the "Gazetteer" link, but using ERROS short cuts allows you to access any table in one step. To find an address record in STIPPLE, type, say, "shoe" and press ENTER.

ERROS will display the following screen -

The first ten addresses whose names begin with "Shoe" are displayed in street name and street number or building name sequence, the sequence in which they are stored in ERROS. No SQL or query was required to display this list which was retrieved and displayed in a fraction of a second. The first four addresses are where an address is given without a building name or street number.

Note that there are two "2 Shoe Lane" addresses, one in Exton (line 6) and one in London (line 7). You can restrict the list to a single place by going to the county (".county") or city (".city") or town (".town") or village (".Village"), etc. first, selecting the place by name and then the attribute "streets, roads, lanes, squares, etc." and then typing "shoe". If you are not sure whether a place is a city or a town or a village, then you can type ".l[ocality]/[placename]" and ERROS will tell you which it is. If you go to London (".county/london"), ERROS would only display "Shoe Lane" and "Shoe Maker Row" when you type "shoe". Select Shoe Lane and then ERROS will display the first addresses in Shoe Lane, London.

If you want, say, 48 Shoe Lane, you can Page Down until you find that address or you can type "shoe lane 48" and press ENTER. You could have done this in the first STIPPLE address screen.

You could have achieved the same result in one step by typing ".a[ddress]/shoe lane 48" and pressing ENTER.

Press or click on ENTER and ERROS will display the following screen.

You could have achieved the same result in one step by typing ".a[ddress]/shoe lane 48/" and pressing ENTER.

As already mentioned, ERROS shows, above the input box, the context of the data retrieved and, below the input box, the data retrieved in that context. In this case, the display is of the attributes defined by STIPPLE in the initial menu for STIPPLE Addresses. Stipple instructs ERROS to display all the data found in the selected attributes. Not all attributes for STIPPLE addresses are included in this initial display. STIPPLE also instructs ERROS not to display the name of each attribute as it is self evident what the data represents.

This screen shows an image of the interior of 48 Shoe Land and, in date sequence, the names of people or businesses who are known to have lived or worked at 48 Shoe Lane. The print inscription states that the view is of the interiors of 46, 47 and 48 Shoe Lane, so it has been connected to each of those addresses. Nevertheless, the image and its URL are only stored once within STIPPLE and are retrieved automatically for each of the addresses by ERROS through the connections.

Click once on Richard Jones and then press F18 (shift and F6) or click on Navigate or double click on Richard Jones and ERROS will display the following screen.

ERROS has navigated to the record for Richard Jones, and so moved from the entity type Stipple address to the entity type Stipple Biographical Name. The first line shows his date of death. As his date of birth is not known, that attribute name is not displayed. "Null" values are not required in the ERROS database so no space is wasted where there is no data in an attribute.

The next three lines are the places at which Jones is known to have resided or worked in date sequence. There could be any numer of such places. Then his job functions are displayed, followed by the name of his son and that of his wife (and the date and location of their marriage). The two attribute names "children" and "married" are only displayed if there is data in the attributes.

There is much more data about Richard Jones that could be displayed in this initial display. The attributes retrieved and their sequence are defined in STIPPLE and can easily be changed, whilst the system is live.

Double click on "copper plate maker". ERROS will display the following screen.

Copper printing plates from the 18th century are very scarce as most were used to make shell cases in the first World War. Only two made by Richard Jones are known (in the collection of Rob Dixon) although more may exist.

Type "2" and press ENTER or double click on "Emily, Mary, Countess of Salisbury". ERROS will display the following screen -

ERROS has moved from the entity type "STIPPLE Biographical Name" to the entity type "STIPPLE Printing Plate Catalogue" and displayed the record for the printing plate "Emily, Mary, Countess of Salisbury".

The STIPPLE definition for this page defines that the names of the copper plate and of the related print are both printed in italics.

Click on the yellow link to "Emily, Mary, Countess of Salisbury" and ERROS will display the following screen -

ERROS has moved from the entity type "STIPPLE Printing Plate Catalogue" to the entity type "STIPPLE Print catalogue" and displayed the record for the print "Emily, Mary, Countess of Salisbury". STIPPLE had instructed ERROS that, when retrieving the initial record for any print, ERROS should check to see if any other print was published as a pair to that print and, if so, to retrieve and display information about that print, in this case The Right Honourable Lady Elizabeth Compton, published on the same date by Valentine Green. Because of the connnection with that print in the attribute "Published as a pair with", ERROS is automatically able to retrieve the data and image for the second print through that connection. If there is no pair to a print, then the attribute name will not be displayed.

STIPPLE has instructed ERROS to display the print titles in italics. Attribute names are only displayed for some attributes. This makes the screens less cluttered and much easier to understand. There are further attributes defined in the "summary information with image" menu but these are only displayed if they contain data.

Users with any experience of prints would know that mezzotint was the method of engraving for these two prints, that Valentine Green was the engraver and that he reproduced an original image painted by Sir Joshua Reynolds.

The dates of Lady Salisbury's birth and death and the text describing her as a "society leader ..." and the text for Lady Compton were retrieved automatically from the Biography table and the same text is displayed on every print of them (all without SQL!). The ERROS Output Description Language (ODL) has been used to define that this data, which is not part of the print record, is displayed in a smaller font. This definition only needs to be stored once and will be applied to every portrait print.

There are a large number of navigable links displayed. Double clicking on any of them will allow you to navigate to the connected record. For instance, you might wish to see if there are any other images of Lady Salisbury recorded in STIPPLE, or look at her lineage if this has been recorded, or you could click on WL (whole length) to look at other whole length portrait prints.

There is a very variable amount of data stored about each print. The definition of the print "summary information with image" screen in STIPPLE determines which attributes for each print will be displayed on this screen. Some of the attributes may have more than one iteration - in this particular example there are two impressions of both prints in the Rob Dixon Print Collection. These both have the name Rob Dixon Print Collection associated with them but STIPPLE has instructed ERROS to display the name once only yet display the two accession (stock) numbers. ERROS options such as this make screens simpler and easier to read.

To access further information about the first print, the operator simply presses ENTER as instructed. To find out further information about the second print, double click on the link of the name of the print given as the pair (in yellow). If you do so, then ERROS will display a screen similar to the one above but with the positions of the prints reversed. Any number of other screens about prints (and any other entity type) can be defined in STIPPLE.

The accession numbers of other impressions of the two prints in other collections are not accessible to the Rob Dixon Print Collection. When a member of the staff of another collection is signed on, they would only see the accession numbers for impressions belonging to that collection as in the following display. All other data about the prints is identical for all collections as it is only stored once in a Catalogue Raisonnée. Within this, STIPPLE allows the creation of "Union Catalogues". At present, the same picture is displayed for a particular print in this screen for all collections but a future change might be to use the image of an impression in the owning collection but using a "libary" image if the collection's impressions have not been photographed or if they do not have an impressions of a print. ERROS can handle this sort of problem without using SQL.

In the screen below, the same prints are displayed but using the user profile of the C.A.Lennox-Boyd Collection (see top line). This has different impressions of both prints and so the accesssion or stock numbers for those prints in his collection are displayed. STIPPLE allows the creation of Union Catalogues that combine objects from multiple collections, sharing standard descriptions of those obects yet only allowing employees of the owning collection of particular objects to change information about their own objects, such as accession numbers, location, condition, etc.

The Lennox-Boyd Collection has opted to use different colours for its browser screens.

The yellow and silver links are all navigable with a double click. For instance, a double click on "Beauties of the Present Age" will lead to the following screen (for either user but I have used my own user profile as in the earlier screens).

Many systems find sets or groups very hard to handle.

This screen can be reached by navigating from the record for any of the prints in the set. The print of Emily Mary, Countess of Salisbury was 8th in the set so this is not displayed in this screen as the first six prints in the set are displayed in the sequence in which they were published. You can press ENTER (as instructed) to display the other 5 in the set, the second of which will be the print of Lady Salisbury.

The operator could have gone straight to this set of prints by typing "./set/beau*/"

Slightly less detail for each print is shown for each print in this screen. To look at any print record in the same format as shown earlier, the user can click on "main record" This screen has over 50 navigable links (including my accession numbers) - still no SQL. Notice that there are no slider bars - I try and avoid them - not always possible.

The content of all the screens is defined in STIPPLE. The same definition is used for each print - only stored once. All the HTML and Javascript is generated by ERROS.

This image is a photograph of an iPhone operating STIPPLE and displaying the same screen. Although there are no function keys on a mobile phone, the application can still be operated using the buttons. ERROS applications also work on tablets.

This image is a photograph of an iPhone operating ERROS and displaying the same screen. Although there are no function keys on a mobile phone, the application can still be operated using the buttons. All ERROS applications have very high security levels that add to the already high existing IBM i security. These are not changed when using a mobile phone or a tablet.

The next screen shows the ERROS System Operator Save Options in System Operator tasks, a simple ERROS application that allows the System Operator to back up all parts of the system and to perform other tasks.

This application was created many years ago for 5250 operation and it was never intended that it should be operated over the internet. Nevertheless, it displays correctly using a browser in inquiry mode using the ERROS Standard Operator Interface. The details of the save options are formatted by an ERROS exit program and passed to the main ERROS programs for display, in exactly the same way whether they are to be displayed using 5250 or a browser. The ERROS main program inserts the necessary 5250 attributes or HTML and Javascript code into the datastream using the standard HTML and Javascript generation facilities of ERROS.

All ERROS physical files (ERROS does not use logicals) are journalled. The hourly save backs up all changed objects, including journal receivers, and changed objects on the IFS, so I have no need to use the Daily backup. The first 4 lines call separate backup programs - Hourly, Daily, Weekly and System Save and the 5th line calls a simple program to allow the operator to initialise tapes using standard ERROS tape naming conventions.

The Hourly program is submitted to batch during the specified hours at half past the hour from a non-stop ERROS supervisor program. It can also be operated at any time by typing 1 or clicking on the first data line.

You can use ERROS to access external data, both standard database files in DB2 and files in the IBM i IFS (Integrated File System). In the following screen, ERROS is displaying entries in a folder called "ERROSHOME".

To the left of the main input box, ERROS informs the operator that this is EXTERNAL data, not stored in the ERROS database. The path is shown above the input box. The data has been accessed through an ERROS exit program called by ERROS that retrieves the image size of jpg and gif image files. It does not have any HTML code. The data can also be retrieved and displayed in 5250 mode but the exit program does not write to the display file. It passes the data to the main ERROS programs for display over 5250 or with a browser or for printing.

Exit programs can be created to read comma separated or other files on the IFS or to read standard DB2 for i files and pass data to ERROS for loading into ERROS. Equally, exit programs can be used to write IFS or DB2 files.

This document shows above a variety of ERROS browser screens in inquiry mode from different ERROS applications. They have all been displayed by ERROS using the same HTML and Javascript generation facilities of ERROS, even where the data is not stored in the ERROS Connectionist Database. They demonstrate the power of ERROS, which can be used to create new applications that are internet enabled, and to modernise existing applications.