{ "id": "65832", "key": "TIMOB-4233", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2011-05-26T19:14:37.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [ { "id": "11244", "name": "Release 1.7.0", "archived": true, "released": true, "releaseDate": "2011-06-13" }, { "id": "11331", "description": "", "name": "Release 1.8.0", "archived": true, "released": true, "releaseDate": "2011-10-31" } ], "issuelinks": [ { "id": "31469", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "119221", "key": "TIMOB-14991", "fields": { "summary": "Android: Javascript can't get path of assets folder of module", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "11168", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "76435", "key": "TIMOB-4417", "fields": { "summary": "Add pathing to assets for Javascript Modules", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2015-09-23T05:08:05.000+0000", "status": { "description": "This issue was once resolved, but the resolution was deemed incorrect. From here issues are either marked assigned or resolved.", "name": "Reopened", "id": "4", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "Module assets that are placed in the module's Assets folder are packaged into the application bundle in the modules/ folder. Modules requiring access to those resources then must be coded to reference their NSBundle resources in that folder rather than the application's root bundle. The other option is to require the developer to manually copy the resources needed by the module into the Resources folder in the application project.\r\n\r\nFor modules where we can modify the source code, the module developer must update all references to loading resources to use the correct folder location. For modules where we do not have access to the source code (ie. only a library is provided) it is not possible to modify the source code and the module developer must ensure that resources are placed into the application's resource bundle. This can cause problems and issues when this is not done properly.\r\n\r\nThere should be a mechanism that allows the module developer to specify resources that should be packaged into the application bundle root folder. That would allow modules to be more turn-key and eliminate issues that result when resources are not in the proper location. One possibility is to allow the developer to place these assets into the \"Resources\" folder (rather than the \"Assets\" folder) in the module folder. During the build process for the application, resources located in the \"Resources\" folder of a module are placed into the root of the application bundle rather than the modules/ folder.", "attachment": [], "flagged": false, "summary": "iOS: Provide mechanism for module resources to be placed in the application bundle root folder", "creator": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "environment": null, "comment": { "comments": [ { "id": "161807", "author": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "body": "The latter suggestion about using the \"Resources\" folder would match what was originally done with the Bump modules. There is a Resources folder in that module and the build.py script was modified to copy the Resources folder in addition to the assets and documentation folder. The resulting module zip file then contains the Resources folder. The application build step would then copy the files in the Resources folder into root of the application bundle.\r\n\r\nThis would require a change the build.py script template, builder.py, and compiler.py scripts", "updateAuthor": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "created": "2011-08-04T06:01:13.000+0000", "updated": "2011-08-04T06:01:13.000+0000" }, { "id": "162966", "author": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "body": "After several discussions, it has been determined to NOT copy module resources into the application bundle's root folder. File name collisions are a potential problem and it is better to let the application developer identify those collisions when copying them over manually rather than doing it automatically and creating issues with the wrong file being used.", "updateAuthor": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "created": "2011-08-16T10:44:19.000+0000", "updated": "2011-08-16T10:44:19.000+0000" }, { "id": "221196", "author": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "body": "This problem continues to come up about once a month. We should define a way for a module to specify that it has assets that should be copied into the root of the applications' bundle. Perhaps under the 'platform' folder. The issue about possible naming collisions can be handled by having the build script throw an error if the file already exists or just issue a warning message about possible file name collisions.\n\nSee http://developer.appcelerator.com/question/142714/where-to-put-ios-resources-in-a-module-such-that-they-are-accessible-later for an example of the customer issue.", "updateAuthor": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "created": "2012-09-27T12:42:22.000+0000", "updated": "2012-09-27T12:42:22.000+0000" }, { "id": "221197", "author": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "body": "Ingo, I am reopening this so that it can be re-evaluated / discussed as an improvement due to regular developer issues with assets.", "updateAuthor": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "created": "2012-09-27T12:45:05.000+0000", "updated": "2012-09-27T12:45:05.000+0000" }, { "id": "249399", "author": { "name": "aaron@clearlyinnovative.com", "key": "aaron@clearlyinnovative.com", "displayName": "Aaron K. Saunders", "active": true, "timeZone": "America/New_York" }, "body": "Has there been any resolution to this problem? I have a client issue where I am writing a module and the xib file for the library is not getting loaded I guess because it is not included in the application resource bundle.\n\nIs there a resolution? In this case, I have access to the library and can modify the source code.\nThanks", "updateAuthor": { "name": "aaron@clearlyinnovative.com", "key": "aaron@clearlyinnovative.com", "displayName": "Aaron K. Saunders", "active": true, "timeZone": "America/New_York" }, "created": "2013-04-29T18:51:32.000+0000", "updated": "2013-04-29T18:51:32.000+0000" }, { "id": "249405", "author": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "body": "No changes have been made to support this as of yet. Since you have access to the source:\n\n1. Add the compiled nib file to the 'assets' folder of the module\n2. Modify the module source to locate its resources in @\"modules//\" folder for the application.\n\nLook at the Urban Airship module in the public modules repository where it had to do something similar for the 'Airship.bundle' file.", "updateAuthor": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "created": "2013-04-29T19:26:26.000+0000", "updated": "2013-04-29T19:26:26.000+0000" }, { "id": "249406", "author": { "name": "aaron@clearlyinnovative.com", "key": "aaron@clearlyinnovative.com", "displayName": "Aaron K. Saunders", "active": true, "timeZone": "America/New_York" }, "body": "thanks will take a look there", "updateAuthor": { "name": "aaron@clearlyinnovative.com", "key": "aaron@clearlyinnovative.com", "displayName": "Aaron K. Saunders", "active": true, "timeZone": "America/New_York" }, "created": "2013-04-29T19:28:14.000+0000", "updated": "2013-04-29T19:28:14.000+0000" }, { "id": "250316", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Placing this in 3.3.0, but we might want to do this as part of reworking the module build scripts to work with the new CLI, no?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-05-06T16:00:51.000+0000", "updated": "2013-05-06T16:00:51.000+0000" }, { "id": "250317", "author": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "body": "Yes, that would be a good time to do it.", "updateAuthor": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "created": "2013-05-06T16:03:57.000+0000", "updated": "2013-05-06T16:03:57.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }