KwikiKwiki - The Kwiki Way To Make Distribution

Tokyo Japan

March 29th, 2005

Me

劉康民 Kang-min "Gugod" Liu

Kwiki

What is Kwiki ?

http://kwiki.org/

Best Wiki Framework Ever

Extreme Plugin/Extension flexibility

Perl haker playground.

continued...

Kwiki

What is Kwiki ?

http://kwiki.org/

Best Wiki Framework Ever

Extreme Plugin/Extension flexibility

Perl haker playground.

Worst Wiki System Ever

Kwiki Problemo

continued...

Kwiki Problemo

continued...

Kwiki Problemo

Kwiki Problemo

Kwiki::AdSense Kwiki::Ajax::Toolman Kwiki::AnchorLink Kwiki::Archive Kwiki::Archive::Cvs Kwiki::Archive::Rcs Kwiki::Archive::SVK Kwiki::Atom Kwiki::Atom::Server Kwiki::Attachments Kwiki::AuthorOnlyPageEditing Kwiki::Autoformat Kwiki::Backlinks Kwiki::Base Kwiki::Blog Kwiki::BreadCrumbs Kwiki::BroadcastMessage Kwiki::BrowserDetect Kwiki::Cache Kwiki::CachedDisplay Kwiki::CGI Kwiki::CGI::Blog Kwiki::CGI::Keywords Kwiki::Command Kwiki::Comments Kwiki::Config Kwiki::ConfigBlocks Kwiki::ContentObject Kwiki::Cookie Kwiki::CoolURI Kwiki::CSS Kwiki::DatedAnnounce Kwiki::DB Kwiki::DB::ClassDBI Kwiki::DB::DBI Kwiki::Diff Kwiki::Display Kwiki::DMOZLink Kwiki::DNSBL Kwiki::Edit Kwiki::Edit::RequireUserName Kwiki::Edit::Scode Kwiki::Edit::SubEtha Kwiki::Edit::TypeKeyRequired Kwiki::Email Kwiki::Emoticon Kwiki::EscapeURI Kwiki::Export Kwiki::Favorites Kwiki::FetchRSS Kwiki::Files Kwiki::Footnote Kwiki::Footnote::Footnote Kwiki::ForeignLinkGlyphs Kwiki::Formatter Kwiki::Formatter::Emoticon Kwiki::Formatter::Pod Kwiki::GDGraphGenerator Kwiki::GoogleLink Kwiki::GuestBook Kwiki::HanConvert Kwiki::HomePagePreference Kwiki::HtmlBlocks Kwiki::Hub Kwiki::Icons Kwiki::Icons::Crystal Kwiki::Icons::Gnome Kwiki::Image Kwiki::Infobox Kwiki::Installer Kwiki::IRCMode Kwiki::Javascript Kwiki::Keywords Kwiki::ListPages Kwiki::LiveSearch Kwiki::Markdown Kwiki::MindMap Kwiki::ModPerl Kwiki::NavigationToolbar Kwiki::NewPage Kwiki::Notify::IRC Kwiki::Notify::Mail Kwiki::OpenSearch Kwiki::OpenSearch::Service Kwiki::Orphans Kwiki::Outline2HTML Kwiki::Page::Perldoc Kwiki::PageInclude Kwiki::PagePrivacy Kwiki::Pages Kwiki::Pages::Perldoc Kwiki::PageStats Kwiki::PageTemperature Kwiki::PageTemplate Kwiki::Pane Kwiki::ParagraphBlocks Kwiki::PerlTidyBlocks Kwiki::PerlTidyModule Kwiki::Plugin Kwiki::PodBlocks Kwiki::Podcast Kwiki::PoweredBy Kwiki::PPerl Kwiki::Preferences Kwiki::PreformattedBlocks Kwiki::PrinterFriendly Kwiki::Purple Kwiki::Purple::Sequence Kwiki::Raw Kwiki::RecentChanges Kwiki::RecentChanges::Atom Kwiki::RecentChangesRSS Kwiki::ReferrerLog Kwiki::Registry Kwiki::Revisions Kwiki::Scode Kwiki::Search Kwiki::Search::Plucene Kwiki::Search::Spotlight Kwiki::Session Kwiki::ShellBlocks Kwiki::ShortcutLinks Kwiki::Simple::Server::HTTP Kwiki::SOAP Kwiki::SOAP::Fortune Kwiki::SOAP::Google Kwiki::SocialMap Kwiki::Spork Kwiki::Status Kwiki::Technorati Kwiki::Template Kwiki::Template::TT2 Kwiki::Template::TT2::UTF8 Kwiki::Template::TT2::UTF8::Provider Kwiki::Test Kwiki::Textile Kwiki::Theme Kwiki::Theme::Basic Kwiki::Theme::Bluepole Kwiki::Theme::ColumnLayout Kwiki::Theme::CPB Kwiki::Theme::GreenHouse Kwiki::Theme::HLB Kwiki::Theme::JustContent Kwiki::Theme::Klassik Kwiki::Theme::PerlMongers Kwiki::Theme::Selectable Kwiki::Theme::TabNav Kwiki::TimeZone Kwiki::Toolbar Kwiki::Toolbar::List Kwiki::Trackback Kwiki::TypeKey Kwiki::URLBL Kwiki::URLBlock Kwiki::User::Auth Kwiki::User::Cookie Kwiki::User::Remote Kwiki::User::TypeKey Kwiki::UserMessage Kwiki::UserMessage::CDBI Kwiki::UserName Kwiki::UserName::Auth Kwiki::UserName::Cookie Kwiki::UserName::Remote Kwiki::UserPhoto Kwiki::UserPreferences Kwiki::Users Kwiki::Users::Auth Kwiki::Users::Cookie Kwiki::Users::Remote Kwiki::Users::TypeKey Kwiki::VimMode Kwiki::Weather Kwiki::WebFile Kwiki::Widgets Kwiki::Widgets::Links Kwiki::Widgets::RandomQuote Kwiki::Widgets::RecentChanges Kwiki::Wikiwyg Kwiki::Yahoo Kwiki::Zipcode

