smwcon fall 2013 managing content structure with smartcore

32
Managing SMW content structure with SmartCore™ Erwin Oord (ArchiXL) @erwinoord SMWCon Fall 2013 Wednesday, October 30 th 2013 Berlin, Germany

Upload: erwin-oord

Post on 05-Jul-2015

341 views

Category:

Technology


1 download

DESCRIPTION

SMW enables you to structure the content of your wiki by using forms and templates. However, creating and maintaining these is cumbersome since wiki code is not very user friendly. SmartCore™ enables you to manage your content structure (classes, properties and relations) as if it were plain content itself – and in fact it is plain content! Changes (such as adding a property) can be made on the fly and will be reflected immediately in forms and content pages. To use SmartCore™ you don’t need programming any wiki code. No pipes, no curly braces, etc. And since the SmartCore™ code itself consists of wiki content, it is fully configurable without any php programming. Apart from being a useful enhancement to SMW, the Smartcore project is an interesting example of using (and even stretching) the nearly unlimited possibilities of SMW.

TRANSCRIPT

Page 1: SMWCon Fall 2013 Managing content structure with SmartCore

Managing SMW content structure with SmartCore™

Erwin Oord (ArchiXL)

@erwinoord

SMWCon Fall 2013

Wednesday, October 30th 2013

Berlin, Germany

Page 2: SMWCon Fall 2013 Managing content structure with SmartCore

2 2

About us…

• ArchiXL

– Independent Dutch consultancy specialised in enterprise architecture (EA)

– Located in Amersfoort

– Customers mainly public sector

– Started using SMW internally for EA repository

• XL&Knowledge (“Excellent knowledge”)

– Knowledge management label for ArchiXL

– Knowledge management world is much larger than only EA

– Semantic MediaWiki as knowledge management platform

– Gold sponsor of SMWCon Fall 2013 Berlin

• Erwin Oord

– Enterprise architect & managing partner at ArchiXL/XL&Knowledge

Page 3: SMWCon Fall 2013 Managing content structure with SmartCore

3 3

1 What is SmartCore about?

2 SmartCore architecture

3 Interesting details

4 Some thoughts on content structure

5 (If time allows) real-life demo: NORA online

Agenda

Page 4: SMWCon Fall 2013 Managing content structure with SmartCore

4 4

SmartCore summary -- what it does

SmartCore™ is an “extension” to SMW

that, in a user friendly way, enables editors to manage content structure

and have changes reflected immediately

in forms and templates used by end-users.

Page 5: SMWCon Fall 2013 Managing content structure with SmartCore

5 5

SmartCore

SmartCore summary -- what it is

250 km/h BMW 740i BMW A.G.

Top speed Car model Created by

Property Element type

(Class) Relation

Co

ncr

ete

Ab

stra

ct

Content

Content structure

Content structure structure

Page 6: SMWCon Fall 2013 Managing content structure with SmartCore

6 6

Why SmartCore? If your content is structured like this…

…and you want to, e.g., add a relation…

Page 7: SMWCon Fall 2013 Managing content structure with SmartCore

7 7

… your templates end up like this!

Page 8: SMWCon Fall 2013 Managing content structure with SmartCore

8 8

How do we avoid this?

• What if we could make our forms and templates dynamic?

• Dynamic =

– Editor can add or modify content structure himself/herself, in a user friendly way

– Changes are reflected immediately in forms and templates

Page 9: SMWCon Fall 2013 Managing content structure with SmartCore

9 9

SmartCore does exactly this

• First, you define the content structure

– SmartCore provides forms and templates for

• Element types

• Properties

• Relations

• Then, create/manage the content

– SmartCore uses the defined content structure to display fields in a standard form

– SmartCore automatically creates categories for element types

– SmartCore can customise the navigation menu

– SmartCore allows for manually customised display templates

Page 10: SMWCon Fall 2013 Managing content structure with SmartCore

10 10

1 What is SmartCore about?

2 SmartCore architecture

3 Interesting details

4 Some thoughts on content structure

5 (If time allows) real-life demo: NORA online

Agenda

Page 11: SMWCon Fall 2013 Managing content structure with SmartCore

11 11

SmartCore architecture

“BMW 740i”

Template: Car model

Form: Car model

Property: “Top speed”

“BMW 740i”

Template: Element

Form: Element

“Car Model”

Template: Element type

Form: Element type

Property: “Top speed”

Traditional SmartCore

Template: Element type

Form: Element type

Element type = Car Model

Page 12: SMWCon Fall 2013 Managing content structure with SmartCore

12 12

SmartCore architecture example: Form:Element

Page 13: SMWCon Fall 2013 Managing content structure with SmartCore

13 13

SmartCore architecture example: BMW 740i Source

Page 14: SMWCon Fall 2013 Managing content structure with SmartCore

14 14

