{"action":"created","issue":{"url":"https://api.github.com/repos/synhershko/NAppUpdate/issues/9","labels_url":"https://api.github.com/repos/synhershko/NAppUpdate/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/synhershko/NAppUpdate/issues/9/comments","events_url":"https://api.github.com/repos/synhershko/NAppUpdate/issues/9/events","html_url":"https://github.com/synhershko/NAppUpdate/issues/9","id":587134,"number":9,"title":"Update feed generator","user":{"login":"synhershko","id":212252,"avatar_url":"https://avatars.githubusercontent.com/u/212252?v=3","gravatar_id":"","url":"https://api.github.com/users/synhershko","html_url":"https://github.com/synhershko","followers_url":"https://api.github.com/users/synhershko/followers","following_url":"https://api.github.com/users/synhershko/following{/other_user}","gists_url":"https://api.github.com/users/synhershko/gists{/gist_id}","starred_url":"https://api.github.com/users/synhershko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/synhershko/subscriptions","organizations_url":"https://api.github.com/users/synhershko/orgs","repos_url":"https://api.github.com/users/synhershko/repos","events_url":"https://api.github.com/users/synhershko/events{/privacy}","received_events_url":"https://api.github.com/users/synhershko/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/synhershko/NAppUpdate/labels/Feature%20request","name":"Feature request","color":"1919ff"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":34,"created_at":"2011-02-09T21:04:30Z","updated_at":"2015-10-16T23:41:44Z","closed_at":null,"body":"Create and support an update feed generator functionality.\r\n\r\nHere's a very initial take on what I consider to be a flexible and effective approach. Would love to hear any thoughts:\r\n\r\n1. Pointed to an application directory containing a NAppUpdate DLL, the feed-generator desktop application will use Reflection to detect all objects implementing IUpdateTask, IUpdateCondition and IUpdateSource in all assemblies in that folder. It will then list them in a nice organized manner (TBD), and allow the creation of complex feeds in a simple graphical UI.\r\n\r\n2. Explanatory text to be displayed by the application for each task / condition / source type will be available through fields we will add to the interfaces, and each implementing object will have to provide. Another option is to use a class-scope attribute. This text will then be displayed in tooltips etc.\r\n\r\n3. The rest of the fields in each object will use attributes to signal the feed generator their exact state - if they are required, what's their expected input (regex?), validation type (?), and explanatory text (to be displayed in forms by the input fields). I will provide concrete examples at a later time.\r\n\r\n4. Output will be in the NauXml format (which should be standardized further prior to any release of such application). I don't think there is any reason to support any other formats.\r\n\r\n5. NauXml Feeds should be able to be read into this application. This perhaps will need some code adjustments in the core, and will also allow to load other feed types.\r\n\r\n6. It would be nice if we could create all that in a such a way so it could be used by a web application too, at least partially, to allow feed updates on the fly.\r\n"},"comment":{"url":"https://api.github.com/repos/synhershko/NAppUpdate/issues/comments/148866181","html_url":"https://github.com/synhershko/NAppUpdate/issues/9#issuecomment-148866181","issue_url":"https://api.github.com/repos/synhershko/NAppUpdate/issues/9","id":148866181,"user":{"login":"vbjay","id":3629489,"avatar_url":"https://avatars.githubusercontent.com/u/3629489?v=3","gravatar_id":"","url":"https://api.github.com/users/vbjay","html_url":"https://github.com/vbjay","followers_url":"https://api.github.com/users/vbjay/followers","following_url":"https://api.github.com/users/vbjay/following{/other_user}","gists_url":"https://api.github.com/users/vbjay/gists{/gist_id}","starred_url":"https://api.github.com/users/vbjay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbjay/subscriptions","organizations_url":"https://api.github.com/users/vbjay/orgs","repos_url":"https://api.github.com/users/vbjay/repos","events_url":"https://api.github.com/users/vbjay/events{/privacy}","received_events_url":"https://api.github.com/users/vbjay/received_events","type":"User","site_admin":false},"created_at":"2015-10-16T23:41:44Z","updated_at":"2015-10-16T23:41:44Z","body":"I think using mef is the way to set this up.https://msdn.microsoft.com/en-us/library/dd460648(v=vs.110).aspx"}}