Kwiki Problemo

continued...

Kwiki Problemo

continued...

Kwiki Problemo

continued...

Kwiki Problemo

continued...

Kwiki Problemo

Kwiki Problemo ?

What Plugin to Choose ?

Kwiki Problemo ?

どち?

God Knows

Doomed

The default

Kwiki::Display
Kwiki::Edit
Kwiki::Theme::Basic
Kwiki::Toolbar
Kwiki::Status
Kwiki::Widgets

svk.elixus.org

Kwiki::Display
Kwiki::Edit
Kwiki::Theme::ColumnLayout
Kwiki::Toolbar
Kwiki::Status
Kwiki::Widgets
Kwiki::NewPage
Kwiki::RecentChanges
Kwiki::Archive::SVK
Kwiki::Revisions
Kwiki::Favorites
Kwiki::Attachments
Kwiki::RecentChangesRSS
Kwiki::ReferrerLog
Kwiki::Preferences
Kwiki::PagePrivacy

Mine

Kwiki::Display
Kwiki::Edit
Kwiki::Theme::Ajax
Kwiki::Toolbar
Kwiki::Status
Kwiki::Widgets
Kwiki::NewPage
Kwiki::Search::Spotlight
Kwiki::Image
Kwiki::RecentChanges
Kwiki::Archive::Simple
Kwiki::Revisions
Kwiki::Wikiwyg
Kwiki::CachedDisplay
Kwiki::Widgets::RecentChanges

Good

Hackers knows how to choose.

KwikiKwiki

A new toy for Kwiki hackers

> kwiki -new Kwiki-YAPC
> cd $_
> kk -dist

Kwiki-YAPC.tar.gz created.

It can...

continued...

It can...

It helps...

How does it work ?

use lib 'lib'
continued...

How does it work ?

use lib 'lib'
continued...

How does it work ?

use lib 'lib'
continued...

How does it work ?

use lib 'lib'
continued...

How does it work ?

use lib 'lib'

Use it

kk -init

Initalize some necessary environments

% vim kwiki/source/list

=== svn
--- http://svn.kwiki.org/ingy/Spiffy
--- http://svn.kwiki.org/ingy/Spoon
--- http://svn.kwiki.org/ingy/Kwiki
--- http://svn.kwiki.org/ingy/IO-All
--- http://svn.kwiki.org/ingy/Template-Installed
--- http://svn.kwiki.org/ingy/YAML
--- http://tpe.freepan.org/repos/gugod/Kwiki-Simple-Server-HTTP
=== cpan
--- File::MMagic
--- MIME::Type
--- MIME::Types
--- IO::Capture
--- URI::Escape
--- HTTP::Server::Simple
--- HTTP::Server::Simple::Kwiki

Use it

kk -src

Pull in source codes

Use it

kk -lib

Make a 'lib' for Kwiki environment.

Use it

kk -dist

Make an distribution

Kwiki-YAPC.tar.gz created.

The Magic

http://svn.kwiki.org/ingy/Spiffy

/Users/gugod/dev/kwiki/Kwiki-NewStuff

The Magic

http://svn.kwiki.org/ingy/Spiffy/lib

/Users/gugod/dev/kwiki/Kwiki-NewStuff/lib

What now

kwiki -start

It just Runs

More ?

use lib 'lib';
continued...

More ?

use lib 'lib';

We hacks

終了