origins the evolution of
play

Origins The evolution of 1999 - second oldest Wiki still going the - PowerPoint PPT Presentation

Origins The evolution of 1999 - second oldest Wiki still going the Tclers Wiki wikit - written by Jean-Claude Wippler minimal markup Jos Decoster - jos.decoster@gmail.com Web + Tk renderer Steve Landers -


  1. Origins The evolution of • 1999 - second oldest Wiki still going the Tclers Wiki • wikit - written by Jean-Claude Wippler • minimal markup Jos Decoster - jos.decoster@gmail.com • Web + Tk renderer Steve Landers - steve@digitalsmarties.com • self-contained • Metakit database Transitions Issues • used for embedded documentation • page numbers • Metakit to TDBC + SQLite • searching • embedded web server to Wub • curation • searching from internal to Google to internal • spam • added markup • look and feel • styling • code maintenance

  2. Opportunities Nikit • modern look • modern look based on Bootstrap • developer support • NGINX load balancing, proxying web server • 3rd party solutions for web, cache, security, search • Wikit running as an SCGI • spam mitigation • SQLite for database • curation support • CloudFlare for cache, security, acceleration • improved markup • Google search Nikit Architecture Database • SQLite3 CloudFlare Linode KVM • schema based on 2007 rewrite by Kevin and Colin Bootstrap Wikit TDBC NGINX JS/CSS writer SQLite • primary key is now page name (not integer) SCGI SCGI SCGI • writes serialized via single writer process Wikit Wikit Wikit reader reader reader • multiple readers Google search

  3. Schema Database conversion • page name as primary key includes pages refs • removed empty pages pages_content users pages_content binary • old page-ids retained to support existing links • new pages not created until first edit changes changes blocked binary di ff s Page stats SCGI • single thread programming 44385 total number of pages text pages with date 13396 • multiprocessing binary pages with date 1634 • pool of pre-started scripts pages without date 27442 text pages without content 1891 • load balancing by nginx 22 missing • based on Tcllib’s cgi and http://wiki.tcl.tk/19760 skipped 28

  4. NGINX CloudFlare • performance • scalable and performant - distributed cache + CDN • easy to configure - content optimization - DNS • large and growing user base • security • lots of info/help available - DDoS protection - web application firewall - SSL + IPV6 • analytics Styling • bootstrap based • responsive layout • adaptive menu on top

  5. Changes Page Minor Edits • last edit per page • “Save as minor edit” button • minor edits hidden by default • not listed in default Changes page • minor edit / spam flags • listed in page history • geo-located region

  6. Access Rules Roles • based on roles • read • per page • write (username supplied) • per area (e.g. admin pages, CSS templates) • trusted (authenticated via username / password) • gnome (edit not shown in default Changes) • admin Introspection Maintenance • user activity • rename pages • page history • delete pages (no trace left) • spam

  7. Robot / Spam Detection • reCAPTCHA • bayesian filter • spam hidden by default • posting prevented from “spammy” IP addresses • trusted users can mark as spam or ham Markup Markup • full rewrite • document types • compatible with Wikit markup • special pages • optional • page templates - HTML • directives - Markdown • tables - TCL (in safe interp with CPU limit) • special characters

  8. Document Types Special Pages <!DOCTYPE WIKIT> page content written in wikit markup ADMIN:WELCOME Welcome page, in wikit markup <!DOCTYPE MARKDOWN> page content written in markdown ADMIN:MOTD Message of the day, in HTML <!DOCTYPE HTMLPART> page content written in HTML ADMIN:ACCESSRULES Access rules <!DOCTYPE TCL> page generated by Tcl script ADMIN:PRIVACY Privacy statement <!DOCTYPE HTML> page written in HTML Page Templates Directives <<include:page>> include another page TEMPLATE:page Default page template <<redirect ?reason?>> page redirect to another page TEMPLATE:preview Page preview template <<motd>> display message of the day TEMPLATE:gsearch Google custom search template <<changes>> include 10 most recent changes TEMPLATE:content HTML page template <<categories>> page categories TEMPLATE:CSS Nikit specific CSS <<discussion>> show/hide part of page TEMPLATE:JS Nikit specific JS <<inlinehtml>> insert HTML within Wiki markup <<backrefs?:name?>> include page references for this or specified page

  9. Tables Special Characters • one row per line <<br>> - header %|…|…|% <<nbsp>> - row |…|…| or &|…|…|& <<pipe>> • one field per line - start header row |% - start row + or |& - start field |

  10. Cookie Consent • complies with EU cookie regulations • shows contents of ADMIN:PRIVACY

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend