Skip to main content

Home/ Sensorica Knowledge/ Group items tagged javascript

Rss Feed Group items tagged

Kurt Laitner

Asia Times Online :: Nondominium - the Caspian solution - 0 views

  • A Caspian partnership The proposal is that the littoral states should form a Caspian Foundation legal entity, and commit to that entity all existing rights in respect of the use, and the fruits of use (usufruct), of the Caspian Sea, and everything on it, in it, or under it. The Caspian Foundation would act as custodian or steward and the nations would have agreed governance rights of veto. This negative or passive veto right of stewardship is very different from conventional property rights of absolute ownership and temporary use under condominium. Moreover, it does not have the active power of control held under common law by a trustee on behalf of beneficiaries, and the legal complexities and management conflicts which go with it. The Caspian Foundation would be a subscriber to a Caspian Partnership framework agreement between the nations, investors of money or money's worth, and a consortium of service providers. This Caspian Partnership would not be yet another international organization, with everything that goes with that. It would not own anything, employ anyone or contract with anyone: it would simply be an associative framework agreement within which Caspian nations self-organize to the common purpose of the sustainable development of the Caspian Sea.
  • Nondominium - the Caspian solution By Chris Cook Twenty-first century problems cannot be solved with 20th century solutions. Nowhere is that saying so true as in territorial disputes where oil and gas are involved. The riches of the Caspian Sea have been the subject of dispute for years, and relatively simple - but still intractable - binary issues between Iran and Russia are now multiplied by the conflicting claims of what are now five littoral Caspian nations: Azerbaijan, Iran; Kazakhstan; Russia and Turkmenistan. Their claims relate not just to rights on the Caspian Sea surface, but to rights in the sea, and above all to the rights to the treasures that lie under it. There are two 20th century legal approaches: international law //ad information var tf_adModel = "FEV"; var tf_adType = "InBannerVideo"; var tf_commonLocation = "http://cdnx.tribalfusion.com/media/common/expand/"; //leave this variable as it is var tf_cookieFlash = "http://cdnx.tribalfusion.com/media/common/TFSObj_v2s"; var tf_isExpansionHandle = true; var tf_floatAdScriptPath = "http://cdnx.tribalfusion.com/media/common/floating/TF_FloatAdLibrary.js"; var tf_zoomFlash = "http://cdnx.tribalfusion.com/media/common/floating/TFScale_v1"; var tf_banner = { "flag" : "inBanner", "width" : 300, "height" : 250, "widthExpanded" : 600, "heightExpanded" : 450, "widthFloating" : 950, "heightFloating" : 570, "iWin" : [ ], "flashFile" : "http://cdnx.tribalfusion.com/media/4523336/Glow_Banner_Square_Template_V201", extraFlashVars:"tf_showPanelonLoad=true&tf_phase2=false", "video_expand" : "http://cdnx.tribalfusion.com/media/4523336/video.flv", "imageFile" : "http://cdnx.tribalfusion.com/media/4523336/300.jpg", "video" : "http://cdnx.tribalfusion.com/media/4523336/video.flv", "clickTag" : "http://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=tf&c=20&mc=click&pli=8816678&PluID=0&ord=619093658", "clickTag1" : "http://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=tf&c=20&mc=click&pli=8816678&PluID=0&ord=619093658", "clickTag2" : "http://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=tf&c=20&mc=click&pli=8816678&PluID=0&ord=619093658", "socialNetworks" : [ ], "video_expand_start" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=0pcLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "video_expand_midpoint" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=50pcLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "video_expand_firstQuartile" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=25pcLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "video_expand_thirdQuartile" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=75pcLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "video_expand_complete" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=100pcLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "video_expand_mute" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=MuteLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "video_expand_unmute" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=UnmuteLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "video_expand_pause" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=PauseLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "video_expand_rewind" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=RewindLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "video_expand_resume" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=ResumeLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "video_expand_replay" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=ReplayLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "video_expand_fullscreen" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=FSLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "video_expand_close" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=VCloseLive&ord=619093658&custom1=Video_Expand&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;vo:@video_order@;ph:@phase@", "clickTag_tracking" : "http://a.tribalfusion.com/insights/impression?client=554133&campaign=AdvilEN.AB.CAN.EB.FFG.300_V15(4765995)&mediaSource=fireflyvideo&creative=300x250&event=ClickLive&ord=619093658&custom1=Save 3 Now(Click Tag)&custom2=buyID:8493362;mediaID:4765995;ord:619093658;td:@TIMEDIFFERENCE@;adspaceId:26181;ph:@phase@", "clickTag1_tracking" : "http:
  • A Caspian partnership The proposal is that the littoral states should form a Caspian Foundation legal entity, and commit to that entity all existing rights in respect of the use, and the fruits of use (usufruct), of the Caspian Sea, and everything on it, in it, or under it. The Caspian Foundation would act as custodian or steward and the nations would have agreed governance rights of veto. This negative or passive veto right of stewardship is very different from conventional property rights of absolute ownership and temporary use under condominium. Moreover, it does not have the active power of control held under common law by a trustee on behalf of beneficiaries, and the legal complexities and management conflicts which go with it. The Caspian Foundation would be a subscriber to a Caspian Partnership framework agreement between the nations, investors of money or money's worth, and a consortium of service providers. This Caspian Partnership would not be yet another international organization, with everything that goes with that. It would not own anything, employ anyone or contract with anyone: it would simply be an associative framework agreement within which Caspian nations self-organize to the common purpose of the sustainable development of the Caspian Sea.
  • ...1 more annotation...
  • A Caspian partnership The proposal is that the littoral states should form a Caspian Foundation legal entity, and commit to that entity all existing rights in respect of the use, and the fruits of use (usufruct), of the Caspian Sea, and everything on it, in it, or under it. The Caspian Foundation would act as custodian or steward and the nations would have agreed governance rights of veto. This negative or passive veto right of stewardship is very different from conventional property rights of absolute ownership and temporary use under condominium. Moreover, it does not have the active power of control held under common law by a trustee on behalf of beneficiaries, and the legal complexities and management conflicts which go with it. The Caspian Foundation would be a subscriber to a Caspian Partnership framework agreement between the nations, investors of money or money's worth, and a consortium of service providers. This Caspian Partnership would not be yet another international organization, with everything that goes with that. It would not own anything, employ anyone or contract with anyone: it would simply be an associative framework agreement within which Caspian nations self-organize to the common purpose of the sustainable development of the Caspian Sea.
