{"action":"created","comment":{"url":"https://api.github.com/repos/fluid-project/infusion-docs/pulls/comments/36982201","id":36982201,"diff_hunk":"@@ -0,0 +1,327 @@\n+---\n+title: ContextAwareness API\n+layout: default\n+category: API\n+---\n+\n+The ContextAwareness API of Infusion provides a powerful suite of grades and utilities that allow a component to be responsive to aspects of its contexts in a flexible and open-ended way.\n+For lightweight cases of context adaptation, the [`distributeOptions`](IoCSS.md) scheme suffices, in that it enables a component to be responsive to broadcasts \"advising\" it from around the\n+component tree in a free-form and controllable away. However, when a component needs to take a clearer role in responding to potentially many kinds of requests for adaptation, where these\n+can be organised around two or more \"axes\" or \"dimensions\" of adaptation that can be clearly named and identified, it should opt into this more heavywight scheme by implementing the \n+`fluid.contextAware` grade and perhaps also advertising some of its dimensions of adaptations in its own options. These dimensions themselves can always be extended by further contributions\n+to the component's options through all the usual sources - direct options, subcomponent options, and options distributions from elsewhere in the tree.\n+\n+A `contextAware` component can be responsive to contexts, whose influence is organised as a set of mutually orthogonal \"adaptations\", where the set of adaptations itself is open to extension by \n+integrators and adopters. The primary grade enabling a component to opt into this scheme is named `fluid.contextAware`. Any component derived from this grade will advertise an\n+area of its options named `contextAwareness` which organises the rules for its adaptation in a hierarchical way - at the top level by \"adaptation\" and then at the nested level by\n+\"checks\".\n+\n+## Structure of members in a `adaptationRecord`\n+\n+The top level structure of the `contextAwareness` record consists of a free hash of `adaptationName` strings to `adaptationRecord` structures. The `adaptationName` strings will be considered as\n+namespaces for the purposes of priority resolution (see the <code>priority</code> entry in the following table). The elements of the `adaptationRecord` are\n+described in the following table:\n+\n+<table>\n+    <thead>\n+        <tr>\n+            <th colspan=\"3\">Members of a <code>adaptationRecord</code> entry within the <code>contextAwareness</code> block of a <code>fluid.contextAware</code> component</th>\n+        </tr>\n+        <tr>\n+            <th>Member</th>","path":"src/documents/ContextAwareness.md","position":31,"original_position":31,"commit_id":"2647ee2743ef7fa8827a6da88855e58000a7014f","original_commit_id":"2647ee2743ef7fa8827a6da88855e58000a7014f","user":{"login":"acheetham","id":562946,"avatar_url":"https://avatars.githubusercontent.com/u/562946?v=3","gravatar_id":"","url":"https://api.github.com/users/acheetham","html_url":"https://github.com/acheetham","followers_url":"https://api.github.com/users/acheetham/followers","following_url":"https://api.github.com/users/acheetham/following{/other_user}","gists_url":"https://api.github.com/users/acheetham/gists{/gist_id}","starred_url":"https://api.github.com/users/acheetham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acheetham/subscriptions","organizations_url":"https://api.github.com/users/acheetham/orgs","repos_url":"https://api.github.com/users/acheetham/repos","events_url":"https://api.github.com/users/acheetham/events{/privacy}","received_events_url":"https://api.github.com/users/acheetham/received_events","type":"User","site_admin":false},"body":"Is 'Member' the 'adaptationName' referred to above? If so, the column header should probably be 'adaptationName'","created_at":"2015-08-13T14:44:51Z","updated_at":"2015-08-13T14:44:51Z","html_url":"https://github.com/fluid-project/infusion-docs/pull/63#discussion_r36982201","pull_request_url":"https://api.github.com/repos/fluid-project/infusion-docs/pulls/63","_links":{"self":{"href":"https://api.github.com/repos/fluid-project/infusion-docs/pulls/comments/36982201"},"html":{"href":"https://github.com/fluid-project/infusion-docs/pull/63#discussion_r36982201"},"pull_request":{"href":"https://api.github.com/repos/fluid-project/infusion-docs/pulls/63"}}},"pull_request":{"url":"https://api.github.com/repos/fluid-project/infusion-docs/pulls/63","id":33888276,"html_url":"https://github.com/fluid-project/infusion-docs/pull/63","diff_url":"https://github.com/fluid-project/infusion-docs/pull/63.diff","patch_url":"https://github.com/fluid-project/infusion-docs/pull/63.patch","issue_url":"https://api.github.com/repos/fluid-project/infusion-docs/issues/63","number":63,"state":"open","locked":false,"title":"FLUID-5249: New documentation covering framework reorganisation under FLUID-5249","user":{"login":"amb26","id":561418,"avatar_url":"https://avatars.githubusercontent.com/u/561418?v=3","gravatar_id":"","url":"https://api.github.com/users/amb26","html_url":"https://github.com/amb26","followers_url":"https://api.github.com/users/amb26/followers","following_url":"https://api.github.com/users/amb26/following{/other_user}","gists_url":"https://api.github.com/users/amb26/gists{/gist_id}","starred_url":"https://api.github.com/users/amb26/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amb26/subscriptions","organizations_url":"https://api.github.com/users/amb26/orgs","repos_url":"https://api.github.com/users/amb26/repos","events_url":"https://api.github.com/users/amb26/events{/privacy}","received_events_url":"https://api.github.com/users/amb26/received_events","type":"User","site_admin":false},"body":"and other JIRAs. Documentation for new features for ContextAwareness (FLUID-5264) and Priority (FLUID-5506) features","created_at":"2015-04-22T18:44:35Z","updated_at":"2015-08-13T14:44:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a817dd883a5ad60bd1c84ccdc16902ab2e1054f3","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/fluid-project/infusion-docs/pulls/63/commits","review_comments_url":"https://api.github.com/repos/fluid-project/infusion-docs/pulls/63/comments","review_comment_url":"https://api.github.com/repos/fluid-project/infusion-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/fluid-project/infusion-docs/issues/63/comments","statuses_url":"https://api.github.com/repos/fluid-project/infusion-docs/statuses/2647ee2743ef7fa8827a6da88855e58000a7014f","head":{"label":"amb26:FLUID-5249","ref":"FLUID-5249","sha":"2647ee2743ef7fa8827a6da88855e58000a7014f","user":{"login":"amb26","id":561418,"avatar_url":"https://avatars.githubusercontent.com/u/561418?v=3","gravatar_id":"","url":"https://api.github.com/users/amb26","html_url":"https://github.com/amb26","followers_url":"https://api.github.com/users/amb26/followers","following_url":"https://api.github.com/users/amb26/following{/other_user}","gists_url":"https://api.github.com/users/amb26/gists{/gist_id}","starred_url":"https://api.github.com/users/amb26/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amb26/subscriptions","organizations_url":"https://api.github.com/users/amb26/orgs","repos_url":"https://api.github.com/users/amb26/repos","events_url":"https://api.github.com/users/amb26/events{/privacy}","received_events_url":"https://api.github.com/users/amb26/received_events","type":"User","site_admin":false},"repo":{"id":22699996,"name":"infusion-docs","full_name":"amb26/infusion-docs","owner":{"login":"amb26","id":561418,"avatar_url":"https://avatars.githubusercontent.com/u/561418?v=3","gravatar_id":"","url":"https://api.github.com/users/amb26","html_url":"https://github.com/amb26","followers_url":"https://api.github.com/users/amb26/followers","following_url":"https://api.github.com/users/amb26/following{/other_user}","gists_url":"https://api.github.com/users/amb26/gists{/gist_id}","starred_url":"https://api.github.com/users/amb26/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amb26/subscriptions","organizations_url":"https://api.github.com/users/amb26/orgs","repos_url":"https://api.github.com/users/amb26/repos","events_url":"https://api.github.com/users/amb26/events{/privacy}","received_events_url":"https://api.github.com/users/amb26/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/amb26/infusion-docs","description":"Documentation space for Infusion","fork":true,"url":"https://api.github.com/repos/amb26/infusion-docs","forks_url":"https://api.github.com/repos/amb26/infusion-docs/forks","keys_url":"https://api.github.com/repos/amb26/infusion-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/amb26/infusion-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/amb26/infusion-docs/teams","hooks_url":"https://api.github.com/repos/amb26/infusion-docs/hooks","issue_events_url":"https://api.github.com/repos/amb26/infusion-docs/issues/events{/number}","events_url":"https://api.github.com/repos/amb26/infusion-docs/events","assignees_url":"https://api.github.com/repos/amb26/infusion-docs/assignees{/user}","branches_url":"https://api.github.com/repos/amb26/infusion-docs/branches{/branch}","tags_url":"https://api.github.com/repos/amb26/infusion-docs/tags","blobs_url":"https://api.github.com/repos/amb26/infusion-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/amb26/infusion-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/amb26/infusion-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/amb26/infusion-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/amb26/infusion-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/amb26/infusion-docs/languages","stargazers_url":"https://api.github.com/repos/amb26/infusion-docs/stargazers","contributors_url":"https://api.github.com/repos/amb26/infusion-docs/contributors","subscribers_url":"https://api.github.com/repos/amb26/infusion-docs/subscribers","subscription_url":"https://api.github.com/repos/amb26/infusion-docs/subscription","commits_url":"https://api.github.com/repos/amb26/infusion-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/amb26/infusion-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/amb26/infusion-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/amb26/infusion-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/amb26/infusion-docs/contents/{+path}","compare_url":"https://api.github.com/repos/amb26/infusion-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/amb26/infusion-docs/merges","archive_url":"https://api.github.com/repos/amb26/infusion-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/amb26/infusion-docs/downloads","issues_url":"https://api.github.com/repos/amb26/infusion-docs/issues{/number}","pulls_url":"https://api.github.com/repos/amb26/infusion-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/amb26/infusion-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/amb26/infusion-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/amb26/infusion-docs/labels{/name}","releases_url":"https://api.github.com/repos/amb26/infusion-docs/releases{/id}","created_at":"2014-08-06T22:13:06Z","updated_at":"2014-06-29T09:31:28Z","pushed_at":"2015-06-25T22:14:10Z","git_url":"git://github.com/amb26/infusion-docs.git","ssh_url":"git@github.com:amb26/infusion-docs.git","clone_url":"https://github.com/amb26/infusion-docs.git","svn_url":"https://github.com/amb26/infusion-docs","homepage":null,"size":3595,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"fluid-project:master","ref":"master","sha":"369e47d2785bcf52ec2803d3345edf586b70493c","user":{"login":"fluid-project","id":560119,"avatar_url":"https://avatars.githubusercontent.com/u/560119?v=3","gravatar_id":"","url":"https://api.github.com/users/fluid-project","html_url":"https://github.com/fluid-project","followers_url":"https://api.github.com/users/fluid-project/followers","following_url":"https://api.github.com/users/fluid-project/following{/other_user}","gists_url":"https://api.github.com/users/fluid-project/gists{/gist_id}","starred_url":"https://api.github.com/users/fluid-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fluid-project/subscriptions","organizations_url":"https://api.github.com/users/fluid-project/orgs","repos_url":"https://api.github.com/users/fluid-project/repos","events_url":"https://api.github.com/users/fluid-project/events{/privacy}","received_events_url":"https://api.github.com/users/fluid-project/received_events","type":"Organization","site_admin":false},"repo":{"id":18303292,"name":"infusion-docs","full_name":"fluid-project/infusion-docs","owner":{"login":"fluid-project","id":560119,"avatar_url":"https://avatars.githubusercontent.com/u/560119?v=3","gravatar_id":"","url":"https://api.github.com/users/fluid-project","html_url":"https://github.com/fluid-project","followers_url":"https://api.github.com/users/fluid-project/followers","following_url":"https://api.github.com/users/fluid-project/following{/other_user}","gists_url":"https://api.github.com/users/fluid-project/gists{/gist_id}","starred_url":"https://api.github.com/users/fluid-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fluid-project/subscriptions","organizations_url":"https://api.github.com/users/fluid-project/orgs","repos_url":"https://api.github.com/users/fluid-project/repos","events_url":"https://api.github.com/users/fluid-project/events{/privacy}","received_events_url":"https://api.github.com/users/fluid-project/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/fluid-project/infusion-docs","description":"Documentation space for Infusion","fork":false,"url":"https://api.github.com/repos/fluid-project/infusion-docs","forks_url":"https://api.github.com/repos/fluid-project/infusion-docs/forks","keys_url":"https://api.github.com/repos/fluid-project/infusion-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fluid-project/infusion-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fluid-project/infusion-docs/teams","hooks_url":"https://api.github.com/repos/fluid-project/infusion-docs/hooks","issue_events_url":"https://api.github.com/repos/fluid-project/infusion-docs/issues/events{/number}","events_url":"https://api.github.com/repos/fluid-project/infusion-docs/events","assignees_url":"https://api.github.com/repos/fluid-project/infusion-docs/assignees{/user}","branches_url":"https://api.github.com/repos/fluid-project/infusion-docs/branches{/branch}","tags_url":"https://api.github.com/repos/fluid-project/infusion-docs/tags","blobs_url":"https://api.github.com/repos/fluid-project/infusion-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fluid-project/infusion-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fluid-project/infusion-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/fluid-project/infusion-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fluid-project/infusion-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/fluid-project/infusion-docs/languages","stargazers_url":"https://api.github.com/repos/fluid-project/infusion-docs/stargazers","contributors_url":"https://api.github.com/repos/fluid-project/infusion-docs/contributors","subscribers_url":"https://api.github.com/repos/fluid-project/infusion-docs/subscribers","subscription_url":"https://api.github.com/repos/fluid-project/infusion-docs/subscription","commits_url":"https://api.github.com/repos/fluid-project/infusion-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/fluid-project/infusion-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/fluid-project/infusion-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/fluid-project/infusion-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/fluid-project/infusion-docs/contents/{+path}","compare_url":"https://api.github.com/repos/fluid-project/infusion-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fluid-project/infusion-docs/merges","archive_url":"https://api.github.com/repos/fluid-project/infusion-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fluid-project/infusion-docs/downloads","issues_url":"https://api.github.com/repos/fluid-project/infusion-docs/issues{/number}","pulls_url":"https://api.github.com/repos/fluid-project/infusion-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/fluid-project/infusion-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/fluid-project/infusion-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fluid-project/infusion-docs/labels{/name}","releases_url":"https://api.github.com/repos/fluid-project/infusion-docs/releases{/id}","created_at":"2014-03-31T18:22:31Z","updated_at":"2015-04-30T15:50:58Z","pushed_at":"2015-08-12T18:36:19Z","git_url":"git://github.com/fluid-project/infusion-docs.git","ssh_url":"git@github.com:fluid-project/infusion-docs.git","clone_url":"https://github.com/fluid-project/infusion-docs.git","svn_url":"https://github.com/fluid-project/infusion-docs","homepage":null,"size":4791,"stargazers_count":1,"watchers_count":1,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":15,"mirror_url":null,"open_issues_count":5,"forks":15,"open_issues":5,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/fluid-project/infusion-docs/pulls/63"},"html":{"href":"https://github.com/fluid-project/infusion-docs/pull/63"},"issue":{"href":"https://api.github.com/repos/fluid-project/infusion-docs/issues/63"},"comments":{"href":"https://api.github.com/repos/fluid-project/infusion-docs/issues/63/comments"},"review_comments":{"href":"https://api.github.com/repos/fluid-project/infusion-docs/pulls/63/comments"},"review_comment":{"href":"https://api.github.com/repos/fluid-project/infusion-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/fluid-project/infusion-docs/pulls/63/commits"},"statuses":{"href":"https://api.github.com/repos/fluid-project/infusion-docs/statuses/2647ee2743ef7fa8827a6da88855e58000a7014f"}}}}