{"action":"created","issue":{"url":"https://api.github.com/repos/QMCPACK/qmcpack/issues/407","repository_url":"https://api.github.com/repos/QMCPACK/qmcpack","labels_url":"https://api.github.com/repos/QMCPACK/qmcpack/issues/407/labels{/name}","comments_url":"https://api.github.com/repos/QMCPACK/qmcpack/issues/407/comments","events_url":"https://api.github.com/repos/QMCPACK/qmcpack/issues/407/events","html_url":"https://github.com/QMCPACK/qmcpack/issues/407","id":263464683,"number":407,"title":"Goals for overhaul of all aspects of XML input system","user":{"login":"prckent","id":13683814,"avatar_url":"https://avatars0.githubusercontent.com/u/13683814?v=4","gravatar_id":"","url":"https://api.github.com/users/prckent","html_url":"https://github.com/prckent","followers_url":"https://api.github.com/users/prckent/followers","following_url":"https://api.github.com/users/prckent/following{/other_user}","gists_url":"https://api.github.com/users/prckent/gists{/gist_id}","starred_url":"https://api.github.com/users/prckent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prckent/subscriptions","organizations_url":"https://api.github.com/users/prckent/orgs","repos_url":"https://api.github.com/users/prckent/repos","events_url":"https://api.github.com/users/prckent/events{/privacy}","received_events_url":"https://api.github.com/users/prckent/received_events","type":"User","site_admin":false},"labels":[{"id":516230981,"url":"https://api.github.com/repos/QMCPACK/qmcpack/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":{"login":"markdewing","id":266185,"avatar_url":"https://avatars2.githubusercontent.com/u/266185?v=4","gravatar_id":"","url":"https://api.github.com/users/markdewing","html_url":"https://github.com/markdewing","followers_url":"https://api.github.com/users/markdewing/followers","following_url":"https://api.github.com/users/markdewing/following{/other_user}","gists_url":"https://api.github.com/users/markdewing/gists{/gist_id}","starred_url":"https://api.github.com/users/markdewing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markdewing/subscriptions","organizations_url":"https://api.github.com/users/markdewing/orgs","repos_url":"https://api.github.com/users/markdewing/repos","events_url":"https://api.github.com/users/markdewing/events{/privacy}","received_events_url":"https://api.github.com/users/markdewing/received_events","type":"User","site_admin":false},"assignees":[{"login":"markdewing","id":266185,"avatar_url":"https://avatars2.githubusercontent.com/u/266185?v=4","gravatar_id":"","url":"https://api.github.com/users/markdewing","html_url":"https://github.com/markdewing","followers_url":"https://api.github.com/users/markdewing/followers","following_url":"https://api.github.com/users/markdewing/following{/other_user}","gists_url":"https://api.github.com/users/markdewing/gists{/gist_id}","starred_url":"https://api.github.com/users/markdewing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markdewing/subscriptions","organizations_url":"https://api.github.com/users/markdewing/orgs","repos_url":"https://api.github.com/users/markdewing/repos","events_url":"https://api.github.com/users/markdewing/events{/privacy}","received_events_url":"https://api.github.com/users/markdewing/received_events","type":"User","site_admin":false},{"login":"ye-luo","id":1454251,"avatar_url":"https://avatars2.githubusercontent.com/u/1454251?v=4","gravatar_id":"","url":"https://api.github.com/users/ye-luo","html_url":"https://github.com/ye-luo","followers_url":"https://api.github.com/users/ye-luo/followers","following_url":"https://api.github.com/users/ye-luo/following{/other_user}","gists_url":"https://api.github.com/users/ye-luo/gists{/gist_id}","starred_url":"https://api.github.com/users/ye-luo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ye-luo/subscriptions","organizations_url":"https://api.github.com/users/ye-luo/orgs","repos_url":"https://api.github.com/users/ye-luo/repos","events_url":"https://api.github.com/users/ye-luo/events{/privacy}","received_events_url":"https://api.github.com/users/ye-luo/received_events","type":"User","site_admin":false},{"login":"mmorale3","id":4675983,"avatar_url":"https://avatars1.githubusercontent.com/u/4675983?v=4","gravatar_id":"","url":"https://api.github.com/users/mmorale3","html_url":"https://github.com/mmorale3","followers_url":"https://api.github.com/users/mmorale3/followers","following_url":"https://api.github.com/users/mmorale3/following{/other_user}","gists_url":"https://api.github.com/users/mmorale3/gists{/gist_id}","starred_url":"https://api.github.com/users/mmorale3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmorale3/subscriptions","organizations_url":"https://api.github.com/users/mmorale3/orgs","repos_url":"https://api.github.com/users/mmorale3/repos","events_url":"https://api.github.com/users/mmorale3/events{/privacy}","received_events_url":"https://api.github.com/users/mmorale3/received_events","type":"User","site_admin":false},{"login":"lshulen","id":24325141,"avatar_url":"https://avatars2.githubusercontent.com/u/24325141?v=4","gravatar_id":"","url":"https://api.github.com/users/lshulen","html_url":"https://github.com/lshulen","followers_url":"https://api.github.com/users/lshulen/followers","following_url":"https://api.github.com/users/lshulen/following{/other_user}","gists_url":"https://api.github.com/users/lshulen/gists{/gist_id}","starred_url":"https://api.github.com/users/lshulen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lshulen/subscriptions","organizations_url":"https://api.github.com/users/lshulen/orgs","repos_url":"https://api.github.com/users/lshulen/repos","events_url":"https://api.github.com/users/lshulen/events{/privacy}","received_events_url":"https://api.github.com/users/lshulen/received_events","type":"User","site_admin":false},{"login":"jtkrogel","id":24547905,"avatar_url":"https://avatars3.githubusercontent.com/u/24547905?v=4","gravatar_id":"","url":"https://api.github.com/users/jtkrogel","html_url":"https://github.com/jtkrogel","followers_url":"https://api.github.com/users/jtkrogel/followers","following_url":"https://api.github.com/users/jtkrogel/following{/other_user}","gists_url":"https://api.github.com/users/jtkrogel/gists{/gist_id}","starred_url":"https://api.github.com/users/jtkrogel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtkrogel/subscriptions","organizations_url":"https://api.github.com/users/jtkrogel/orgs","repos_url":"https://api.github.com/users/jtkrogel/repos","events_url":"https://api.github.com/users/jtkrogel/events{/privacy}","received_events_url":"https://api.github.com/users/jtkrogel/received_events","type":"User","site_admin":false},{"login":"anbenali","id":24738499,"avatar_url":"https://avatars2.githubusercontent.com/u/24738499?v=4","gravatar_id":"","url":"https://api.github.com/users/anbenali","html_url":"https://github.com/anbenali","followers_url":"https://api.github.com/users/anbenali/followers","following_url":"https://api.github.com/users/anbenali/following{/other_user}","gists_url":"https://api.github.com/users/anbenali/gists{/gist_id}","starred_url":"https://api.github.com/users/anbenali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anbenali/subscriptions","organizations_url":"https://api.github.com/users/anbenali/orgs","repos_url":"https://api.github.com/users/anbenali/repos","events_url":"https://api.github.com/users/anbenali/events{/privacy}","received_events_url":"https://api.github.com/users/anbenali/received_events","type":"User","site_admin":false}],"milestone":null,"comments":28,"created_at":"2017-10-06T14:26:15Z","updated_at":"2017-10-23T23:17:31Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"This issue serves to gather requirements and suggestions for revisions to the input system, and also to gather known problems with the existing system. I envisage revising the situation around v4.0.0, i.e. not immediately, but within a year.\r\n\r\nPlease add comments.\r\n\r\nThe current system of input settings and overall XML handling is showing strains. From the user perspective, we lack validation, silently ignore typos/errors, lack sufficient defaults, and don't have a way to show all the settings that are set or used by a given input. Many input files specify properties that should be defaults or that we even don't read, e.g. \"version\" information, although on occasion the version settings are actually important. The inputs are therefore much more cluttered than necessary. As new functionality is added or older/less used functionality is reactivated, this is an increasing problem.\r\n\r\nFrom the computational side, the current implementation lacks separation of responsibilities between object instantiation and input handling making construction of unit tests difficult. There are also no clear docs explaining this aspect of the code or the expected standards, which anyone seeking to add an observable would need to know. We also know the current implementation of XML parsing leaks memory.\r\n\r\nRelated issues, most of which need to be triaged ahead of a bigger overhaul include:\r\n\r\nRelocate command line flags: #146\r\nInput setting validation: #228\r\nInput robustness in Jastrow specification: #282\r\nNew capabilities (twist averaging in one input): #147\r\nDefaults: #19 (and really defaults for nearly all settings in the simulation)\r\nVerbosity setting: #404\r\n"},"comment":{"url":"https://api.github.com/repos/QMCPACK/qmcpack/issues/comments/338824034","html_url":"https://github.com/QMCPACK/qmcpack/issues/407#issuecomment-338824034","issue_url":"https://api.github.com/repos/QMCPACK/qmcpack/issues/407","id":338824034,"user":{"login":"ye-luo","id":1454251,"avatar_url":"https://avatars2.githubusercontent.com/u/1454251?v=4","gravatar_id":"","url":"https://api.github.com/users/ye-luo","html_url":"https://github.com/ye-luo","followers_url":"https://api.github.com/users/ye-luo/followers","following_url":"https://api.github.com/users/ye-luo/following{/other_user}","gists_url":"https://api.github.com/users/ye-luo/gists{/gist_id}","starred_url":"https://api.github.com/users/ye-luo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ye-luo/subscriptions","organizations_url":"https://api.github.com/users/ye-luo/orgs","repos_url":"https://api.github.com/users/ye-luo/repos","events_url":"https://api.github.com/users/ye-luo/events{/privacy}","received_events_url":"https://api.github.com/users/ye-luo/received_events","type":"User","site_admin":false},"created_at":"2017-10-23T23:17:31Z","updated_at":"2017-10-23T23:17:31Z","author_association":"CONTRIBUTOR","body":"For a flatten structure or intermediate data structure. Basically we change from\r\n1) A(XML), B(something other input source) -> D (builder) -> E (classes)\r\nto\r\n2) A(XML), B(something other input source) -> C (intermediate representation) -> D (builder) -> E (classes)\r\nWe have extra maintenance pain (C(IR)) and reduce flexibility (A,B not directly reaching D).\r\nC needs to cover all the needs of A and B.\r\n\r\nFor example, Ray's needs of transferring QE orbitals directly via memory to QMCPACK, having C is more restrictive than directly have a B->D builder routine.\r\n"}}
{"actor":{"display_login":"ye-luo"}}