Kurt Laitner

Voix JS Component - 0 views

  •  
    voice command javascript library
Kurt Laitner

The Energy Efficiency of Trust & Vulnerability: A Conversation | Switch and Shift - 0 views

  • trusting people because of who they are personally vs. who they are professionally
  • also need to trust systems
  • our own resources
  • ...34 more annotations...
  • How much we need to trust others depends on the context,
  • how much we trust ourselves,
  • our ability to understand the context we are in
  • When we trust, we re-allocate that energy and time to getting things done and making an impact
  • the more information and/or experience we have, the better we can decide whether or not to trust
  • Trust is a tool to assess and manage (reduce and/or increase) risk, depending on the situation.
  • Trusting someone implies making oneself more vulnerable
  • When we don’t trust, we exert a lot of energy to keep up our guard, to continually assess and verify.  This uses a lot of energy and time.
  • If the alternative is worse, we might opt for no trust
  • As we let ourselves be vulnerable, we also leave ourselves more open to new ideas, new ways of thinking which leads to empathy and innovation.
  • the more we can focus on the scope and achievement of our goals
  • trusting is efficient….and effective
  • Being vulnerable is a way to preserve energy
  • It lets us reallocate our resources to what matters and utilize our skills and those around us to increase effectiveness…impact.
  • If we are working together, we need to agree on the meaning of ‘done’.  When are we done, what does that look like?
  • “Control is for Beginners”
  • Strategic sloppiness is a way to preserve energy
  • Build on the same shared mental models
  • use the same language
  • As the ability to replicate something has become more of a commodity, we are increasingly seeing that complex interactions are the way to create ‘value from difference’ (as opposed to ‘value from sameness’).
  • allow for larger margins of error in our response and our acceptance of others
  • higher perfection slows down the tempo
  • We can’t minimize the need to be effective.
  • Efficient systems are great at dealing with complicated things – things that have many parts and sequences, but they fall flat dealing with complex systems, which is most of world today.
  • make sure we hear and see the same thing (reduce buffers around our response)
  • timing
  • intuition
  • judgment
  • experience
  • ability to look at things from many different perspective
  • to discover, uncover, understand and empathize is critical
  • focus on meaning and purpose for work (outcomes) instead of just money and profit (outputs)
  • When we have a common goal of WHY we want to do something, we are better able to trust
  • When we never do the same thing or have the same conversation twice, it becomes much more important to figure out why and what we do than how we do it (process, which is a given)
  •  
    spot on conversation on *trust, I see creating a trustful environment quickly among strangers as a key capability of an OVN, we need to quickly get past the need to protect and verify and move on to making purpose and goals happen
