OpusVL-AppKit
view release on metacpan or search on metacpan
* Added 2 level access permissions that allow the grouping of related actions into features to make
role administration simpler. To do this apply the AppKitFeature attribute. Specify multiple features
like this,
sub action_name
: Local
: AppKitFeature('Feature 1,Feature 2')
Note that what you put here is what is displayed on the user interface. Apply the feature to all
actions you need to execute as part of your feature, including the various auto actions.
Note that you cannot specify multiple attributes against an action marked Private. In order to
mark those actions with the attributes change the Private to Feature. For a more detailed
explanation of this problem see bug 773 in bugzilla.
* Added method groups for the new application style menus. Menus are divided into applications,
groups, then actions. Applications are defined as they are now. Groups are defined as a class
attribute, appkit_method_group.
* It is also possible to sort all the parts of the menu. To sort the actions use the
:NavigationOrder(2) attribute. To sort the groups use the appkit_method_group_order attribute on
the class.
To sort the applicaitons use the appkit_app_order configuration setting. This should be a list
of classes (using the injected names). If you're unsure what to put add the key and put in a
bogus value and when your app is run it will complain and tell you what classes it is expecting.
$config->{appkit_app_order} = [
qw/TestApp::Controller::ExtensionA TestApp::Controller::ExtensionB TestApp::Controller::Test/
];
If you have less classes mentioned than there are you will get a warning like this after catalyst has
loaded,
[warn] Application order is not completely set. Update your appkit_app_order config setting
[warn] Expecting these controllers to be specified TestApp::Controller::ExtensionB, TestApp::Controller::ExtensionA, TestApp::Controller::Test
* Moved permissions cache to a proper cache. This prevents the issue where permissions were
changed and other users on the server didn't see the changes. (Bug 224)
0.20
* Moved the date_short, date_long, time_short and time_long DateTime formatting functions
to the controller (via OpusVL::AppKit::RolesFor::Controller::GUI) and update the macros
to call those functions so that we have consistency. You can now access those functions
from both your controllers and your TT templates.
* Fixed the module version number reporting so if you do perl -MOpusVL::AppKit\ 9999 it will
report the correct version number.
0.19
* Added a facility for managing which roles can manage other roles. This allows users to
manage roles without needing to have them assigned. See bug 235 for more details.
Two new tables have been added to support this facility. The need to be added to your
appkit auth schema.
CREATE TABLE roles_allowed
(
role integer not null references role(id) on delete cascade,
role_allowed integer not null references role(id) on delete cascade,
primary key (role, role_allowed)
);
CREATE TABLE role_admin
(
role_id integer not null references role(id) on delete cascade,
primary key(role_id)
);
0.18
* Changed submit button to say save on user roles saving.
* Added a not_found action for producing a 404 because default isn't terribly logical.
0.17
* Now allow portlets to not be displayed. All they need to do is return a status of 404
for their response. i.e. $c->res->status(404);. Be careful with calls to detach within
the portlets because they may cause the whole process to break down. The Portlet
construction is done by the index page 'visiting' each portlet as if it was a page and then
constructing it's page from all of their responses.
0.16
* Added support for case insensitive logins
0.15
* Added human readable 404 and 403 pages. Do a forward to /default and /access_denied to use them.
* Added a password reset feature.
* If a user is logged in and tries to access a page they aren't allowed to they will
be shown 403 instead of a login screen so that it's clearer that they aren't
allowed access.
0.14
The previous revisions changes are rolled up into this release for simplicity.
* Resized the images for the buttons so long buttons don't glitch.
* Disabled copy to clipboard function on tables in linux (because it didn't work).
* Tidy up <title> tag on pages using a combination of the template and javascript.
* Prevent users from being able to create a blank role.
* Wide applications menu should no longer visually glitch.
* A subtle application version number footer is now possible by turning on
the appkit_display_app_version parameter
* Added a facility to allow the AppKitForm attribute to be extended to allow
an attribute to be generated that doesn't call process on the form.
* Added a facility to poke in a bit of HTML content as 'before_content' before
the application_body div.
* Tweaked the JSON view to just expose the json stash key.
* Added a pager control. Simply process pager.tt, i.e,
[% PROCESS pager.tt pager = mypager %]
* Login process now redirects the user to the page they were trying to access before.
* Fixed a bug where the appkit menu on the left wouldn't display if there was only a
single element.
* Added a facility to allow the menu options from multiple controllers to be merged
using by setting the appkit_shared_module property on the controllers to the same
string.
* Added a facility to allow for pages to be available to users that aren't logged in.
To do this create a role called PUBLIC.
* Improved the change password dialog so that it asks for your original password before
allowing you to change your password.
* Added a simple XML view that makes use of XML::Simple.
* Added a stylesheet for printing that hides most of the chrome.
* Added missing dependencies to the makefile.
( run in 0.926 second using v1.01-cache-2.11-cpan-39bf76dae61 )