Summary of important changes#

Release 11, Watney, July 2016 - Current release, out now!#

  • TimeDB TestCases: Using the TimeDB plugin, it is now possible to test the behavior of the knowledge base when setting values in the past (relative to the current time of the session).
  • Code improvements: Major refactorings, cleanup and modernizations
    • Reimplementation and modernization of test case interfaces and xml persistence. Much improved functionality, allows extensions, and is backwards compatible.
    • Cleaned source code of old verbose Java pre-1.8. statements and modernized it with up to date 1.8 syntax and utils.
  • New checks for TestCases:
    • Check any property of terminology objects used in the test
    • Check the amount of solutions with a given state.
  • KnowWE SemanticCore: Major overhaul, now uses denkbares-SemanticCore
    • Removed outdated Rdf2Go dependencies
    • Instead, direct integration of Sesame/RDF4J
    • New Jena plugin
    • New GraphDB-Free plugin (optional download)
    • New SPARQL auto format/prettify (soon to come to other markups as well)
  • Improvements to DiaFlux Editor
    • Adaptive toolbar
    • Editor and menu styling
  • Tool Menus: Markup tool menues can no longer be hidden below lower end of the browser window
  • Attachment markup
    • Allows to keep attachments up to date with a remote source url and update interval.
    • Allows to download articles and parts of articles of other KnowWE installations as attachments. These attachments can also be compiled and rendered via Include markup.
  • AttributeTable: Now supports negated answers (!= Answer-X) and Unknown in condition columns.
  • Debugger: Added simple debugger for TimeDB Javascript functions
  • Table Editor: When activating the table editor with edit mode, the scroll position of the clicked cell is restored in the table editor. The editable cell is also selected.

Feature Release 10, Alice, April 2015#

  • Watch Variables: For developing d3web knowledge, you can now add variables and expressions as watches (similar to eclipse or IntelliJ) in a specialized view on the right side, visible independently of your current page.
  • Retractable LeftMenu: To make more space for the page contents on small displays (like projectors) or in case of large page contents, the LeftMenu can be retracted.
  • DiaFlux Improvements
    • Zoom: Flowcharts now come with easy to use zoom tools, allowing to zoom out to get a better overview of large flowcharts and also zoom to fit the current window size.
    • Improved Routing: Edges come with improved routing and a more intelligent placement of labels. Edges are highlighted on mouse-over.
    • New Tools: The flowchart editor comes with many new tools to intelligently select, align, clean up and pack the nodes and edges of a flowchart.
    • Performance: Improved rendering performance.
  • CI Improvements:
    • New CI Tests: CyclicFlowchart, InformationGain, InterviewLength, AmbiguousEdge and DuplicatePath
    • CI Test groups: Using the annotation @group allows to group a set of CI tests together in the CI dashboard
  • Rule Improvements:
    • Highlighting: Highlighting of condition states and fired actions, also added proper highlighting support for Rules with multiple actions.
    • TimeDB action Compatibility: Improved support for assigning eval expressions to choice questions.
  • TimeDB-Scripts: The commercial plugin TimeDB now supports the definition of new functions directly inside KnowWE. Using JavaScript to write the functions and having low level (read) access to given variable and history arguments, allows virtually unlimited functionality. The functions are stored as knowledge elements inside the d3web knowledge base and can be used equally to other functions in all rules and variables.
  • Ignore Out-Of-Range Values: The TestCasePlayer, Continuous Integration dashboard and Testing App now allow to skip values that are outside the defined ranges of the questions, using a simple annotation or parameter.
  • Regex-Conditions in STCs: Sequetial Test Cases (STCs) now support conditions with regular expressions, which for example also allows to check date questions in the TestingApp.
  • TimeZone-Support for Date Questions: It is now possible to assign dates to date questions with respect to specified time zones. Also, time zones can be set as the unit for date questions, resulting in these questions date values to be displayed in that time zone.
  • Explanation-Module: Show and recursively trace how solutions and values were derived over the different knowledge elements like rules and flowcharts.
  • Icon Cleanup: KnowWE now uses the Font-Awesome icon set to get a more consistent visual look.
  • Visualizations for Ontologies: Ontologies developed in KnowWE can be visualized in different visualization variants.
  • Significantly reduced Memory Footprint: For many large wikis, the memory footprint should be reduced by around 20% because of internal optimizations.
  • Migration to JSPWiki 2.10: Since the end of 2012, JSPWiki is a Apache Project and got several new releases. Since there are a lot of internal changes in JSPWiki, the migration was non-trivial. Instead of JSPWiki 2.8.4, KnowWE now uses 2.10.
  • Migration to Java 8: To be able to use all the nice new features for developers, KnowWE is now running on Java 8. For compatibility reasons, the d3web-core will stay Java 6 for a while.
  • Compatibility for Tomcat 7 and 8: The last versions of KnowWE only supported Tomcat up to version 6. With the next version, we also support version 7 and 8 (until 8.0.9).

Service Release 9, Inspector Gadget, June 2014#

  • Compiler Refactoring: Deep refactoring, modernization and acceleration of the compiler architecture of KnowWE.
  • Extension of the Rules-Markup: Currently rules in KnowWE can only be defined in the following way: IF condition THEN action [EXCEPT condition]. We want to extend the functionality and also allow the usage of ELSE and UNKNOWN.
  • Extension of TestCase XML: Currently TestCases exported to the STC-XML-format only allow simple checks/assertions. We want to extend it to allow the same checks as the TestCaseTable in KnowWE.
  • Overhaul of Object Info: KnowWE gets a replacement for its current Object Info Page. A fast and clean dialog that no longer requires to leave the page!

Long term plans#

The following features are in a planning phase, but are not yet allocated to specific releases.

  • Tooltip improvements: Hovering over questions and solutions during usage or debugging of knowledge bases shows the value of the object in the current problem solving session. We want to improve these tooltips and also make them available in flowchart edges and formulas.
  • Change-Management: Conveniently show differences between different version of a d3web knowledge bases.
  • Review-Plugin: Unified tool allowing to comment and review in all markups of KnowWE.
  • Overhaul of Search: There currently are multiple locations to search content of KnowWE (QuickNavigation, ObjectInfoPage, TermBrowser). We plan to unify and improve all of them into an all new search replacing the rather unhelpful default Quick Navigation of JSPWiki.
  • KnowWE-TimeMachine: Browse and restore previous states of the wiki (the whole wiki, not just single articles).
  • Timeline-Plugin: Visualize the timeline of a variable of the knowledge base during a problem solving session or while debugging.
  • Flowchart-Diffs: New DiffProvider allowing to visualize changes in DiaFlux flowcharts.
  • KnowWE-Updater: GUI-App to start and update KnowWE installations.
  • TimeDB function for gradient error of estimation: Calculating a gradient over a history of values always comes with an estimation error. It can tell how suited the calculated gradient is for approximating the given history of values. In a new function we want to produce this estimation error for further consideration in the knowledge base.

More to come...