Tiberius Brastaviceanu

Google Apps Script - introduction - 0 views

  • control over Google products
  • can access and control Google Spreadsheets and other products
  • scripts
  • ...44 more annotations...
  • run directly on Google servers in order to provide direct access to the products they control.
  • can also use Google Apps Script from Google Sites
  • Google Apps Script Template Gallery
  • Google Apps Script Blog
  • guide contains the information you need to use Google Apps Script, a server-side scripting language, based on JavaScript, that runs on Google's servers alongside Google Apps
  • enable varying degrees of interactivity among the applications
  • easy enough to use that you don't have to be a programmer to create scripts.
  • use it to automate complex tasks within Google Apps
  • You don't have to be a programmer to use Google Apps Script
  • A script is a series of instructions you write in a computer language to accomplish a particular task. You type in the instructions and save them as a script. The script runs only under circumstances you define.
  • The Google Apps Script API provides a set of objects. You can use these objects and their associates methods to access Google Docs and Spreadsheets, Gmail, Google Finance, and other Google applications.
  • To run a script, you must first add the script to a Google Spreadsheet or Google Site using the Script Editor.
  • You can retrieve information from a wide selection of Google Apps and Services and from external sources, including web pages and XML sources. You can use Google Apps Script to create email, spreadsheets, pages on Google Sites, and files in the Google Docs Document List.
  • The instructions in a script are grouped into functions.
  • objects
  • methods
  • for such tasks
  • Create pages on a Google Site
  • Customize a Spreadsheet
  • Send email based on information in a Spreadsheet
  • You can manipulate
  • numeric
  • financial
  • string
  • an XML document
  • controlling data in the following applications
  • Spreadsheets
  • Google Document List
  • Contacts
  • Calendar
  • Sites
  • Google Maps
  • create and display interactive user interface elements
  • interact with relational database management systems
  • create folders, subfolders, and files in the Google Docs document list
  • access to user, session, and browser information
  • access to web services
  • extract data from XML documents and then manipulate that data
  • obtain translations of text from one language to another
  • send email
  • UrlFetch services
  • encode and decode strings and format dates
  • store properties on a per-script and per-user basis
  • create, delete and update contact information for individuals and for groups in Google Contacts
Tiberius Brastaviceanu

