HTML Injection Attacks: Impact and Mitigation Strategies
wiki.openmath.org – how it works, how you can participate
1. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
wiki.openmath.org – how it works, how you
can participate
OpenMath Workshop @ CICM 2009
Christoph Lange
Jacobs University, Bremen, Germany
KWARC – Knowledge Adaptation and Reasoning for Content
This work was supported by JEM-Thematic-Network ECP-038208.
July 9, 2009
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 1/26
2. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Overview
http://wiki.openmath.org – browse, edit, and discuss
OpenMath 2 and 3 Content Dictionaries
permission system distinguishes CD editors from visitors
powered by semantic wiki technology (SWiM)
In this talk:
How does it work?
How can you use it?
What do users think?
What’s next?
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 2/26
3. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
OpenMath CD example
<CD>
<CDName>arith1</CDName>
<Description>common arithmetic functions</Description>
<CDBase>http://www.openmath.org/cd</CDBase>
<!-- also mandatory: date, version, status -->
<CDDefinition>
<Name>plus</Name>
<Role>application</Role>
<Description>The symbol representing an n-ary
commutative function plus.</Description>
<CMP>for all a,b | a + b = b + a </CMP>
<FMP>β(quant1#forall, a, b,
@(relation1#eq, @(arith1#plus, a, b), @(arith1#plus, b, a)))</FMP>
...
<Example>...</Example>
</CDDefinition>
...
</CD>
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 3/26
4. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Additional information
Given in separate files (one per CD):
types of symbols: e. g. in STS
notations of symbols (for human-readable [Presentation
MathML] output): XSLT or domain-specific language
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 4/26
5. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Maintenance of the OpenMath CDs (1)
Review process:
Official CDs (those maintained by OpenMath Society) undergo
review process
Once intended meaning of a symbol is fixed, mistakes still remain
Authoring:
CD files reside in Subversion repository
https://svn.openmath.org
check out working copy
use XML-aware text editor
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 5/26
6. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Maintenance of the OpenMath CDs (2)
Discussing issues:
mailing lists om@openmath.org, om3@openmath.org
Trac issue tracker: https://trac.mathweb.org/OM3
Presenting CDs:
Most commonly XHTML+MathML
XSLT, controlled by makefiles
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 6/26
7. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Use Case 1: Minor Edits
edits that don’t change semantics (e. g. spelling of a symbol
description) – traditional workflow:
1 Update the svn working copy
2 Open the CD file
3 Navigate to the Description child of the symbol in question
4 Fix the mistake
5 Commit the file (and give a meaningful log message that
exactly refers to the symbol where the mistake was fixed)
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 7/26
8. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Use Case 2: Discussing and Implementing
Revisions
major revisions that a single editor cannot make and that have to be
discussed
1 Someone points out a problem (e. g. an FMP is wrong)
2 . . . sends a mail to the mailing list (including a link to the CD)
(theoretical alternative: Trac)
3 others reply, reach agreement
4 somebody implements the solution and documents it in the log
message
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 8/26
9. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Use Case 3: Editing and Verifying Notations
n
imagine seeing exp(x) = ∑n=0 x in some CD exp.ocd
∞ n!
1 What formal identifier does ∑ have? ⇒ arith1#sum
2 Open arith1.ntn (or arith1.xsl )
3 Go to ‘‘sum’’
4 Fix the notation definition ⇒ ∑upper
lower
5 Regenerate the original CD’s presentation: make exp.xhtml
(Regenerate all CDs where ∑ occurs? Regenerate all CDs??)
6 Open exp.xhtml in browser. Correct? If not, then go to 2
7 Commit arith1.ntn, giving a meaningful log message
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 9/26
10. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
The OpenMath Wiki at wiki.openmath.org
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 10/26
11. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Use Case 1: Minor Edits (1)
SWiM offers editors for all types of knowledge in CDs
(→ Lange/González Palomo, MathUI 2008):
structural outline (e. g. CD→CDDefinition→FMP)
metadata of all such units (e. g. description, revision date)
OpenMath objects (inside FMPs and examples)
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 11/26
12. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Structure Editor
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 12/26
13. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Metadata Editor
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 13/26
14. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Formula Editor
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 14/26
15. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Use Case 1: Minor Edits (2)
revisions in a context as local as possible
every CD, symbol, CMP, FMP, example is one wiki page = one
unit of navigation, editing, maintenance
(compare Subversion: 1 CD = 1 file)
split CD into such fragments on update from svn, reassemble it
on commit
smooth Subversion integration (no breaks so far!): can still edit
with other tools
CDs can still be viewed as a whole
r1234 | clange | 2009-05-11 13:06:41 +0200 (Mon, 11 May 2009) |
2 lines
[Administrator@SWiM] replaced metadata field dc:description
Actually changed fragment cd:transc1+sin
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 15/26
16. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Use Case 2: Discussing and Implementing
Revisions (1)
One local discussion forum per wiki page (= CD, symbol, math.
property, example)
discussions on the granularity of knowledge
discussion threads with a semantic structure
compare conventional wikis: unstructured discussion pages,
users have to follow syntactic and linguistic conventions
SWiM: users can indicate the type of their post:
argumentation ontology: issue→idea→position→decision
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 16/26
17. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Use Case 2: Discussing and Implementing
Revisions (2)
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 17/26
18. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Use Case 2: Discussing and Implementing
Revisions (3)
Joint queries over discussion threads and CDs:
discussions represented as RDF graph (using the
argumentation ontology)
post types
reply-to relation
CD structures also represented as RDF (extracted from XML)
part–whole links
links from symbol occurrences to symbol definitions
metadata
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 18/26
19. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Use Case 2: Discussing and Implementing
Revisions (3)
SELECT DISTINCT ?P WHERE {
?P a omo:Symbol ;
ikewiki:hasDiscussion ?D .
?C a arguonto:Issue;
sioc:has_container ?D .
OPTIONAL { ?Dec arguonto:decides ?C . }
FILTER (!bound(?Dec)) }
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 19/26
20. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Use Case 2: Discussing and Implementing
Revisions (4)
Potential of extending argumentation ontology domain-specifically:
common problems have common solutions
system can assist users with implementing them
ongoing survey on what is ‘‘common’’:
http://tinyurl.com/5qdetd
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 20/26
21. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Use Case 3: Editing and Verifying Notations
SWiM uses *.ntn notation dictionaries (→ Kohlhase/Müller/Rabe,
MKM 2008), renders documents using JOMDoc
(http://jomdoc.omdoc.org)
Editing workflow:
1 navigate from occurrence of symbol to its definition (thanks to
parallel markup)
2 navigate from symbol definition to the corresponding notation
(to be speeded up by more interactivity → Giceva/Lange/Rabe,
Sunday)
3 rendered documents are cached, but after changing a notation
definition clears all affected documents from cache (query finds
affected documents)
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 21/26
22. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Use Case 3: Editing and Verifying Notations
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 22/26
23. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Evaluation
Discussions: only feature really used so far (usability issues?)
initially imported old e-mail discussions
(Rowley/Carlisle/Kohlhase/. . . )
later, users also discussed in the wiki (90 discussion posts
overall)
69 posts fit into argumentation ontology (48 issues, 10 ideas)
9 out of 23 user-contributed posts not classified
post type missed most: question
some posts not classifiable because of multiple argumentative
types in the same sentence (research challenge!)
36 posts (e-mail only) about symbols, 54 on CD level, none for
[CF]MPs, examples.
Subparts hard to reach? Not intuitive? Posts about more than
one symbol?
Users basically understand how to discuss
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 23/26
24. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Bugs and Missing Features
bias on editing existing content
e. g. adding a symbol to a CD is close to impossible
(due to different granularities wiki vs. svn)
Subversion support is restricted: update, commit, lock
(no add, delete, merge, . . . )
other misses: no links to discussion posts, no e-mail notification,
no global search/replace
What else? → http://trac.mathweb.org/OM3 – thanks!
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 24/26
25. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Roadmap
underlying IkeWiki engine discontinued
started port to successor KiWi (more modular, dashboard,
recommendation, facetted search, transactions)
TNTBase (→ http://trac.mathweb.org/tntbase),
versioned XML database
interactive documents → Giceva/Lange/Rabe, Sunday
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 25/26
26. OpenMath CDs Authoring/Reviewing Wiki Evaluation Conclusion
Conclusion
SWiM supports certain special but common use cases very well
not yet a full CD editor
SWiM to be improved → better collaboration on
http://wiki.openmath.org
Ch. Lange (Jacobs University) wiki.openmath.org – how it works, how you can participate July 9, 2009 26/26