A presentation that explains the new [hidden] enhancements made to Ontopoly, the Ontopia Topic Maps Editor, in release 5.0.
1 of 35
Downloaded 10 times
More Related Content
Whats Up With Ontopoly?
1. Whats up with Ontopoly?The Ontopia Topic Maps Editor, http://ontopia.wordpress.com/2010-01-22Geir Ove Gr淡nmo, grove@bouvet.no
2. What happened?A lot happened between 4.1 and 5.0/5.1It became extremely flexibleCustomizable UIEmbeddableExtensibleSelf descriptiveAll declarations made as topics, occurrences and associations
3. Customizable and embeddableSpecific customer requirements meant that the editor had to become flexibleneeded a generic menu editorOne can do quite a lot to customize the UIStripped down instance editor can easily embeddeduses AJAX, so no form request parameter collisions
4. Extensible Whole application built as a jar-fileall resources loaded through the class loaderstandard Apache Wicket setup in web.xmlSub-class OntopolyApplication to customizepossible now, but needs some refactoring to make it even easier to customize.
5. Why did it happen?Most of these things happened because of a particular customer that deserves credit:Bergen Kommunehttps://www.bergen.kommune.no/had a lot of interesting real-world requirementsand had the patience to turn them into generic Ontopoly features
6. TodayIt is pretty clear that very few noticedwhat Ontopoly can do todayMany Hiddenhancements
7. Its not perfectA few things are still missingBut the foundation is sound
8. So, heres an in-depth reviewNext slides explains the new features
9. One instance editing componentAll editing done through same Wicket componenttopic types and instances are equalso is the topic map reifier topic
10. What is a field?New behaviour: replaced type annotation with pattern matching agains field declarationsA field is a pattern matching a subset of a topics characteristicsmatches a subset of the topics characteristicsmatching primarily by typerole type, association type and other role types in the case of role fieldsdatatypeand scope when we get that far
11. Fields are first-class citizensField definition typesidentity fieldname fieldoccurrence fieldrole field (and association field)Field definitions are now topicsto make it easier to say things about themand make their declarations more explicitTo make it possible to describe fields properlyfield definitions had to be come first-classavoids reification (of associations)pattern matchingthe stuff in Advanced view illustrates this
12. Shortcuts (to fields)To allow faster access to all aspects of the modelnot all links are enabled by defaultbecause they are confusing when you dont need themenable shortcuts on the Description page
13. Field viewsAssigned to a subset of available fieldsConfigurable per view:view modevalue viewBehavior can be context dependentValue view: if parent view is X then field view is YView mode: if view is X then Embedded, Hidden, Not traversable or Read-only
14. Embedded fieldsPossible to nest instance editorsarbitrary depthcontext dependent (see previous slide)locking of individual topicsNot in n-ary association fields
15. Multiple topic typesOnly available in Administration modeFor a reasonEditing is done separately by topic typesee Topic types function box
16. Configurable playersQuery that presents user with list of possible playerstakes field and current topic as parametersSearch interface control uses separate query
17. Configurable player typesQuery that presents user with a list of possible topic types to create and instance ofdisplayed in * drop-down if multiple
18. Configurable hierarchiesInstance lists can be rendered as treesDefault is to use Techquila PSIsQuery can override defaultshould return two columns: parent, childreturns all parent child combinationmust order by parent then childenough to build and render a tree
19. Sortable field valuesFields can be made sortablea check box in the advanced viewstores sort key as occurrence on topic and scoped by field topicUse drag and drop to alter field value ordering
20. Edit modesWhat players can be assigned to a field:Existing values onlyNew values onlyNo editNormalOwned values (cascading deletes)TODO: should be context dependent?
21. Create actionsWhen creating a new topic, what should happen?Edit new topic in popup windowGo to new topicNoneTODO: should be context dependent?
22. View modesGiven a view, then display in one or more view modes:EmbeddedHiddenNot traversable (no links)Read-onlyCan select multiple
26. Improved lockingLock leasingShorter lock periods (4 min default)Renewed every 3 min using ajax timersonly when page is openPrevents object from being locked when no longer being editedLocking enforced on nested embedded instances
27. New fields editorOn topic type pageDrag and drop field orderingand field value ordering in sortable fieldsCan do the same using the instance editorbut not that user-friendly
28. Association transformationUsed to repair association instanceswhen the role types change after the associations where createdButton displayed on association type page
29. Other stuffTries to protect meta-ontologyunless in Adminstration modePluggable access strategyto support authenticationand potentially authorizationnot complete
30. The futurePlug-insevent listenerstabsinterface controlstriggersquery for matchingupdate for modificationcustomizabilitydrop the ontopoly.jar in and extendCould use jar manifests for discoveryRepresented as topics in the topic map?
31. The futureQuery fieldsQuery tabs/menutab or meny that displays the result of a query Batch editingby selecting the rows in the queries resultsMerging topicsDuplicate suppressionReificationScope
32. The futureInterface controls should be more prominentnot only on association fieldsbut also on names and occurrencesSupport identity patternslike prefixes in tologsame feature could also be used with names and occsDefault values on occurrences and rolesImprove CSS to make it easier to customizetableless design
33. The futureDisplay n-ary fields as tablesTool tips with descriptionson topic links and field labelsAdhoc validation (with TMCL hopefully)
34. The futureREST interface that exposes JSONCRUD operationswould turn Ontopoly into a document databaseMakes it easy to do custom editors in JavaScriptExternal occurrencesaccessed through REST (e.g. CMIS)get external content and render as field value
35. The futureBergen kommune went firstFeatures need fundingWhos next?What would you like to see implemented?