{"action":"created","issue":{"url":"https://api.github.com/repos/ament/ament_cmake/issues/38","labels_url":"https://api.github.com/repos/ament/ament_cmake/issues/38/labels{/name}","comments_url":"https://api.github.com/repos/ament/ament_cmake/issues/38/comments","events_url":"https://api.github.com/repos/ament/ament_cmake/issues/38/events","html_url":"https://github.com/ament/ament_cmake/issues/38","id":110795880,"number":38,"title":"resiurce_index.md does not explain what a resource is","user":{"login":"BobDean","id":7926335,"avatar_url":"https://avatars.githubusercontent.com/u/7926335?v=3","gravatar_id":"","url":"https://api.github.com/users/BobDean","html_url":"https://github.com/BobDean","followers_url":"https://api.github.com/users/BobDean/followers","following_url":"https://api.github.com/users/BobDean/following{/other_user}","gists_url":"https://api.github.com/users/BobDean/gists{/gist_id}","starred_url":"https://api.github.com/users/BobDean/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BobDean/subscriptions","organizations_url":"https://api.github.com/users/BobDean/orgs","repos_url":"https://api.github.com/users/BobDean/repos","events_url":"https://api.github.com/users/BobDean/events{/privacy}","received_events_url":"https://api.github.com/users/BobDean/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-10-10T13:57:32Z","updated_at":"2015-10-10T22:58:25Z","closed_at":null,"body":"An explanation of what a resource is within this context, and why it is important, would help people with different experience who are not familiar with the purpose or need for the indexing capability. Possibly with some additional examples. I think the mention of Rviz plugins is a bit weak at the moment due to lack of these definitions.\r\n\r\nfor example, if I understand what this indexing does, it sounds like a tool to replace Process which may be an issue for larger organizations. In our design process, resources are defined within System Design Documents. These docs in turn have to be approved through Design Review with the customer prior to writing code, and changes need to go through a change order process during development. In the research programs we manage (which include ROS and other middleware systems) it was been determined through experience that the simplest way to communicate resources is to have it defined in a document which can be linked or emailed as appropriate. So if I have the document, what do I need a tool for?\r\n"},"comment":{"url":"https://api.github.com/repos/ament/ament_cmake/issues/comments/147133366","html_url":"https://github.com/ament/ament_cmake/issues/38#issuecomment-147133366","issue_url":"https://api.github.com/repos/ament/ament_cmake/issues/38","id":147133366,"user":{"login":"BobDean","id":7926335,"avatar_url":"https://avatars.githubusercontent.com/u/7926335?v=3","gravatar_id":"","url":"https://api.github.com/users/BobDean","html_url":"https://github.com/BobDean","followers_url":"https://api.github.com/users/BobDean/followers","following_url":"https://api.github.com/users/BobDean/following{/other_user}","gists_url":"https://api.github.com/users/BobDean/gists{/gist_id}","starred_url":"https://api.github.com/users/BobDean/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BobDean/subscriptions","organizations_url":"https://api.github.com/users/BobDean/orgs","repos_url":"https://api.github.com/users/BobDean/repos","events_url":"https://api.github.com/users/BobDean/events{/privacy}","received_events_url":"https://api.github.com/users/BobDean/received_events","type":"User","site_admin":false},"created_at":"2015-10-10T22:58:25Z","updated_at":"2015-10-10T22:58:25Z","body":"Hi William,\r\n\r\nBy Process i meant a CMMI approved process for software development.  The resources being indexed are related to software development process, and the ament articles are defining a software development process.  They place requirements and restrictions on the structure of the source code.  \r\n\r\nWhile the article lists requirements for how the indexer should work, but it does not list requirements for why the indexer is necessary.  It may be that to you all it is clearer because you have \"tribal knowledge\" of the build system which I do not. I am not as experienced in ros as you all are, and there is an increasing interest from other 3rd parties who also lack that experience. I run into the same problem all the time when I write documentation, which I think is perfectly clear but others disagree. \r\n\r\nAt this point in the post I had a very long explanation of CMMI Things and Stuff. After re-reading the articles a dozen times, Things and Stuff has been cut. Let me know if the following are valid (in which case I might have enough context to do a pull request):\r\n* \"we want to have well defined file system locations for installing files, because the FHS is a good idea and we now require everything to be installed before it can be run (link to ament main article)\"\r\n* \"these well defined locations in turn simplify other tools. for example. rostopic will always be able to find .msg definitions (and perhaps autogenerate them so Bob can stop sending nasty emails to grad students who only send binaries)\"\r\n* \"we want this because we want you, the developer, to know what's going on with an 'ls' command\"\r\n* \"we, OSRF + community, will define a default set of these locations for core resources through the REP process. Examples of potential locations are:\"\r\n    *  i.e. all messages go to /opt/ros2/alpha/msgs/<package_name>/*.msg\r\n    * all rviz plugin files go to   /opt/ros2/alpha/share/rviz/plugins/lib and plugins/xml \r\n    * alternatively rviz plugin.xml files to to /opt/ros2/alpha/share/rviz  and rviz plugins will use the naming convention lib<plugin_name>_rviz_plugin.so.  (ls /opt/ros2/alpha/lib | grep \"*rviz_plugin\")\r\n\r\nAlso, why is there the additional requirement of ament_index/resource_index in the path?  why not just <prefix>/share/msgs, or to keep it separate <prefix>/resource_share/msgs instead of <prefix>/share/ament_index/resource_index/msgs?  ament_index implies that only ament can be used to build the system.  For example, if a company has an established build system may be easier/cheaper to update it to install to the common locations versus switching to use ament for internal development.  \r\n"}}