Toadhttpd

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

37 check-ins

2018-08-17
08:20
Updates and typo fixes Leaf check-in: 02cbfb1706 user: seandeelywoods tags: clay
2018-07-12
13:23
Toadhttpd updated to run with the new clay based httpd module in tcllib check-in: f296be96f5 user: seandeelywoods tags: clay
2018-06-27
16:59
Alterations to Toadhttpd to utilize the clay framework instead of tool check-in: fe8dbad52f user: seandeelywoods tags: clay
2018-06-23
20:01
Rollup of fixes for the launch of the folk festival. Users now have an implied "primary group" Revamped the navigation features in bootstrap based UIs Simplfied Clique and Facade dispatch interactions. Added standard dict entries for page content to know what the UUID of the page currently is. Added user interaction tracking in the facade log Leaf check-in: 43aff585a7 user: seandeelywoods tags: trunk
2018-05-30
02:43
Tailored banners to be more bootstrapish check-in: bff0607510 user: seandeelywoods tags: trunk
2018-05-26
04:10
Added mechanisms to employ the <nav> tag in bootstrap to deploy navigation controls. Added a shim for individual pages to contribute to the navbar menu check-in: 9fdd348894 user: hypnotoad tags: trunk
2018-05-25
15:08
Adding bootswatch themes to the bootstrap plugin Modified the convention for dispatch, we now accept a reply dict with a non-zerosized dict being interpreted as a hit (with no shenanigans on the part of the plugin in the main assembled dispatch function) check-in: fae72160db user: hypnotoad tags: trunk
2018-05-24
17:01
Massive rewrite to support rolling out Toadhttpd's first deployment. In clique the public bit is now bit 1 to make dump queries easier Added a hook into sql to allow it to utilize the "in" operator from Tcl. Added a facility for applications to inject their own privilege codes. Revised the rules for how members are mapped to groups in clique. Added new tools for ascertaining if a user is wheel eligible. Membership dumps now include access and link type masks Added a concept of an anonymous session. Removed authentication from test data Revised test patterns to reflect the actual structure of the first targetted deployment Batch routines are now run as threads that poll and wait, instead of as independent processes. Facade is morphing into a syncronization engine between the local file system and a database, content production is now totally within the clique plugin. Clique content can now pull static data from facade. check-in: ab3aa005ab user: hypnotoad tags: trunk
2018-05-13
17:39
Fleshed out the security model such that I can enforce the security policies for the folk festival, as well as provide a mechanism for select users to "su" to assume god mode to bypass privileges should the need arise. Starting work on a viewer object for news and events check-in: 9c2a53b353 user: hypnotoad tags: trunk
2018-05-09
07:37
Adding fortune cookies to the trivia plugin, and a new content delivery mechanic "facade" check-in: 7506dff716 user: seandeelywoods tags: trunk
07:14
Change the user_session method to porg_object. The intent is to return an object in the ::clique::session family with the ::clique::porg family of classes mixed in. The objects are "disposable" meaning a timer will later clean them up. check-in: b5c09d93d0 user: seandeelywoods tags: trunk
06:12
Devised a semi-intelligent access control system for group resources. But using access masks and linktype masks the system does the right thing for the range of tasks I need it to perform without unwieldy access control lists. check-in: 611ef730c7 user: seandeelywoods tags: trunk
2018-05-05
11:27
Added fortune cookies and quotes to the trivia plugin. check-in: e12a0b5def user: seandeelywoods tags: trunk
2018-05-02
06:49
Added a facility for modules and plugins to publish static content bundles Added a plugin to host all the bits of bootstrap and jquery needed to run a website. (Residently) Renamed the "dispatch" plugin "notifier." Too many name collisions with the url dispatch process. Fixed a typo that was naming the bounder module clique check-in: 9c95e7e40b user: hypnotoad tags: trunk
2018-04-24
23:04
Reimplement the random trivia generator as a coroutine. Added a modified form which returns a random word. Added "type this random word" style captcha to new account creation. (The captcha isn't enforced yet.) check-in: b2deb8ec15 user: seandeelywoods tags: trunk
21:18
Moved the plugin mechanism to the core httpd library in tcllib. Renamed all toadhttpd::plugin classes to httpd::plugin Added a rudimentary signup and logon mechanism for clique, as well as the ability for pages to see if a user is logged in. The robots.txt file now builds from hints in sql. check-in: a558bd2ed8 user: seandeelywoods tags: trunk
2018-04-23
17:55
Developed a new plugin architecture to make the process of bolting on new components seem less like rocket surgery. Plugins are given shims, and those shims are threaded into dynamic methods on the server. (The order currently decided by the order in which the plugins are attached to the server object.) Started work on Clique URL handlers within toadhttpd (Definitely not ready for prime time yet) check-in: aa11273f2c user: seandeelywoods tags: trunk
05:05
Cutting down on puts clutter check-in: 3c6633e97b user: seandeelywoods tags: trunk
05:04
Basic information classification and access schemes working and tested (at least in a first order regression test) check-in: 6dcef22c34 user: seandeelywoods tags: trunk
2018-04-14
17:43
Updating fossil hander to use new html templating API check-in: 2f31eacfb2 user: seandeelywoods tags: trunk
04:38
Restructured login and server interactions. The clique database is now a standalone object with methods. The module can be loaded independently from toadhttpd. Clique now combines people and organizations into a single table "porg" and allows richer connections by replacing a member table with a "links" table which can accomodate non-reciprical connections. Toadhttpd now uses an sqlite table for url dispatching. The database connection for toadhttpd is now resident in the server object itself. (So if you need to run multiple independent servers, you can.) Eliminated the concept of the vhost class/object. Virtually every interaction that can happen with vhost is better and more easily done with database entries. check-in: 33cd5bfd68 user: seandeelywoods tags: trunk
2018-04-12
11:12
Recasting clique as a standalone object/database for user and group information check-in: 94414d861a user: seandeelywoods tags: trunk
2018-04-09
03:29
Added an sql database backend to communities. Added facility for basic user, group, and resource management. check-in: 043c130802 user: seandeelywoods tags: trunk
2018-04-02
13:03
Making the toadhttpd core a little (and a little less) modular. Added an architecture for the various sub-modules to nominate a table to be added to a schema. The list of schemas that toadhttpd cares about is now backed in. (Though a plugin could tweak that in the future.) The schema for a toadhttpd server is now only baked in when the start method is invoked, based on calls to the ::schema::table function. The interconnection between the vhost, security, and cacheing mechanism is now a little to clumsy to support with a plugin architecture. You'll see the code is getting a little more monolithic. Added support for a transparent cache that is stored in Sqlite. Currently files less than 40k (and the appropriate headers to regurgitate them) are now saved in a database ready to be spewed out on command. Calls to tool-db now use a more portable system of invoking a forwarded method to the db object rather than calling out to a globally named object. Because we are doing a lot of writing to a database, a lot of what used to be a call thrown over the wall to the server object is now a database transaction. check-in: 1c5cac74b7 user: seandeelywoods tags: trunk
2018-03-31
05:24
Fixing the comment for the fossil honeypot handler check-in: 1d9b7cf635 user: seandeelywoods tags: trunk
05:22
Adding in an sqlite database to track logging and sessions. Using the new tool-db module from taolib to manage schemas Bits of the code that need to be in the core server now monkey patch the toadhttpd::server object once more. Logging, session management, and blackhole are now tracked in sql check-in: bf1bad519b user: seandeelywoods tags: trunk
2018-03-27
13:48
Plugins now deploy their behavior modifications of the object methods as part of a the mixin. The problem I was having before was an ex-post-facto workaround to ensure monkey patches deployed a different way were being applied before the object started loading its configuration. check-in: 1810dbaa11 user: seandeelywoods tags: trunk
12:11
Creating a modular architecture for toadhttpd servers, with major functions maintained in separate plugin files. In an ideal world each plugin would be a discrete mixin, but some complexities with tcloo mixins require monkey patching the server class (or redefining the object's methods on the fly) While overkill for getting behaviors into the server and vhost objects, this modularity is going to be essential when I start adding sql schemas into the mix check-in: 4e81a5c9b3 user: seandeelywoods tags: trunk
2018-03-21
19:00
Completed the concept of virtual hosts as discrete objects with their own domain rules. check-in: 3c90e838ca user: seandeelywoods tags: trunk
2018-03-19
17:09
Simplified/standardized the startup process for stock toadhttpd installations. All of the magic is now moved to an optional config.tcl file. Elimated the special encoder in the html namespace. There was a better one in the html module of tcllib. Improved the installer script Tool-Modularized the toadhttpd module Added a "TTTFO" for blank user agents. Instead of monkey patching httpd::server, we introduce a new class toadhttpd::server which inherits httpd::server New facts for the Trivia module. New build system for the trivia module. check-in: 7a531c7c8d user: seandeelywoods tags: trunk
2018-03-15
09:57
Starting work on a build system check-in: b8a700322d user: hypnotoad tags: trunk
2018-03-14
14:52
Updated internals to adapt to changes in the httpd module. Split out generic dispatch functions from security enhancements. Adding a dynamic module to generate random facts. Dynamic content now utilizes html templating code in the httpd module api. check-in: 07cdc200a3 user: hypnotoad tags: trunk
2018-03-10
00:43
Added a seperate virtual host strata for virtual host doc roots check-in: 0cd09f3738 user: hypnotoad tags: trunk
2018-03-09
22:49
Updated to the latest httpd module Replaced the add_url method with an ensemble url::add, which also now accepts virtual host patterns. Added a mixin command to the end of reload to ensure ensembles are rebuilt Added content caching for dynamically generated directory listings and .tml/.md file content. check-in: f33aa23592 user: hypnotoad tags: trunk
11:37
Fossil hosting now uses the "fossil http" streaming stdout system instead of SCGI check-in: cc5d5fe0a4 user: hypnotoad tags: trunk
2018-03-07
03:38
Initial implementation. Depends on the latest "hypnotoad" branch of tcllib as of 3/6/18 check-in: 43bc4ea1e7 user: hypnotoad tags: trunk
03:34
initial empty check-in check-in: 2008141492 user: seandeelywoods tags: trunk