- use a migration to merge the old 'firstboot_state' and 'setup_state'
fields into 'firstboot_completed' which is a more accurate name
- introduce kvstore.delete()
- Fix major regression so that steps can submitted multiple times in
case of errors.
- Don't serve the welcome page (and other pages) only once. Show it
until action is an taken. This does not apply to the final step.
- Eliminate all coupling of one first boot step on another.
- Move first boot helper methods to __init__.py instead of middleware as
it is more generic than middleware.
- Implement caching the first boot state to avoid an SQL query on every
page load. The down side is that if first boot state is modified in
the backend DB outside Plinth, Plinth will need to be restarted to
catch the modified value.
- Mark some methods as private.
- Refactor middleware code for slightly more simplicity.
- Don't show sidebar in pagekite first boot step. Set width like other
pages.
- Do stricter matches when editing configuration file. Earlier
mechanism would match comments etc.
- Move action methods to module core from views.
- During first boot, notify users that console login is restricted and
that they can changed that from security settings.
- Recommend enabling conosle login restrictions. Add message about why
console restrictions are important.
- Show title in security module.
Using brand name directly from configuration means that it can't be
easily translated. Instead use the translated brand name sent in my the
context processor.
- Fix an issue with not showing message in state 1 (no messages to show
as of now).
- Provide options to go to Applications or Network configuration page as
discussed in first boot redesign.
- As discussed in the first boot redesign proposal.
- Images are taken from Tango icon set, GNOME icons or created.
- Responsive, works for very small widths also.
- First cut, special cases of network connectivity are not handled.
- Setting a new hostname is not one of the most buring issues to be take
care of during the setup process.
- Also, most likely the user will access the FreedomBox machine using
mDNS hostname such as freedombox.local. Changing the hostname mid
setup might have consequences that need to thought about properly.
- Create groups on first boot a bit more safely
- Use get_or_create instead of get() and create()
- Fix issue with not showing a full list of groups in user modify page
when there is are no users for that group.