Release 1.0.0 (WIP)

# Release 1.0.0 (WIP)
List of to-dos for Thor CMS 1.0.0
This list can grow depending on the needs.

## Frontend
- [ ] Default feature demonstration theme
- [ ] Optional user registration in the frontend (Confide)

## Core and Backend
- [ ] Fix: when modules are created is_pageable is not detected sometimes
- [ ] UI: User notifications when create/save
- [ ] Fix checkbox is not checked when it should in CRUD views
- [ ] Fix new role / user creation and  perm. assignments
- [x] Route to pageable resolver
- [ ] When Input::get('translation') is not posted, do not create translations for translatable models  in controllers
- [x] Taggable, Sortable and Publishable interfaces and traits
- [x] Pageable to not depend on Translatable. Multilingual will be optional.
- [ ] Fire events on important situations (page resolves, ...)
- [ ] Use controller layouts for LCRUDs so backend views can be included inside other views
- [x] Optional multilingual routes (disable multilingual routes)
- [ ] Generator: File / image upload formControlType for module generator
- [x] Compatibility with translatable models in controllers and views
- [ ] UI: Separate normal and translatable fields with bootstrap tabs
- [ ] UI: Separate SEO fields in another tab, with Google search-like preview (like Yoast SEO)
- [x] Seed permissions for core admin resources
- [x] Activate permission filters in core resources
- [x] Permission and role assignments
- [x] Improve and fix current CRUDs (users, languages, permissions, roles)
- [ ] Restrict some operations (delete last admin user, change access_backend permission, delete home page, ...)
- [x] Use a base Admin Controller
- [ ] Refactor, separate and improve the Pages module in a separated package (will be required by the frontend repo)
- [x] Modules (set of controllers, migrations, models, backend views, etc.)
- [ ] Define a consistent Module api so anyone could create module packages for Thor CMS, compatible with Laravel conventions, and distribute them, and install them easily.
- [x] Ability to specify fields and trans. fields when creating modules (schema desginer)
- [ ] Translation file manager (artisan and web interface) using lang files (no db)
- [ ] Menus module (multilevel, multilingual)
- [ ] Blocks or widgets module (optionally multilingual)
- [ ] Terms module (tags, categories, ... and other taxonomies,  multilingual)
- [ ] Image management module, using dropzonejs
- [ ] File attachments (attachablee ?)
- [ ] Settings (app settings)
- [ ] User preferences (admin preferences for that user)
- [ ] Tools (core tools like sitemap generator, etc.)
- [ ] Ability to choose between markdown or wysiwyg editors
- [ ] Themes (with view editor. edition should need enough privileges)
- [ ] Multisite / multidomain optional features

## Common
- [ ] Documentation (code documentation, markdowns, api reference, developer guide)
- [ ] Tests

### Possible future features

It doesn't mean that all features listed here should be implemented,
it's only an idea of what we expect and plan for this CMS.

- [ ] Login/signup with oauth? (github, twitter, ...) in the frontend
- [ ] Custom fields (polymorphic table, with multilingual support)
- [ ] Live, inline edition of content?
- [ ] Imageable thumbnail administrator (themes could define dimensions)
- [ ] Distributable Plugins (addons, hooks, tools, etc.)
- [ ] Integration with laravel elFinder package (custom look and feel)
- [ ] Store files in the cloud (with flysystem)
- [ ] Block user on X login attempts (would be optional)

Interesting libraries for admin UI
* https://github.com/scripting/Icon-Chooser
* https://github.com/neokoenig/jQuery-gridmanager
* http://bootboxjs.com/
* http://fabien-d.github.io/alertify.js/
* https://github.com/geedmo/yamm3