SmartCore architecture example: BMW740i page

Page 15: SMWCon Fall 2013 Managing content structure with SmartCore

15 15

SmartCore architecture example: Template:Element

Looks horrible… but you never have to change this!

Page 16: SMWCon Fall 2013 Managing content structure with SmartCore

16 16

SmartCore architecture example: Element type Car Model

Page 17: SMWCon Fall 2013 Managing content structure with SmartCore

17 17

SmartCore architecture example: Element type Car Maker

Page 18: SMWCon Fall 2013 Managing content structure with SmartCore

18 18

SmartCore architecture example: Property:Top speed

Page 19: SMWCon Fall 2013 Managing content structure with SmartCore

19 19

SmartCore architecture example: Property Form

Page 20: SMWCon Fall 2013 Managing content structure with SmartCore

20 20

SmartCore architecture example: Relation Created by

Page 21: SMWCon Fall 2013 Managing content structure with SmartCore

21 21

SmartCore architecture example: Knowledge Model

Page 22: SMWCon Fall 2013 Managing content structure with SmartCore

22 22

Other stuff

Element type Property Relation Element Knowledge Model

SmartCore architecture overview of components

Form: Element type

Template: Element type

Category: Element types

Form: Property

Template: Property

Category: Properties

Form: Relation

Template: Relation

Category: Relations

Form: Element

Template: Element

Template: Create fields

Template: Autocreate category X

Template: Knowledge

model

More stuff…

Form: Knowledge

model

Category: Knowledge

models

Category: Elements

More stuff…

Standard layout

Navigation sidebar

Page 23: SMWCon Fall 2013 Managing content structure with SmartCore

23 23

1 What is SmartCore about?

2 SmartCore architecture

3 Interesting details

4 Some thoughts on content structure

5 (If time allows) real-life demo: NORA online

Agenda

Page 24: SMWCon Fall 2013 Managing content structure with SmartCore

24 24

Why distinguish between properties and relations?

• Technically, there’s no real difference…

– Relations are stored as wiki properties (“Property:Xyz”)

– We could model relations as property of type “Page”

• But we want to represent relations graphically

– Need to know property or relation

– Need to identify line style, arrowhead, arrowtail (from ArchiMate)

• And we want to restrict property values to specific element types

– e.g. “Created by” can only point to a page of type “Car maker”

Page 25: SMWCon Fall 2013 Managing content structure with SmartCore

25 25

Semantic Forms reversed <nowiki> tags

{{{field|Country|values=Germany,France,Sweden,US}}}

{{{field|Country|values={{#ask:...}} }}}

{{{field|Country|values=</nowiki>{{#ask:...}}<nowiki>}}}

Wiki code in “Form:Car Model”:

Wiki code in “Form:Element”:

Wiki code in “Form:Element”:

But that doesn’t work in SF…

But needs to be dynamic…

Works just fine!

Page 26: SMWCon Fall 2013 Managing content structure with SmartCore

26 26

Parameter paralysis -- still not resolved

{{Element|Top speed=250}}

{{ElementLayout| Top speed ={{{Top speed|}}} }}

{{ElementLayout|{{GetPropName}}={{{{{GetPropName}}|}}} }}

Wiki code in “BMW 740i”:

Wiki code in “Template:Element”:

Form:Element Template: Element Set Props

Template: Element Layout

Unfortunately that doesn’t work…

Page

Page 27: SMWCon Fall 2013 Managing content structure with SmartCore

27 27

1 What is SmartCore about?

2 SmartCore architecture

3 Interesting details

4 Some thoughts on content structure

5 (If time allows) real-life demo: NORA online

Agenda

Page 28: SMWCon Fall 2013 Managing content structure with SmartCore

28 28

Comparing SmartCore to alternatives

Special: CreateClass

Page Schemas SmartCore

Create content structure Yes Yes Yes

Change content structure No Yes Yes

Reuse e.g. properties No No Yes

Mechanism Generate code Generate code Dynamic code

Audience SMW experts SMW experts SMW users

Open source Yes Yes Not yet

Page 29: SMWCon Fall 2013 Managing content structure with SmartCore

29 29

Content structure (manually )

Ideally, content structure is not defined in your wiki at all… but is externalised to an ontology server

BiZZdesign Architect Architecture content

Archi

Ontology server

Page 30: SMWCon Fall 2013 Managing content structure with SmartCore

30 30

1 What is SmartCore about?

2 SmartCore architecture

3 Interesting details

4 Some thoughts on content structure

5 (If time allows) real-life demo: NORA online

Agenda

Page 31: SMWCon Fall 2013 Managing content structure with SmartCore

31 31

Page 32: SMWCon Fall 2013 Managing content structure with SmartCore

32 32

Wrap up

• Questions? Remarks? Want to share your thoughts?

• Right here, right now...

• ... or contact me: