Smalltalk Wiki
                              towards CMS




                               Lukas Renggli

Lukas Renggli, ...
Why another Wiki?
                                     ß Object Oriented
                                       Design
   ...
Roadmap
         ß User
               ß Editing
               ß Navigation
         ß Administrator
               ß Tem...
User

                              Editing
                             Navigation


Lukas Renggli, August 2003          ...
[Page Example 1] SmallWiki
                                                SmallWiki
                                     ...
[Page Example 2] SmallWiki
                                                SmallWiki
                                     ...
Administrator


                                Templates



Lukas Renggli, August 2003                   Slide 7
Template Example I

                   Wiki Title
                        Path
                        Structure Title
   ...
Template Example II

                 Actions
           Structure Title


                 Content


                 Act...
[Template Example]
                                       SmallWiki
                                          SmallWiki
  ...
Developer

                                 Testing
                             Implementation
                          ...
[Testing]
                                         SmallWiki
                                         SmallWiki
          ...
Basic Design

                              WikiItem              Visitor




                              Document
     ...
Structure

                                                   0..1                  predecessor
       children           ...
Wiki Documents
                       !Heading Text
                       Paragraph containing a *Link*
                 ...
Available Extensions
                             ß   Search Engine
                             ß   Keyword Index
       ...
<?xml version="1.0" ?>

         Coding Session                    <rss version="2.0">
                                   ...
Summary
         Presented              Not Seen
         ß Structure            ß Pluggable
               ß Folder      ...
Towards a CMS




                                 []
                                   I
       ß We should not let PHP ...
References
         ß Latest Release
               ß SCG StORE and Cincom Public StORE
         ß Running SmallWiki
     ...
General Setup

                                    Request


                                   Response

                ...
Document
                                   *       Document
                                          Component


       ...
Template
                                        * Template


    1
         Container                  Structures        ...
Actions
                                      Action



        View                   Edit              History          ...
HTTP-GET
 /folder/page?action=EditPage
                                            Serving

                             1...
Rendering
                                                                         :Document
                             ...
Upcoming SlideShare
Loading in …5
×

SmallWiki: Smalltalk Wiki towards CMS

5,579 views
5,469 views

Published on

Lukas Renggli: SmallWiki: Smalltalk Wiki towards CMS (ESUG 2003, Bled)

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
5,579
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SmallWiki: Smalltalk Wiki towards CMS

  1. 1. Smalltalk Wiki towards CMS Lukas Renggli Lukas Renggli, August 2003 Slide 1
  2. 2. Why another Wiki? ß Object Oriented Design ß Extensibility ß Components ß Web server ß Storage ß Open source ß Dialect independent ß Test Suites Lukas Renggli, August 2003 Slide 2
  3. 3. Roadmap ß User ß Editing ß Navigation ß Administrator ß Templates ß Developer ß Testing ß Implementation ß Coding Session ß Summary Lukas Renggli, August 2003 Slide 3
  4. 4. User Editing Navigation Lukas Renggli, August 2003 Slide 4
  5. 5. [Page Example 1] SmallWiki SmallWiki Demo Demo ß Paragraph ß Unordered List ß Links Lukas Renggli, August 2003 Slide 5
  6. 6. [Page Example 2] SmallWiki SmallWiki Demo Demo ß Renderer ß Actions ß Session ß References ß Path Lukas Renggli, August 2003 Slide 6
  7. 7. Administrator Templates Lukas Renggli, August 2003 Slide 7
  8. 8. Template Example I Wiki Title Path Structure Title Actions Content Refs Lukas Renggli, August 2003 Slide 8
  9. 9. Template Example II Actions Structure Title Content Actions Lukas Renggli, August 2003 Slide 9
  10. 10. [Template Example] SmallWiki SmallWiki Demo Demo Lukas Renggli, August 2003 Slide 10
  11. 11. Developer Testing Implementation Coding Session Lukas Renggli, August 2003 Slide 11
  12. 12. [Testing] SmallWiki SmallWiki Demo Demo Lukas Renggli, August 2003 Slide 12
  13. 13. Basic Design WikiItem Visitor Document Structure Template Action Component Lukas Renggli, August 2003 Slide 13
  14. 14. Structure 0..1 predecessor children * Structure 1 parent 0..1 title, predecessor, properties, parent 1 Folder Resource Page 1 children data, mime-type document Lukas Renggli, August 2003 Slide 14
  15. 15. Wiki Documents !Heading Text Paragraph containing a *Link* SmaCC Parser :Page :Document :Header :Paragraph :Text :InternalLink :Page Lukas Renggli, August 2003 Slide 15
  16. 16. Available Extensions ß Search Engine ß Keyword Index ß Link Collection ß External Link Checker ß Photo Folder ß E-Mail Notification ß Importer Lukas Renggli, August 2003 Slide 16
  17. 17. <?xml version="1.0" ?> Coding Session <rss version="2.0"> <channel> <item> <title>SmallWiki</title> <description>A Small ... <link>http://www.sm ... </item> ß RSS News Feed ... </channel> ß BottomFeeder </rss> ß Reuse of Model ß Template Component ß Visible on all Pages ß Configuration Interface ß Automatic Refresh RSS Lukas Renggli, August 2003 Slide 17
  18. 18. Summary Presented Not Seen ß Structure ß Pluggable ß Folder ß Server ß Pages ß Storage ß Resources ß Versioning ß Documents ß Security ß Parsing ß Actions ß Templates ß Callbacks ß Extensions Lukas Renggli, August 2003 Slide 18
  19. 19. Towards a CMS [] I ß We should not let PHP and Zope win ß SmallCMS: Reusable Components for Content Management ß Join, use, extend, … Lukas Renggli, August 2003 Slide 19
  20. 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 Lukas Renggli, August 2003 Slide 20
  21. 21. General Setup Request Response Client Server Web Browser Server Structure SwazooServer Lukas Renggli, August 2003 Slide 21
  22. 22. Document * Document Component 1 Document Horizontal Text Composite Rule Document Header Paragraph Link Preformatted External OrderedList List Mail UnorderedList Table Internal … … Lukas Renggli, August 2003 Slide 22
  23. 23. Template * Template 1 Container Structures String Root … Row Path Content Column References Timestamp Title Wiki ß Position on the page Structure ß Content of component Template>>for: anAction Action Lukas Renggli, August 2003 Slide 23
  24. 24. Actions Action View Edit History Invisible … Folder Folder Folder Add Page Page Page Remove Resource Resource Resource GoTo Login ß Execute the action-code Action>>execute ß Provide an user interface Action>>renderContent Lukas Renggli, August 2003 Slide 24
  25. 25. HTTP-GET /folder/page?action=EditPage Serving 1: process 2: process root: Folder folder: Folder 7.1: template 3: process 7.2: renderer 8. render 5: execute :Visitor :EditPage page: Page 9.1*: accept 9.2*: visit 6: render 4: processAction :Template and :Document Lukas Renggli, August 2003 Slide 25
  26. 26. Rendering :Document 5: template 2: render 10.1*: accept 10.2*: visit 3: renderer 1: execute 4: start :Page :Action 9: start :Renderer 8: document 7: renderContent 8. render 6.1*: accept 6.2*: visit :Content :Template Lukas Renggli, August 2003 Slide 26

×