[Initial revision clinton@unknownlamer.org**20070619042024] hash: 0000000978-0c749f34ad166613488d905ca0510fc9b7194f53576e35637e5efb4e4b69d86b [Slight source reorganization clinton@unknownlamer.org**20070823202959] hash: 0000007703-9b2971438719ffddfdc440c75209da9e63a91225bd6dd83ed816cef9e0a55cc4 [File movement fixes clinton@unknownlamer.org**20070828034500 After slight source reorganizations some things were in the wrong places ] hash: 0000000664-a644c22b4e15e5b959a200b81c9a72e2d477ac79fbef39eea354488d85744c63 [Split database and web packages clinton@unknownlamer.org**20070828225506] hash: 0000001539-c0e8f1f8d05731316124a31e932f1c5d1911b5ca63f5dc60417142ed35e8c9d9 [Clean up package definitions clinton@unknownlamer.org**20071225183748] hash: 0000001091-f2bb9804b436f10fbf7f1338e398acb64d92c38168435995507e338e5747fbf4 [Update repo to modern changes clinton@unknownlamer.org**20071231042429] hash: 0000005869-bf76bd20a8d86d16f44651763999e90ac72ac8767a2ea95eb420a47235d3c693 [Update web application code clinton@unknownlamer.org**20071231043503] hash: 0000002745-085e361c2ccb1a7641600a9e6c02956b04f29a2491875f2ffc442d9462e3bb1b [Add ucw-compat and golf-util packages clinton@unknownlamer.org**20080103170926 * ucw-compat - defaction - (value file-upload-field) -> nil instead of "" for an empty upload * util: a collection of small utilities and macros - with-assoc - stream->bytes ] hash: 0000005230-b6dd647f902a0cca5dcf086a15bfa835268855a2c5a666e3ca78b71f1c58a8df [Initialize audio-data properly no matter the type for the :data initarg clinton@unknownlamer.org**20080103171002] hash: 0000000355-41d134da2946f0db1b4fc148d22e5a32caefe0646c88178d7754a651670e0470 [Translate logical pathname before opening clinton@unknownlamer.org**20080103171111 Works around a strange issue with SBCL stream copying code ] hash: 0000000347-a0f9606ac7ea6bf57012150e61a465e5631ba8b3b619fa359d2095965190b753 [Actually pass audio-file to open-audio-file-stream clinton@unknownlamer.org**20080103171128] hash: 0000000515-3acb7a6007028f6cdd95d3c1df825f050b7d9d2469a03bf5e274e74135ca8088 [Improved startup script clinton@unknownlamer.org**20080103171142] hash: 0000002215-90719d4aeab43567a1a7501a89975b1634fb620ca09437ce14a483db730dfbea [Revived old web frontend code clinton@unknownlamer.org**20080103171546 * Ported from ucw_dev to ucw_ajax * Rewrote render methods to generate cleaner html with components marked with css-classes * Fixed all control flow issues * Wrote basic navigator component The code still needs cleaning up and merging of some repetetive patterns. ] hash: 0000009645-2a94662f60a045435e49305d4a4bfd7654203140e60102a95f22681f9979068d [Import initial backend stylesheet clinton@unknownlamer.org**20080103171556] hash: 0000001717-092cdb9b3411f63631a290a01fdd543d5c49e657623ec6af676a89720512078c [Fix imports clinton@unknownlamer.org**20080103184506] hash: 0000000238-565a5cd66942f133df9211039da559dc08a9364dc4312b265d8134f75bf593b8 [Fix minor issue with initarg name change and file uploads clinton@unknownlamer.org**20080103184559] hash: 0000000561-93e024b5cb37f81614ebbefecd06e1d922823ee7616a2ffd4aed185cfedf3d34 [Use IOlib after some futzing with it to make it work clinton@unknownlamer.org**20080103184617] hash: 0000000217-302e191a05f759c1a088428f9cf2eef4fa1b03062e1b8ffe9333ebe38abee25b [generate-audio-pathname now guarantees a unique file name clinton@unknownlamer.org**20080104211650 If multiple files were created in the same second the last to be written would clobber the others. ] hash: 0000001056-20cdb623d94f5af30d0dc4b64d65e093d68db09ee6325a0ae062cb30efe96eb4 [Add test show creator clinton@unknownlamer.org**20080104211704] hash: 0000000782-ea9af2f0152d1ba2617b71d480674c5af1657caae83c0e4ca16b397d4c9542c2 [Factor web.lisp into web-admin and web-common clinton@unknownlamer.org**20080104211839] hash: 0000004989-bbb9314e436be23c838d99331cc1cbb49890d84c0b11e064a980f709746b6c33 [Add web frontend and initial refactoring clinton@unknownlamer.org**20080104212256 * Removed golf-navigator in favor of ucw tabbed-pane * Factored viewer and chooser into common and admin specific portions * Added a few utility components - golf-widget: widget with css class set to its class-name - composite-component: container that merely renders all children * Updated CSS for new style rules ] hash: 0000005766-9397c663d28f9b8f9b53270c5cb16f23772d609befec6a6074f7fb24171a7a63 [Add user entry point and update css clinton@unknownlamer.org**20080104212323] hash: 0000000829-02b3ecb7e774af23752428a98ec38da8657ae5fad761f16d041c12e75ce7519d [copy-file / pathname only work for file-streams clinton@unknownlamer.org**20080106182854] hash: 0000000262-3d027aee768ec46ac4209582a2367d070e40ef7730efefa4068f21791fd72c9a [Use cl-mime to detect MIME type of audio files clinton@unknownlamer.org**20080106182913] hash: 0000000445-a4fef38ff3d9d80e0506f7b0e9ae42b9d8d5a98253080818637a9d8efae1b800 [New function: get-instances-limit clinton@unknownlamer.org**20080106183329 Identical to elephant:get-instances-by-range, but only returns at most LIMIT instances. The implementation is a bit lame now: it uses a closure that tracks the limit and accumulates the results in a private list. This wastes LIMIT cons since map-index is already allocating the list. A better solution would be to add a :limit argument to the Elephant query functions. ] hash: 0000001646-2452d26afa69cfba155c734690d6c25b15494a1f95661d6c3fb789a51099b305 [Export new window types clinton@unknownlamer.org**20080106183354] hash: 0000000239-4b912bd4daa3d792066184416df7c2fe6cb109cd660eafbad81a0f6f774da391 [Prettify file-upload-form render clinton@unknownlamer.org**20080106183433] hash: 0000000311-fdb98696bbecfde8b843ea69f56f88bacaf482db400524d9d90579c81a44e47d [Set size of title and transcript fields clinton@unknownlamer.org**20080106183514] hash: 0000000401-c0ba7b69022066be644971d6aea970ac2c06c6de4a3121e0d61a5276c1be57bf [Cleaned up show-viewer and show-list implementation clinton@unknownlamer.org**20080106183801 * show-viewer is now a protocol class * standard-show-viewer implements a minimal show viewer * full-view-class extends standard- with controls * show-list is now a subclass of show-view that wraps rendering in a loop ] hash: 0000005316-e23cc8f5fe2f45d92bdbcaf6b3c0e0a62826341a9fa914b480ce7f2309259456 [Added query method for radio-shows: get-shows-by clinton@unknownlamer.org**20080106193715] hash: 0000000245-f88ddcc6c57c95668b19af0f59d8719914f8ac31de4cdbf0d37c0e63293ea857 [Wrap show-editor in a top-level-show-editor in top level window clinton@unknownlamer.org**20080106193826 Fixes show-editor in a switching-component return failure ] hash: 0000000830-8ca8504a78cdde533fdc0b51182343592b4b4b1905dfb5a12331a00658cec8f0 [Enhanced get-instances-limit clinton@unknownlamer.org**20080107223930 limit is now a keyword argument and searching from the end is possible ] hash: 0000001419-40f8505aac8baccc878d143f8d32f9cd85532c4680155045c2cc98c0664541e3 [Use random four letter string in get-audio-path-name clinton@unknownlamer.org**20080107224020 Looks better than a variable length number ] hash: 0000000323-7b7c4978587d81c67e236077522dda9f281f9a49280175e0a54cc39434231a09 [Strip time portion from date in (setf show-date) clinton@unknownlamer.org**20080107224055] hash: 0000000474-a9e28fcf5c904e8b779ed8a496568d79653cf9c832edb665c87cc048bdbfe3a9 [Display date in compact-show-viewer clinton@unknownlamer.org**20080107224116] hash: 0000000421-944dc8a7ca1def07c4415e023b840e444910e0bcf67b7b95fe0c8da9f2832956 [Add :skip to get-instances-by clinton@unknownlamer.org**20080111200807 Currently inefficient but can be improved later easily ] hash: 0000001304-bb6eb9b69e5a990702e64ea3e9c2fec90bb137d901b659ff60ffb05edcee6a75 [Strip time portion from show-date clinton@unknownlamer.org**20080111200921] hash: 0000000393-e2fbbc641d69fde5ff5aec41d7d2cd35fc61f920cb72c97e17bf8ae5b2f09a67 [Support :skip in get-shows-by and add count-show-by clinton@unknownlamer.org**20080111200944] hash: 0000000656-8b4f241bd11c35be25788e302cad8a4105641177858e71f08e8cda29c32f00ca [Export query functions clinton@unknownlamer.org**20080111201000] hash: 0000000370-e5fb063886831660edf14581284708b2d88bc1a9f1fe24b7dee429fd2e1d637e [Query driven ranged item viewer clinton@unknownlamer.org**20080111201103 Views subsets of a database using query functions to fetch only the needed data ] hash: 0000004946-5869168a6aa9d19b5b9495e362fb0d13c0bb0d13dac59cd79b445eb0e0226f29 [Render dummy text when there is no show to render clinton@unknownlamer.org**20080111202335] hash: 0000000244-cb6da7098d7b4386f6962a11b9d9052f31292febcecc9e26058fbe32317a2c38 [Make start.lisp usable to start the site in other location clinton@unknownlamer.org**20080114211301] hash: 0000002585-6c9002ae05d1ec838d4aec000d40f5ab9eb796bea8f9657fbfa1f59b6fafee05 [Somewhat more attractive styling clinton@unknownlamer.org**20080114211317] hash: 0000004850-f8340111e24d236d40f61c54abfd5c310a6c94e4c31fb28c44b0599ea9f18b2c [Move setting of logical pathname to start file clinton@unknownlamer.org**20080114211331] hash: 0000000274-ad2fe64161ce9858b9d5738d339d456d1671367383f413964941c48654609185 [Move golf-application definition to -common clinton@unknownlamer.org**20080114211351] hash: 0000000389-afbdfc262dfbc2d0316227890edee25b4989f82bffc01331ebcd4bd41957501c [Enhancements to database-range-view clinton@unknownlamer.org**20080114211559 * reverse listing support * min and max constraints * defect repaired: was calling show-date! * counting protocol changed to support min and max * query method must now extract needed slot from object ] hash: 0000002961-f4b62eb79c264778460b382f0dfb9515e028a5123d1fbf2a7edebc7597d414d2 [Render play control in full-show-viewer clinton@unknownlamer.org**20080114211612] hash: 0000000297-905d47a9d33ce3ad1e481770720736caf1f587d79ca2bc9255e01dd766e3378b [Add ranged-show-list and chooser clinton@unknownlamer.org**20080114211638] hash: 0000001860-045f1ee0b5b2fa9f9f69a31a248a308698f92e559bb28e5531f273e32e9f3d0a [Add play-file method for audio-files clinton@unknownlamer.org**20080114211806 Changed play-file (t radio-show) to call this with audio-data ] hash: 0000000367-a25960a5ba324e882b902ad0244586d85fcf63533e86b3735b1bd076ac7a42e6 [Change admin-show-chooser to ranged- clinton@unknownlamer.org**20080114211827] hash: 0000000432-46110aca4009c6c51353e56e47b35d9b45cad35d8e8d2f54e5f1c54509738426 [Set class to golf-admin-pane for styling purposes clinton@unknownlamer.org**20080114211902] hash: 0000000155-65e04a232c4c9b0caff38bafe985179562b240a18671c33e225fc08531c5a777 [Use ranged-chooser in main window clinton@unknownlamer.org**20080114211909] hash: 0000000229-f3b157827b9320db55b9a80b8f6cd3cfebb06dbbc019cf0a63d2d3fe81557fc0 [Initial frontend clinton@unknownlamer.org**20080114211930] hash: 0000003112-3bc3ae650fa3a11371c4370a36d1d42bda907e4f10dde8cb0f10c49d555dabc5 [Fix setting of static wwwroot and force javascript logging off clinton@unknownlamer.org**20080114230007] hash: 0000000326-ab15e539d180e53a526f73ac2ee473a6386dd03c3dbe0e2c58eb7317e3de1d73 [Do not render controls in preview when show is unset clinton@unknownlamer.org**20080114230409] hash: 0000000460-b2a159200338d2f7c61981ab8530a9f0295acd3da837a1e9315975cbcfd0c6a2 [When :data and :content-type are provided content-type was losing clinton@unknownlamer.org**20080115012605] hash: 0000000573-256d88c0eb886f5c81a0f607998fc9aa6f7a363f19e92a43835e1e870b50f878 [Explicitly set content-type of audio-file clinton@unknownlamer.org**20080115012700] hash: 0000000378-4fb98fe316660bb5c6ddf76457949fb8cd9657a17e88d58fafec56d39737356f [Work around :request-content-limit-length backend initarg not working clinton@unknownlamer.org**20080115012722] hash: 0000001076-dc9852c16e585ef2790411be32cece3a3c34b141bf9a3250ccfd6c6c233f2a3d [Run dead session reaper once per hour clinton@unknownlamer.org**20080115021401 ucw_ajax no longer does automatic session expiry so a timer is setup to run session expiry once per hour ] hash: 0000001318-10403f55e3d5a8cb66941ba3f353108ce6890eb9f74f61c31c461645811bb558 [Optimize make-index-mapper and get-instances-limit clinton@unknownlamer.org**20080115221508 * Now supports skipping natively and does not cons extra cells * Takes a result-fn that is passed the result instead of accumulating a list if it is provided * Use result-fn in get-instances-limit to fetch instances into local list and return that rather than collect in map-inverted-index for the fewer results than limit case * Now only needed conses are allocated ] hash: 0000001830-0cdb89c8d376c217205c904dd51b48d8c6428611e41cbf2f691e75fe72706844 [Delete external files when dropping audio-files and radio-shows clinton@unknownlamer.org**20080115221812] hash: 0000000499-3c14512d946a02d3924b21d7f709c0d5577bb9a74f6422ce0faaf857b86b9cba [Update package exports clinton@unknownlamer.org**20080115221825] hash: 0000000391-2462c4c63d435667898e50e4d998b51609a62e1d960a197e72696fde08298161 [Override builtin ucw::make-temp-files clinton@unknownlamer.org**20080115221919 /tmp was hardcoded as prefix and this does not work for my HCoop setup. Now use ucw-compat:*file-upload-root* to determine root for uploads ] hash: 0000000496-eba26216173c59b376f1ea3e36ca7a6ca1b4b27ff515d6afb6d0fa742a0f2eee [Override validp on standard-component and date-field clinton@unknownlamer.org**20080115222042 I think my protocol is better. A shared default-validp provides a default implementation based around the generic form-fields-of. ] hash: 0000001681-da9b9a348b88c11d8b06716f43ed58427630a157c96586aa7c0a5a4984cb3f55 [Work around iolib backend bug with file uploads clinton@unknownlamer.org**20080115222131 When the user does not upload a file the iolib backend creates a zero-length file instead of no file. ] hash: 0000000675-5da3e5b4124ce8ba71e4cf95e3d28e8e28b6677d793e436594cdf5aa7064a457 [Validate editor form on upload and display errors if there are any clinton@unknownlamer.org**20080115222157] hash: 0000001593-c0adcd0ab1cbf2aab409f0cfe21495d35867a6472ab0119d90aa328a4426c870 [Display admin chooser in reverse clinton@unknownlamer.org**20080115222209] hash: 0000000257-76315deb6798e0a033451af3cee662799f7bd8a9a0001b39117fed3f3003cf49 [Change file upload dir and add uploaded file reaping clinton@unknownlamer.org**20080115222313 Now expired sessions and stale uploads are reaped once per hour ] hash: 0000001659-6d9ae5fcfdc0f4591c48dae46286c94af29969d2a908779d35b64e1a9454eb17 [Split database-range-view into normal and cached subclass clinton@unknownlamer.org**20080115222533 Caching is useful in many cases but here it does not save too much consing and causes errors when instances are deleted from the database. A better solution would be to catch unbound persistent slot accesses and refresh the cache then. ] hash: 0000005963-d2cb9ad3617b08d77ea71ca3fc2a5ae76e5619974a3f537533368b2532ab781b [Fix ummatched parenthesis clinton@unknownlamer.org**20080115222942] hash: 0000000204-c892568f0201f2aa03dd69143bd054ba60b1f3686628b6c1985ce307869926b5 [Fix stupid yanked-proper-version of reaping problem clinton@unknownlamer.org**20080115223929] hash: 0000001062-b9f62646c28128c2224d4dd188b864fafcc660670df35e7d90fc313d5241079e [Wrap delete-file in reaper in ignore-errors clinton@unknownlamer.org**20080116011730 On an AFS system there will be some magic afs files that cause reaping to error and this is the easy solution ] hash: 0000000325-d1e3e7c34e3f7c6696dd6d912fda58b43e2efb4d480f403ead700e45c7a8bbe2 [Error message css tyle clinton@unknownlamer.org**20080116011748] hash: 0000000282-855e478995549a6a575c1490af5672fd7c8da78584d560b3f68c7abf1036f24e [Cleaned up entry points clinton@unknownlamer.org**20080117010306] hash: 0000001611-e9ccf66021540e072459eedba94b181584a417b4e2f388781de619cac19b2b75 [Temporarily make ranged-show-list cached-db-range-view clinton@unknownlamer.org**20080117032500 The consing performance of the non-cached version was atrocious and significantly slowed the system down due to the number of times range-view.current-window was called. The admin ranged show chooser forces a cache reload after delete to work around displaying deleted entries, but the frontend will simply fail when displaying deleted entries. ] hash: 0000000838-3d9721722e7a8359e5ac5ccc7563afb941f1dc29f60626456e23464ae9486c17 [Initial authentication support clinton@unknownlamer.org**20080117032557 Enough to work for a few days until I can add a real user system ] hash: 0000001439-78112fe2e3e2d90fde4ae86ef130ef6fc23f5b87d8b4ffd585615396f04e9810 [Break down and use table display for golf-show-list clinton@unknownlamer.org**20080117175705 Now the controls line up at least ] hash: 0000000646-9af964ec6ffc55d08db822999cce84b06964a0ee33d4ba375242e54c34dbad93 [Place show previews into their own composite container clinton@unknownlamer.org**20080117175803 This keeps the sidebar and other useful things displayed when viewing a show from the main page ] hash: 0000003168-d333e23bad24de622bdc12acd177f67a2a54771ea9336381b03d5b80ad941e4e [Factor start.lisp into logical components clinton@unknownlamer.org**20080117175940 Now everything is part of the system proper ] hash: 0000011140-76530eefdb0bca000777afdf78966f062cdf3e308da31e9b1513a71b655e3199 [Depend on clon for reapers clinton@unknownlamer.org**20080117175955] hash: 0000000200-71255a8c5ab720541a0af72e5ff035a3dd026d1523ca014b04b88f4c4fd9b91d [Use prettier date formate for compact show lists clinton@unknownlamer.org**20080117180032] hash: 0000000451-f276ce01b824de3745f24cfe844f404f48c0fa21311dacba78b42cd9e6e0ab01 [Add golf-user-login-window clinton@unknownlamer.org**20080117180047] hash: 0000000511-3479b864024e584b313385717541264485741a51d0ce77177339de0c44029ee9 [Wrap show body in a span to ease styling clinton@unknownlamer.org**20080117180110] hash: 0000000507-00c430ec74e76eeaee32b1bac4fa99b9c87e9eeea7fe28fcbce7743c8552a12d [Delay translating the pathname for bdb stores until open time clinton@unknownlamer.org**20080117200752 This avoids evil issues with changing the data root ] hash: 0000000606-7094bbae818cbe416a30adf03359752fd0ed5a5d415ed10fbba22cb5d4ccfdf7 [Clean up minor config change issues clinton@unknownlamer.org**20080117203727] hash: 0000000865-a6a694e9e2d6df2cdcc6d8c2cae9560bcdc09a751215306dbbcd9510e4b2d25e [Move *db-spec* into config and give golf prefix and move *golf-server* out clinton@unknownlamer.org**20080118045520 *golf-server* is not actually a user configuration variable ] hash: 0000000995-79faf3dd29798a6d62a24edd1ab82ee96526ec935fa8adf37ec49c84199e841b [Update golf-web package export list clinton@unknownlamer.org**20080118045541] hash: 0000001496-082c173fbdc6506dee49645bcd92ba91b541e2d1c99bd468127889faa52989d0 [Don't display content-type in full-show-viewer clinton@unknownlamer.org**20080118045630 It is really only useful for admins ] hash: 0000000536-30c7f5504da6edc7ede9404ede5c88ceee7273436ddef081a0f6438fc6f286ee [Bang at CSS to make it look acceptable in IE clinton@unknownlamer.org**20080118050139] hash: 0000001015-2e206cf650abb5af3dea3267dafc82741b99eb56072c16b211d427d098250b6b [Add frontend chooser clinton@unknownlamer.org**20080118050620 Uses the date/title to link to the show instead of separate controls ] hash: 0000001131-1ff941f9b52a785aa715f155adea8618498e8f7602435f79627c31240c54d05e [Implement initial real authentication system clinton@unknownlamer.org**20080205212719] hash: 0000001209-baa557edd8ed9081aceacdb763c2aa0a8153d8c89cb8381cce5cf4258e86028b [Add *golf-user-host* config variable clinton@unknownlamer.org**20080205212744] hash: 0000000330-3e31d50307ffdd57ea99b75c83e9117653500a2082b54c60c69143e7548554fa [Add support for exclusive start/end to get-instances-limit clinton@unknownlamer.org**20080205212852] hash: 0000003551-9b385bf7f4c9d5c55ec46711da7eba6781ff62ff489eff393745c4e9f9788464 [Roll blank entry point into index regex clinton@unknownlamer.org**20080205212911] hash: 0000000374-cae0975e148fa752ee7c07f7565c4146888051f11fc24cd7f5e6b514fb297340 [Refactored database-range-view clinton@unknownlamer.org**20080205213031 * New query-view classes moved to lame-web library * Rebuild show lists on top of query-view ] hash: 0000008559-1a171015ee611500ec773216ab14d18ed98770081e037005a1b162b49db725eb [Add golf-user-login widget for styling purposes clinton@unknownlamer.org**20080205213105] hash: 0000000633-e458e032709d2ef3693a10aa007142329168583422677618daf3438b00bb948b [Misc CSS updates clinton@unknownlamer.org**20080205213111] hash: 0000000304-d5d1a24797f7434ac80e97d46f7392e9878ec5a3963fc7f6610ee9c93c4fad91 [Update admin view for new query-paged-view protocol clinton@unknownlamer.org**20080205213133] hash: 0000000239-a8a725efd79c516e1c517ec276539d84875de079558053a006c50716bd30ac4f [Factor file-upload-form into simple-form clinton@unknownlamer.org**20080205213247 * New generic buttons api for processing and cancelling form * define-html-form macro for building forms conveniently ] hash: 0000001711-65736185c023e8abcca526743479ba37c88437f1ca8b74336a3d10fcc71d53b9 [Update show-editor to new simple-form protocol clinton@unknownlamer.org**20080205213316] hash: 0000001510-d0caef9aa7df50ced5797168f79f3ddc11da80a0c016162e49f8ae7658a5269c [Initial password change tool implementation clinton@unknownlamer.org**20080205213329] hash: 0000001476-5bcd66198c78ee6a485729a2f351c0f2ea4158906328be57e39558dfce493944 [Add automatic md5sum to (setf password) clinton@unknownlamer.org**20080205232851] hash: 0000000286-c67e6a8facded48a2d081130f348133cab70b452e9745c52125af87b3eada6e4 [Repair define-html-form macro clinton@unknownlamer.org**20080206024315 form-fields are not components; switched to :initform ] hash: 0000001014-679a3bb79fec4be423f95796e9c0f14560b7b34818b2531ebff9ec04654036ee [Split frontend and backend into separate applications clinton@unknownlamer.org**20080206190538 The frontend doesn't need to be a secure application and my application-authorize-call logic was broken ] hash: 0000006450-574c6b3ec1c9ef6cde35a9b37f6187d9da831c3a29dc764b4d868a4740cf539f [Fix update-url for new entry points clinton@unknownlamer.org**20080206235515] hash: 0000000194-262b01b473d2a9c556c0fab0e5d67daafb544bed6fde32dde1b1595941e35be9 [Change CSS so that admin and frontend tabs have the same appearance clinton@unknownlamer.org**20080206235542] hash: 0000002298-5c73b230717802f027c20e7698ad84e9ef15799b66f36c380c68fe1688dd41d6 [Import flowplayer code clinton@unknownlamer.org**20080207032354] hash: 0001280259-b11438b61dc18133c96ce61f7fe239147df2f36d20fa1c4f6f8c243db0212084 [Update file upload root setting for new ucw variable name clinton@unknownlamer.org**20080207231543] hash: 0000000520-7b07c182177993849ca1b91c5beeb536dc7f63cb1d8f6263178a4ba7007d2454 [Use handle-raw-request in audio-file-window render clinton@unknownlamer.org**20080208011032 Workaround for double header sending thanks to Atilla Lendvai ] hash: 0000000556-c05e930467dd5e7d1e0bd765402270dbdc1aa89a351f22efab8175eefd5903ef [Remove no longer needed ucw::make-temp-filename redefinition clinton@unknownlamer.org**20080209053735] hash: 0000000375-85037ce2648c4f70e098e6065f53cfebcf177aca5cf2fd2062c4f1d5744f877c [Fix double header send for audio-file-window clinton@unknownlamer.org**20080209053805] hash: 0000001067-93fac91786d0be8c94578d8617e1599f76d35c820229cb9312b09020db529823 [New convenience function for building validator objects clinton@unknownlamer.org**20080209053844] hash: 0000000408-3f31b556904085ce6e5c94c84db1cc45c3de9e37d508cd1e736cf933d85e28e0 [Enhance simple-form error checking and display clinton@unknownlamer.org**20080209054051 * A list of error messages is now displayed after each erring element * Error checking is done in process-form and the form is flagged as invalid so that errors are only displayed after the form has been submitted ] hash: 0000001954-3d1ced8885eb5d0fbd3fd414137c5bb27f9ec416c169eeb33ade897ecdfeffaa [Add not empty validation to password-change-tool clinton@unknownlamer.org**20080209054113] hash: 0000000596-786020d5ca02e9eac68b36220ab22142adba049043a63aa9d655bf3c4c5a91b7 [Factor password equality check into function clinton@unknownlamer.org**20080209054155] hash: 0000001317-3dd3129126a032932899997ee975cd5a56e848d99f4c91e88d77d76a8c40cbbb [Add bookmarkable links to the show archive clinton@unknownlamer.org**20080209054215] hash: 0000001222-9b077d8e8e1d1282cdf0270a433f24ed5ad279af304b1325bc8a1e1dd357d817 [Update to SWFObject 1.5 clinton@unknownlamer.org**20080209054305] hash: 0000013823-1ef47da0df8abc02a51b3597d95d3db83102b8892c50b78a2be05a1f88c16242 [Move commented out code clinton@unknownlamer.org**20080209054331] hash: 0000000369-56cfb8004c9d5ce805e12f05da61f4d315a0f5fb7daaf58739f4e066a6b23bbe [Remove invalid form checking code from individual process-actions clinton@unknownlamer.org**20080209054635] hash: 0000001324-e69c92fdfda68ebe48c9febce72ee22aa77563eafcd0dda7efa2d3b9b511e6e9 [Move cross-component-link to web-common clinton@unknownlamer.org**20080209065150] hash: 0000000804-ee6bdd17e6c41c3dbc80f13dc10bb56cdce7359dd0aa19973c444032430a4ebb [Change update-url (sidebar-chooser) to work for all show-choosers clinton@unknownlamer.org**20080209065219] hash: 0000000465-8e3afc6eb5f55c6b2ad621ff0acefca2d1a1bfa2edebaee0ec757aa3659de49f [Make frontend-show-viewer use bookmarkable links clinton@unknownlamer.org**20080209065244] hash: 0000000404-9afa082e6156dfee11ef230b5527b2c68381a452a3827d525382d2b89dc48eff [Add flowplayer-component file clinton@unknownlamer.org**20080209220446] hash: 0000000102-a11ac20d99b6b8045fa4d9a6d3fb5654b9a30ec5a1f2b8bb440e1254fd39a699 [Initial flowplayer-component implementation clinton@unknownlamer.org**20080209220559] hash: 0000003370-6d81156e626266eb9cb925310fd6a7dc0e896bc910f3d7dcb50d3f46eb22a2ae [Update to flowplayer 2.0.1 clinton@unknownlamer.org**20080209220647] hash: 0000475745-58be300f46393f791422047f55c7ea43d60ec53648bbdfdf0fada91b0e7465a3 [Add flowplayer file to system definition clinton@unknownlamer.org**20080209220657] hash: 0000000315-89863937e3914cec1d45f7775c0c02eae1b4a818cf6331cd135c077697a5dbcf [Fix weird call-next-method problem with /cc methods clinton@unknownlamer.org**20080209220714] hash: 0000000183-f78f795b41af79e99ae4c56378a6f509f053c892a93a2df6cffc7e64ebb2f318 [Readd answer to show-editor process action clinton@unknownlamer.org**20080209220727] hash: 0000000231-a8c4dcdfd1ef582c45990250bc3e4bb000c85c4c59a16cd9f4ec673a5e3e3863 [Factor muck for initializing window into method clinton@unknownlamer.org**20080213224014] hash: 0000001064-a613296485c775ed9cd627ae0cf15cf1cb7bc758d4cb2cea9d349cc87b5cb34d [Add clon schedule for restarting site daily clinton@unknownlamer.org**20080213224127 iolib worker threads seem to crash after a few days. Before the ucw developers fix the problem this should work as a workaround. ] hash: 0000000991-46388730611606edfc34bce10e04b1c6c8f16c23ae00b3242f945c3f2906e922 [Improve flowplayer-component clinton@unknownlamer.org**20080213224305 * A few more config settings are support * A simple skin configuration option has been added * Configuration is now injected via js to work around a bug in the JSON parser with URLs containing ampersands * video-width was renamed player-width as that is what it really is ] hash: 0000003611-20a4a3dcb11519d1478a1f4b5309e953d124a9c4670c565817f86ca7d39f0d96 [Add frontend-show-viewer and use it for all frontend views clinton@unknownlamer.org**20080213224448 Embeds a flowplayer-component for in-page audio playing ] hash: 0000001854-b8ae7a080fa8e30eb340b677d0e9c462bf0564b0f127e24f22d423507cf5d410 [Add bookmarkable URLs for links in frontend-show-chooser clinton@unknownlamer.org**20080213224514] hash: 0000000571-18ef3514a81716a838fabb5dc6e2b137c419a037a2d73f0902e4e2c6be1b47f3 [Switch to flowplayer light ui clinton@unknownlamer.org**20080213224548] hash: 0000475218-e4814af683d4b1f78c4e2eb6cb2340043d97c8fba8c2f5b97bbf2027499fa233 [Up default maximum request size to 50M clinton@unknownlamer.org**20080214012456] hash: 0000000215-1c925e0ee660ad1472eccfc9691b9cad8b23c9b7d5ff5d0cddd870aed6a23d74 [Clean up frontend-show-chooser so that sidebar renders as before clinton@unknownlamer.org**20080214012529] hash: 0000000570-51d35b135d049d9fa4e986416c85ed79525cbeef1c8977aa1a30f7dc6f5cef42 [Rebind skip to zero if keyword argument is nil clinton@unknownlamer.org**20080215033330 :skip nil is valid according to the protocol ] hash: 0000000248-226894a1cd71a69dd661cadbcb0cb09a2c033c83ffe1cba3fdf9ce6cd6cd592d [Use write-audio-file in audio-file-window render clinton@unknownlamer.org**20080215044901] hash: 0000000349-10320f10be3f25e82445b07024ea23a625b00aa9ae614df7303e3c5f13d0ca09 [Add write-audio-file method and implementation using fad:copy-stream clinton@unknownlamer.org**20080215044956] hash: 0000000446-0737428941bae6076d2b22917c6ed3ff8d529f1daeebca0331b8d30bfcd7b1cd [Actually commit ancient rename of web.lisp to web-common.lisp clinton@unknownlamer.org**20080215061331] hash: 0000000145-830c3822bae375a107897e8f3d5bec0988a5f75084606bedc4a9049c0003bed7 [Improve database open and close clinton@unknownlamer.org**20080227190751 Run recovery if needed on open and checkpoint the database before close ] hash: 0000000376-dd6272f86e5c92999616c8a0b8c31303c9f866aa02c4256da7d057edf1534365 [Move query functions into golgonooza clinton@unknownlamer.org**20080227190854] hash: 0000003846-54ad0ce2cd3667d5a88b28e13ef46fe5e9a0d9b2952835d990cc0a92e1361814 [Move simple-form code into its own file clinton@unknownlamer.org**20080227190927] hash: 0000011545-87f14e9e1a1e6d59c7fcbd147547878a5b2bb8c4e52155e1d8aba48cc1c3339a [Rebuild show-list using elephant-query-view-mixin clinton@unknownlamer.org**20080227191005] hash: 0000001240-1c9430da9006452c2d14ef3acb7c2a71f3610313307a0eb5a6432ff87b16281b [Improve password change component clinton@unknownlamer.org**20080227191036] hash: 0000002718-c53825e67814af4cbb186123f0f0618c2869714493f65a30a6596cc3d6d63294 [Properly use query-view-mixin clinton@unknownlamer.org**20080227191258] hash: 0000000244-3cf539eff7baff46b9dbe98cafaa7b84d73501749654577165933822c5dd2324 [Update CSS for new simple-form code clinton@unknownlamer.org**20080327143230] hash: 0000000405-74777c2149332becb81fa893fc79d23a3ad3d0947b230c4baa91e56fa8d723ee [Refactor show-viewer/selector classes to use new item-viewer/selector clinton@unknownlamer.org**20080327143344] hash: 0000003702-e8439f87fd787c53f72263fee82d44004bff5601d963006f5d234d4481c675ef [Remove obsolete Play control from viewers clinton@unknownlamer.org**20080327143412] hash: 0000000581-0d7e65f76f1022a6d935d708a2b575b1a06b74778c33912968e30c5b96a32541 [Remove unnecessary package prefixes clinton@unknownlamer.org**20080327143446] hash: 0000000270-feba782b761b2f1483351e9eccb781f5a7ab850927585fb729ba6182cc1da941 [Make sidebar chooser links work persistently clinton@unknownlamer.org**20080327143508] hash: 0000000241-95c15b4ce19a2117ce5c5069bbd5d8dc8e45d82af72d0a057a70099a7a82629e [Add new query-list-chooser and item-viewer code clinton@unknownlamer.org**20080327143551] hash: 0000003840-20428e421521c86203c9c60f8251d8ff8e649e0677ec218707a34921f2979f55 [Properly use :viewer-class initarg clinton@unknownlamer.org**20080327143615] hash: 0000000223-7ca0e910edb9c6026ab37a4d726bfc7a10b8efaf17d62ee94469f37a36c0e7c2 [textual reformatting clinton@unknownlamer.org**20080327143621] hash: 0000000286-c19b7fb08b4cd33f105a2c1f58128902fa2ce20e50ffe919c617571495f3996d [Remove ucw-compat and use ucw-compat from golgonooza clinton@unknownlamer.org**20080327144448] hash: 0000003198-7511702d8621328df4fc8874a4f0986cbaa72b1d0d4910d309977bb7dc1a394f [Initial port to ucw-core clinton@unknownlamer.org**20081203064010] hash: 0000011062-0751871f2e1b262a44e79e1fc7f669d060a7151ca2febdb1bf36d2d683fde41d [s/body-of/window-body/ clinton@unknownlamer.org**20081203195837] hash: 0000000385-71aa0d8493797767303e84377609772ee6d15053cf1763cecc39a7fb60d546d1 [Fix /archive entry point for ucw-core clinton@unknownlamer.org**20081203230234] hash: 0000000588-fa3a5b42128e0e720ab63ac6e9e54756fb9fd7d269d97c842c4e05db6d05fa25 [Port site-control to golgonooza's site control clinton@unknownlamer.org**20081203230335 The port is a bit messy but it works and tee-it-up is nothing more than a test application that will be abandoned soon... ] hash: 0000004902-d71df9ca2c66a7ba0ce5e39910b8f6daff129936ce00bc220520fbf1c91eae1b [Remove db connect/disconnect in favor of ucw-elephant-site clinton@unknownlamer.org**20081203235423] hash: 0000001356-4770582993611228f5a73cf5476a452c9a4f056bd49f0ca78f3b0a53b60e71ed [Update parenscript uses for mainline parenscript clinton@unknownlamer.org**20081204222424 Goodbye UCW parenscript fork ] hash: 0000000696-3aeb1882ed69fe69431d5f9b63bc47602bc249b684f0b363882f82b9dfc166ee [Arnesi mopp -> closer-mop clinton@unknownlamer.org**20081205002904] hash: 0000000592-8d24e061f49e91e722aca42fc3784c2a489ae28ed0df7146fcf82ad8ce8105a5 [Update start script for golgonooza site-control clinton@unknownlamer.org**20081205002919] hash: 0000000322-ca8fa7177e59b8181ae65e3447e2d4854f439c0a9660c3b58cb85beeb60adbe4 [Fix ps:ps-gensym calls clinton@unknownlamer.org**20081205003403] hash: 0000000571-6227a31dc7669508f8acf6c770e461435dc3f546df80b7907ee22c33ce84af89 [Update evil evil use of an internal ucw symbol clinton@unknownlamer.org**20081205003421] hash: 0000000276-93f7d497caa12a142c3ad88a50c0e33f78471ed235a4934a45358729967aada0 [Update to www-roots-application for latest ucw-core_clinton clinton@unknownlamer.org**20081205204922] hash: 0000000348-b7cc1324380ed149675d5ffc090863807903dad689d6d68c9e5edca9483da1cf [Remove CLON references clinton@unknownlamer.org**20081206060947] hash: 0000001141-7260d9e95d7b6949babaeccaf538d88d70fc6d8f08967da437b30820fc51276f [Update for new elephant-store-application-mixin clinton@unknownlamer.org**20081208081037] hash: 0000000415-fe79ae9e970ed03c0799e1a222d5bbccf32c276bb0b957eae7a9b178d3db36d4 [Move simple-form to golgonooza clinton@unknownlamer.org**20081209070314] hash: 0000007809-dacbf46049d641ca11f568639054e2f372fe0a890d13feeb75679cfe907c4d15