Summary edit
wubwikit bundles together Wub and wikitDescription edit
See Also edit
- Wiki News
- announcements and such
- this wikit
- old, obsolete problem list for
Obtaining edit
Github
After google announced it would shutdown google code, the repositories were moved to:Google code
Code was hosted on google code:- wubwikit20120502.zip
- the most recent release of wubwikit
- install.tcl
- a download/install script for wub
- wiki database for offline use
- has "wubwikit.kit" that is all the pieces in one file. Unfortunately, as of 2013-04, wbuwikit.kit is not up-to-date
- wikit repository
- wub repository
Building edit
RZ: To build a standalone wubwikit using kbs get kbs.tcl and run:./kbs.tcl -r install wubwikit[Fill in details about WubWikit, in particular, where to get the application, the differences between wubwikit and the traditional wikit, etc.]MHo 2014-06-12, another try:
D:\home\Hoffmann\Downloads>tclsh kbs.tcl -r install wubwikit === Package eval: wubwikit === Require wubwikit === Require kbskit8.6 wub wikitcl tdbc tcllib1.15 sqlite3.7.15.1 === Require eval: kbskit8.6 === Require kbskit8.6 === Require kbskit0.4 sdx.kit === Require eval: kbskit0.4 === Source Cvs kbskit0.4 === Require error: kbskit0.4 missing sources of package 'kbskit0.4' === Require error: kbskit0.4 Require failed for: kbskit0.4 Error in execution of 'install wubwikit': === Package failed for: kbskit0.4 Require failed for: kbskit0.4Can someone be so kind to explain the process a little further, or point to an existing wubwikit.kit (Startkit) or wubwikit.exe (Starpack)?
Questions edit
- Does Anyone know how to deal with "templates" (a working example would be great)?
- Could not find out how to specify a user defined "docroot" outside the source-tree for customization (with my own css, jQuery, etc...).
- The "port" command line argument doesn't work as expected, value in the Listener section is not overwritten ?
- Is there a possibility to run wikit under apache (cgi mechanism) ?
- When performing a search, text and (database) images are treated the same way, which messes up the "last modification" page. Maybe this behavior could be improved a bit (search only text / search only for WikiDbImages).
Misc edit
MHo:- With the old wiki(t.kit), it was very simple to grab a copy of the starkit, define some simple cgi-wrapper and drive this through Tclhttpd. I suppose the new WubWikit only works with Wub - as the name says ;-) So, WubWikit never runs as a standalone CGI-process, is it right?
- Is a downloadable copy of the wiki pages theirselves available, such as wikit.gz??
- What if everyone on the wiki wanted a daily db backup? That's about 90Gb/day, won't work. What about hourly?
- What if we put a limit on the number of downloads per day? How do we stop one of the daily (hourly?) backup crowd from grabbing one of the slots without requiring login?
- Should we require actual login for db downloads?
- Could/should we require everyone who downloads the db provide it for others to further download? How would we do that? -- Lars H: This is exactly the kind of problem BitTorrent aims to solve, is it not?
- How often should a given user be permitted to download a copy of the db? If they are doing it frequently, they're wasting enormous amounts of bandwidth.
- Should there be some kind of db delta download? Like RSS like history: give me all the pages which have changed since <some date>
LV: Over on comp.lang.tcl, some details about this version of the wiki are being discussed. In particularly, there are particular URLs which cause specialty functionality to occur.
- a URL of the form http://wiki.tcl.tk/<PageNumber> returns the html for the page
http://wiki.tcl.tk/18028
- a URL of the form http://wiki.tcl.tk/<PageNumber>.txt returns the raw data for the page
http://wiki.tcl.tk/18028.txt
- a URL of the form http://wiki.tcl.tk/<PageNumber>.code returns all code blocks on the page. Code blocks are displayed separated by ### <code_block id=$blockid> ############################################################ tags. A code block is just one or more lines starting with a space or blocks delimited by ====== lines.
http://wiki.tcl.tk/15312.code
- a URL of the form http://wiki.tcl.tk/<PageNumber>.str returns the wubwiki stream data for the page
http://wiki.tcl.tk/18028.str
- a URL of the form http://wiki.tcl.tk/_/edit?N=<PageNumber> invokes the web text widget with the wiki raw page loaded
http://wiki.tcl.tk/_/edit?N=18028
- a URL of the form http://wiki.tcl.tk/_/history?N=1502 will show the history of that page
http://wiki.tcl.tk/_/history?N=18028
- a URL of the form http://wiki.tcl.tk/_/ref?N=<PageNumber> will show all pages referring to that page
http://wiki.tcl.tk/_/ref?N=18028
- a URL of the form http://wiki.tcl.tk/_/revision?N=<PageNumber>&V=<revision> returns the html for a specific version of the page
http://wiki.tcl.tk/_/revision?N=18028&V=47
- a URL of the form http://wiki.tcl.tk/_/revision?N=<PageNumber>.txt&V=<revision> returns the raw data for a specific version of the page
http://wiki.tcl.tk/_/revision?N=18028.txt&V=47
- a URL of the form http://wiki.tcl.tk/_/revision?N=<PageNumber>.str&V=<revision> returns the wubwiki stream data for a specific version of the page
http://wiki.tcl.tk/_/revision?N=18028.str&V=47
- a URL of the form http://wiki.tcl.tk/_/revision?N=<PageNumber>&V=<revision>&A=1 returns the html of a specific version of the page with detailed info about who made changes and when changes were made to the page annotated (the raw and wubwiki stream data for the difference are similarly available):
http://wiki.tcl.tk/_/revision?N=18028&V=40&A=1
- a URL of the form http://wiki.tcl.tk/_/diff?N=<PageNumber>&V=<revision>&D=<revision> returns the html of the line differences between the two versions. Use <PageNumber>.txt to get a diff of the wiki text, and <PageNumber>.str for the wubwiki stream data difference
http://wiki.tcl.tk/_/diff?N=18028&V=58&D=57 http://wiki.tcl.tk/_/diff?N=18028.txt&V=58&D=57 http://wiki.tcl.tk/_/diff?N=18028.str&V=58&D=57
- a URL of the form http://wiki.tcl.tk/_/diff?N=<PageNumber>&V=<revision>&D=<revision>&W=1 returns the html of the word differences between the two versions (the raw and wubwiki stream data for the difference are similarly available)
http://wiki.tcl.tk/_/diff?N=18028&V=58&D=57&W=1 http://wiki.tcl.tk/_/diff?N=18028.txt&V=58&D=57&W=1 http://wiki.tcl.tk/_/diff?N=18028.str&V=58&D=57&W=1
gobvip 2010-07-19 How to open debug message in wubwikit?
Debug.wikit {"debug message"} ;# I want this command print something. How it works?
JOB 2011-03-30: Script to start wubwikit.Note: We now do have a "config" command line option.Here is the start script:
#!/usr/bin/ksh # Script to start wubwikit... # Purpose: # In the hope, to bring some light in the mystery of wub-configuration. # March, 2011, Johann Oberdorfer # -- enjoy! -- # Wub's info page: http://wiki.tcl.tk/20412 # requirements: # - minimum tcl version is 8.6 # - a platform dependent kit version including sqlite3 and tdbc packages # - source *.vfs tree (CVS checkout or similar) + binary including sqlite3 and tbc # for windows ActiveTcl offers a convinient way (installer) # wikiwub configuration: # - PREFIX=`dirname \$0` THIS_PLATFORM=`uname` case ${THIS_PLATFORM} in "Linux") TCLKIT_EXE=./Linux64_kbsvq8.6-gui ;; "Darwin") # ActiveTcl installation: TCLKIT_EXE=/usr/local/bin/wish8.6 ;; *) TCLKIT_EXE=/usr/local/bin/wish8.6 ;; esac WUB_WIKIT=${PREFIX}/wubwikit20110317/main.tcl WIKIT_DB=${PREFIX}/db/my_wiki.tkd # WIKIT_DB=${PREFIX}/db/wikit-20110307.tkd # create a new database / local / configuration file: # ${TCLKIT_EXE} ${WUB_WIKIT} mkdb ${WIKIT_DB} title "My WikiWub" # ${TCLKIT_EXE} ${WUB_WIKIT} mklocal ${PREFIX}/wub_local.tcl # ${TCLKIT_EXE} ${WUB_WIKIT} mkconfig ${PREFIX}/wub_config.tcl # Start the http server... # ------------------------ # see main.tcl for additional configuration... # set TMP=.\tmp echo "------------------------------------" echo "Open URL: httpd://localhost:8090 ..." echo "------------------------------------" # Note: # when specifying a port as argument, # make shure, the Listener section in the wub_config.tcl file # is configured with the the same value - some kind of missbehavior in the current version ?! ${TCLKIT_EXE} ${WUB_WIKIT} \ local ${PREFIX}/wub_local.tcl \ config ${PREFIX}/wub_config.tcl \ wikidb ${WIKIT_DB} \ port 8090 #?????? docroot ${PREFIX}/my_docroot
JOB 2013-10-24:
- I upgraded to the most recent wbuwikit20120502.zip code.
- Since this release, sqlite FTS is used, which requires a few more tables on the database.
MHo 2014-06-12: Just grabbed the latest available wubwikit.kit and started it just specifying wikidb xyz. The following errors appear on the html page:
Server Error: no such table: pages_content no such table: pages_content Error Code 'NONE' no such table: pages_content while executing "::oo::Obj73::db eval {SELECT * FROM pages_content WHERE id = :pid} ::oo::Obj102::-resultArray {::namespace inscope ::oo::Obj102 {my RecordResult}}" ("uplevel" body line 1) invoked from within ...xyz was a newly created db. Is there something to be done to fill in the initial pages etc.?MHo 2014-06-13: Sorry, I overlooked mkdb, mklocal, mkconfig and the like. Now I fight against
The Wiki is currently in Maintenance Mode No new edits can be accepted at the moment. Reason: no such table: pages_content_ftsBy looking at the sourcecode or showing help I found that I need to call wikidb xyz mkfts 1 in addition. ok.JOB 2014-11-15:mkfts command executes the following statements on the database:
DROP TABLE pages_content_fts; CREATE VIRTUAL TABLE pages_content_fts USING fts4(id,name,content); INSERT INTO pages_content_fts SELECT a.id, a.name, b.content FROM pages a, pages_content b WHERE a.id = b.id;
JOB - 2014-11-18
wubwikit with FTS support:
Scenario:Running ActiveTcl on Mac OSX 10.9.5 with the following versions installed:- Versions used: Tcl/Tk 8.6.2
- sqlite3: 3.8.6 / tdbc 1.0.0
- wubwikit: 2012-05-02
sudo teacup install sqlite3 sudo teacup install tdbc sudo teacup install tdbc::sqlite3is not sufficient, as it installs the default sqlite3 library without FTS support!So, Sqlite3 needs to be compiled to have FTS support enabled. Downloading the source and re-compilation is required:
./configure CPPFLAGS="-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS"Now, we can execute wish to launch wubwikit with an already existing database file.
- Make sure to execute the command, which creates the required tables for FTS only once (which is commented out in the shell script down below).
- Also make sure to have a FTS enabled sqlite3 binary in your auto_path (which by default, is ""not"" the case), as already mentioned.
- In WikitWub.tcl all occurrences of -readonly 1 arguments need to be changed to: -readonly 0 as readonly -1 is not implemented in the tdbc::sqlite3 source code so far.
tdbc::sqlite3::connection create db $dbfnm -readonly 0
#! /bin/sh TCLKIT_EXE=wish8.6 WUB_WIKIT=./wubwikit20120502/main.tcl WIKIT_DB=./db/my_wikit.tkd # create missing tables for sqlite FTS search ability: # $TCLKIT_EXE $WUB_WIKIT wikidb $WIKIT_DB mkfts 1 $TCLKIT_EXE $WUB_WIKIT local ./wub_local.tcl config ./wub_config.tcl wikidb $WIKIT_DBThat's all for the moment.