Google Apps Script - introduction - 0 views

  • Use the Script Editor to write and run scripts, to set triggers, and to perform other actions such as sharing scripts.
  • start the Script Editor from a Google Site
  • declares a function called myFunction()
  • ...69 more annotations...
  • You can perform the following tasks from the Script Editor.
  • pening, deleting, renaming, and saving scripts
  • Cutting, copying, and pasting text
  • Find and replace
  • Setting a time zone
  • scripts with time-based triggers
  • Running functions
  • Viewing log messages
  • revision history
  • write pseudocode first
  • When you're planning a script
  • narrative version of what the script needs to do.
  • A particular script is associated with one and only one Google Spreadsheet.
  • If you make a copy of the Spreadsheet, the script is also copied.
  • A particular Spreadsheet can have multiple scripts associated with it.
  • use the onOpen event handler in more than one script associated with a particular Spreadsheet, all scripts begin to execute when you open the Spreadsheet and the order in which the scripts are executed is indeterminate.
  • event handler is a function executed when a particular event takes place.
  • see Running Scripts in Response to an Event.
  • A script cannot currently call or create another script and cannot call functions in another script.
  • If you want to store the results of a function, you must copy them into a spreadsheet cell.
  • You can trigger Apps Script events from links that are embedded in a Google Site. For information about how to do this, see Using Apps Scrip in Your Ssite.
  • You can insert a script into a Site as a gadget.
  • you must grant permission for the script to run as a service.
  • You also designate whether only you can invoke the service or whether all members of your domain can invoke the service.
  • you can assign functions within the script any arbitrary name.
  • The instructions in a function must be enclosed within curly braces.
  • event handler
  • when a spreadsheet is opened,
  • when a script is installed
  • when a spreadsheet is edited
  • at times you choose
  • menu item
  • Using a drawing or button embedded in a Spreadsheet
  • Using a custom function that is referenced as a Spreadsheet function
  • Clicking the Run button
  • object-oriented programming languages
  • Google Apps Script uses the JavaScript language.
  • Operations
  • are performed using the objects and methods described in the API documentation.
  • An API provides pre-packaged code for standard tasks you need to accomplish in scripts or programs.
  • API includes objects that you use to accomplish tasks such as sending email, creating calendar entries
  • A method describes the behavior of an object and is a function attached to an object.
  • MailApp
  • use to create and send email
  • To send email, you invoke the sendEmail method and provide values for the method arguments.
  • Google Apps Script can access or retrieve data in different formats in different ways.
  • A custom function
  • is called directly from a cell in a Spreadsheet using the syntax =myFunctionName()
  • they cannot set values outside the cells
  • have some restrictions not shared by other functions
  • cannot send email
  • cannot operate on a Google Site
  • cannot perform any operations that require user authorization
  • cannot perform any operations that require knowledge of who the user
  • onInstall function
  • onOpen function
  • Other functions run when you run them manually or when they are triggered by clicking
  • Custom functions and formulas in the spreadsheet execute any time the entire Spreadsheet is evaluated or when the data changes in the function or formula's cell.
  • share the Spreadsheet
  • publish the script to the Script Gallery
  • spreadsheet template
  • the color coding for that line will not be correct
  • A script with incorrect syntax or other errors does not run.
  • The Script Editor includes a debugger.
  • view the current state of variables and objects created by a script while that script runs.
  • step through the code line by line as it executes or set breakpoints
  • The debugger does not work with custom functions, onEdit functions, event triggers, or scripts running as a service.
  • use the debugger to find errors in scripts that are syntactically correct but still do not function correctly.
  • Functions ending in an underscore (_), for example, internalStuff_(), are treated differently from other functions. You do not see these function in the Run field in the Script Editor and they do not appear in the Script Manager in the Spreadsheet. You can use the underscore to indicate that users should not attempt to run the function and the function is available only to other functions.
Guillaume Barreau

Ardugate - 0 views

  •  
    ArduGate is a web gateway for Arduino. It makes interactions between in-browser JavaScript and Arduino possible. It is made up of a serial-to-HTTP gateway, some JavaScript routines performing communication with AJAX and an agent sketch running on Arduino. This makes developing a up-stream application for Arduino that runs on any platform with a browser a lot easier.
Kurt Laitner

NoFlo | Flow-Based Programming for JavaScript - 2 views

  •  
    interesting, possibly useful, especially in the metamaps context
  •  
    their Kickstarter fundraising campaign is a success: http://www.kickstarter.com/projects/noflo/noflo-development-environment
Kurt Laitner

opexxx | Scoop.it - 0 views

  •  
    The devs in the group may be interested in this blog, in particular the post about adding voice control to your application using a javascript library
Tiberius Brastaviceanu

