Index: doc/manual.txt ================================================================== --- doc/manual.txt +++ doc/manual.txt @@ -8,18 +8,11 @@ :numbered!: [abstract] Example Abstract ---------------- -Due to the anonymous nature of sites such as Second Life meeting -like-minded and compatible people can be somewhat hit-or-miss. The -FriendMaker project (a subproject of the KiaToa project) sets -out to improve the quality of connections made by increasing the -probability of compatible people attending any given event. - -Special thanks to kellogglicious who inspired this work and has been a -wonderful and supportive assistant in-world. +Yada about stml :numbered: User Data Specification ----------------------- @@ -26,333 +19,46 @@ .User Data [width="100%",options="header",cols=" | :useritem | | User supplied key value pairs. -// | Age | ::age | age 35 | NOT INITIALLY SUPPORTED Your age -// | agewant | :agewant | :agewant 30 | NOT INITIALLY SUPPORTED The ideal partner age -// | Compound commands (NOT yes supported, are they needed?)| | | -// | About me | :me | :me m s us az Tempe 35 | Compact way to enter the basic info -// | Location | :location | :location us az Tempe | One line entry of location for country, state/region and city/town - -// Compact forms (NOT supported yet) -// -// :me [ []] -// :location -// -// .Example compact forms -// ----------------------------- -// :me f s us ca Burbank 25 -// -// note: If your city has spaces in the name it is best to use some short form -// -// :me f s us ca sanfran 25 -// ----------------------------- - -Interests ---------- - -mingling -dancing -conversation -exploring - -Likes ------ - - - -Age Specification -~~~~~~~~~~~~~~~~~ - -Initially only agecp will be supported. In future either specify agecp -or specify age and agewant. If both are specified then agecp will be -used. - -The agecp idea works by clustering people around agecp numbers. A -statistical analysis is done on the aggregate agecp data and clusters -are identified, sliding group scales are applied and finally -individuals are placed in groups. Group edges are changed with every -iteration. - -The probablity of being in a group will be roughly a bell curve of the -individual agecp with the group agecp. - -General Comments -~~~~~~~~~~~~~~~~ - - - The last setting is retained and the old value is lost. - -User Commands -~~~~~~~~~~~~~ - -.User Commands -[width="100%",options="header",cols=" logfile +. Nothing scheduled Done Stuff ~~~~~~~~~~ -. ENSURE THAT AUTO ADDED PEOPLE DO NOT GET IM's UNTIL THEY SET SOME VARIABLE [DONE] -. Auto add from GIM [DONE] -. Correct pm to PM [DONE] -. Safely preserve single quotes [DONE] -. Trim region/state to two letters [DONE] -. Trim male, female and hermaphrodite to m, f, h [DONE] -. Trim straight, gay, bisexual to s, g, b [DONE] -. Transition to names table [DEFERED] -. Create calendar page [DONE] -. Create rough run script/makefile [DONE] -. Sort by date [DONE] -. Create stats page [DONE] -. Add first three people to interests/likes for event, fix - connections [DONE (well, good enough for now)] -. Send IM's -.. :aboutme [DONE] -.. notice of event [DONE] -.. :delete - send acknowledgement [Cannot do, once deleted info needed is gone] -. Prevent re-processing lines in chat and or remove "ignore" on [DONE] -. Change agecp to age [DONE] -. do not process chats from friendmaker resident [DONE] -. Trim message queue [DONE] -. Upgrade to latest pikkubot software [DONE] -. Fix Anna [DONE (good enough)] -. Write temporary web page [DONE] -. Create calendar page sync [DONE] -. Create stats page [DONE] -. Set up rsync of temporary web page [DONE] -. Request to send notecard with all keywords currently in use. - Phase 1 ~~~~~~~ -. Re-write temp web page, add graphic illustration. -.. Get snapshot of IM window [DONE] -. Integration [DONE] -.. Run script -... read logs -... commit logs -... generate connections -... send IM's -. Ensure defaults are good [DONE] -.. agecp = 30 -.. orientation = "s" -.. location zxzxzx -.. besttime = "evening" -.. interests = livemusic -.. likes = soft rock -.. ensure date/time is normalized M/D/YY H AM/PM - yes [DONE (leading zeros and 2012 fixed)] - +. Phase 1 is done Phase 2 ~~~~~~~ -. :matchfactor => set your minimum matchfactor -. :bug and :message => send a bug report or message to kiatoa -. Keep stats for friends on/offline and sometimes check for online using search. -. Support this format: Bill473 Live @ Lost Lovers Dancing Club at 8 am description -. Process payments -. Get alt locations working Sim (x,y,z)\s+.* -. Limit number of IM's per day or per hour -. Limit number of events per person -. Lowercase all data -. Add underscores for cities -. Data safety, remove quotes [DONE] -. Add needed commands -.. :me -.. :addlike, :addinterest -.. :success - for when friendmaker succeeded in help -. Create friendmaker@kiatoa.com -. Add :agree yes/no and agreement to web doc -. Add payment processing -. Add :help, :feedback +. Phase 2 is done Phase 3 ~~~~~~~ -. For dating with a sophisticated hint of "flirt" check out Friendmaker. -. Need a server, never goes down -. Cron job(s) -. Integrate with KiaToa -. Setup fetchmail and procmail for friendmaker - delay for now. +. Error printing with debug levels Notes ----- -Maintenance mode - - 1. switch to autorespond "Anna is in offline mode, please try again in one hour" - 2. copy the chat log to log.date - 3. cat /dev/null > log - 4. switch to autorespond "Thank you for using the friendmaker service!" - -Leon - -Anna - -Schema ------- - ------------------------- -sqlite> .schema -CREATE TABLE events (id INTEGER PRIMARY KEY, - event_time TEXT DEFAULT '', - venue TEXT DEFAULT '', - location TEXT DEFAULT '', - event TEXT DEFAULT '', - genre TEXT DEFAULT '', - performer TEXT DEFAULT '', - description TEXT DEFAULT '', CONSTRAINT eventsconstraint UNIQUE (event_time, venue)); -CREATE TABLE groupedwith (id INTEGER PRIMARY KEY,grouped_id INTEGER,person_id INTEGER); -CREATE TABLE logs (id INTEGER PRIMARY KEY,logfname TEXT,lasttime INTEGER); -CREATE TABLE people (id INTEGER PRIMARY KEY, - firstname TEXT, - lastname TEXT, - target_age INTEGER DEFAULT 25, - sex TEXT DEFAULT 'n', - orientation TEXT DEFAULT 's', - country TEXT DEFAULT 'zx', - region TEXT DEFAULT 'zx', - city TEXT DEFAULT 'zx', - best_time TEXT 'any', - interests TEXT DEFAULT '', - likes TEXT DEFAULT '', - points INTEGER DEFAULT 0, CONSTRAINT valsconstraint UNIQUE (firstname, lastname)); ------------------------- Index: session.scm ================================================================== --- session.scm +++ session.scm @@ -305,10 +305,11 @@ tmpkey)) ;; returns session key IFF it is in the HTTP_COOKIE (define (session:extract-session-key self) (let ((http-cookie (get-environment-variable "HTTP_COOKIE"))) + ;; (err:log "http-cookie: " http-cookie) (if http-cookie (session:extract-key-from-param self (string-split-fields ";\\s+" http-cookie infix:) "session_key") #f))) (define (session:get-session-id self session-key)