![Page 1: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/1.jpg)
Lukas Renggli, August 2003 Slide 1
Smalltalk Wikitowards CMS
Lukas Renggli
![Page 2: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/2.jpg)
Lukas Renggli, August 2003 Slide 2
Why another Wiki?
ß Object OrientedDesignß Extensibilityß Componentsß Web serverß Storage
ß Open sourceß Dialect independentß Test Suites
![Page 3: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/3.jpg)
Lukas Renggli, August 2003 Slide 3
Roadmap
ß Userß Editingß Navigation
ß Administratorß Templates
ß Developerß Testingß Implementationß Coding Session
ß Summary
![Page 4: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/4.jpg)
Lukas Renggli, August 2003 Slide 4
User
EditingNavigation
![Page 5: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/5.jpg)
Lukas Renggli, August 2003 Slide 5
[Page Example 1]
ß Paragraphß Unordered Listß Links
SmallWikiDemo
SmallWikiDemo
![Page 6: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/6.jpg)
Lukas Renggli, August 2003 Slide 6
[Page Example 2]
ß Rendererß Actionsß Sessionß Referencesß Path
SmallWikiDemo
SmallWikiDemo
![Page 7: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/7.jpg)
Lukas Renggli, August 2003 Slide 7
Administrator
Templates
![Page 8: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/8.jpg)
Lukas Renggli, August 2003 Slide 8
Wiki Title
Path
Actions
Refs
Structure Title
Content
Template Example I
![Page 9: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/9.jpg)
Lukas Renggli, August 2003 Slide 9
Actions
Structure Title
Content
Actions
Template Example II
![Page 10: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/10.jpg)
Lukas Renggli, August 2003 Slide 10
[Template Example]SmallWiki
DemoSmallWiki
Demo
![Page 11: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/11.jpg)
Lukas Renggli, August 2003 Slide 11
Developer
TestingImplementationCoding Session
![Page 12: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/12.jpg)
Lukas Renggli, August 2003 Slide 12
[Testing]SmallWiki
DemoSmallWiki
Demo
![Page 13: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/13.jpg)
Lukas Renggli, August 2003 Slide 13
StructureDocument
Component���������Template���������
WikiItem��������� Visitor���������
Action���������
Basic Design
![Page 14: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/14.jpg)
Lukas Renggli, August 2003 Slide 14
Structure���������
Folder����������� Page���������Resource���������1
*predecessor
children
1
0..1
children����������� data, mime-type����������� document�����������
title, predecessor,
properties, parent �����������parent 0..1
1
Structure
![Page 15: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/15.jpg)
Lukas Renggli, August 2003 Slide 15
Wiki Documents!Heading TextParagraph containing a *Link*
:Page
:Page
:Document
:Header :Paragraph
:Text :InternalLink
SmaCC Parser
![Page 16: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/16.jpg)
Lukas Renggli, August 2003 Slide 16
Available Extensions
ß Search Engineß Keyword Indexß Link Collectionß External Link Checkerß Photo Folderß E-Mail Notificationß Importer
![Page 17: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/17.jpg)
Lukas Renggli, August 2003 Slide 17
Coding Session
ß RSS News Feedß BottomFeederß Reuse of Model
ß Template Componentß Visible on all Pagesß Configuration Interfaceß Automatic Refresh
<?xml version="1.0" ?><rss version="2.0"> <channel> <item> <title>SmallWiki</title> <description>A Small ... <link>http://www.sm ... </item> ... </channel></rss>
RSS
![Page 18: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/18.jpg)
Lukas Renggli, August 2003 Slide 18
Presentedß Structureß Folderß Pagesß Resources
ß Documentsß Parsing
ß Templatesß Extensions
SummaryNot Seenß Pluggableß Serverß Storage
ß Versioningß Securityß Actionsß Callbacks
![Page 19: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/19.jpg)
Lukas Renggli, August 2003 Slide 19
Towards a CMS
ß We should not let PHP and Zope winß SmallCMS: Reusable Components for
Content Managementß Join, use, extend, …
[I]
![Page 20: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/20.jpg)
Lukas Renggli, August 2003 Slide 20
References
ß Latest Releaseß SCG StORE and Cincom Public StORE
ß Running SmallWikiß http://kilana.unibe.ch:9090
ß Documentationß http://c2.com/cgi/wiki?SmallWikiß http://scgwiki.iam.unibe.ch:8080/SCG/520
ß Related Projectsß Gardner: CMS using Seaside and SmallWikiß Garden: In-Image Wiki Editor for Squeak
![Page 21: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/21.jpg)
Lukas Renggli, August 2003 Slide 21
General Setup
SwazooServer
Structure���Server���
Server
Request
Response
Client
Web Browser���
![Page 22: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/22.jpg)
Lukas Renggli, August 2003 Slide 22
DocumentDocument
Component���������
HorizontalRule
Document���Composite�����
1
*
List����
Text
Preformatted
Paragraph
Internal
Link
ExternalOrderedList
UnorderedList
Header
…
Table����
Document����
…
![Page 23: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/23.jpg)
Lukas Renggli, August 2003 Slide 23
* Template���������
Structures��������� String��������� RootContainer���������1
Column
Row����
References
Path����
Timestamp
Content����
Title
Wiki
Action
Structure
������…
Template
ß Position on the pageß Content of component
Template>>for: anAction
![Page 24: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/24.jpg)
Lukas Renggli, August 2003 Slide 24
Action���������
Edit��������� History��������� ������InvisibleView���������
Page
Folder����
Remove
Add����
GoTo
Login
������…
Resource
Page
Folder����
Resource
Page
Folder����
Resource
Actions
ß Execute the action-codeAction>>execute
ß Provide an user interfaceAction>>renderContent
![Page 25: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/25.jpg)
Lukas Renggli, August 2003 Slide 25
Serving
folder: Folder����root: Folder����
page: Page
HTTP-GET/folder/page?action=EditPage
1: process 2: process
3: process
4: processAction
:EditPage5: execute
6: render
7.1: template
:Visitor���8. render
7.2: renderer
:Template
9.1*: accept
:Document
9.2*: visit
and
![Page 26: Smalltalk Wiki towards CMS · Lukas Renggli, August 2003 Slide 23 * Template Container Structures String Root 1 Column Row References Path Timestamp Content Title Wiki Action Structure](https://reader030.vdocuments.us/reader030/viewer/2022041107/5f0afd4c7e708231d42e5105/html5/thumbnails/26.jpg)
Lukas Renggli, August 2003 Slide 26
Rendering
:Action1: execute :Renderer
8. render
:Template
6.1*: accept
:Document
6.2*: visit
2: render
:Page
3: renderer
4: start
5: template
:Content
7: renderContent
9: start
10.1*: accept 10.2*: visit
8: document