- After the shortcuts were turned into a list instead of dictionary, the
descriptions stopped showing in the front page due to an 'in' check
that worked for dict. Fix this by changing the shortcuts into a
dictionary.
- Also make the key of the shortcut dict an 'id' instead of 'app' that
could create confusion how an app maps to a shortcut.
- Minor indentation fixes.
- Refactor reading status log file.
- Fix hardcoded URL path into 500.html.
- Rename 'status logs' to 'status log' for consistency.
- Decorate the personal information warning. Avoid <b>.
- Add heading to status log page.
- Indentation and grammer fixes.
Currently menu items are shown in alphabetical order in applications and
no clear order in system configuration. This is done using static
weights for menu items based on English names that does not work for
other locales.
Sorting can't be done at the time of adding menu items as users of
multiple locales may use the interface at the same time.
Implement a sorting mechanism based on existing order as well as labels
of menu item. This allows the flexiblity of grouping menu items in
future as it may be need for system configuration. In case of help menu
Remove sort order for all modules except for help menu as here we want
that specific order.
- adapted all modules to not use views.ConfigurationView anymore
- removed templates that are not needed anymore
- no more implicit 'enabled' and 'get_status' functions in __init__.py files
- (more coherent/explicit use of Django functionality)
To show introduction and title of a module which will be available as
properties of a module. This allows the setup process to show the
introduction to the application instead of a blank page.
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.
The concern that people are unable to find a way to get back to
applications is a correct one. The recent changes does fix the problem.
However, it takes a step back in the design. The 'Applications' text is
too prominent. I propose that we replace it with the commonly used
icon. Featured in mobile interfaces and on Google home page, users
should have no difficulty identifing it as applications icon.
After experimenting with the placement of the icon, it seems more
asthetically pleasing to have it at the place of 'Applications' text and
not at the center etc.
Modernizr adds a class called 'js' to the <html> element when javascript
is available. We, as a part of basic modernizr setup, add a class
called 'no-js' to <html> element by default. Use this fact to show/hide
elements when javascript is not available.
- Add a login menu for 'edit' user, 'change password' and 'logout'
items.
- Move settings to right and remove label.
- Move documention to right, remove label and change icon.
- Remove apps menu. User is expected to use the brand icon for reaching
apps. It is also the home page and the main focus of entire
interface.
- Refresh package list before trying to install packages. Also lookup
the ID of the package, including the version, using the newly fetched
package list.
- Call on_install() callback requested by modules only if the package
installation was successful. Handle any exception raised in the
callback itself.
- Handle exceptions raised during packagekit operations. Also check the
returned results for error code.
- Capture error/success status during a transaction. Don't destroy the
transaction object until the error/success status has been collected.
When a view is refreshed after completion of a transaction collect the
result of the transaction and show it to the user.
- Handle cases where package searches in the package list fails. Simply
show the package name without its description.
- Uses PackageKit dameon, Glib library wrapping packagekit DBUS API and
Python bindings for the Glib library.
- Implement a decorator to wrap views requiring packages.
- Framework allows for parallel operations. However, doing parallel
operations hangs because of what appears to be PackageKit backend
limitations.
- allows editing users (currently the groups and username)
- allows any logged-in user to change the passwords of any other users
- improved url highlighting of subsubmenu
The package license (AGPL3+) implicitly indicates the license of each
file. However, it is desirable to have license headers in each file.
This is the case for many prominent projects like GNU project, Mozilla
etc.