{"action":"created","issue":{"url":"https://api.github.com/repos/GriddleGriddle/Griddle/issues/276","repository_url":"https://api.github.com/repos/GriddleGriddle/Griddle","labels_url":"https://api.github.com/repos/GriddleGriddle/Griddle/issues/276/labels{/name}","comments_url":"https://api.github.com/repos/GriddleGriddle/Griddle/issues/276/comments","events_url":"https://api.github.com/repos/GriddleGriddle/Griddle/issues/276/events","html_url":"https://github.com/GriddleGriddle/Griddle/issues/276","id":118301547,"number":276,"title":"Griddle 1.0","user":{"login":"ryanlanciaux","id":85041,"avatar_url":"https://avatars.githubusercontent.com/u/85041?v=3","gravatar_id":"","url":"https://api.github.com/users/ryanlanciaux","html_url":"https://github.com/ryanlanciaux","followers_url":"https://api.github.com/users/ryanlanciaux/followers","following_url":"https://api.github.com/users/ryanlanciaux/following{/other_user}","gists_url":"https://api.github.com/users/ryanlanciaux/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanlanciaux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanlanciaux/subscriptions","organizations_url":"https://api.github.com/users/ryanlanciaux/orgs","repos_url":"https://api.github.com/users/ryanlanciaux/repos","events_url":"https://api.github.com/users/ryanlanciaux/events{/privacy}","received_events_url":"https://api.github.com/users/ryanlanciaux/received_events","type":"User","site_admin":false},"labels":[{"id":151802434,"url":"https://api.github.com/repos/GriddleGriddle/Griddle/labels/discussion","name":"discussion","color":"bfe5bf","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":32,"created_at":"2015-11-23T00:36:41Z","updated_at":"2016-11-11T14:12:40Z","closed_at":null,"body":"# The Road to Griddle 1.0\n\n---\n## **Update** ( Feb. 6, 2016): Griddle 1.0 pre-release docs are available here http://griddlegriddle.github.io/Griddle/next/\n\nThroughout the 6 months or so, we've been working on a new version of [Griddle](http://griddlegriddle.github.io/Griddle/). It's not quite ready yet (alpha likely coming before Jan. 1, 2016) but we wanted to start communicating where we're at with it and where it's going. \n\nOne of the biggest things that we've encountered with Griddle is that we would like to enable all sorts of features without making the codebase too bloated for those that want a more minimal grid. Too often we would add new features which added additional complexity. Over time, this complexity makes it harder to quickly add new features, harder to fix bugs, harder to avoid regressions, and a bit more difficult for others in the community to jump in and contribute.\n\nTo address all these concerns, we began working on a new version of Griddle that is more modular. While the modularity doesn't single-handedly take care of the issues listed above, it does make tackling these things easier. \n## New Architecture\n\nGriddle will now exist as a series of modules: \n- **griddle-core** - Grid state management\n- **griddle-render** - View components\n- **griddle-connector** - Connect the grid state to the view components\n\nIn addition to these modules, the main Griddle (griddle-react) module will still exist as an opinionated default setup for using Griddle. Conceptually, the main Griddle component will import the other modules and pass set up a default configuration.\n## Plugins\n\nAnother big part of the new architecture is that we wanted to introduce plugins to the [Griddle](http://griddlegriddle.github.io/Griddle/) landscape. Instead of having subgrid / selection / remote / editing (not yet implemented), etc support as part of the default Griddle module, these features are added in as plugins. We are currently documenting how the plugins work in a lot more detail but for now, they can be thought of as a series of higher-order components and redux reducer / action creators (please [see the selection plugin](https://github.com/GriddleGriddle/griddle-selection-plugin) for more information on how they look in the meantime).\n\nWe've had a lot of requests for awesome features that we would really like to see exist as plugins. Again there will be more documentation on how plugins work and how to create them in the coming weeks / months. Until then please [see a couple of the core plugins](https://github.com/GriddleGriddle/).\n## The Road to 1.0\n\nAs noted above, we're trying to stay mostly consistent while still introducing some breaking changes (while still establishing a **nice upgrade path**). To that end, we're calling this Griddle 1.0 (obviously pre-release at this point) and are hoping to have the offical 1.0 release out sometime in the Spring of 2016.\n\nThat all said, a _very_ **very** early version of these components can be used today by taking the following, exhausting steps (if it's not abundantly clear -- these components are not production ready yet :smile:). \n1. Clone [griddle-core](https://github.com/GriddleGriddle/griddle-core), [griddle-render](https://github.com/GriddleGriddle/griddle-render), [griddle-connector](https://github.com/GriddleGriddle/griddle-connector) and [griddle-test](https://github.com/GriddleGriddle/griddle-test) (this is a module that will be going away once we are wiring everything up inside the main Griddle component) and the [various plugins listed in the organization](https://github.com/GriddleGriddle) (at the time of writing it is just subgrid and select).\n2. `npm link` all of the modules in griddle-test and `npm-install` & `npm-start` everything. Running `npm-start` in griddle-test should log that a webserver is running on port 3000.\n3. Visit http://localhost:3000 and try out the new Griddle components (and note that there is a lot of the styling / overall polish / performance type of things that we are still working on) \n\nAs of this weekend, we're trying to place all of the things that are left to do and not currently being worked on into GitHub issues in their various projects. Any help / feedback would be much appreciated. \n\nThe best place to discuss all this is in the comments here -- or the [Griddle gitter.im channel](https://gitter.im/DynamicTyped/Griddle) :+1:\n"},"comment":{"url":"https://api.github.com/repos/GriddleGriddle/Griddle/issues/comments/259965161","html_url":"https://github.com/GriddleGriddle/Griddle/issues/276#issuecomment-259965161","issue_url":"https://api.github.com/repos/GriddleGriddle/Griddle/issues/276","id":259965161,"user":{"login":"ryanlanciaux","id":85041,"avatar_url":"https://avatars.githubusercontent.com/u/85041?v=3","gravatar_id":"","url":"https://api.github.com/users/ryanlanciaux","html_url":"https://github.com/ryanlanciaux","followers_url":"https://api.github.com/users/ryanlanciaux/followers","following_url":"https://api.github.com/users/ryanlanciaux/following{/other_user}","gists_url":"https://api.github.com/users/ryanlanciaux/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanlanciaux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanlanciaux/subscriptions","organizations_url":"https://api.github.com/users/ryanlanciaux/orgs","repos_url":"https://api.github.com/users/ryanlanciaux/repos","events_url":"https://api.github.com/users/ryanlanciaux/events{/privacy}","received_events_url":"https://api.github.com/users/ryanlanciaux/received_events","type":"User","site_admin":false},"created_at":"2016-11-11T14:12:40Z","updated_at":"2016-11-11T14:12:40Z","body":"@garretfick Thanks for calling this out -- we will have to look into this a bit more as we may have something misconfigured with our externals. "}}
{"actor":{"display_login":"ryanlanciaux"}}