Permalink
Fetching contributors…
Cannot retrieve contributors at this time
1672 lines (1287 sloc) 66.8 KB
2011-03-04 Test message from QWB
2010-11-04 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (get_rule_set): make undef rules list into [] to
avoid unhelpful error.
2010-10-26 Web-san <web@dev11.kobj.net>
* Kynetx/Events.pm (process_event_for_rid): Don't put RID in req_info; req_info isn't scoped.
* Kynetx/Rules.pm (get_rule_set): Allow RID to be passed in
2010-10-21 Web-san <web@dev11.kobj.net>
* Kynetx/Events.pm (process_event_for_rid): Allow for optional mode clause
* Kynetx/Console.pm (show_context): Allow for optional mode clause
* Kynetx/Rules.pm (process_schedule): Allow for optional mode clause
* Kynetx/PrettyPrinter.pm (pp_rule_body): allow for optional mode clause
* Kynetx/Actions.pm (build_js_load): make null action lists empty
* Kynetx/Repository.pm (get_rules_from_repository): Added Dumper and RID to error message
2010-10-20 Phil Windley <pjw@kynetx.com>
* Kynetx/Repository.pm (get_rules_from_repository): Forcing local
parsing. Check to ensure optimization version matches exactly
(for rollbacks)
2010-10-19 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (get_optimization_version): Changed optimization number
2010-10-19 Web-san <web@dev11.kobj.net>
* Kynetx/JavaScript.pm (gen_js_hash_lines): Gen js for LHS
* Kynetx/Expressions.pm (eval_hash_raw): Eval the lhs and check return type
* Kynetx/PrettyPrinter.pm (pp_hash_line): have to pp the lhs now
* parser/RuleSet.g: Changed LHS of hash line to be an expression
2010-10-18 Web-san <web@dev11.kobj.net>
* Kynetx/Repository.pm (get_rules_from_repository): Upgraded error conditions and messages for returns from repository
2010-10-14 Web-san <web@dev11.kobj.net>
* Kynetx/Events.pm (process_event): Use respond.
* Kynetx/Rules.pm (process_rules): Use respond.
* Kynetx/Response.pm (respond): new. Common response module to gather together duplicate code.
2010-10-13 Web-san <web@dev11.kobj.net>
* Kynetx/Postlude.pm (eval_log_statement): Now returning valid JS
* Kynetx/Expressions.pm (exp_to_den): Fixed bug that modified original expr
* Kynetx/RuleManager.pm: Fixed OParser bug
* Kynetx/Operators.pm (eval_filter): Fixed denoted error
2010-10-11 Web-san <web@dev11.kobj.net>
* parser/RuleSet.g: new raise AST
* Kynetx/PrettyPrinter.pm (pp_post): new raise AST
* Kynetx/Expressions.pm (infer_type): defaults to undef now instead of string
* Kynetx/Modules/HTTP.pm: Changed to respect changes to Postlude.pm
* Kynetx/Postlude.pm (eval_raise_statement): Made event name and ruleset spec exprs instead of tokens. Ruleset spec my eval to a string or array of strings.
2010-10-06 Web-san <web@dev11.kobj.net>
* Kynetx/Rules.pm (get_rule_set): removed dependence on RS being in req_info and added new helper functions for stashing ruleset in req_info
* Kynetx/Events.pm (process_event): removed dependence on RS being in req_info
* parser/RuleSet.g: Added new "sharing" pragma
* Kynetx/PrettyPrinter.pm (pp_sharing): added to support new "sharing" pragma
* Kynetx/Modules.pm (eval_module): added code to support key retrieval in code
2010-10-01 Web-san <web@dev11.kobj.net>
* Kynetx/Modules/Twitter.pm: removed update as a datasource call. All updates should now use the action.
2010-09-27 Web-san <web@dev11.kobj.net>
* Kynetx/Repository.pm (get_rules_from_repository): Added semaphore clearing to two returns that happen before the getting is done. This is messy and bug prone. Wish I had a "finally"
2010-09-23 Web-san <web@dev11.kobj.net>
* Kynetx/Modules.pm (eval_module): changed to expect Twitter.pm in new place
* Kynetx/Modules/Twitter.pm: moved to Modules from Predicates, added update action
2010-09-17 Web-san <web@dev11.kobj.net>
* Kynetx/Postlude.pm (eval_persistent_expr): Getting ready for App vars
* Kynetx/Predicates/Twitter.pm (process_oauth_callback): Added update function
2010-09-14 Web-san <web@dev11.kobj.net>
* Kynetx/Postlude.pm (eval_raise_statement): put new RID in same mode as current
* Kynetx/Operators.pm: added test for undefined objects
* Kynetx/Predicates/Twitter.pm (get_access_tokens): refactored to use access tokens from the meta block if present.
2010-09-01 Web-san <web@dev11.kobj.net>
* bin/get_ruleset.pl: added switch to print elapsed time
* Kynetx/PrettyPrinter.pm (pp_foreach): Added fix for old parse trees in foreach
* Kynetx/Predicates/Page.pm (get_pageinfo): Added 'params' function that returns all params to an event.
2010-08-27 Phil Windley <pjw@kynetx.com>
* Kynetx/Predicates/Weather.pm (get_weather): Added "string_value()" to
all find expressions for directives.
2010-08-24 Web-san <web@dev11.kobj.net>
* Kynetx/Operators.pm (eval_append): Added
2010-08-23 Phil Windley <pjw@kynetx.com>
* Kynetx/Expressions.pm: moved eval_hash to eval_hash_raw and
added eval_hash
2010-08-23 Web-san <web@dev11.kobj.net>
* Kynetx/Predicates/Page.pm (get_pageinfo): added fall thru error for Sam
* Kynetx/Operators.pm (eval_pick): use clone instead of dclone
* Kynetx/Expressions.pm (eval_one_decl): clone the value before creating JS
2010-08-11 Phil Windley <web@dev11.kobj.net>
* Kynetx/Operators.pm (split_re): Added function to split regexp and changes match, replace, and split to use it.
* Kynetx/Parser.pm: Added optional "re" marker to regexp syntax
2010-08-04 Phil Windley <web@dev11.kobj.net>
* Kynetx/Modules.pm (eval_module): 'event' is a synonym for 'page'
* Kynetx/Modules/HTTP.pm: Added.
2010-07-29 Phil Windley <web@dev11.kobj.net>
* Kynetx/Environments.pm (add_to_env): Added.
* Kynetx/Actions.pm (build_one_action): Removed uniq_id from rule_env; not a user var, so shouldn't be in there.
* Kynetx/Modules.pm (eval_module): Added clause for http
(eval_module): Added 'event' as a source alias for page
2010-07-27 Phil Windley <web@dev11.kobj.net>
* Kynetx/Actions.pm (build_one_action): Added 'http' as a source for actions
* Kynetx/Parser.pm: Added 'http' as a legitimate explicit event domain. Added optional "setting" clause to actions
* Kynetx/Postlude.pm (eval_raise_statement): Changed $expr to $m when looping over modifiers.
2010-07-14 Phil Windley <pjw@kynetx.com>
* Kynetx/Postlude.pm (eval_post_expr): Added explicit path to explicit_callback
2010-07-13 Phil Windley <pjw@kynetx.com>
* Kynetx/Postlude.pm (eval_persistent_expr): Added explicit paths
to calls to things in Kynetx::Expressions
* Kynetx/Parser.pm: No changes, but lots of playing
* Kynetx/Actions.pm: Fixed resource registration because of move
to Kynetx::JavaScript::AST
* Kynetx/JavaScript/AST.pm (mk_registered_resource_js): Added
resource registration to generated JS
* Kynetx/Events.pm: Removed separate resource registration call
* Kynetx/Rules.pm (process_schedule): Added resource registration
to AST
* Kynetx/Rules.pm (eval_foreach): uses den_to_exp now instead of
getting vals directly from hash; make sure var array is really an
array.
2010-07-12 Phil Windley <pjw@kynetx.com>
* Kynetx/Repository.pm (get_rules_from_repository): Use timed
semaphore to keep the same ruleset from being parsed at the same
time.
* Kynetx/Memcached.pm: Added functions to use memcached as a timed
semaphore.
2010-07-09 Q Wade Billings <qwb@kyentx.com>
* This is a test commit to test hooks - QWB
2010-07-01 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm: Allow lists of vars to set
* Kynetx/Rules.pm (eval_foreach): Now works on hashes too
* Kynetx/PrettyPrinter.pm (pp_foreach): Generalized for lists of vars
* Kynetx/JavaScript.pm (gen_js_var_list): Added.
2010-06-30 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (eval_use): Added to process use pragmas in meta block
* Kynetx/Events.pm (process_event): split out code that processes an
event for a single RID into separate subroutine so that it can be
used later.
* Kynetx/Events.pm (process_event_for_rid): broke out for individual
calling
* Kynetx/Callbacks.pm (process_callbacks): Changed to use Postlude
instead of Actions
2010-06-29 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (get_rule_set): cached the ruleset in the
req_info and use it if we can
2010-06-28 Phil Windley <pjw@kynetx.com>
* Kynetx/Postlude.pm: Split out postlude functions from Actions.pm
* Kynetx/Postlude.pm: (eval_raise_statement): Added.
2010-06-25 Phil Windley <pjw@kynetx.com>
* Kynetx/JavaScript/AST.pm (generate_js): Now we (partially) use a JS
AST and generated JS from it
* Kynetx/Events.pm (process_event): Uses schedules now instead of
rule lists
* Kynetx/Rules.pm (process_schedule): Uses schedules now instead of
rule lists
* Kynetx/Scheduler.pm: Schedules! Yeah!
* Kynetx/Parser.pm (parse_ruleset): Commented out some Dumper calls
2010-06-24 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (get_rule_set): Now turns logging on or off
depending on ruleset
* bin/mk_module: removed SVN commands
2010-06-21 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Json.pm: Added better debug to explain why JSON decode failed
* Kynetx/Operators.pm: Added .as("json") syntax
* Kynetx/Predicates/Facebook.pm: made change to check for FB application metadata bug
* Kynetx/Predicates/Google/OAuthHelper.pm: Reset debug statements and removed uri_encode from callback
2010-06-18 Mark Horstmeier <meh@kynetx.com>
* Adds set operations to arrays
* Kynetx/Parser.pm: added set operations
* Kynetx/Operators.pm: added set operations
* t/Operators.t: new tests for set operations
2010-06-18 Cid <cid>
* Resolves issue where ann and perc did not work together well.
* Commit Revistion : 636
* Release Runtime : http://static.kobj.net/kobj-static-20100618161847.js
2010-06-18 Phil Windley <pjw@kynetx.com>
* Kynetx/PrettyPrinter.pm (pp_use): Added support for using resources.
* Kynetx/Parser.pm: Added support for using resources.
2010-06-17 Phil Windley <pjw@kynetx.com>
* Kynetx/Actions.pm: Added general "send_directive" action
* Kynetx/Directives.pm (gen_directive_document): Added to normailize
directive document generation from two place.
2010-06-16 Phil Windley <pjw@kynetx.com>
* Kynetx/RuleManager.pm (flush_data): Added to support data flush
API
* Kynetx/Test.pm (mk_config_string): Added for testing rules with
config blocks. Used in Actions.t and Rules.t
* Kynetx/Parser.pm: Added syntax for explicit raise in postlude
* Kynetx/PrettyPrinter.pm: Fixed spacing in pp_cond and added
pp_modifier_clause and pp_raise
2010-06-15 Phil Windley <pjw@kynetx.com>
* Kynetx/Actions.pm (build_one_action): Changed how config OBJ is
created for JS. Now uses gen_js_expr instead of evaling.
* Kynetx/JavaScript.pm (gen_js_hash_item): Added to normalize JSON
generation
2010-06-15 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Predicates/Facebook.pm: primary change to OAuthHelper.pm
* Kynetx/Predicates/Google/OAuthHelper.pm: Explicit definition of hash
2010-06-14 Cid <cid>
* Resolves issue where side tab does not show notification number right #763
* Commit Rev #628
* Runtime Rev: http://static.kobj.net/kobj-static-20100615210418.js
2010-06-14 Cid <cid>
* Resolved issues 807 and 796
* Change proto call function to return https if document is not http or https.
* Change errorstack function to just have more information in stack
* Added more code to get sandbox working.
* Commit Rev #626
* Runtime Rev: http://static.kobj.net/kobj-static-20100615171539.js
2010-06-14 Mark Horstmeier <meh@kynetx.com>
* Kynetx.pm: Added callback handler for facebook Oauth
* Kynetx/Predicates/Facebook.pm: facebook integration
* Kynetx/Predicates/Google/OAuthHelper.pm: Added support for OAuth v2.0
* Kynetx/Predicates/Google.pm: Minor changes in call to OAuthHelper
* Kynetx/Predicates/OData.pm: support for function name change in Json.pm
* Kynetx/Predicates/RSS.pm: bug fix
* Kynetx/Configure.pm: support for Facebook config file and generic module config
requires /web/etc/Facebook/facebook.yml
requires /web/etc/module_config.yml
* Kynetx/Json.pm: changed function name, added stub function for testing
* Kynetx/Memcached.pm: Split functionality of get_remote_data into two functions
* Kynetx/Modules.pm: added facebook as module datasource
* Kynetx/Operators.pm: added eval .as("array") for the persistant arrays
* Kynetx/Util.pm: added validators and args parsers that seem to be common to my REST impl.
* t/Predicates/OData.t: Updated tests
* t/Predicates/Facebook.t: Test suite for facebook
2010-06-11 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (get_optimization_version): incremented optimization
version to force ruleset reload in cache
2010-06-11 Cid <cid@kynetx.com>
* Fixed the dam side tab again .browser was called on $ not $KOBJ
* Runtime is http://static.kobj.net/kobj-static-20100611210815.js
* Commit Number : 623
>>>>>>> .r631
2010-06-09 Cid <cid@kynetx.com>
* Added changes to jquery-ui themes
* Added a few more actions to help with jquery ui. Non of them will be published until
jquery ui is released as a feature.
* Published runtime http://static.kobj.net/kobj-static-20100609174026.js for this update
* Runtime above is for commit 621
2010-06-08 Cid <cid@kynetx.com>
* Added new themes for jquery-ui code.
* Updated Action.pm to have new action called remove
* Updated Rule.pm to collect all resources needed by all actions in a rule set not just last one.
* Updated sidetab to work better with IE
* Published runtime http://static.kobj.net/kobj-static-20100608194126.js for this update
2010-06-08 Phil Windley <pjw@kynetx.com>
* Kynetx/Request.pm (set_capabilities): Made 'understands_javascript'
a default for event domain 'web' (bug 785)
2010-06-07 Mark Horstmeier <meh@kynetx.com>
* Fix for 745
* Kynetx/Parser.pm: Initialized $errors in ruleset rule
2010-06-04 Phil Windley <pjw@kynetx.com>
* Kynetx/Directives.pm: Added to support directives
* Kynetx/Repository.pm (get_rules_from_repository): Fixed a
logging message.
* Kynetx/Events/Primitives.pm (submit): Support for generalized events
* Kynetx/Rules.pm (process_rules): Support for directives
* Kynetx/Actions.pm (build_one_action): Support for directives
* Kynetx/Request.pm (set_capabilities): Sets endpoint capabilities
in req_info
* Kynetx/Events.pm: Support for generalized events and directives
* Kynetx/Parser.pm: added new operators, support for generalized events
* Kynetx/PrettyPrinter.pm: added support for generalized events
* Kynetx/Actions/Email.pm: adds email actions
* Kynetx/Operators.pm: added split and join
2010-06-02 Cid Dennis <cid>
* Added code to JqueryUI.pm to allow for some of the jquery ui feature to be used in krl.
2010-06-02 Cid Dennis <cid>
* Resolves issues #768 to add more fields including rule set id and name to error stack reports.
Commit : 612
Kynetx/Rules.pm
etc/js/0.9/krl-functions.js
Runtime: http://static.kobj.net/kobj-static-20100602203953.js
2010-06-02 Cid Dennis <cid>
* Resolved issue #768 where if multiple apps were defined at one time the datasets call would
not be formulated right.
etc/js/0.9/krl-application.js
etc/js/0.9/krl-runtime.js
* Added runtime test to do more checking of double fire and conflict testing on
some sites.
runtime_test/.idea/testcases.iml
runtime_test/.idea/workspace.xml
runtime_test/Rakefile
runtime_test/config/settings.yml
runtime_test/spec/conflict_spec.rb
runtime_test/spec/google_docs_spec.rb
runtime_test/spec/helper/spec_helper.rb
runtime_test/spec/multi_rule_spec.rb
2010-06-01 Phil Windley <pjw@kynetx.com>
* Kynetx/Expressions.pm (eval_emit): Added eval_emit. Empty for
now, but provides a hook for emit processing later
* Kynetx/Actions.pm (build_js_load): Added explicit call to eval_emit
for emits
* Kynetx/JavaScript.pm (escape_js_str): Added escaping for
newlines and carraige returns
* Kynetx/Rules.pm: Removed commented code that did var expression
the old (pre-environment) way
* Kynetx/Parser.pm: don't strip // comments in extended quotes
2010-05-28 Cid Dennis <cid@kynetx.com>
* Fixed issue 747 where people wanted a simple action to changes attributes on an html page. There is now a new
action called set_element_attr(<jquery selector>,<attribute name>,<value to set>)
runtime_test/spec/most_all_action_spec.rb
Kynetx/Actions.pm
2010-05-28 Cid Dennis <cid@kynetx.com>
* Fixed issue with KGrowl where default were never reqest between request.
Kynetx/Actions.pm
etc/js/0.9/frameworks/kgrowl/1.0/kgrowl-1.0.js
2010-05-27 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm (structure_operators): Made previous fix
non-greedy in the regexp
2010-05-26 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm (structure_operators): fixed comment in << " \'.//..\' " >> problem
2010-05-25 Mark Horstmeier <meh@kynetx.com>
* Turned up logging in RuleManager.pm
* Kynetx/RuleManager.pm: Forced init of $tree and $errors to null (worth a try)
2010-05-25 Cid Dennis <cid@kynetx.com>
* Updated event manager to allow for unregistering of events
2010-05-25 Cid Dennis <cid@kynetx.com>
* Fixed issue in runtime where apps using same selector would get duplcated incorrectly. Now dup check is done per app not per selector.
2010-05-25 Cid Dennis <cid@kynetx.com>
* Updated runtime to better handle external resources and fixed the engine not to execute the closure before
it was passed into the runtime.
Kynetx/Rules.pm
etc/js/0.9/frameworks/kgrowl/1.0/kgrowl-1.0.js
etc/js/0.9/krl-runtime-footer.js
etc/js/0.9/krl-setup.js
etc/js/0.9/krl-application.js
etc/js/0.9/krl-runtime.js
etc/js/0.9/krl-functions.js
etc/js/0.9/krl-runtime-header.js
2010-05-12 Cid Dennis <cid@kynetx.com>
* Added more testcases for runtime
* Refactored Directory structure for example Javascript Files
* Added Event Manager Framework
* Tied Runtime to new Event Manager Framework
M /bin/install-init-files.pl
A /bin/install-js-resources.rb
D /etc/js/0.8
A /etc/js/0.9/frameworks/bg_iframe
A /etc/js/0.9/frameworks/bg_iframe/1.0
A /etc/js/0.9/frameworks/bg_iframe/1.0/jquery.bgiframe.js
A /etc/js/0.9/frameworks/dom_watch
A /etc/js/0.9/frameworks/dom_watch/1.0
A /etc/js/0.9/frameworks/dom_watch/1.0/krl-domwatch.js
A /etc/js/0.9/frameworks/form_fill
A /etc/js/0.9/frameworks/form_fill/1.0
A /etc/js/0.9/frameworks/form_fill/1.0/formfill.js
A /etc/js/0.9/frameworks/jquery
A /etc/js/0.9/frameworks/jquery/1.4.2
A /etc/js/0.9/frameworks/jquery/1.4.2/jquery.js
A /etc/js/0.9/frameworks/jquery_sprintf
A /etc/js/0.9/frameworks/jquery_sprintf/1.0.3
A /etc/js/0.9/frameworks/jquery_sprintf/1.0.3/jquery_sprintf.js
A /etc/js/0.9/frameworks/json
A /etc/js/0.9/frameworks/json/1.2
A /etc/js/0.9/frameworks/json/1.2/jquery.json-1.2.js
A /etc/js/0.9/frameworks/kgrowl
A /etc/js/0.9/frameworks/kgrowl/1.0
A /etc/js/0.9/frameworks/kgrowl/1.0/kgrowl-1.0.js
A /etc/js/0.9/frameworks/perc_and_annotate
A /etc/js/0.9/frameworks/perc_and_annotate/1.0
A /etc/js/0.9/frameworks/perc_and_annotate/1.0/krl-annotate.js
A /etc/js/0.9/frameworks/perc_and_annotate/1.0/krl-percolation.js
A /etc/js/0.9/frameworks/sidetab
A /etc/js/0.9/frameworks/sidetab/1.0
A /etc/js/0.9/frameworks/sidetab/1.0/krl-sidetab.js
A /etc/js/0.9/frameworks/snowfall
A /etc/js/0.9/frameworks/snowfall/1.0
A /etc/js/0.9/frameworks/snowfall/1.0/snowfall.jquery.js
D /etc/js/0.9/jquery-1.4.2.js
D /etc/js/0.9/jquery-ui-1.8.custom.js
D /etc/js/0.9/jquery.bgiframe.js
D /etc/js/0.9/jquery.json-1.2.js
D /etc/js/0.9/kgrowl-1.0.js
D /etc/js/0.9/krl-annotate.js
M /etc/js/0.9/krl-application.js
D /etc/js/0.9/krl-domwatch.js
A /etc/js/0.9/krl-eventmanager.js
M /etc/js/0.9/krl-functions.js
D /etc/js/0.9/krl-percolation.js
M /etc/js/0.9/krl-runtime.js
M /etc/js/0.9/krl-setup.js
D /etc/js/0.9/krl-sidetab.js
D /etc/js/0.9/snowfall.jquery.js
2010-05-12 Phil Windley <pjw@kynetx.com>
* Kynetx/Actions.pm: Added watch action
* Kynetx/Events/State.pm (mk_dom_prim): Generalized to handle all web
events except pageview. Added new web events
* Kynetx/Events.pm: Added new web events
* Kynetx/Parser.pm: Added mail events; removed : from event domains
* Kynetx/PrettyPrinter.pm (pp_event_expr): Added mail events
2010-05-07 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Predicates/RSS.pm: bug fix to remove $t hash
2010-05-05 Cid Dennis <cid@kynetx.com>
* etc/js/0.9/krl_applicaiton.js: Fixed an issue where wrong application id was passed back to server for rule execution when multiple apps were on the same page.
2010-05-05 Cid Dennis <cid@kynetx.com>
* etc/js/0.9/formfill.js: Put the code that jam wanted in. this is a hack until they decided how to really
do this kind of code.
* bin/install-init-file.pl: Added script above to runtime builder.
2010-05-04 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Actions.pm: added set_form_maps and fill_forms actions for JAM
* Kynetx/Parser.pm: added VAR to meta block for key argument
2010-05-03 Phil Windley <pjw@kynetx.com>
* Kynetx/Expressions.pm (var_free_in_expr): Fixed problem not
classifying var as free in the args to an operator
* Kynetx/Operators.pm (eval_match): Added.
2010-04-30 Cid Dennis <cid@kynetx.com>
* Alter the runtime to not depend on $K as it conflicts with some websites. The
runtime now uses $KOBJ. But I still define $K on sites where it will not
conflict.
Kynetx/Rules.pm
bin/install-init-files.pl
etc/js/0.9/jquery-1.4.2.js
etc/js/0.9/jquery_noconflict.js
etc/js/0.9/krl-annotate.js
etc/js/0.9/krl-application.js
etc/js/0.9/krl-domwatch.js
etc/js/0.9/krl-functions.js
etc/js/0.9/krl-percolation.js
etc/js/0.9/krl-runtime-footer.js
etc/js/0.9/krl-runtime-header.js
etc/js/0.9/krl-runtime.js
etc/js/0.9/krl-setup.js
etc/js/0.9/krl-sidetab.js
runtime_test/spec/general_site_spec.rb
runtime_test/spec/verify_functions_spec.rb
widgets/weather.pl
2010-04-24 Cid Dennis <cid@kynetx.com>
* Fixed flippy loo and the resource stuff once and for all.
/Kynetx/Actions/FlippyLoo.pm
/Kynetx/Actions/JQueryUI.pm
/Kynetx/Actions/LetItSnow.pm
/Kynetx/Actions.pm
/Kynetx/Rules.pm
/t/Actions.t
2010-04-23 Cid Dennis <cid@kynetx.com>
* Added double check to make sure register resources only accepts valid data.
etc/js/0.9/krl-runtime.js
2010-04-23 Phil Windley <pjw@kynetx.com>
* Kynetx/Actions.pm (build_one_action): made resource undef,
refactored resource functions and put in Actions.pm. Added tests
to Actions.t
2010-04-23 Cid Dennis <cid@kynetx.com>
* Tuncate the stack trace from runtime to errorstack to 500 characters. Also fixed an issue where KRL engine make
variables that looked like K$ not $K.
/Kynetx/Expressions.pm
/Kynetx/JavaScript.pm
/Kynetx/Predicates/Page.pm
/etc/js/0.9/krl-functions.js
/t/ExprTests.pm
/t/Rules.t
* Fix resource loader after code in KRL engine and small interation bug in runtime when doing KOBJ.reload.
/Kynetx/Actions.pm
/Kynetx/Events.pm
/Kynetx/Rules.pm
/etc/js/0.9/krl-runtime.js
* Fixed flippyloo action to now send javascript when used not before and few other resoruce loading bugs
/Kynetx/Actions.pm
/Kynetx/Events.pm
/Kynetx/Rules.pm
* Fixed bug where kvars were ignored by runtime.
/etc/js/0.9/krl-application.js
* Fix bad array refencing
/Kynetx/Rules.pm
* Added Timestamp back into runtime code so it will be easy to see what version it is
/bin/install-init-files.pl
2010-04-23 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Google.pm: added a debug statement for a time function
* Kynetx/OData.pm: Fall back for the Windley vest bug. debug statements
* Kynetx/Module.pm: Fixed reference miss for RSS and OData
* Kynetx/Util.pm: Fall back for the Windley vest bug.
2010-04-23 Phil Windley <pjw@kynetx.com>
* Kynetx/Events.pm: vars and vals now name spaced by sm id
* Kynetx/Events/State.pm: vars and vals now name spaced by sm id
* Kynetx/Events.pm(register_resources): removed array deference
2010-04-22 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (get_optimization_version): returns optimization version
* Kynetx/Repository.pm (get_rules_from_repository): checks
optimization version to force ruleset flush when needed.
* Kynetx/Expressions.pm (infer_type): Added hash for literal types
and restricted 'typed_value' check to only those.
2010-04-19 Mark Horstmeier <meh@kynetx.com>
** Added some new functions to the time module: now(), new(), add(), strftime(), atom()
* Kynetx/Predicates/Time.pm: new functions
* t/Predicates/Time.t: test cases for each of the new functions
* t/Predicates/Google.t: Uses the new time functions to handle dates in Atom format
2010-04-19 Phil Windley <pjw@kynetx.com>
* etc/js/0.9/krl-runtime.js.tmpl: added KOBJ.raise to raise events and
changed runtime to call it when a pageview event occurs.
* Kynetx/Events.pm (process_event): support for multiple RIDs per call
* Kynetx/KOBJ.pm (handler): Refactored dispatch to support new,
extended dispatch for new API
* Kynetx/Dispatch.pm: New dispatch code. Reserve old code as "simple_dispatch"
* Kynetx/Repository.pm (get_rules_from_repository): no longer cache
not found rulesets, report error instead.
2010-04-15 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Actions.pm: Added hook for odata actions
* Kynetx/Json.pm: Helper functions for odata
* Kynetx/Predicates/OData.pm: new module for OData integration
* Kynetx/Modules.pm: added hook for odata predicates
* Kynetx/Util.pm: convenience method to check and add '/' to EoS
* t/Predicates/OData.t: test suites against odata.org and netflix for OData.pm
2010-04-15 Cid Dennis <cid@kynetx.com>
* bin/install-init-files.pl: Added code to wrap the runtime and make sure it does not initialize two time.
* etc/js/0.9/jquery.json-1.2.js: Var name fixes
* etc/js/0.9/krl-annotate.js: Var name fixes
* etc/js/0.9/krl-domwatch.js: Var name fixes
* etc/js/0.9/krl-percolation.js: Var name fixes
* etc/js/0.9/krl-runtime.js.tmpl: Var name fixes
* etc/js/0.9/krl-setup.js: Var name fixes and added back in errorstack function
* etc/js/0.9/krl-sidetab.js: Var name fixes
* etc/js/0.9/snowfall.jquery.js: Removed extra lines and fixed var name
2010-04-13 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm: Added line numbers and columns to AST
2010-04-13 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Predicates/Google.pm: Fixed unresolved references to Session and OAuthHelper
* Kynetx/Predicates/Google/OAuthHelper.pm: fixed unresolved references to Session
2010-04-12 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Predicates/Google.pm: removed circular references
* Kynetx/Predicates/Google/OAuthHelper.pm: removed circular references
* Kynetx/Predicates/Google/Calendar.pm: removed circular references
* t/Predicates/Google.t: removed circular references
* Kynetx/Json.pm: removed circular references
* Kynetx/Expressions.pm: removed circular references
* Kynetx/Modules.pm: removed circular references
2010-04-09 Phil Windley <pjw@kynetx.com>
* Kynetx/PrettyPrinter.pm (pp_event_expr): Updated for other Web events
2010-04-07 Mark Horstmeier <meh@kynetx.com>
* Internal release of gdata/calendar implementation, documentation still needs documenting
* Kynetx/Actions.pm: Added check for google actions
* Kynetx.pm: Added rest landing spot for google oauth callback
* Kynetx/Session.pm: Added some debug handles to check session values
* Kynetx/Modules.pm: Added check for google module
* Kynetx/Json.pm: added blessed(1) reference to decode
* Kynetx/Configure.pm: added support for google config file
* Kynetx/Predicates/Google.pm: gdata protocol infrastructure
* Kynetx/Predicates/Google/OAuthHelper.pm: Helper module using Net::OAuth instead of simple
* Kynetx/Predicates/Google/Calendar.pm: Calendar flavor of gdata impl
* t/Predicates/Google.t: test suite
* /web/etc/Google/gconfig.yml: (in puppet)
* requires perl modules:
* DateTime
* DateTime::Format::RFC3339
* DateTime::Format::ISO8601
* Encode (probably default install)
2010-04-01 Phil Windley <pjw@kynetx.com>
* Kynetx/PrettyPrinter.pm (pp_select): Added back code to pretty print
old AST
2010-03-31 Phil Windley <pjw@kynetx.com>
* Kynetx/Request.pm (merge_req_env): new function for merging events
* Kynetx/Events.pm (process_event): Works now...
* Kynetx/Rules.pm (process_ruleset): Changed to be usable from
events, as well as ruleset API. Uses new mk_rule_list() function
to normalize for old API.
2010-03-25 Mark Horstmeier <meh@kynetx.com>
** New action 'sidetab'
* Kynetx/Actions.pm: Added sidetab action
* t/Actions.t: Added test for sidetab action
2010-03-25 Phil Windley <pjw@kynetx.com>
* Kynetx/Json.pm (astToJson): added convert_blessed(1)
2010-03-24 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (optimize_rule): added if-then-else to accomodate
new syntax for patterns
* Kynetx/Events/State.pm: added composition operators
* Kynetx/Actions.pm (get_precondition_vars): changed to support
new AST
* Kynetx/PrettyPrinter.pm (pp_rule_body): Added support for event syntax
* Kynetx/Parser.pm: Added support for event syntax
2010-03-19 Mark Horstmeier <meh@kynetx.com>
* Increase compatibility between the Kynetx runtime and 3rd party JavaScript libraries
* Kynetx/Actions.pm: Removed references to jQuery with \$K
* Kynetx/Predicates/KPDS.pm: Removed references to jQuery with \$K
* Kynetx/Predicates/Twitter.pm: Removed references to jQuery with \$K
* Kynetx/Predicates/Authz.pm: Removed references to jQuery with \$K
2010-03-17 Mark Horstmeier <meh@kynetx.com>
** Bug fix to restore time predicates
* Kynetx/Modules.pm: Time predicates were left off when the module loading mechanism
was refactored. This has my google references but they are commented out
2010-03-16 Phil Windley <pjw@kynetx.com>
* Kynetx/Authz.pm (get_authz_tokens): added 'chico' namespace to tokens
* Kynetx/Rules.pm (process_ruleset): commented out ruleset dump in
debug & gave default val of 'unknown' to $eid
2010-03-09 Phil Windley <pjw@kynetx.com>
* Kynetx/PersistentDataService.pm: provide a persistent data service
for accessing values in the persistent user store. Used by
Marketplace to store activated apps for a user
2010-03-08 Phil Windley <pjw@kynetx.com>
* Kynetx/Authz.pm: processes rulesets for authorization pragma
* Kynetx/Rules.pm (process_ruleset): added check for authorization
meta commands.
2010-03-08 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Datasets.pm: Added RSS tag to dataset
* Kynetx/Modules.pm: Added RSS module
* Kynetx/Predicates/RSS.pm: New RSS module to provide convenience access for RSS feeds
* t/Predicates/RSS.t: Test suites
2010-03-02 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm: Added support for authz pragma
* Kynetx/PrettyPrinter.pm (pp_meta_item): Added support for authz pragma
2010-03-02 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Configure.pm: cleaned up Amazon config
* Kynetx/Util.pm: removed get_yaml method to make sure it is not referenced elsewhere
* Kynetx/Datasets.pm: removed call to configure
* Kynetx/Predicates/Amazon.pm: cleaned up Amazon config
* Kynetx/Predicates/Amazon/ItemSearch.pm: cleaned up Amazon config
* Kynetx/Predicates/Amazon/ItemLookup.pm: cleaned up Amazon config
2010-03-01 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Parser.pm: support google keys in the meta tag
2010-02-22 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Predicates/Location.pm: added a debug statement so IP is always displayed for
geoIP requests
2010-02-19 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Operators.pm: added uc and lc operators
* Kynetx/Parser.pm: added uc and lc operators
* t/Operators.t: added uc and lc operators
2010-02-19 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Predicates/Amazon/ItemLookup.pm: fix for merchantid
* t/Predicates/AmazonLookup.t: Lookup tests update
* t/Predicates/AmazonSearch.t: Search tests update
2010-02-16 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Memcached.pm: added an optional cache key so the digital signature required
by Amazon wont break our cache
* Kynetx/Datasets.pm: see Kynetx/Json.pm
* Kynetx/Modules.pm: added Amazon module
* Kynetx/Predicates/Amazon.pm: Dispatcher to Amazon qualified functions
* Kynetx/Predicates/Amazon/RequestSignatureHelper.pm: Helper module to sign requests
* Kynetx/Predicates/Amazon/ItemLookup.pm: Amazon ItemLookup operation
* Kynetx/Predicates/Amazon/ItemSearch.pm: Amazon ItemSearch operation
* Kynetx/Json.pm: added unified interface for JSON encode/decode to always UTF-8
* Kynetx/Util.pm: added convenience function for caching yml files to memcache
* Kynetx/Rules.pm: check for the Amazon keys
* Kynetx/Actions.pm: added check for amazon actions
* t/Predicates/AmazonLookup.t: Lookup tests
* t/Predicates/AmazonSearch.t: Search tests
* /web/etc/Amazon/locale.yml
* /web/etc/Amazon/searchindex_itemindex_us.yml
* /web/etc/Amazon/response_group.yml
* /web/etc/Amazon/searchindex.yml
* /web/etc/Amazon/searchindex_itemindex_ca.yml
* /web/etc/Amazon/search_response_groups.yml
2010-02-11 Phil Windley <pjw@kynetx.com>
* Kynetx/Operators.pm (eval_pick): Added check to make sure $v is
an array before dereferencing it.
2010-02-09 Sam Curren <sxc@kynetx.com>
* Changed inner.html to inner.text to fix FogBugz ticket 374.
Produced a new runtime.
2010-02-09 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (eval_foreach): Allowed for singletons in
foreach (make them into arrays of one item).
2010-02-08 Phil Windley <pjw@kynetx.com>
* Kynetx/Actions.pm: Removed default function for ASR and ALSR actions.
2010-02-08 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Actions.pm: added percolate and flippyloo actions
2010-02-06 Phil Windley <pjw@kynetx.com>
* Kynetx/JavaScript.pm (gen_js_predexpr): Fixed up Javascript
string equality is generated
2010-02-05 Phil Windley <pjw@kynetx.com>
* Log/Log4perl/Appender/ErrorStack.pm: Log4perl appender for ErrorStack
* Kynetx/Util.pm (config_logging): Using ErrorStack when config
contains a stack key
* Kynetx/Operators.pm: Added head, tail, sort, map, and filter on arrays.
* Kynetx/Parser.pm: Added array references
* Kynetx/Expressions.pm (eval_array_ref): Added array references
* Kynetx/PrettyPrinter.pm (pp_expr): Added array references
* Kynetx/JavaScript.pm (gen_js_expr): Added array references
2010-02-03 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm: Fixed negative numbers so they work
2010-02-02 Phil Windley <pjw@kynetx.com>
* Kynetx/Expressions.pm: added mk_closure, added function to
translate old predicates to function apps. So far, just applies
to "truth()". All others have to be namespaced.
* Kynetx/Rules.pm (process_rules): Added initial rule environment
that defined "truth()"
* etc/js/0.9/krl-runtime.js.tmpl: changed document.URL to
window.location.href in KOBJ.eval
2010-02-01 Phil Windley <pjw@kynetx.com>
* Kynetx/OAuth.pm: Added module to generalize OAuth usage in KRE
* Kynetx/Predicates/KPDS.pm: Added module to talk to KPDS
2010-01-27 Phil Windley <pjw@kynetx.com>
* Kynetx/Environments.pm (lookup_rule_env): Added "defined" to
initial test so that zero (false) valued items can be returned.
* t/ExprTests.pm: Broke expression test cases into separate file
so that Expressions.t and JavaScript.t can both use them.
* Kynetx/Actions.pm: support for new eval_expr.
* Kynetx/PrettyPrinter.pm: completely reworked expression and predicate
language.
* Kynetx/Parser.pm: completely reworked expression and predicate
language.
* Kynetx/Rules.pm: Support for new eval_expr instead of
eval_predicates
* Kynetx/Modules.pm: Former Predicates.pm. Predicate evaluation
moved to Expressions.pm eval_library added (former
eval_datasource).
* Kynetx/JavaScript.pm: Separated expressions from Javascript
generation. Fixed some issues with generation.
* Kynetx/Expressions.pm: Separated expressions from Javascript
generation. Added support for function definition and
application. Moved predicate language into expression. Fixed
some issues with denoted values.
2010-01-21 Mark Horstmeier <meh@kynetx.com>
* Kynetx/JavaScript.pm: added a parse beesting function to eval_js_expr
* Kynetx/Json.pm: added use utf-8 to make uft-8 the default encoding
* Kynetx/Operators.pm: add trace level to debugging for console work
* Kynetx/Parser.pm: added expression to debug statement
* t/JavaScript.t: added tests for beesting evaluation
* t/XML.t: updated version of Datasets.t to add XML testing
2010-01-20 Phil Windley <pjw@kynetx.com>
* etc/js/0.9/krl-annotate.js: Added updated watchDOM function
* Kynetx/Parser.pm: Added support for amazon and kpds keys
* Kynetx/JavaScript.pm (eval_js_expr): Added evaluation for
function, changed to use mk_expr_node for return results.
* t/Datasets.t: Added initialization for Log4Perl
2010-01-19 Phil Windley <pjw@kynetx.com>
* Kynetx/JavaScript.pm (gen_js_function): Added initial support
for functions
* Kynetx/Operators.pm (eval_replace): normalize regexp code
* Kynetx/Predicates.pm (ineq_test): 'like' operator now accepts
regexp in addition to strings interpreted as regexp.
2010-01-15 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Datasets.pm: Refactored the whole module to support
datasets/datasources with JSON and XML sources. For
convenience, there are helper functions that mimic the old
behavior (see Datasets.t), but those should be deprecated
* Kynetx/JavaScript.pm: changed data source references to use the new
object methods
* Kynetx/Parser.pm: Modified parser to support the optional data source
type syntax
* Kynetx/Rules.pm: changed data source references to use the new
object methods
* t/Datasets.t: minor modifications made for testing. All of the original
tests are there to make sure of backwards compatibility (though
there shouldn't be any references to the old methods)
* t/RuleManager.t: modified an AST test to support new datatype syntax
2010-01-15 Phil Windley <pjw@kynetx.com>
* bin/install-init-files.pl: Amazon upload or local gen, not both;
use production config for Amazon always.
* Kynetx/PrettyPrinter.pm: Added function decls
* Kynetx/Parser.pm: Added function decls
* Kynetx/Configure.pm (configure): production and development
configuration hierarchy supported
* Kynetx/Test.pm (gen_req_info): Added option for 'ip'
* Kynetx/Rules.pm (eval_rule): fixed multiple logging of 'fired'
in foreach rules
2010-01-09 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (optimize_pre): Fixed over aggressive
optimization of extended quotes in foreach loops.
* Kynetx/JavaScript.pm (var_free_in_here_doc): Added support for
determining if variables are free in extended quotes;
2010-01-08 Phil Windley <pjw@kynetx.com>
* Kynetx/Actions.pm: Updated to use namespaces in actions by
loading them from modules.
* Kynetx/Predicates/Twitter.pm: defined Twitter module
* Kynetx/JavaScript.pm: added Twitter as a datasource
2010-01-06 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm: updated to support new label separator
and namespaced actions.
* Kynetx/PrettyPrinter.pm: updated to support new label separator
and namespaced actions.
2010-01-06 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Javascript.pm: Removed type check from exp_to_den because it
had a namespace collision with yahoo web api datasource (looked for type)
2009-12-28 Mark Horstmeier <meh@kynetx.com>
* t/Configure.t: Switched Configure.t to use a more flexible version of
Test::Harness. Using Test::Deep instead to read a base template for
config variable existence. Still using the development.yml and
production.yml templates for deeper inspection, but if there is a
variable that changes often you can mark it with '#ignore' and the
comparison will be similar to the Test::More::exists function.
* t/data/base.yml: Checks for variable existence on a single level.
* t/data/development.yml: Flagged RUNTIME_LIB_NAME as #ignore
* t/data/production.yml: Flagged RUNTIME_LIB_NAME as #ignore
2009-12-21 Phil Windley <pjw@kynetx.com>
* Kynetx/Actions.pm: Added changes to annotate_* in case function
is missing.
* etc/js/0.9/krl-annotate.js: moved CSS functions inside function
to avoid nasty overwriting bug.
2009-12-21 Mark Horstmeier <meh@kynetx.com>
* Kynetx/Action.pm: added stub for new snowfall action
2009-12-12 Phil Windley <pjw@kynetx.com>
* Kynetx/Predicates/Page.pm (get_pageinfo): fixed to work with two
element hostnames.
2009-12-11 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (eval_foreach): commented out long debug statement
* Kynetx/JavaScript.pm: Normalized how strings are generated.
2009-12-11 Phil Windley <pjw@kynetx.com>
* Kynetx/Actions.pm: Refactored action hash to include before and
after subroutines for any action. build_one_action now uses
them and action specific code moved out.
* Kynetx/Predicates.pm: Added UserAgents to the list of modules to load.
* Kynetx/JSONPath.pm (normalize): treat strings better. Don't
normalize them.
* Kynetx/Operators.pm (eval_pick): clone the object to avoid
rewriting original in rule env.
* Kynetx/Rules.pm (eval_globals): works like let* rather than
let. Normalized with how preludes are calculated
* Kynetx/JavaScript.pm: den_to_exp is smarter, doesn't do more
than necessary.
* Kynetx/Predicates/Twitter.pm: initial add, not working yet.
2009-12-08 Mark Horstmeier <meh@kynetx.com>
* Kynetx/JavaScript.pm: Added modulus to eval_js_prim
* Kynetx/Parser.pm: Added modulus to lexicon and to factor_op
* t/JavaScript.t: Added a few expr tests to support modulus
2009-12-03 Phil Windley <pjw@kynetx.com>
* Kynetx/Callbacks.pm (process_action): Added context sensitive
field data for annotated_search_reseults
* etc/tmpl/httpd-perl.conf.tmpl: Removed HTTPD directives that are
now coming directly from config file
* bin/install-httpd-conf.pl: Removed commented out code
* Kynetx/RuleManager.pm: Use config params rather than CONSTANT
2009-12-02 Mark Horstmeier <meh@kynetx.com>
* Kynetx.pm: Added additional REST method 'mth' for mod_perl testing
additional REST method 'mth' for mod_perl testing
* Kynetx/Datasets.pm: Removed constants: DATA_ROOT, CACHEABLE_THRESHOLD
* Kynetx/Util.pm: Referenced YAML for RUN_MODE, DEBUG
* Kynetx/Configure.pm: Added 4 methods, get_properties, to_string, set_run_mode, set_debug
get_properties returns a copy of the $config hash
set_run_mode modifies RUN_MODE
set_debug modifies DEBUG
* Kynetx/KOBJ.pm: Referenced YAML for USE_CLOUDFRONT, RUNTIME_LIB_NAME
Replaced package constants with YAML ref
DEFAULT_SERVER_ROOT
DEFAULT_ACTION_PREFIX
DEFAULT_LOG_PREFIX
DEFAULT_ACTION_HOST
DEFAULT_LOG_HOST
DEFAULT_JS_ROOT
DEFAULT_JS_VERSION
* Kynetx/Version.pm: Referenced YAML for KOBJ_ROOT
* Kynetx/Rules.pm: Referenced YAML for RUN_MODE, TEST_IP
* Kynetx/Console.pm: Added method test_harness for testing in the mod_perl environment
Referenced YAML for DEFAULT_TEMPLATE_DIR, RUN_MODE, TEST_IP
* Kynetx/RuleManager.pm: Added specific ref to Apache2::Const::FORBIDDEN,OK for perl -w test
* etc/kns_config.yml: Added multiple mandatory config variables.
* t/Configure.t: I have made a major change to the test harness for
Configure. Since the kns_config.yml file is now the authority for
system variables, I made the associated tests in Configure.t more
robust and added support for context sensitive (RUN_MODE) testing
* t/data/development.yml: New File Sample Template for development
* t/data/production.yml: New File Sample Template for production
* t/KOBJ.t: Restored initialization of Kynetx::Configure
* t/Datasets.t: Restored initialization of Kynetx::Configure
2009-12-02 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm: Added support for "last" control statement in
the postlude. Added modified syntax for keys.
* Kynetx/PrettyPrinter.pm (pp_post_expr): Added support for "last"
control statement in the postlude.
* bin/krl-parser.pl: removed dependence on Rules.pm
* Kynetx/Rules.pm: Added support for "last" control statement in
the postlude.
* Kynetx/Actions.pm (eval_post_statement): Added support for a
guard condition on postlude statements and support for "last"
control statement.
2009-11-20 Phil Windley <pjw@kynetx.com>
* Kynetx/Predicates/Math.pm: Added a 'random' function
* Kynetx/Operators.pm (eval_as): Added eval_as as a generalized
coercion replacement for toRegexp
2009-11-16 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (add_errorstack): Added support for calling errorstack
2009-11-12 Phil Windley <pjw@kynetx.com>
* Kynetx/KOBJ.pm (get_datasets): Removed need to pass svn connection
* Kynetx.pm (describe_ruleset): Removed need to pass svn connection
* Kynetx/Repository.pm (get_rules_from_repository): Added option
for getting rules from the rulemanager API.
2009-11-02 Phil Windley <pjw@kynetx.com>
* Kynetx/JavaScript.pm (gen_js_var): Added to normalize creation
of vars in JS
* Kynetx/Operators.pm (eval_toRegexp): Added to allow for coercion
of strings to regexps.
2009-10-30 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (optimize_pre): Move decls not dependent on
foreach var into outer_pre and vars that are into inner_pre
* Kynetx/JavaScript.pm (var_free_in_expr): added to compute if a
var is free in a given expression
* Kynetx/Rules.pm (eval_foreach): added support for foreach in
rule.
* Kynetx/PrettyPrinter.pm: added support for foreach in rule.
* Kynetx/Parser.pm: added support for foreach in rule.
2009-10-03 Phil Windley <pjw@kynetx.com>
* Kynetx/Console.pm (show_context): Changed to work with changes
for rule selection done to Rules.pm
* Kynetx/Rules.pm (eval_ruleset): Refactored to do rule selection
processing in eval_ruleset instead of get_rule_set.
2009-10-01 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm: Support for decls in global section
* Kynetx/JavaScript.pm: eval_js_pre now generates JS
* Kynetx/Actions.pm: no longer use emit_decl_js
* Kynetx/Rules.pm: Put rules in their own closure and explicitly
put prelude JS decls in rule.
2009-09-09 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm: Changed conditional expression parsing to
speed it up by several orders of magnitude on large conditional
expressions.
2009-09-08 Phil Windley <pjw@kynetx.com>
* etc/tmpl/httpd-perl.conf.tmpl: Added RID of executing ruleset to
CB log
* Kynetx/Callbacks.pm (process_action): Added RID of executing ruleset
* Kynetx/Parser.pm: support for conditional expressions
* Kynetx/JavaScript.pm: support for conditional expressions
* Kynetx/Predicates.pm: support for predicates in expressions
* Kynetx/Log.pm (explicit_callback): incomplete function to do
explicit callback
* Kynetx/Actions.pm (eval_log_statement): Added support for
explicit callbacks to postlude
2009-09-01 Phil Windley <pjw@kynetx.com>
* Kynetx/Predicates/Page.pm (get_pageinfo): added support for
'param' datasource. Removed security check on page:env for now.
* etc/js/0.9/krl-runtime.js.tmpl: Updated annotate_search_results
auto-callback to use RID. Standard action config block now
contains rid.
2009-08-31 Phil Windley <pjw@kynetx.com>
* Kynetx/Test.pm: Added support for generating test env, sessions,
and req_info.
* Kynetx/Callbacks.pm (process_callbacks): Added support for
callback triggers. Rules now read and used on callbacks.
* Kynetx/JavaScript.pm (gen_js_callback): Added support for 'change'
keyword in callbacks.
* etc/js/0.9/krl-runtime.js.tmpl: Added support for 'change'
keyword in callbacks.
* Kynetx/Session.pm (session_store): Added timestamp to top level
so that Memcachedb stores them
2009-08-17 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm: Added syntax for persistents
* Kynetx/PrettyPrinter.pm: Added syntax for persistents
* Kynetx/JavaScript.pm: Added support for persistent expressions
* Kynetx/Predicates.pm: Added support for persistent predicate
expressions
* Kynetx/Session.pm: Added functions to support trails
* Kynetx/Rules.pm (eval_rule): Refactored postludes
* Kynetx/Actions.pm (eval_persistent_expr): added to support
generalized persistent expressions in postludes
2009-08-04 Phil Windley <pjw@kynetx.com>
* Kynetx/JavaScript.pm (eval_datasource): refactored to use new
Page.pm module.
* Kynetx/Predicates/Page.pm (get_pageinfo): added. page:url now
supported.
2009-07-15 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (eval_ruleset): Turn off logging for any ruleset
that's turned it on. Logging independence!
* Kynetx/Util.pm (turn_on_logging): Added callback to replace
newlines with newlines and JS comment chars
(turn_off_logging): added
* Kynetx/Session.pm: Extended abstraction with additional
functions to support refactoring
* Kynetx/Actions.pm: Refactored to support new session abstraction
* Kynetx/Logger.pm: Refactored to support new session abstraction
* Kynetx/Log.pm: Refactored to support new session abstraction
* Kynetx/JavaScript.pm (eval_counter): Refactored to support new
session abstraction
* Kynetx/Predicates.pm (eval_predicates): Refactored to support
new session abstraction
* Kynetx/Rules.pm: Refactored to support new session abstraction
2009-07-10 Phil Windley <pjw@kynetx.com>
* Kynetx/Session.pm: Added methods to abstract session variable.
* Kynetx/Rules.pm (eval_ruleset): Sam added support for closure
registration and execution.
* Kynetx/KOBJ.pm (datasets): Sam added support for dataset
registration.
2009-07-09 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (eval_meta): Added support for keys in the meta
section
* Kynetx.pm (handler): Modified method/RID regexp to not require
RID for methods like version
2009-06-27 Phil Windley <pjw@kynetx.com>
* Kynetx/KOBJ.pm (handler): Changed to never redirect to
CloudFront when HTTPS
2009-06-25 Phil Windley <pjw@kynetx.com>
* Kynetx/Datasets.pm (get_datasource): string arg now gets tacked
directly on. Hash arg generates QUERY string
* etc/tmpl/httpd-perl.conf.tmpl: Support for billing logs
* Kynetx/Log.pm: Support for billing logs
* bin/kobj_log_daemon: supports multiple logs files per machine
and reads config from the configuration system
* Kynetx/Parser.pm: Support for literal hashes
* Kynetx/PrettyPrinter.pm: Support for literal hashs
* etc/js/0.9/krl-runtime.js: anotate_search_results now accepts
params to modify the what get annotated.
2009-06-22 Phil Windley <pjw@kynetx.com>
* Kynetx/Configure.pm: Moving configuration into YAML file. This
module reads that file and sets up the configuration.
* etc/tmpl/httpd-perl.conf.tmpl: Changed significantly to accomadate
new kns_config.pm
* bin/install-httpd-conf.pl: Changed significantly to accomadate
new kns_config.pm
* Kynetx/Logger.pm (handler): Changed default values for rule
logging in callbacks
* Kynetx/Session.pm (tie_servers): Using config that can point
sessions at different servers from memcached servers
2009-06-18 Phil Windley <pjw@kynetx.com>
* Kynetx/Memcached.pm (get_remote_data): Beefed up content
retrieval with LWP instead of LWP::Simple. Caching only if
success.
2009-06-15 Phil Windley <pjw@kynetx.com>
* bin/install-httpd-conf.pl: Changed to allow separate
inclusion of SVN config.
* etc/tmpl/httpd-perl.conf.tmpl: Changed to allow separate
inclusion of SVN config.
2009-06-13 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (eval_ruleset): Fixed problem with how select
vars extend the rule environment.
* Kynetx/Environments.pm (extend_rule_env): Changed to support
extending via a hash as well as a list of keys and values.
2009-06-04 Phil Windley <pjw@kynetx.com>
* Kynetx/JavaScript.pm (infer_type): Changed to be pickier about
numbers. Don't accept leading 0 as a number. Added tests for
infer_type to javascript.t
2009-06-03 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm: Support for regular expressions as primitives
and the replace operator
* Kynetx/Operators.pm (eval_replace): Added the replace operator
* Kynetx/JavaScript.pm (eval_js_pre): Fixed so that sequential
decls see previous decl's results in environment
2009-06-02 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (get_rule_set): Separated out selection testing
& var setting so we can test it.
* Kynetx/JavaScript.pm: Removed old way of keeping track of JS vars
* Kynetx/Actions.pm (emit_var_decl): uses output from flatten_env now.
* Kynetx/Environments.pm: Added flatten_env to produce vars and
values in properly scoped order.
2009-05-28 Phil Windley <pjw@kynetx.com>
This was a major refactoring to remove the dependency on hashes
and ad hoc namespacing from the language and use the functions in
Environments.pm to create proper symbol tables that automatically
handle local variables, etc.
* Kynetx/Actions.pm (build_one_action): Accomadate changes to rule environments.
* Kynetx/Rules.pm: Multiple changes to create and use environments.
* Kynetx/KOBJ.pm (get_datasets): Accomadate changes to mk_dataset_js
* Kynetx/Datasets.pm (mk_dataset_js): Changed how dat ais returned
so that it can be place in environment properly
* Kynetx/JavaScript.pm (eval_js_expr): Support for environments.
Added lookup_rule_env for vars
2009-05-27 Phil Windley <pjw@kynetx.com>
* etc/js/0.9/krl-runtime.js: Moving kvars code into eval so that
it might work.
2009-05-15 Phil Windley <pjw@kynetx.com>
* Kynetx/Operators.pm: Moved from Pick.pm to create general
operator functionality. Added 'length' operator for arrays.
* Kynetx/JavaScript.pm: general operators
* Kynetx/PrettyPrinter.pm (pp_expr): general operator support
* Kynetx/Parser.pm: Updated 'pick' to be a general operator with
variable rands
2009-05-11 Phil Windley <pjw@kynetx.com>
* Kynetx/PrettyPrinter.pm (pp_meta_item): Updated to support name
and author in meta section
* Kynetx/Parser.pm: Updated to support name and author in meta section
* Kynetx.pm (describe_ruleset): Updated to return new data (name
and author) in the describe method
2009-05-07 Phil Windley <pjw@kynetx.com>
* t/Comments.t: Tests for remove_comments
* Kynetx/Parser.pm (remove_comments): Added support for extended
quotes
2009-05-06 Phil Windley <pjw@kynetx.com>
* etc/tmpl/httpd-perl.conf.tmpl: Updated to reference 20090506
version of the runtime library
* etc/js/0.9/kgrowl-1.0.js: Fixed position for IE
* etc/js/0.9/krl-runtime.js: Changed how CSS is inserted.
* Kynetx/Datasets.pm (get_datasource): Removing newlines from
non-JSON sources
* Kynetx/Environments.pm: Added & developed module for general
symbol tables; not yet in use.
* Kynetx/Actions.pm: Changed action JS to support general jQuery
selectors
2009-05-04 Phil Windley <pjw@kynetx.com>
* Kynetx.pm: Added method names to logging for all methods
* etc/tmpl/httpd-perl.conf.tmpl: Added method names to logging
* Kynetx/Rules.pm (eval_ruleset): Moved logging to outer most
level in ruleset evaluation.
* Kynetx/Log.pm (log_rule_fire): Fixed bug that kept logging from
working when no ruleset was selected
2009-04-29 Phil Windley <pjw@kynetx.com>
* etc/tmpl/httpd-perl.conf.tmpl: changed path for callback API to
include "callback"
* etc/js/0.9/krl-runtime.js: updates to annotate_search_results to
account for Google's new AJAXian SERP.
* Kynetx/Logger.pm (process_action): Changed how redirect is done.
* Kynetx/Actions.pm: Updated annotate_search_results to include
callback function in call.
2009-04-25 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (eval_globals): Added css statement to globals
* Kynetx/Parser.pm: Added css statement to globals
* Kynetx/Actions.pm: Added new action for closing notifications.
2009-04-23 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (eval_ruleset): Reset 'rule' name for each
ruleset for logging (MDC->put)
* Kynetx/Actions.pm (build_one_action): Added support for native
config params
* etc/js/0.9/kobj-extras.js: Change annotate_search_results to use
native config parameters.
2009-04-11 Phil Windley <pjw@kynetx.com>
* Kynetx/RuleManager.pm (lint_rule): Added some inital validation
checking for rules on parsing to try and catch invalid select
patterns.
* Kynetx/Datasets.pm (mk_dataset_js): Changed dataset JS to store
in the KOBJ obj rather than as a standard var.
* Kynetx/KOBJ.pm: Added data set definition defenses.
* Kynetx/JSONPath.pm: Added to support pick expressions with
JSONPath patterns.
* Kynetx/JavaScript.pm (gen_js_expr): Added support for pick expressions.
* Kynetx/Pick.pm: Added support for JSONPath based picks
* Kynetx/PrettyPrinter.pm: Changes to support Parser changes.
* Kynetx/Parser.pm: Support for new "pick" expression. Pre decl is
now optional.
2009-04-04 Phil Windley <pjw@kynetx.com>
* extras/pilot/chrome/content/pilot/pilotOverlay.js: Modified to
support new initialziation sequence.
* Kynetx/RuleManager.pm (handler): Updated to support multiple
ruleset evaluations in a single call.
* Kynetx/KOBJ.pm: Removed KOBJ code. Added datasets method.
Changed kobj.js generation to support new model for backwards
compatibility.
* etc/js/0.9/kobj-extras.js: Combined KOBJ code and updated to run
KOBJ.eval based on a configuration object
2009-04-03 Phil Windley <pjw@kynetx.com>
* Kynetx/RuleManager.pm: Fixed error reporting in parse API
* Kynetx/Parser.pm: Fixed error reporting for component parsing in
support of parse API
* etc/tmpl/httpd-perl.conf.tmpl: Load different startup file for KRL
* startup-krl.pl: added new startup for KRL. Patch until we redo
the respository
2009-03-27 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (eval_rule): Wrapped generated JS in function
application to create namespace on the cheap to get ready for
multiple ruleset evaluations on a single page.
* Kynetx/Actions.pm (build_one_action): updated setTimeout to use
function instead of string so that we can use closure to capture
callbacks.
* t/Actions.t: updated test for new setTimeout call.
2009-03-26 Phil Windley <pjw@kynetx.com>
* Kynetx/KOBJ.pm: refactored code that interprets API from URL
path info. Added dispatch method and support code for returning
dispatch domain info.
(get_kobj): Fixed KOBJ for double loads. Fixed KOBJ.host to be
more rebust.
2009-03-23 Phil Windley <pjw@kynetx.com>
* Kynetx/RuleManager.pm: Added parsing and unparsing methods for
meta and dispatch directives
2009-03-20 Phil Windley <pjw@kynetx.com>
* Kynetx/Repository.pm: Added to provide interface code (moved
from Rules.pm) for repository.
* startup.pl: Added "use" for all major Kynetx libraries.
* Kynetx/Datasets.pm: Added support for user declared datasets.
* Kynetx/Request.pm: Generalized support for API path parsing and
bulkding the request envionment.
* Kynetx/RuleManager.pm: Added generalized support for parsing and
unparsing rulesets, rules, and global decls in support of
Intersekt improvements.
2009-02-13 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm: Added support for logging pragma
* Kynetx/Util.pm: Redid config_logging() to remove external
configuration files and added turn_on_logging() to support
logging pragma
* pilot/pilotOverlay.js: Added test mode support code
* pilot/pilotOverlay.xul: Added menu items for test mode.
* Kynetx/Rules.pm (get_rule_set): Turn on logging when logging
pragma present
* Kynetx/KOBJ.pm (get_kobj): Fixed bug with parameter pass thru
2009-02-10 Phil Windley <pjw@kynetx.com>
* etc/js/0.9/kgrowl-1.0.js: Added default value for opacity. This
allows it to be changed.
2009-01-22 Phil Windley <pjw@kynetx.com>
* etc/tmpl/httpd-perl.conf.tmpl: Added config var for kobj_dir
* bin/install-httpd-conf.pl: New was to calculate base dir from
where the program runs.
* Kynetx/Version.pm: Added version functions
* t/Version.t: Added tests for version number
* t/dev/rules.t: Added pragma to ensure symbolic links are followed
* t/dev/use.t: Added pragma to ensure symbolic links are followed
2009-01-12 Phil Windley <pjw@kynetx.com>
* bin/update.pl: Removed use of HTTP directives for
memcache configuration.
* bin/install-httpd-conf.pl: Removed use of HTTP directives for
memcache configuration.
* etc/tmpl/httpd-perl.conf.tmpl: Removed use of HTTP directives for
memcache configuration.
* Kynetx.pm (handler): Removed use of HTTP directives for
memcache configuration.
* Kynetx/Logger.pm (handler): Removed use of HTTP directives for
memcache configuration.
* Kynetx/Memcached.pm: Gets memcached hosts from the
/web/etc/memcache_ips file instead of the http.conf file. This
allows better puppet configuration control.
2009-01-10 Phil Windley <pjw@kynetx.com>
* Kynetx/PrettyPrinter.pm: Added support for meta block and description block
* Kynetx/Parser.pm: Added support for meta block and description block
* Kynetx.pm (describe_ruleset): Added "describe" method to hander
* Kynetx/Rules.pm (get_rules_from_repository): Save ruleset verion
in memcached and retrieve it when you get rules from cache
* t/cs.t: Added tests for the DESCRIBE method
2009-01-08 Phil Windley <pjw@kynetx.com>
* Kynetx.pm (handler): Fixed "flush" $site regexp to work with
non-numeric site ids
* Kynetx/Console.pm: Fixed $site regexp to work with non-numeric
site ids
* t/cs.t: Added tests for running ruleset server
2009-01-06 Phil Windley <pjw@kynetx.com>
* bin/update.pl: removed an incorrect switch from the call to
install-init-files.pl
* Kynetx/KOBJ.pm: Modified KOBJ.obs to work on clicks with inner HTML
* bin/install-init-files.pl: Made Amazon S3 save optional and
restored file save for local files in case S3 isn't available.
2009-01-05 Phil Windley <pjw@kynetx.com>
* Kynetx/Logger.pm: Added info field to callback logging
* Kynetx/Parser.pm: Added notify action
* Kynetx/Actions.pm: Added notify action
2008-12-08 Phil Windley <pjw@kynetx.com>
* Kynetx/KOBJ.pm (get_kobj): Added "static" URL for static file
that redirects to CloudFront.
2008-11-26 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (process_rules): Changes to support non-numeric
ruleset IDs.
2008-10-30 Phil Windley <pjw@kynetx.com>
* Kynetx/Parser.pm: Added labels to emits.
* Kynetx/Action.pm: Added callback calls and logging labels to emits
2008-10-28 Phil Windley <pjw@kynetx.com>
* Kynetx/KOBJ.pm (get_kobj): Updated the KOBJ.get_host function to
ignore protocol if present.
2008-10-06 Phil Windley <pjw@kynetx.com>
* Kynetx/Actions.pm: Replaced all actions with JQuery-based
equivalents.
* Kynetx/KOBJ.pm: now sends JQuery JS libraries. Version 0.9.
2008-10-02 Phil Windley <pjw@kynetx.com>
* Kynetx/KOBJ.pm (get_kobj): wrapped Prototype effects for future
portability.
* widgets/weather.pl: Updated to use new wrapped effects
* Kynetx/JavaScript.pm, Kynetx/KOBJ.pm, Kynetx/Actions.pm: updated
to use new K$ function in kobj-static.js rather than original $
function.
* install-init-files.pl: modifies stock Prototype files to change
$ function it K$ function.
2008-09-23 Phil Windley <pjw@kynetx.com>
* Kynetx/Rules.pm (eval_rule): made sure null rule conditions are true
2008-09-22 Phil Windley <pjw@kynetx.com>
* Kynetx/JavaScript.pm (eval_datasource): added support for page IDs
* Kynetx/Parser.pm: added syntax for 'emit'
* Kynetx/Actions.pm: Added code to emit Javascript.
* Kynetx/Actions.pm: Added support for change highlighting effect
2008-09-18 Phil Windley <pjw@kynetx.com>
* Parser rewrite complete. Page variables added as a data source.
76 files touched. Ugh.
2008-09-11 Phil Windley <pjw@kynetx.com>
* Kynetx/PrettyPrinter.pm: Rewrote to match changes to
Parser.pm. Restructured expression syntax tree to be consistent
with predicates and easier to use.
* Kynetx/Parser.pm: Completely rewrote parser using RecDescent
Added new productions for predicate expressions, qualified data
functions and predicates, and value comparison in predicates.
2008-08-26 Phil Windley <pjw@kynetx.com>
* Kynetx/Actions.pm: Fixed numerous problems that made floats not
work with IE.
2008-08-25 Phil Windley <pjw@kynetx.com>
* Kynetx/Actions.pm: Fixed error in action hash
* etc/tmpl/httpd-perl.conf.tmpl: Added static P3P compact policy
header
* Kynetx/KOBJ.pm (get_kobj): Added support for private domains and
more robust caller determination
2008-08-19 Phil Windley <pjw@kynetx.com>
* Kynetx/Predicates.pm (eval_predicates): Changed "exists" to
"defined" when checking for counter predicate timeframes
2008-08-08 Phil Windley <pjw@kynetx.com>
* t/JavaScript.t (mk_datasource_function): added test for all
datasources
* Kynetx/Location.pm new predicates for international in
* Kynetx/Actions.pm new actions for moving elements
2008-07-17 Phil Windley <pjw@kynetx.com>
* Kynetx/Session.pm (tie_servers): Sessions now using memcached
for session storage rather than /web/data... This is in
anticipation of using memcachedb for session storage.
* Kynetx/Predicates/MediaMarkets.pm: New predicates on functions
surrounding the use of DMA codes to determine media markets
* extras/dma/mk_db.pl: creates a DBX file for DMA codes
2008-07-10 Phil Windley <pjw@kynetx.com>
* Kynetx/Predicates/Referers.pm: Fixed remote and local referers
* Kynetx/Predicate.pm: invalid predicates give warning now
* t/Predicates/Markets.t: Made tests more realistic
* Kynetx/Javascript.pm: Fixed bug in how args were passed to get_stocks
2008-07-02 Phil Windley <pjw@kynetx.com>
* bin/update.pl: Added support for fragment servers
* Kynetx/JavaScript.pm: Added eval_js_expr to reduce a JS
expression to a simple string, int, etc. This is used in
Actions.pm before grabbing a URL expression on the server.
* Kynetx/Actions.pm (build_js_load): Run gen_js_pre before
building rule_env so that decls get into rule_env as well as in
the JS load.
* Kynetx/Actions.pm (choose_action): when we grab a URL, we eval
it first in case it's an expression
* Kynetx/Predicates/Time.pm (get_local_time): removed quotes from
arg in timezone predicate
* Kynetx/Predicates/Referers.pm (referer_domain): removed quotes
from arg in timezone predicate
* Kynetx/Session.pm (tie_servers): sessions now use memcached
protocol. At present they're configured to use the memcached
servers, but they will eventually point to a memcachedb setup.
2008-06-19 Phil Windley <pjw@kynetx.com>
* bin/update.pl: added this to make updating servers easier
* added tests to Predicate file
* fixed a few small bugs in predicates
2008-06-16 Phil Windley <pjw@kynetx.com>
* added the Mobile module and tests. Adds the predicate
'mobile()' which checks to see if the user agent is mobile.