Google Apps Script - introduction - 0 views

  • Google Apps Script provides you with the ability to build a user interface for displaying or capturing information.
  • Viewing the Available User Interface Elements
  • Your scripts can display the user interface in two ways:
  • ...48 more annotations...
  • from a Spreadsheet
  • from a Site
  • As a stand-alone servlet
  • Deciding Whether to Run a Script from a Spreadsheet or as a Service
  • The built-in code autocomplete functionality in the editor requires you to type the trailing period that follows app.
  • Plan the script. What tasks should the script accomplish?
  • Write down the specific information you want to display to or collect from your users.
  • Draw the user interface
  • Determine what the script and interface should do in response to any user input.
  • Determine the conditions for exiting the script.
  • you need a UiApp application object to contain the user interface elements. After you create the UiApp application object, you can add buttons, dialog boxes, panels, and other elements to the UiApp application object.
  • The general syntax for these operations is as follows:
  • To create a UiApp application object, use the syntax var your_application_object_name = UiApp.createApplication();
  • To create a user interface element and associate it with your UiApp application object, use the syntax var your_ui_element_name= your_application_object_name.createElement_Name();.
  • To add one user interface element to another
  • use the syntax your_ui_element_name1.add(your_ui_element_name2);
  • a button with the text Press Me on it:
  • creates a vertical panel.
  • other kinds of panels
  • pop-up panels, stack panels, focus panels, form panels, and so on.
  • code for displaying your button on the panel:
  • add the panel to the application:
  • nstruct Google Apps Script to display the interface elements:
  • You can create the user interface elements in any order.
  • the display order
  • Creating the elements and adding them to your application are separate steps requiring separate instructions.
  • a short script that does nothing but display a panel with a button on it.
  • You can chain together setter methods
  • sets its title
  • set the size of the object:
  • how to use Grid objects and the setWidget method to create a more complex layout and also how to create text boxes and label them.
  • To make a user interface useful, you need the ability to update a Spreadsheet with information a user enters from the interface.
  • a short script that responds to an action in the interface by updating the Spreadsheet.
  • looping structure in the script to keep the panel displayed and active
  • Server-side means that the actions are performed by a server
  • same script, with functions added that enable the form to be used multiple times before a user chooses to exit.
  • script collects some information from text fields on a panel and writes that information into the Spreadsheet.
  • You can make a script's user interface available to users from inside a Spreadsheet or Site or by running it separately as a service.
  • how to make the user interface as a service.
  • A script that provides a stand-alone user interface must invoke the doGet(e) function or the doPost(e) function for an HTML form submit.
  • A script that provides the user interface from the Spreadsheet invokes doc.show(app).
  • The doGet(e) function takes the argument e, passing in the arguments for the user interface, including the user name of the person invoking the script.
  • After you write the script, you publish it as a service. During the publishing process, you define who has access to the script.
  • In a Google Apps domain, you can publish the script so that only you have access or so that everyone in the domain has access.
  • In a Google consumer account, you can publish the script so that only you have access or so that everyone in the world has access.
  • Updating a Spreadsheet from the User Interface, the user interface is displayed from the Spreadsheet where the script is stored. The following code defines how the user interface is displayed:
  • Here's the skeleton code for displaying a user interface as a stand-alone service:
  • some aspects of the two ways to display a user interface.
Tiberius Brastaviceanu

