Files
2012-02-21 01:15:00 -05:00

1 line
18 KiB
JSON

[{"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306471596.9553959, "message": "=> all the translated text will be in one file", "group_id": 236, "id": 1200599}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306471204.5148261, "message": "and also because I needed a https host ( https://convore.com/kynetx/use-javascript-resource-overrides-protocol/ )", "group_id": 236, "id": 1200499}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306471701.3730309, "message": "ruleset1 will request the file via a webhook declared in ruleset2", "group_id": 236, "id": 1200613}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306471478.20942, "message": "I started to think about how to host js files on KNS and dynamically request one or the other according to the context", "group_id": 236, "id": 1200578}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306471490.4978659, "message": "Let's keep the internationalization example.", "group_id": 236, "id": 1200583}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306472966.1347139, "message": "My goal in this example is to use \"use javascript resource url\" as much as I can", "group_id": 236, "id": 1200797}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306471120.986917, "message": "as a result of the problematic exposed here : https://convore.com/kynetx/appbuilder-doesnt-save-some-foreign-languages-characters-correctly/", "group_id": 236, "id": 1200477}, {"user_id": 4291, "stars": [], "topic_id": 36999, "date_created": 1306472401.8348529, "message": "Would this mean that your Ruleset is \"self serving\"? :)))", "group_id": 236, "id": 1200709}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306472501.839767, "message": "ruleset1 calls the js file with : use javascript resource \"webhook_url_of_rule_in_ruleset2\"", "group_id": 236, "id": 1200719}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306472647.4893119, "message": "@edorcutt but I prefer putting it in a distinct ruleset so I don't mix business logic with language files", "group_id": 236, "id": 1200733}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306473827.8421071, "message": "the webhooks return the data like in case1", "group_id": 236, "id": 1200930}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306473741.4475131, "message": "in each \"language file ruleset\" we can put a \"use javascript resource\" that requests a webhook serving the language data . There will be as many webhooks as languages but they can all be declared in a single ruleset .", "group_id": 236, "id": 1200920}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306474303.123898, "message": "the raise explicit event syntax in postludes looks like this : raise (explicit|http) event <expr> [for <expr>] [with <modifier_clause>]", "group_id": 236, "id": 1200969}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306471569.967545, "message": "1st case : a small app with few text to translate", "group_id": 236, "id": 1200594}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306472569.6934581, "message": "@edorcutt YES !, actually we could declare the webhoook in the same ruleset I think so it would be a 'self serving' ruleset", "group_id": 236, "id": 1200726}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306472706.536304, "message": ":)", "group_id": 236, "id": 1200745}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306472836.0891709, "message": "so in case we need to inject js inside a https site it's convenient", "group_id": 236, "id": 1200774}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306473060.068608, "message": "Why? because the consequence of \"use javascript resource\" is that the browser receives a seperate js file , so we take advantage of the browser caching", "group_id": 236, "id": 1200819}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306473474.6829779, "message": "( horrible)", "group_id": 236, "id": 1200892}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306473170.8269899, "message": "which is not the case when the js is served through an emit << >>", "group_id": 236, "id": 1200851}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306473273.1229701, "message": "2nd case : an app with a lot of text => we should serve only the text in the language that is needed", "group_id": 236, "id": 1200867}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306472359.5016279, "message": "the webhook in ruleset2 looks like this : \n\nrule serve_language_file is active {\nselect when webhook ev_language_file_needed\npre {\n}\nsend_directive(\"text\") with body = \"function getI18n(){ return {en:'house',fr:'maison'}; }\";\n}", "group_id": 236, "id": 1200699}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306472423.1598189, "message": "( the body could be a json object too)", "group_id": 236, "id": 1200711}, {"user_id": 4291, "stars": [], "topic_id": 36999, "date_created": 1306472689.809453, "message": "@loic Understood ... I just could not resist :)", "group_id": 236, "id": 1200738}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306472702.9308579, "message": "@edorcutt ( the call to the webhook might be billed though)", "group_id": 236, "id": 1200744}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306472749.681143, "message": "the good thing is that webhooks on KNS can be requested with http or https, KNS doesn't care", "group_id": 236, "id": 1200761}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306474540.179908, "message": "where a1185x14 is the rid of the the \"french language file ruleset\"", "group_id": 236, "id": 1200986}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306474699.68625, "message": "PROBLEM: I think that raising an event is an asynchronous process", "group_id": 236, "id": 1200997}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306473469.4655631, "message": "the solution is to create as many rulesets as language files needed", "group_id": 236, "id": 1200891}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306474455.7906699, "message": "example : raise explicit event ev_french_language_file_needed for a1185x14", "group_id": 236, "id": 1200979}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306474079.3359051, "message": "how does ruleset1 call a specific 'language file ruleset\" ?", "group_id": 236, "id": 1200949}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306473416.6068151, "message": "we can't use \"use javascript resource\" in ruleset1 because it's not dynamic (it can only reference 1 language file)", "group_id": 236, "id": 1200885}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306474330.9571331, "message": "we can specify the target ruleset with \"for\"", "group_id": 236, "id": 1200973}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306474341.6831889, "message": "http://docs.kynetx.com/docs/Postlude", "group_id": 236, "id": 1200974}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306475204.9310651, "message": "so rule1:french_language_file_ruleset can raise an event targeting ruleset1 but this times the sequence is ok", "group_id": 236, "id": 1201070}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306475079.8928239, "message": "so if rule1:ruleset1 raises an event that targets rule1:french_language_file_ruleset but rule1:ruleset1 is followed by rule2:ruleset1 that fires in the sequences but expects the language file to be loaded it could be that rule2:ruleset1 actually runs before rule1:french_language_file_ruleset so rule2:ruleset1 doesn't get the language data (too bad)", "group_id": 236, "id": 1201042}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306475160.945471, "message": "I think the solution is to pass a callback to rule1:french_language_file_ruleset with [with <modifier_clause>]", "group_id": 236, "id": 1201064}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306476278.5978811, "message": "Bandwith issues, cpu issues but also development constraints like readability and code reuse forces us to split things.", "group_id": 236, "id": 1201213}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306475343.3398881, "message": "the \"callback\" is just a string reference to the rule that should follow the execution of rule1:ruleset1 once the language file is loaded", "group_id": 236, "id": 1201092}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306475601.965826, "message": "PROBLEM: the rules inside the rulesets look like dominoes of a \"falling dominoes\" game and aren't decoupled anymore. It becomes a \"ugly\" sequenced execution.", "group_id": 236, "id": 1201122}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306476150.7110879, "message": "CONCLUSION: I gave the example of language files but in complex apps the language files could be business logic that needs to be splitted in several js files served according to the context. If we think of endpoints like mobile phones we can't just stick everything in a big js file and be happy.", "group_id": 236, "id": 1201187}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306477089.205651, "message": "Unless KRL is thought to resolve small task and doesn't aim to become the \"web apps of browsers\" ( I personally hope they will resolve problems as complex as websites do on servers) I feel we need at least a \"framework\" and good practices , something like MVC for websites to be able to reduce the technical/logical complexity we will be facing.", "group_id": 236, "id": 1201312}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306478629.2553599, "message": "Actually I would like to know what kind of apps the Kynetx team thinks KRL will solve in the future in the web context ( I am not yet talking about KRL outside the browser). I should really start reading Phil's book...", "group_id": 236, "id": 1201529}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306478228.0543311, "message": "Maybe things would be easier if we could describe KRL apps at a higher level with something like UML or some graphical tool that generates the ruleset ossature of the app so the developers can focus on simple tasks.", "group_id": 236, "id": 1201476}, {"user_id": 30462, "stars": [], "topic_id": 36999, "date_created": 1306490613.30809, "message": "You might consider https://gist.github.com/671795 which generates a twilio phone menu ruleset from a yaml file.", "group_id": 236, "id": 1203249}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306501573.721931, "message": "@rsbohn I was thinking of browser apps. So you YAML is more convenient to describe twilio apps ?", "group_id": 236, "id": 1204580}, {"user_id": 30462, "stars": [], "topic_id": 36999, "date_created": 1306501756.2580609, "message": "In this case (phone menus) it is.", "group_id": 236, "id": 1204602}, {"user_id": 30462, "stars": [], "topic_id": 36999, "date_created": 1306501988.3717861, "message": "The script gives you a basic phone menu which you can then expand. So you could add code to report the time and temperature, specific stock prices, news headlines, or API status, etc.", "group_id": 236, "id": 1204632}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306502204.0367091, "message": "yeah, twilio is really something I need to explore one day. looks fun!", "group_id": 236, "id": 1204662}, {"user_id": 763, "stars": [], "topic_id": 36999, "date_created": 1306520667.1556311, "message": "One: raising events in the postlude is async in the sense that the event is not immediately handled, but it does get evaluated in the same schedule: which is to say the same request to KNS.", "group_id": 236, "id": 1207682}, {"user_id": 763, "stars": [], "topic_id": 36999, "date_created": 1306520783.7222979, "message": "that is all. KNS isn't the best static hosting platform, but I myself have used it for all sorts of interesting things. :)", "group_id": 236, "id": 1207694}, {"user_id": 763, "stars": [], "topic_id": 36999, "date_created": 1306520618.8595369, "message": "getting caught up: a few thoughts.", "group_id": 236, "id": 1207672}, {"user_id": 763, "stars": [], "topic_id": 36999, "date_created": 1306520696.8446679, "message": "Two: if you are sending back javascript from a webhook, use send_directive(\"js\") instead of send_directive(\"text\") and the mimetype will be set properly.", "group_id": 236, "id": 1207688}, {"user_id": 763, "stars": [], "topic_id": 36999, "date_created": 1306520726.1783559, "message": "or use my shiny webhooks module to eliminate send_directive alltogether: http://apps.kynetx.com/modules/a8x157", "group_id": 236, "id": 1207692}, {"user_id": 30462, "stars": [], "topic_id": 36999, "date_created": 1306527593.7790179, "message": "Does that include the water cooler?", "group_id": 236, "id": 1208578}, {"user_id": 30462, "stars": [], "topic_id": 36999, "date_created": 1306528198.1844921, "message": "Do you have example code for the webhooks module?", "group_id": 236, "id": 1208622}, {"user_id": 763, "stars": [], "topic_id": 36999, "date_created": 1306529186.499182, "message": "https://gist.github.com/996138", "group_id": 236, "id": 1208775}, {"user_id": 763, "stars": [], "topic_id": 36999, "date_created": 1306529140.1591671, "message": "I don't, but it isn't complicated. Let me gist the source.", "group_id": 236, "id": 1208764}, {"user_id": 30462, "stars": [], "topic_id": 36999, "date_created": 1306530109.703258, "message": "I see. Thanks!", "group_id": 236, "id": 1208893}, {"user_id": 763, "stars": [], "topic_id": 36999, "date_created": 1306529127.531719, "message": "the water cooler was actually pretty simple.", "group_id": 236, "id": 1208758}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306607300.4954, "message": "There are tools that make it possible to describe an app this way and generate the code \"skeleton\"", "group_id": 236, "id": 1213589}, {"user_id": 30462, "stars": [], "topic_id": 36999, "date_created": 1306608086.4089041, "message": "http://www.rifflex.com/", "group_id": 236, "id": 1213629}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306607065.1584561, "message": "I want to mention @Windley 's post where he describes how to create a blog app : http://www.windley.com/archives/2011/04/event_hierarchies_a_blog_written_in_krl.shtml", "group_id": 236, "id": 1213564}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306607134.225405, "message": "I hope he can push the experience farer and describe the cleanest way to code an app which could serve as an \"app template\"", "group_id": 236, "id": 1213569}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306607302.464642, "message": "Soon or later it will be necessary for KRL imho", "group_id": 236, "id": 1213590}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306607180.930877, "message": "so an app can be extended maintained easily", "group_id": 236, "id": 1213575}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306607193.165678, "message": "I like the graphic presentation of the app : http://www.flickr.com/photos/windley/5580410158/sizes/o/", "group_id": 236, "id": 1213578}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306609938.361712, "message": "It wouldn't be too complicated to create something similar for kynetx, mixed with the appbuilder", "group_id": 236, "id": 1213701}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306609467.8002901, "message": "and not event driven", "group_id": 236, "id": 1213688}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306608259.942239, "message": "checking...", "group_id": 236, "id": 1213632}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306610478.336776, "message": "( funny, the founder of rifflex visited Windley's blog 20 hours ago )", "group_id": 236, "id": 1213722}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306609156.803493, "message": "!!", "group_id": 236, "id": 1213674}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306609440.9615049, "message": "looks like a hybrid between yahoo pipes ( http://pipes.yahoo.com/pipes/pipe.edit ) and kynetx ( limited to websites)", "group_id": 236, "id": 1213687}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306609752.0036831, "message": "it gives me ideas...", "group_id": 236, "id": 1213697}, {"user_id": 30462, "stars": [], "topic_id": 36999, "date_created": 1306610554.6505899, "message": "Does make you wonder...", "group_id": 236, "id": 1213724}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306611981.745472, "message": "the place I was born", "group_id": 236, "id": 1213782}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306612402.623791, "message": "I was thinking of something more IDE integrated for code generation http://www.actifsource.com/", "group_id": 236, "id": 1213798}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306612426.0025499, "message": "but why not a web stuff afterall", "group_id": 236, "id": 1213799}, {"user_id": 30494, "stars": [], "topic_id": 36999, "date_created": 1306611977.3387699, "message": "It's funny, he is from Beirut Lebanon", "group_id": 236, "id": 1213781}]