Skip to end of metadata
Go to start of metadata

(by Jana)

Display Mockup

Comments on mockup

  1. Outline for the main sections in the painting. All data is listed in the right frame. Most nodes will be collapsed. Each main section will correspond to several high level nodes (must be neighbours). When section on the left is clicked, nodes on the right will be expanded and user will be positioned on the first of them. In this example the section "Basic" is selected.
    Vlado: another idea is for the main frame to include all text at all times, but only the selected section is expanded. This will help us produce a "printable view" that has all the info in one page.
  2. Indicators and additional menus for nodes or literals. For nodes we will have:
    • Indicators for comments/discussions. User can see a list of discussion and can start a new discussion.
    • Linked records (See 4.)
  3. Values. Each value will have a status - "original", "proposed", "approved", "rejected", "publishable", etc. In the object's view we will show only original values. User can see a list of all values and suggest a new value (see 6. and 7.)
  4. Linked records. These are nodes or literal values, that have discussions, in which the current node is referred to. It is a read-only list and is composed by the system.
    Vlado: indicating the number of discussions/comments/links/values is a good idea, just keep in mind these are not totally separate things. Eg I think the usual way a user links a record is by mentioning it in a comment.
  5. Sometimes we may not have an original value to show. Let's say we have no original value but we have a number of proposed values. In this case we show empty value holder as well as indicators for other values and discussions.
    Vlado: given the difficulties with making values editable, maybe this will happen only if there's an empty node in the original XML. 
  6. A list of values with basic info. For each value there is a link to related discussions. User can also suggest a new value, starting a discussion about it.
    Vlado: that's one way to represent it, and the Spec asked for a list of proposed values ("versions") separate from the comments. But if you look through MFPMFP, you'll see that art researchers talk in ways that are free/ unstructured/ unpredictable. So I visualize the discussion thread as the main thing, and the values as little addons on the right (in red, because they are important).
  7. In this particular case use should only use values from a specific domain (painting techniques from a thesaurus). Problem: how do we state this and limit selection?
    Vlado: use previously entered values to determine which thesaurus a new value should come from.
    Jana: I am not sure this is a good approach. What if we don't have previous values or if they belong to several thesauri?
    Vlado: a value can only be from one thesaurus (skos:inScheme). Regarding blank values: yes, we'd need to somehow reflect the thesaurus in the UI metadata
  8. In addition to using outline navigation, user can collapse and expand nodes manually. When a node is expanded, all other nodes are collapsed to keep the view compact.
    Vlado: yes, this is like Windows Explorer's "Simple expand behavior". Similarly: clicking on a heading in the left frame expands that section, jumps to it, and collapses all other sections. But synchronization between left (navigation) and main (content) frame will be tricky...

Sample RDF Graph

(This is just for illustration purposes and does not present the actual CRM model that is going to be used.)

Questions on Data/Implementation

  1. Do we show all CRM nodes or do we simplify some parts of the graph? How would a simplified model look like? When doing the layout, do we follow elements' depth/indentation as it is in the model.
  2. How do we state elements' order when listing them in the GUI? That is, for the "The Potato Eaters" picture we should first list Type "Painting", then Title. We should nest possible titles, starting with the preferred one.
  3. Empty nodes and empty UI holders for missing literals - are we going to show these? Let's we are missing a Production info for the "The Potato Eaters" above - are we going to show anything on the screen about it? Will it be possible to attach discussions on empty nodes?
  4. Values from thesauri - how do we limit value selection to a specific category when user suggests a value?
  5. Sections on the left - we need to map them to a set of nodes. When user clicks a section, the said nodes should be expanded, all other nodes should be collapsed and user should be navigated to the first of the open nodes. This implies each section should contain sequential (neighbouring) nodes.
  6. Labels - we should have labels mapped to each node, literal and predicate. Eventually we should have a different mapping depending on the research type. We need to be able to fix painting's part to "support" and "frame" - maybe depending on the Type property?
    Vlado: Yes. Most of the time we won't print rdf:type (CRM Entity) since eg "crm:E22.Man-Made_Object" is useless to the art researcher. We'll print the type(s) crm:P2F.has_type, eg "painting".
    All labels must come from data or UI metadata.
  7. How do we handle multilingual values? When suggesting a new string value, users may or may not state language. Can they change language later?
    Vlado: No. The literal and its language are atomic in RDF, so he should give them at once.
  8. Should we have DMS users migrated to OWLIM? That is, a discussion post should have an author and also these users may be used in search queries.
    Vlado: the current user is copied from DMS to RDF into "comment author". Should be copied as a string, to accommodate imported data about commenters who are not RS users (eg "Bredius, A." said in 1935 that Rembrandt is creator of Susanna).
  9. How do we handle collections?
    1. When user suggests a new element - let's say a new Auction in the Events list. Do we show the suggested record? This would contradict the show-only-original-value rule. But if it is not shown, then it cannot be edited (for example, suggest a start date for the suggested Auction)
    2. When user suggests a certain element does not exist. For example, let's have a number of painters for a Painting - in different roles. What happens if user suggests a painter does not belong to Painting's authors at all?
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Oct 19, 2011

    Please check the EntityAPI mockup implementation: Entity API