Google Apps Script - introduction - 0 views

  • script that you want to run every day at a specific time
  • script that should run after a user submits a data-collection form.
  • Google Apps Script provides simple event handlers and installable event handlers, which are easy ways for you to specify functions to run at a particular time or in response to an event.
  • ...39 more annotations...
  • let's consider the terminology we use for events
  • event triggers
  • triggers
  • in response
  • event handler
  • event
  • onInstall function
  • onOpen function.
  • onEdit function
  • the simple event handlers are restricted in what they are permitted to do:
  • The spreadsheet containing the script must be opened for editing
  • cannot determine the current user
  • cannot access any services that require authentication as that user
  • Calendar, Mail and Site are not anonymous and the simple event handlers cannot access those services.
  • can only modify the current spreadsheet. Access to other spreadsheets is forbidden.
  • see Understanding Permissions and Script Execution.
  • The onOpen function runs automatically when a user opens a spreadsheet.
  • add custom menu items to the spreadsheet's menu bar.
  • onEdit function runs automatically when any cell of the spreadsheet is edited.
  • record the last modified time in a comment on the cell that was edited.
  • The onInstall function is called when a script is installed from the Script Gallery.
  • setting up custom menus for the user.
  • the script can call onOpen from onInstall.
  • Installable event handlers are set on the Triggers menu within the Script Editor, and they're called triggers in this document.
  • When a specific time is reached
  • When a form is submitted
  • When a Spreadsheet is edited
  • When a Spreadsheet is opened.
  • They can potentially access all services available to the user who installed the handler.
  • are fully-capable scripts with none of the access limitations of simple event handlers
  • may not be able to determine which user triggered the event being handled
  • The spreadsheet containing the script does not have to be open for the event to be triggered and the script to run.
  • You can connect triggers to one or more functions in a script. Any function can have multiple triggers attached. In addition, you can add trigger attributes to a function to further refine how the trigger behaves.
  • When a script runs because of a trigger, the script runs using the identity of the person who installed the trigger, not the identity of the user whose action triggered the event. This is for security reasons.
  • Installing an event handler may prompt for authorization to access
  • An event is passed to every event handler as the argument (e). You can add attributes to the (e) argument that further define how the trigger works or that capture information about how the script was triggered.
  • an example of a function that sends email to a designated individual containing information captured by a Spreadsheet when a form is submitted.
  • With Google Apps, forms have the option to automatically record the submitter's username, and this is available to the script as e.namedValues["Username"]. Note: e.namedValues are only available for Google Apps domains and not for consumer Google accounts.
  • The available attributes for triggers are described in the following tables.
  •  
    script that you want to run every day at a specific time
Tiberius Brastaviceanu

Google Apps Script - introduction - 0 views

  • how to accomplish some common tasks
  • add a custom menu to a Spreadsheet and link specific functions in your script to menu items
  • the menu items, the functions pops up a message box.
  • ...11 more annotations...
  • you will want the custom menu to be displayed as soon as the Spreadsheet is opened. To do this,include an onOpen function in your script
  • array of objects
  • An array is a collection of elements that works something like a Spreadsheet. Each element in an array can be identified by its location in the array, called an index point.
  • Arrays
  • are zero-based
  • Arrays are a convenient way to store and manipulate data within a computer program or script.
  • Each menu item is placed inside curly braces, and this syntax defines each name-function name pair as an object.
  • After the definition of the menu entries comes the definition of the menu itself:
  • Here's generalized code for creating menu items and a menu.
  • The following code pops up a message box when a user selects a menu item on the new menu:
  • the generalized code
Tiberius Brastaviceanu

Google Apps Script - introduction - 0 views

  • installing and running existing scripts from the Script Gallery
  • Spreadsheet
  • Insert
  • ...27 more annotations...
  • Install
  • Close
  • Choose a script and click Run
  • The onOpen function adds the Finance menu and the menu item Get Stock to the Spreadsheet
  • the onOpen() function
  • code function onOpen() declares the function and its name
  • code between the curly braces is the code that performs actions when you run the onOpen() function
  • the SpreadsheetApp.getActiveSpreadsheet method to obtain a spreadsheet object representing the currently-active spreadsheet.
  • invoking methods on ss, the script can manipulate the currently-active spreadsheet.
  • method is code that is associate exclusively with a class and performs a particular task on objects of that class
  • insert the column headers into the corresponding cells
  • the getRange() method
  • setValue() method
  • identify
  • arguments
  • You use arguments to pass data to a method.
  • String data
  • is in quotation marks
  • line var row = 2; creates a variable row with an initial value of 2
  • a counter
  • while (true) loop
  • if loop
  • if (!symbol) break; causes the script to exit from the while loop when there is no stock symbol in the variable symbol
  • The exclamation point states a negative (not) condition
  • continues to run, incrementing the row each time until it reaches an empty row
  • the break causes the script to exit from the loop and finish.
  • To comment out the code, put two forward slashes at the beginning of each line:
Guillaume Barreau

Noduino - Control Arduino with Node.js, WebSockets and HTML5 - 0 views

  •  
    A simple and flexible JavaScript and Node.js Framework for accessing basic Arduino controls from Web Applications using HTML5, Socket.IO and Node.js. Initialize your Arduino board, define registered pins and send commands. Use digital and analog read or write to control buttons or switch connected LEDs.
1 - 15 of 15
Showing 20 items per page