{"action":"created","issue":{"url":"https://api.github.com/repos/userfrosting/UserFrosting/issues/504","labels_url":"https://api.github.com/repos/userfrosting/UserFrosting/issues/504/labels{/name}","comments_url":"https://api.github.com/repos/userfrosting/UserFrosting/issues/504/comments","events_url":"https://api.github.com/repos/userfrosting/UserFrosting/issues/504/events","html_url":"https://github.com/userfrosting/UserFrosting/issues/504","id":127442866,"number":504,"title":"Better asset manager needed","user":{"login":"Netrilix","id":12954013,"avatar_url":"https://avatars.githubusercontent.com/u/12954013?v=3","gravatar_id":"","url":"https://api.github.com/users/Netrilix","html_url":"https://github.com/Netrilix","followers_url":"https://api.github.com/users/Netrilix/followers","following_url":"https://api.github.com/users/Netrilix/following{/other_user}","gists_url":"https://api.github.com/users/Netrilix/gists{/gist_id}","starred_url":"https://api.github.com/users/Netrilix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Netrilix/subscriptions","organizations_url":"https://api.github.com/users/Netrilix/orgs","repos_url":"https://api.github.com/users/Netrilix/repos","events_url":"https://api.github.com/users/Netrilix/events{/privacy}","received_events_url":"https://api.github.com/users/Netrilix/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/userfrosting/UserFrosting/labels/feature%20request","name":"feature request","color":"84b6eb"},{"url":"https://api.github.com/repos/userfrosting/UserFrosting/labels/long-range%20planning","name":"long-range planning","color":"d4c5f9"},{"url":"https://api.github.com/repos/userfrosting/UserFrosting/labels/standards%20and%20best%20practices","name":"standards and best practices","color":"5319e7"}],"state":"open","locked":false,"assignee":{"login":"frostbitten","id":593791,"avatar_url":"https://avatars.githubusercontent.com/u/593791?v=3","gravatar_id":"","url":"https://api.github.com/users/frostbitten","html_url":"https://github.com/frostbitten","followers_url":"https://api.github.com/users/frostbitten/followers","following_url":"https://api.github.com/users/frostbitten/following{/other_user}","gists_url":"https://api.github.com/users/frostbitten/gists{/gist_id}","starred_url":"https://api.github.com/users/frostbitten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frostbitten/subscriptions","organizations_url":"https://api.github.com/users/frostbitten/orgs","repos_url":"https://api.github.com/users/frostbitten/repos","events_url":"https://api.github.com/users/frostbitten/events{/privacy}","received_events_url":"https://api.github.com/users/frostbitten/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/userfrosting/UserFrosting/milestones/4","html_url":"https://github.com/userfrosting/UserFrosting/milestones/0.3.2","labels_url":"https://api.github.com/repos/userfrosting/UserFrosting/milestones/4/labels","id":1339646,"number":4,"title":"0.3.2","description":"New frontend tools, including Bower, Grunt, RequireJS.  Division of permissions into \"roles\" and \"groups\".  Logging with Monolog.","creator":{"login":"alexweissman","id":5004534,"avatar_url":"https://avatars.githubusercontent.com/u/5004534?v=3","gravatar_id":"","url":"https://api.github.com/users/alexweissman","html_url":"https://github.com/alexweissman","followers_url":"https://api.github.com/users/alexweissman/followers","following_url":"https://api.github.com/users/alexweissman/following{/other_user}","gists_url":"https://api.github.com/users/alexweissman/gists{/gist_id}","starred_url":"https://api.github.com/users/alexweissman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexweissman/subscriptions","organizations_url":"https://api.github.com/users/alexweissman/orgs","repos_url":"https://api.github.com/users/alexweissman/repos","events_url":"https://api.github.com/users/alexweissman/events{/privacy}","received_events_url":"https://api.github.com/users/alexweissman/received_events","type":"User","site_admin":false},"open_issues":15,"closed_issues":1,"state":"open","created_at":"2015-10-06T05:54:38Z","updated_at":"2016-01-31T16:42:50Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2016-01-19T13:11:53Z","updated_at":"2016-01-31T16:50:23Z","closed_at":null,"body":"As shown in #503, we need an asset manager to handle `.js` and `.css` files properly.\r\n\r\nSince @frostbitten is currently working on researching the asset manager, I'm going to do a temporary hotfix in #503, and then we can solve the deeper issue at a later date."},"comment":{"url":"https://api.github.com/repos/userfrosting/UserFrosting/issues/comments/177548517","html_url":"https://github.com/userfrosting/UserFrosting/issues/504#issuecomment-177548517","issue_url":"https://api.github.com/repos/userfrosting/UserFrosting/issues/504","id":177548517,"user":{"login":"alexweissman","id":5004534,"avatar_url":"https://avatars.githubusercontent.com/u/5004534?v=3","gravatar_id":"","url":"https://api.github.com/users/alexweissman","html_url":"https://github.com/alexweissman","followers_url":"https://api.github.com/users/alexweissman/followers","following_url":"https://api.github.com/users/alexweissman/following{/other_user}","gists_url":"https://api.github.com/users/alexweissman/gists{/gist_id}","starred_url":"https://api.github.com/users/alexweissman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexweissman/subscriptions","organizations_url":"https://api.github.com/users/alexweissman/orgs","repos_url":"https://api.github.com/users/alexweissman/repos","events_url":"https://api.github.com/users/alexweissman/events{/privacy}","received_events_url":"https://api.github.com/users/alexweissman/received_events","type":"User","site_admin":false},"created_at":"2016-01-31T16:50:23Z","updated_at":"2016-01-31T16:50:23Z","body":"Technically, our `PageSchema` class already acts as a very basic asset manager.  What we need is a *better* asset manager, preferably a third-party package that is [already widely used](https://github.com/kriswallsmith/assetic) and actively maintained.\r\n\r\nAnother option is to manage client-side assets with tools like Bower and Grunt, as discussed in #406.  This seems like the more \"correct\" way to do things, but this would also introduce a host of new dependencies and technologies.  \r\n\r\nI would like to see the code designed such that it is easy to choose either option."}}