SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Smalltalk Wiki
                              towards CMS




                               Lukas Renggli

Lukas Renggli, August 2003                     Slide 1
Why another Wiki?
                                     ß Object Oriented
                                       Design
                                     ß Extensibility
                                       ß Components
                                       ß Web server
                                       ß Storage
                                     ß Open source
                                     ß Dialect independent
                                     ß Test Suites

Lukas Renggli, August 2003                                   Slide 2
Roadmap
         ß User
               ß Editing
               ß Navigation
         ß Administrator
               ß Templates
         ß Developer
               ß Testing
               ß Implementation
               ß Coding Session
         ß Summary

Lukas Renggli, August 2003              Slide 3
User

                              Editing
                             Navigation


Lukas Renggli, August 2003                Slide 4
[Page Example 1] SmallWiki
                                                SmallWiki
                                                 Demo
                                                 Demo




         ß Paragraph
         ß Unordered List
         ß Links




Lukas Renggli, August 2003                                  Slide 5
[Page Example 2] SmallWiki
                                                SmallWiki
                                                 Demo
                                                 Demo


         ß   Renderer
         ß   Actions
         ß   Session
         ß   References
         ß   Path



Lukas Renggli, August 2003                                  Slide 6
Administrator


                                Templates



Lukas Renggli, August 2003                   Slide 7
Template Example I

                   Wiki Title
                        Path
                        Structure Title
     Actions

                             Content
        Refs




Lukas Renggli, August 2003                   Slide 8
Template Example II

                 Actions
           Structure Title


                 Content


                 Actions




Lukas Renggli, August 2003                  Slide 9
[Template Example]
                                       SmallWiki
                                          SmallWiki
                                           Demo
                                           Demo




Lukas Renggli, August 2003                         Slide 10
Developer

                                 Testing
                             Implementation
                              Coding Session


Lukas Renggli, August 2003                     Slide 11
[Testing]
                                         SmallWiki
                                         SmallWiki
                                          Demo
                                           Demo




Lukas Renggli, August 2003                           Slide 12
Basic Design

                              WikiItem              Visitor




                              Document
       Structure                         Template   Action
                             Component




Lukas Renggli, August 2003                                    Slide 13
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
Wiki Documents
                       !Heading Text
                       Paragraph containing a *Link*
                                                SmaCC Parser

                  :Page            :Document


                              :Header       :Paragraph


                                        :Text        :InternalLink


                                                        :Page
Lukas Renggli, August 2003                                           Slide 15
Available Extensions
                             ß   Search Engine
                             ß   Keyword Index
                             ß   Link Collection
                             ß   External Link Checker
                             ß   Photo Folder
                             ß   E-Mail Notification
                             ß   Importer

Lukas Renggli, August 2003                               Slide 16
<?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
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
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
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
General Setup

                                    Request


                                   Response

                 Client                            Server


          Web Browser               Server      Structure


                                 SwazooServer

Lukas Renggli, August 2003                                  Slide 21
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
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
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
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
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

Mais conteúdo relacionado

Mais de ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

Mais de ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Último

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Último (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

Towards a CMS: SmallWiki Demo and Overview

  • 1. Smalltalk Wiki towards CMS Lukas Renggli Lukas Renggli, August 2003 Slide 1
  • 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. Roadmap ß User ß Editing ß Navigation ß Administrator ß Templates ß Developer ß Testing ß Implementation ß Coding Session ß Summary Lukas Renggli, August 2003 Slide 3
  • 4. User Editing Navigation Lukas Renggli, August 2003 Slide 4
  • 5. [Page Example 1] SmallWiki SmallWiki Demo Demo ß Paragraph ß Unordered List ß Links Lukas Renggli, August 2003 Slide 5
  • 6. [Page Example 2] SmallWiki SmallWiki Demo Demo ß Renderer ß Actions ß Session ß References ß Path Lukas Renggli, August 2003 Slide 6
  • 7. Administrator Templates Lukas Renggli, August 2003 Slide 7
  • 8. Template Example I Wiki Title Path Structure Title Actions Content Refs Lukas Renggli, August 2003 Slide 8
  • 9. Template Example II Actions Structure Title Content Actions Lukas Renggli, August 2003 Slide 9
  • 10. [Template Example] SmallWiki SmallWiki Demo Demo Lukas Renggli, August 2003 Slide 10
  • 11. Developer Testing Implementation Coding Session Lukas Renggli, August 2003 Slide 11
  • 12. [Testing] SmallWiki SmallWiki Demo Demo Lukas Renggli, August 2003 Slide 12
  • 13. Basic Design WikiItem Visitor Document Structure Template Action Component Lukas Renggli, August 2003 Slide 13
  • 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. Wiki Documents !Heading Text Paragraph containing a *Link* SmaCC Parser :Page :Document :Header :Paragraph :Text :InternalLink :Page Lukas Renggli, August 2003 Slide 15
  • 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. <?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. 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. 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. 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. General Setup Request Response Client Server Web Browser Server Structure SwazooServer Lukas Renggli, August 2003 Slide 21
  • 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. 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. 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. 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. 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