Date post: | 05-Jul-2015 |
Category: |
Technology |
Upload: | gorka-puente |
View: | 1,009 times |
Download: | 0 times |
Wiki Refactoring in WikiWhirl
Gorka Puente
Oscar Díaz
Maider Azanza
ONEKIN Research GroupUniversity of the Basque Country (Spain)
G. Puente
WIKI CONTENT
2
G. Puente 3
Article
Article is a comprehensive compound of
content that it makes sense to handle as a
unit.
A wiki article usually contains links to other
wiki articles.
G. Puente 4
Article
Talk
Title
Section
Categories
G. Puente 5
Section
A page can and should be divided into sections,
using the section heading syntax == Section ==,
to organize the content.
Section
TOC
G. Puente 6
Category (1)
Category is a keyword or tag used to organize
and locate articles along the wiki.
Adding a category to an article creates a link that
permits easy navigation from this page to other
pages in that category and, in so doing, facilitates
browsing related articles.
G. Puente 7
Category (2)
Hierarchy
Education in Spain
by autonomous community
University of the
Basque Country
Education in the
Basque Country
Category
Subcategory
Article
G. Puente
Category & Articles
Category view: articles of a category
8
G. Puente
Category & Articles
Article view: categories of an article
9
G. Puente 10
Talk
Talk pages or discussion pages are a special kind
of pages used to hold discussions about the
content of the corresponding page.
With this mechanism, the content is kept
separated from discussion threads.
G. Puente 11
Talk
G. Puente
Recent Changes
12
G. Puente
Summary section
13
Edit summary: it helps everyone to understand what is changed, such as when
reading the history of the page.
G. Puente
WIKI EVOLUTION
14
G. Puente 15
Why do Wikis evolve?
Wiki lifetimeDomain understanding
Collaborative development
Wiki corpus
Organic growth
- +
Articles
Categories
G. Puente
WIKI REFACTORING
16
G. Puente
Wiki Refactoring
Code Refactoring: restructure code without
changing its “external behaviour”
Wiki Refactoring:
• change the internal structure for the sake of
navigability, accessibility or comprehension
• content and its authorship should be kept
immutable.
17
G. Puente
Wiki Refactoring: Independence
18
Readership independence:• Inform where the content has been moved to
• Preserve URL
Authorship independence:• Refactoring must preserve authorship
G. Puente
Refactoring Operations
19
Refactoring
operation
Recent
changes
Talk
page
Summary
section
Redirect
page
Create ✔
Categorize ✔
Uncategorize ✔
Rename ✔ ✔ ✔
Drop ✔
Split ✔ ✔ ✔
Merge ✔ ✔ ✔ ✔
Move ✔ ✔ ✔ ✔
G. Puente
OUR APPROACH: A NEW SETTING
20
G. Puente
Wiki Refactoring: our Approach
21
Open: refactoring conducted by users
Observable: traceable and preserving
authorship attribution.
G. Puente
Wiki Refactoring: WikiWhirl
22
FreeMind plugin for wiki refactoring
Same operations as in MediaWiki• Productivity
• Accessibility
• Reliability
G. Puente
FreeMind
23
G. Puente
A REFACTORING SESSION
24
G. Puente
Process
25
Import a wiki as a Mind Map
Apply refactoring operationsas node manipulation
Save changes preservingauthorship and readership
G. Puente
Process
26
Import a wiki as a Mind Map
Apply refactoring operationsas node manipulation
Save changes preservingauthorship and readership
G. Puente
Import a Wiki as a Mind Map
27
G. Puente
Process
28
Import a wiki as a Mind Map
Apply refactoring operationsas node manipulation
Save changes preservingauthorship and readership
G. Puente 29
Apply refactoring operationsas node manipulation: split
G. Puente
Process
30
Import a wiki as a Mind Map
Apply refactoring operationsas node manipulation
Save changes preservingauthorship and readership
G. Puente 31
Save changes preservingauthorship and readership
G. Puente 32
Save changes preservingauthorship and readership
Merge
Move
G. Puente
OPERATIONS IN WIKIWHIRL
33
G. Puente
Create article
34
Add edit icon
to a node
G. Puente
Create article
G. Puente
Create category
36
Add folder icon
to a node
G. Puente
Create category
37
G. Puente
Categorize article/category
38
Drag&drop
node to a category
G. Puente
Categorize article/category
39
G. Puente
Categorize article/category
40
G. Puente
Uncategorize article/category
41
Drag&drop
node to root
G. Puente
Uncategorize article/category
42
G. Puente
Rename article/category
43
Right mouse
Edit node (F2)
G. Puente
Rename article/category
44
G. Puente
Rename article/category
45
G. Puente
Rename article/category
46
G. Puente
Drop article/category
47
Right mouse
Remove node
(Supr)
G. Puente
Drop article/category
48
G. Puente
Drop article/category
49
G. Puente
Merge (artefact1, artefact2, newMergedArtefact)
50
Select 2 nodes (hold Ctrl)
Right mouse click
WikiWhirl merge
G. Puente
Merge (artefact1, artefact2, newMergedArtefact)
51
G. Puente
Merge (artefact1, artefact2, newMergedArtefact)
52
G. Puente
Split (artefact1, newSplitArtefact)
53
Right mouse click
WikiWhirl split
G. Puente
Split (artefact1, newSplitArtefact)
54
G. Puente
Split (artefact1, newSplitArtefact)
55
G. Puente
Move (section1, souceArticle, targetArticle)
56
Drag&drop section1 from
sourceArticle to targetArticle
G. Puente
Move (section1, souceArticle, targetArticle)
57
G. Puente
Move (section1, souceArticle, targetArticle)
58
G. Puente
THAT’S ALL!
59