{"action":"created","comment":{"url":"https://api.github.com/repos/motech/motech/pulls/comments/42464676","id":42464676,"diff_hunk":"@@ -0,0 +1,113 @@\n+==========================\n+Frequently Asked Questions\n+==========================\n+\n+This page contains frequently asked questions about MOTECH with short answers to them.\n+\n+.. contents::\n+    :depth: 2\n+\n+Can MOTECH run on Windows?\n+--------------------------\n+MOTECH is avaliable on Windows and it is possible to run the service on it, but it is not actively supported.\n+\n+Is MDS using any caching? How does that affect a cluster deployment?\n+--------------------------------------------------------------------\n+MDS is using datanucleus, which by default uses level1 and level2 cache. Sometimes it can cause data inconsistency\n+across multiple server nodes in cluster deployment. To resolve this issue you can turn off level2 cache by setting\n+``datanucleus.cache.level2.type`` property to ``none``. There may be slight performance drop per server in result of\n+turning off level2 cache. Level1 cache should be kept as it works within one transaction, therefore not affecting\n+cluster deployment.\n+\n+How to use SSL for database connections in MOTECH?\n+--------------------------------------------------\n+In order to establish secure SSL connection JDBC URL needs to be updated with JDBC driver property ``'useSSL'=true'``\n+eg. if you are using mySQL at localhost JDBC URL should be ``jdbc:mysql://localhost:3306/?useSSL=true``. As the URL\n+entered on the MOTECH bootstrap page is only the base for actual database connections urls, you should provide URL with\n+SSL parameter to appropriate config files.\n+\n+For MDS it can be set by editing ``~/.motech/config/datanucleus.properties`` and changing the property ``javax.jdo.option.ConnectionURL``.\n+For quartz you have to edit the variable ``org.quartz.dataSource.motechDS.URL`` in ``quartz.properties``. If your config\n+source is FILE, then you have to edit the file in scheduler directory in ``~/.motech/config``. If your source is UI, you\n+have to change the quartz configuration through the manage modules section in the Admin UI.\n+\n+MOTECH is not working as expected, how can I check what's wrong?\n+----------------------------------------------------------------\n+All the problems that MOTECH encounters are logged. The logs can be checked in two ways. If MOTECH is working you can\n+access logs by choosing ``Server Log`` from ``Admin`` panel on the UI. There you can also specify logging level for\n+specific packages - this is done by selecting wanted log level in ``Server Log -> Log options`` panel.\n+\n+If access to UI is not possible, for standard MOTECH installation on Tomcat logs can be also found in ``catalina.out``\n+file located in Tomcat installation logs folder. For example for MOTECH deployed on Tomcat 7.0.62 the ``catalina.out``\n+is located in ``~/apache-tomcat-7.0.62/logs`` folder. The content of the log file can be displayed by any text editor\n+or in Ubuntu console by for example ``less catalina.out`` command.\n+\n+I am getting blueprint timeout error - what does it mean?\n+---------------------------------------------------------\n+Blueprint timeout error is encountered when one of the modules has reference to the service from another module defined in\n+``blueprint.xml`` file and that service has not been made available. By default module waits 5 minutes for required service,\n+if in this time service won't be delivered the timeout error will be thrown. First step in resolving blueprint timeout\n+errors should be checking if the problematic service is correctly registered as OSGi service. Below you can see an example\n+of properly defined OSGi service exporting:\n+\n+.. code-block:: xml\n+\n+    <osgi:service ref=\"subscriptionService\"\n+            interface=\"org.motechproject.hub.service.SubscriptionService\"\n+            auto-export=\"interfaces\" />\n+\n+and importing:\n+\n+.. code-block:: xml\n+\n+    <osgi:reference id=\"hubTopicMDSService\"\n+          interface=\"org.motechproject.hub.mds.service.HubTopicMDSService\" />\n+\n+If service is defined correctly and blueprint timeout error is still encountered it probably means that module which\n+should deliver the service didn't start and further investigation for origin error cause should be taken at that module.","path":"docs/source/faq.rst","position":67,"original_position":67,"commit_id":"c0cf86f65f0e92b93ce7ce72e93a02d4858eaa1f","original_commit_id":"c0cf86f65f0e92b93ce7ce72e93a02d4858eaa1f","user":{"login":"pgesek","id":1384169,"avatar_url":"https://avatars.githubusercontent.com/u/1384169?v=3","gravatar_id":"","url":"https://api.github.com/users/pgesek","html_url":"https://github.com/pgesek","followers_url":"https://api.github.com/users/pgesek/followers","following_url":"https://api.github.com/users/pgesek/following{/other_user}","gists_url":"https://api.github.com/users/pgesek/gists{/gist_id}","starred_url":"https://api.github.com/users/pgesek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgesek/subscriptions","organizations_url":"https://api.github.com/users/pgesek/orgs","repos_url":"https://api.github.com/users/pgesek/repos","events_url":"https://api.github.com/users/pgesek/events{/privacy}","received_events_url":"https://api.github.com/users/pgesek/received_events","type":"User","site_admin":false},"body":"origin of the error should be conducted. The real error will very often be printed in the logs above the timeout error.","created_at":"2015-10-20T07:46:46Z","updated_at":"2015-10-20T07:46:46Z","html_url":"https://github.com/motech/motech/pull/135#discussion_r42464676","pull_request_url":"https://api.github.com/repos/motech/motech/pulls/135","_links":{"self":{"href":"https://api.github.com/repos/motech/motech/pulls/comments/42464676"},"html":{"href":"https://github.com/motech/motech/pull/135#discussion_r42464676"},"pull_request":{"href":"https://api.github.com/repos/motech/motech/pulls/135"}}},"pull_request":{"url":"https://api.github.com/repos/motech/motech/pulls/135","id":47648398,"html_url":"https://github.com/motech/motech/pull/135","diff_url":"https://github.com/motech/motech/pull/135.diff","patch_url":"https://github.com/motech/motech/pull/135.patch","issue_url":"https://api.github.com/repos/motech/motech/issues/135","number":135,"state":"open","locked":false,"title":"Motech-1383: FAQ page for MOTECH","user":{"login":"LukSkarDev","id":3722203,"avatar_url":"https://avatars.githubusercontent.com/u/3722203?v=3","gravatar_id":"","url":"https://api.github.com/users/LukSkarDev","html_url":"https://github.com/LukSkarDev","followers_url":"https://api.github.com/users/LukSkarDev/followers","following_url":"https://api.github.com/users/LukSkarDev/following{/other_user}","gists_url":"https://api.github.com/users/LukSkarDev/gists{/gist_id}","starred_url":"https://api.github.com/users/LukSkarDev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LukSkarDev/subscriptions","organizations_url":"https://api.github.com/users/LukSkarDev/orgs","repos_url":"https://api.github.com/users/LukSkarDev/repos","events_url":"https://api.github.com/users/LukSkarDev/events{/privacy}","received_events_url":"https://api.github.com/users/LukSkarDev/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-10-14T11:43:55Z","updated_at":"2015-10-20T07:46:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0b87f54575a0025ba3c3a663cbfd242433b55590","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/motech/motech/pulls/135/commits","review_comments_url":"https://api.github.com/repos/motech/motech/pulls/135/comments","review_comment_url":"https://api.github.com/repos/motech/motech/pulls/comments{/number}","comments_url":"https://api.github.com/repos/motech/motech/issues/135/comments","statuses_url":"https://api.github.com/repos/motech/motech/statuses/c0cf86f65f0e92b93ce7ce72e93a02d4858eaa1f","head":{"label":"LukSkarDev:MOTECH-1383","ref":"MOTECH-1383","sha":"c0cf86f65f0e92b93ce7ce72e93a02d4858eaa1f","user":{"login":"LukSkarDev","id":3722203,"avatar_url":"https://avatars.githubusercontent.com/u/3722203?v=3","gravatar_id":"","url":"https://api.github.com/users/LukSkarDev","html_url":"https://github.com/LukSkarDev","followers_url":"https://api.github.com/users/LukSkarDev/followers","following_url":"https://api.github.com/users/LukSkarDev/following{/other_user}","gists_url":"https://api.github.com/users/LukSkarDev/gists{/gist_id}","starred_url":"https://api.github.com/users/LukSkarDev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LukSkarDev/subscriptions","organizations_url":"https://api.github.com/users/LukSkarDev/orgs","repos_url":"https://api.github.com/users/LukSkarDev/repos","events_url":"https://api.github.com/users/LukSkarDev/events{/privacy}","received_events_url":"https://api.github.com/users/LukSkarDev/received_events","type":"User","site_admin":false},"repo":{"id":42445595,"name":"motech","full_name":"LukSkarDev/motech","owner":{"login":"LukSkarDev","id":3722203,"avatar_url":"https://avatars.githubusercontent.com/u/3722203?v=3","gravatar_id":"","url":"https://api.github.com/users/LukSkarDev","html_url":"https://github.com/LukSkarDev","followers_url":"https://api.github.com/users/LukSkarDev/followers","following_url":"https://api.github.com/users/LukSkarDev/following{/other_user}","gists_url":"https://api.github.com/users/LukSkarDev/gists{/gist_id}","starred_url":"https://api.github.com/users/LukSkarDev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LukSkarDev/subscriptions","organizations_url":"https://api.github.com/users/LukSkarDev/orgs","repos_url":"https://api.github.com/users/LukSkarDev/repos","events_url":"https://api.github.com/users/LukSkarDev/events{/privacy}","received_events_url":"https://api.github.com/users/LukSkarDev/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/LukSkarDev/motech","description":"Mobile Technology for Community Health","fork":true,"url":"https://api.github.com/repos/LukSkarDev/motech","forks_url":"https://api.github.com/repos/LukSkarDev/motech/forks","keys_url":"https://api.github.com/repos/LukSkarDev/motech/keys{/key_id}","collaborators_url":"https://api.github.com/repos/LukSkarDev/motech/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/LukSkarDev/motech/teams","hooks_url":"https://api.github.com/repos/LukSkarDev/motech/hooks","issue_events_url":"https://api.github.com/repos/LukSkarDev/motech/issues/events{/number}","events_url":"https://api.github.com/repos/LukSkarDev/motech/events","assignees_url":"https://api.github.com/repos/LukSkarDev/motech/assignees{/user}","branches_url":"https://api.github.com/repos/LukSkarDev/motech/branches{/branch}","tags_url":"https://api.github.com/repos/LukSkarDev/motech/tags","blobs_url":"https://api.github.com/repos/LukSkarDev/motech/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/LukSkarDev/motech/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/LukSkarDev/motech/git/refs{/sha}","trees_url":"https://api.github.com/repos/LukSkarDev/motech/git/trees{/sha}","statuses_url":"https://api.github.com/repos/LukSkarDev/motech/statuses/{sha}","languages_url":"https://api.github.com/repos/LukSkarDev/motech/languages","stargazers_url":"https://api.github.com/repos/LukSkarDev/motech/stargazers","contributors_url":"https://api.github.com/repos/LukSkarDev/motech/contributors","subscribers_url":"https://api.github.com/repos/LukSkarDev/motech/subscribers","subscription_url":"https://api.github.com/repos/LukSkarDev/motech/subscription","commits_url":"https://api.github.com/repos/LukSkarDev/motech/commits{/sha}","git_commits_url":"https://api.github.com/repos/LukSkarDev/motech/git/commits{/sha}","comments_url":"https://api.github.com/repos/LukSkarDev/motech/comments{/number}","issue_comment_url":"https://api.github.com/repos/LukSkarDev/motech/issues/comments{/number}","contents_url":"https://api.github.com/repos/LukSkarDev/motech/contents/{+path}","compare_url":"https://api.github.com/repos/LukSkarDev/motech/compare/{base}...{head}","merges_url":"https://api.github.com/repos/LukSkarDev/motech/merges","archive_url":"https://api.github.com/repos/LukSkarDev/motech/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/LukSkarDev/motech/downloads","issues_url":"https://api.github.com/repos/LukSkarDev/motech/issues{/number}","pulls_url":"https://api.github.com/repos/LukSkarDev/motech/pulls{/number}","milestones_url":"https://api.github.com/repos/LukSkarDev/motech/milestones{/number}","notifications_url":"https://api.github.com/repos/LukSkarDev/motech/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/LukSkarDev/motech/labels{/name}","releases_url":"https://api.github.com/repos/LukSkarDev/motech/releases{/id}","created_at":"2015-09-14T11:51:20Z","updated_at":"2015-09-14T11:51:26Z","pushed_at":"2015-10-19T13:56:31Z","git_url":"git://github.com/LukSkarDev/motech.git","ssh_url":"git@github.com:LukSkarDev/motech.git","clone_url":"https://github.com/LukSkarDev/motech.git","svn_url":"https://github.com/LukSkarDev/motech","homepage":"http://motechsuite.org/","size":80830,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":false,"has_wiki":false,"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":"motech:master","ref":"master","sha":"83371db993c4c75d2ae396805732ddfe29ec7779","user":{"login":"motech","id":477919,"avatar_url":"https://avatars.githubusercontent.com/u/477919?v=3","gravatar_id":"","url":"https://api.github.com/users/motech","html_url":"https://github.com/motech","followers_url":"https://api.github.com/users/motech/followers","following_url":"https://api.github.com/users/motech/following{/other_user}","gists_url":"https://api.github.com/users/motech/gists{/gist_id}","starred_url":"https://api.github.com/users/motech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/motech/subscriptions","organizations_url":"https://api.github.com/users/motech/orgs","repos_url":"https://api.github.com/users/motech/repos","events_url":"https://api.github.com/users/motech/events{/privacy}","received_events_url":"https://api.github.com/users/motech/received_events","type":"Organization","site_admin":false},"repo":{"id":40527870,"name":"motech","full_name":"motech/motech","owner":{"login":"motech","id":477919,"avatar_url":"https://avatars.githubusercontent.com/u/477919?v=3","gravatar_id":"","url":"https://api.github.com/users/motech","html_url":"https://github.com/motech","followers_url":"https://api.github.com/users/motech/followers","following_url":"https://api.github.com/users/motech/following{/other_user}","gists_url":"https://api.github.com/users/motech/gists{/gist_id}","starred_url":"https://api.github.com/users/motech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/motech/subscriptions","organizations_url":"https://api.github.com/users/motech/orgs","repos_url":"https://api.github.com/users/motech/repos","events_url":"https://api.github.com/users/motech/events{/privacy}","received_events_url":"https://api.github.com/users/motech/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/motech/motech","description":"Mobile Technology for Community Health","fork":false,"url":"https://api.github.com/repos/motech/motech","forks_url":"https://api.github.com/repos/motech/motech/forks","keys_url":"https://api.github.com/repos/motech/motech/keys{/key_id}","collaborators_url":"https://api.github.com/repos/motech/motech/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/motech/motech/teams","hooks_url":"https://api.github.com/repos/motech/motech/hooks","issue_events_url":"https://api.github.com/repos/motech/motech/issues/events{/number}","events_url":"https://api.github.com/repos/motech/motech/events","assignees_url":"https://api.github.com/repos/motech/motech/assignees{/user}","branches_url":"https://api.github.com/repos/motech/motech/branches{/branch}","tags_url":"https://api.github.com/repos/motech/motech/tags","blobs_url":"https://api.github.com/repos/motech/motech/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/motech/motech/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/motech/motech/git/refs{/sha}","trees_url":"https://api.github.com/repos/motech/motech/git/trees{/sha}","statuses_url":"https://api.github.com/repos/motech/motech/statuses/{sha}","languages_url":"https://api.github.com/repos/motech/motech/languages","stargazers_url":"https://api.github.com/repos/motech/motech/stargazers","contributors_url":"https://api.github.com/repos/motech/motech/contributors","subscribers_url":"https://api.github.com/repos/motech/motech/subscribers","subscription_url":"https://api.github.com/repos/motech/motech/subscription","commits_url":"https://api.github.com/repos/motech/motech/commits{/sha}","git_commits_url":"https://api.github.com/repos/motech/motech/git/commits{/sha}","comments_url":"https://api.github.com/repos/motech/motech/comments{/number}","issue_comment_url":"https://api.github.com/repos/motech/motech/issues/comments{/number}","contents_url":"https://api.github.com/repos/motech/motech/contents/{+path}","compare_url":"https://api.github.com/repos/motech/motech/compare/{base}...{head}","merges_url":"https://api.github.com/repos/motech/motech/merges","archive_url":"https://api.github.com/repos/motech/motech/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/motech/motech/downloads","issues_url":"https://api.github.com/repos/motech/motech/issues{/number}","pulls_url":"https://api.github.com/repos/motech/motech/pulls{/number}","milestones_url":"https://api.github.com/repos/motech/motech/milestones{/number}","notifications_url":"https://api.github.com/repos/motech/motech/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/motech/motech/labels{/name}","releases_url":"https://api.github.com/repos/motech/motech/releases{/id}","created_at":"2015-08-11T07:26:54Z","updated_at":"2015-10-01T20:00:48Z","pushed_at":"2015-10-19T15:54:15Z","git_url":"git://github.com/motech/motech.git","ssh_url":"git@github.com:motech/motech.git","clone_url":"https://github.com/motech/motech.git","svn_url":"https://github.com/motech/motech","homepage":"http://docs.motechproject.org","size":43422,"stargazers_count":3,"watchers_count":3,"language":"Java","has_issues":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":21,"mirror_url":null,"open_issues_count":14,"forks":21,"open_issues":14,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/motech/motech/pulls/135"},"html":{"href":"https://github.com/motech/motech/pull/135"},"issue":{"href":"https://api.github.com/repos/motech/motech/issues/135"},"comments":{"href":"https://api.github.com/repos/motech/motech/issues/135/comments"},"review_comments":{"href":"https://api.github.com/repos/motech/motech/pulls/135/comments"},"review_comment":{"href":"https://api.github.com/repos/motech/motech/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/motech/motech/pulls/135/commits"},"statuses":{"href":"https://api.github.com/repos/motech/motech/statuses/c0cf86f65f0e92b93ce7ce72e93a02d4858eaa1f"}}}}