{ "id": "106218", "key": "ALOY-419", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2012-12-10T13:31:29.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-03-07T22:26:08.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "13605", "name": "Models" }, { "id": "13604", "name": "Tooling", "description": "Items related to Alloy tooling and workflow" } ], "description": "Create a command, template, and instructions for creating custom sync adapters via the alloy CLI. We will also need to make a special directory in alloy projects for creating and maintaining custom adapters. Currently developers are putting them in *app/assets/alloy/sync*, but a more specific location in the project would likely make more sense.\r\n\r\n{code}\r\nalloy generate adapter NAME\r\n{code}\r\n\r\nThe above command would create a template adapter with the name *NAME*. The template adapter should behave as the no-sync adapter does (ALOY-404), being fully operational, but having no built in persistence. This will ensure that adapters are at least initially setup in a way that is in line with the existing adapters and works with model-view binding. The developer would be left to fill in the persistence sync aspect. ", "attachment": [], "flagged": false, "summary": "Create \"alloy generate adapter\" command", "creator": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [], "maxResults": 0, "total": 0, "startAt": 0 } } }