The page provides some useful tips and tricks on using Heurist, and will be added to from time-to-time.
Organise your record types
Use the tabs at the top of the record-type management screen to organise your record types into logical groups, and place your most frequently used group as the first tab (tabs can be dragged left and right, tab labels can be edited and new tabs created). Tab groups and ordering affect the order in which record types appear in pulldowns. A small investment in well-organised groups will make it much easier to pick from lists or find record types when you need to make changes.
Pay attention to record structure: section headings, field order, field widths, requirements and description
The few extra minutes you will spend ordering the fields in each record type, splitting them up into sections with section headers, and setting the basic parameters of requirement, repeatability and field width, will make all the difference to ease of data entry and the way you—and other users—feel about entering data.
Document your database
Don’t cop out on writing proper help texts and descriptions of record types, fields and terms, even if you are the only person using the database. A few extra minutes spent writing an explanation of the content of each field will ensure that the database is still interpretable way into the future, by you or by others if deposited in an archive (your descriptions automatically become part of the archive package). Do it as you are setting up the database, because you will never come back to do it later …
Break your problem domain up into distinct entities
Create some saved searches
Saved searches are the key to setting up useful ‘views’ of your data. Use them to quickly navigate to the records you are working on, to produce sorted lists, to publish sets of data to a web site, to organise the data which have been entered or imported in no particular order. Saved searches not only define a subset of your data and its ordering, but can also set up the way it is presented (e.g. as a map, a formatted report or a visualisation of related records).
Use record pointer and relationship marker fields
Record pointers are the workhorse for quickly and easily building simple relationships between records. Use a record pointer field to establish a hierarchical relationship through a pointer to a parent record (e.g. a chapter belonging to a book or a photograph belonging to a collection) or to indicate records with a specific role in relation to the entity being described (e.g. the author of a book, the producer of a film, the venue where a play is performed, a birth or commemoration event, a qualification).
Relationship markers are similar to pointers but carry additional information; minimally, a relationship type, but also commonly a date range over which the relationship is applicable. Relationships are useful where there are lots of potential types of relationship (e.g. roles that people may play in relation to a theatre production), as an alternative to defining a separate pointer field for each role. They are also useful where the relationship has a limited duration (e.g. relationships of employment, patronage, residence or exhibition/loan).
As a general rule, use a pointer field, constrained to a specific record type (e.g. place, person, series, component), where you will record a single value (e.g. parent) or a small number of values (e.g. authors) which have an unequivocal relationship with the entity being described and where multiple pointers are all equivalent (although they may be ordered—authors being a good example). Use a relationship marker field where you do not know a priori which relationships will be present and/or there are numerous possible relationship types, or the relationships have a temporal range, or the relationships are subject to interpretation and you need to provide supporting information through notes or references.
Invest in writing some report formats
A database is useless if you can’t get data out of it. Heurist has several pre-defined output formats, but you will get much more from it if you write your own using the Report tab on the search interface. Although a little tricky to get started with, the report formatter is extremely powerful and can generate everything from a data stream for input to an analysis package to beautifully formatted output embedded in a web site.
Use the delimited import to merge data
The new delimited import function allows a spreadsheet containing multiple entity types eg. columns for author, place, period, collection, to be split off incrementally into new records, or matched from existing records, and then used as pointer fields within the imported records. Some initial preparation of the spreadsheet may be required if it has been used as a sort of ‘enhanced wordprocessor’, in which notes are appended to fields or values implied by position relative to other values. Open Refine can be a useful tool for cleaning up incoming data. See also importing data.
Searching for a database
Searching for a database
To quickly find a database in the database list, simply use the browser find mechanism (Ctrl-F) to find part of your database name.
Searching for records
Searching for Records
Directly search for records using a range of modifiers: tag:, type:, url:, notes:, owner:, user:, field: and all:.
For example, to search for tagged records in the database, enter either tag:string or tag=string in the Filter box. For example, tag:Database (any tag including the string ‘Database’) or tag=Database (matches Database but not ‘Databases’ or ‘Database Management’). Tags are case insensitive.
If search terms include a space, enclose them in single or double quotes (e.g. tag:’Database Management’).
To find exact matches, use the = operator (e.g. title=xxx). You can also use the greater than (>) and lesser than (<) operators.
To find records that include either of two search terms, use an uppercase OR (e.g. timemap OR “time map”).
To find records with geographic objects that contain a given point, use latitude and longitude (e.g. latitude:10 longitude:100).
To omit records that include a search term, precede the term with a single dash (e.g. -maps, -tag:timelines).
Building your search filter
For complex filters, create smaller elements of the filter, and then combine these to build the full filter.
Using codes in the filter rather than names (although names generally work as well) not only keeps your filters compact, but also ensures that when the filters are saved the codes are invariant, whereas names can be freely changed and it can be a complex task to track these changes and edit all the saved filters.
Facet searches (right click on the saved search tree and add Facet search) are a powerful way of drilling down into a database, particularly if they are combined with Rules (there is a rule builder built into the facet search editor) which can pull in related information (such as, for example, spatial information for mapping when the search is based on records which are linked to places but do not themselves contain spatial information).