Overview
Comment: | Added some document snippets. Improved page handling/loading logic to provide message if page not found and option to not compile pages |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | selfcontained |
Files: | files | file ages | folders |
SHA1: |
886293086d79db472225e4f9fc45c5ea |
User & Date: | matt on 2013-09-22 05:25:39 |
Other Links: | branch diff | manifest | tags |
Context
2013-09-22
| ||
17:35 | Reworked howto. Added s:shared-hash, added s:if to sugar.scm check-in: 9cde8a89e8 user: matt tags: selfcontained | |
05:25 | Added some document snippets. Improved page handling/loading logic to provide message if page not found and option to not compile pages check-in: 886293086d user: matt tags: selfcontained | |
2013-08-03
| ||
17:47 | Commented out postgreql in requirements.scm.template check-in: bd41580f94 user: matt tags: v0.901, selfcontained | |
Changes
Modified doc/howto.txt from [f196be1330] to [cc3668b264].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Gotchas! ======= 1. All items for a page *must* be part of a list! OK: (list (function1 param1)(function2 param2)) NOT OK: (begin (function1 param1)(function2 param2)) Various components ================== ====================================================================== 1. Create a link. (s:null "[" (s:a name 'href (s:link-to (string-append "location/" (string-intersperse p "/") ""))) "] "))) | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Gotchas! ======= 1. All items for a page *must* be part of a list! OK: (list (function1 param1)(function2 param2)) NOT OK: (begin (function1 param1)(function2 param2)) Various components ================== The URL: http://the.domain.com/pagename/p1/p2/p3?param1=value1 (s:get-page-params) => '("p1" "p2") ====================================================================== 1. Create a link. (s:null "[" (s:a name 'href (s:link-to (string-append "location/" (string-intersperse p "/") ""))) "] "))) |
︙ | ︙ |
Deleted doc/stml-manual.odt version [55a66e4646].
cannot compute difference between binary files
Modified session.scm from [5303f7c875] to [4f8d6422ab].
︙ | ︙ | |||
172 173 174 175 176 177 178 179 180 181 182 183 184 185 | (let ((dbtype (sdat-get-dbtype self)) (debugmode (sdat-get-debugmode self)) (dbinit (eval (sdat-get-dbinit self))) (dbexists #f)) (let ((dbfname (alist-ref 'dbname dbinit))) (if debugmode (session:log self "session:setup dbfname=" dbfname ", dbtype=" dbtype ", dbinit=" dbinit)) (if (eq? dbtype 'sqlite3) (let ((dbpath (pathname-directory dbfname))) ;; do a couple sanity checks here to make setting up easier (if debugmode (session:log self "INFO: setting up for sqlite3 db access to " dbfname)) (if (not (file-write-access? dbpath)) (session:log self "WARNING: Cannot write to " dbpath) (if debugmode (session:log self "INFO: " dbpath " is writeable"))) (if (file-exists? dbfname) (begin | > > > | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | (let ((dbtype (sdat-get-dbtype self)) (debugmode (sdat-get-debugmode self)) (dbinit (eval (sdat-get-dbinit self))) (dbexists #f)) (let ((dbfname (alist-ref 'dbname dbinit))) (if debugmode (session:log self "session:setup dbfname=" dbfname ", dbtype=" dbtype ", dbinit=" dbinit)) (if (eq? dbtype 'sqlite3) ;; The 'auto method will distribute dbs across the disk using hash ;; of user host and user. TODO ;; (if (eq? dbfname 'auto) ;; This is the auto assignment of a db based on hash of IP (let ((dbpath (pathname-directory dbfname))) ;; do a couple sanity checks here to make setting up easier (if debugmode (session:log self "INFO: setting up for sqlite3 db access to " dbfname)) (if (not (file-write-access? dbpath)) (session:log self "WARNING: Cannot write to " dbpath) (if debugmode (session:log self "INFO: " dbpath " is writeable"))) (if (file-exists? dbfname) (begin |
︙ | ︙ | |||
618 619 620 621 622 623 624 | ((stored) ((eval (string->symbol (conc "pages:" page))) self ;; the session (sdat-get-conn self) ;; the db connection (sdat-get-shared-hash self) ;; a shared hash table for passing data to/from page calls )) ((flat) | | > > > > > > | | | | | > | 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 | ((stored) ((eval (string->symbol (conc "pages:" page))) self ;; the session (sdat-get-conn self) ;; the db connection (sdat-get-shared-hash self) ;; a shared hash table for passing data to/from page calls )) ((flat) (let* ((so-file (conc dir page ".so")) (scm-file (conc dir page ".scm")) (src-file (or (file-exists? so-file) (file-exists? scm-file)))) (if src-file (begin (load src-file) ((eval (string->symbol (conc "pages:" page))) self ;; the session (sdat-get-conn self) ;; the db connection (sdat-get-shared-hash self) ;; a shared hash table for passing data to/from page calls )) (list "<p>Page not found " page " </p>")))) ;; first the control ;; (let ((control-file (conc "pages/" page "_ctrl.scm")) ;; (view-file (conc "pages/" page "_view.scm"))) ;; (if (and (file-exists? control-file) ;; (not (eq? parts 'view))) ;; (begin ;; (session:set-called! self page) |
︙ | ︙ |
Modified setup.scm from [73ece1fa1d] to [370e79d111].
︙ | ︙ | |||
91 92 93 94 95 96 97 98 99 100 101 102 103 104 | (session:get-input s:session key)) (define (s:load-model model) (session:load-model s:session model)) (define (s:model-path model) (session:model-path s:session model)) (define (s:db) (sdat-get-conn s:session)) (define (s:never-called-page? page) (session:never-called-page? s:session page)) | > > > > > | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | (session:get-input s:session key)) (define (s:load-model model) (session:load-model s:session model)) (define (s:model-path model) (session:model-path s:session model)) ;; http://foo.bar.com/pagename/p1/p2 => '("p1" "p2") ;; (define (s:get-page-params) (sdat-get-page-params s:session)) (define (s:db) (sdat-get-conn s:session)) (define (s:never-called-page? page) (session:never-called-page? s:session page)) |
︙ | ︙ |