name="Security">
</perspective>
</extension>
+
+ <!-- VIEWS -->
<extension
- point="org.eclipse.ui.views">
+ point="org.eclipse.ui.views">
<view
class="org.argeo.eclipse.spring.SpringExtensionFactory"
icon="icons/users.gif"
- id="org.argeo.security.ui.admin.adminUsersView"
+ id="org.argeo.security.ui.admin.usersView"
name="Users"
- restorable="false">
+ restorable="true">
</view>
<view
class="org.argeo.eclipse.spring.SpringExtensionFactory"
icon="icons/role.gif"
- id="org.argeo.security.ui.admin.adminRolesView"
- name="Roles"
+ id="org.argeo.security.ui.admin.groupsView"
+ name="Groups"
restorable="false">
</view>
- </extension>
- <extension
- point="org.eclipse.ui.editors">
- <editor
- class="org.argeo.eclipse.spring.SpringExtensionFactory"
- id="org.argeo.security.ui.admin.adminArgeoUserEditor"
- name="User"
- icon="icons/user.gif"
- default="false">
- </editor>
- </extension>
+ </extension>
+
+ <!-- EDITORS -->
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.argeo.eclipse.spring.SpringExtensionFactory"
+ id="org.argeo.security.ui.admin.userEditor"
+ name="User"
+ icon="icons/user.gif"
+ default="false">
+ </editor>
+ <editor
+ class="org.argeo.eclipse.spring.SpringExtensionFactory"
+ id="org.argeo.security.ui.admin.groupEditor"
+ name="User"
+ icon="icons/users.gif"
+ default="false">
+ </editor>
+ </extension>
+
<extension
point="org.eclipse.ui.commands">
- <command
- defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
- id="org.argeo.security.ui.admin.openArgeoUserEditor"
- name="OpenArgeoUserEditor">
- <commandParameter
- id="org.argeo.security.ui.admin.username"
- name="Username">
- </commandParameter>
- </command>
- <command
- defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
- id="org.argeo.security.ui.admin.refreshUsersList"
- name="refreshUsersList">
- </command>
- <command
- defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
+ <!-- User CRUD -->
+ <command
id="org.argeo.security.ui.admin.newUser"
- name="New User">
- </command>
- <command
- defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
- id="org.argeo.security.ui.admin.deleteUser"
- name="deleteUser">
- </command>
- <command
- defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
- id="org.argeo.security.ui.admin.refreshRoles"
- name="refreshRoles">
- </command>
- <command
- defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
- id="org.argeo.security.ui.admin.addRole"
- name="AddRole">
- </command>
- <command
defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
- id="org.argeo.security.ui.admin.deleteRole"
- name="deleteRole">
- </command>
- <command
+ name="New User">
+ </command>
+ <command
+ id="org.argeo.security.ui.admin.deleteUsers"
defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
+ name="Delete User">
+ </command>
+ <command
+ defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
id="org.argeo.security.ui.admin.userBatchUpdate"
name="User batch update">
+ </command>
+ <!-- Group CRUD -->
+ <command
+ id="org.argeo.security.ui.admin.newGroup"
+ defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
+ name="New Group">
+ </command>
+ <command
+ id="org.argeo.security.ui.admin.deleteGroups"
+ defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
+ name="Delete Group">
+ </command>
+ <!-- Transaction -->
+ <command
+ id="org.argeo.security.ui.admin.userTransactionHandler"
+ defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
+ name="Manage a user transaction">
+ <commandParameter
+ id="param.commandId"
+ name="begin, commit or rollback">
+ </commandParameter>
+ </command>
+
+ <!-- Force the refresh when the various listener are not enough -->
+ <command
+ defaultHandler="org.argeo.security.ui.admin.internal.commands.ForceRefresh"
+ id="org.argeo.security.ui.admin.forceRefresh"
+ name="Force Refresh">
</command>
- </extension>
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- locationURI="toolbar:org.argeo.security.ui.admin.adminRolesView">
+ </extension>
+
+ <!-- MENU CONTRIBUTIONS -->
+ <extension
+ point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="toolbar:org.argeo.security.ui.rap.userToolbar?after=org.eclipse.ui.file.saveAll">
+ <!-- Transaction management -->
+ <command
+ commandId="org.argeo.security.ui.admin.userTransactionHandler"
+ icon="icons/commit.gif"
+ label="Commit Transaction"
+ style="push"
+ tooltip="Commit a user transaction">
+ <parameter name="param.commandId" value="transaction.commit" />
+ <visibleWhen>
+ <with variable="org.argeo.security.ui.admin.userTransactionState">
+ <equals value="status.active" />
+ </with>
+ </visibleWhen>
+ </command>
+ <command
+ commandId="org.argeo.security.ui.admin.userTransactionHandler"
+ icon="icons/rollback.gif"
+ label="Rollback Transaction"
+ style="push"
+ tooltip="Abandon current changes and rollback to the latest commited version">
+ <parameter name="param.commandId" value="transaction.rollback" />
+ <visibleWhen>
+ <with variable="org.argeo.security.ui.admin.userTransactionState">
+ <equals value="status.active" />
+ </with>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+
+ <!-- UsersView specific toolbar menu -->
+ <menuContribution
+ locationURI="toolbar:org.argeo.security.ui.admin.usersView">
<command
- commandId="org.argeo.security.ui.admin.deleteRole"
+ commandId="org.argeo.security.ui.admin.deleteUsers"
icon="icons/remove.gif"
- label="Delete Role"
- tooltip="Delete selected roles">
- </command>
- <command
- commandId="org.argeo.security.ui.admin.addRole"
- icon="icons/add.gif"
- label="Add Role"
- tooltip="Add new role">
- </command>
- <command
- commandId="org.argeo.security.ui.admin.refreshRoles"
- icon="icons/sync.gif"
- label="LDAP Roles Sync"
- tooltip="Synchronize roles from LDAP">
+ label="Delete User"
+ tooltip="Delete selected users">
</command>
- </menuContribution>
- <menuContribution
- locationURI="toolbar:org.argeo.security.ui.admin.adminUsersView">
<command
- commandId="org.argeo.security.ui.admin.refreshUsersList"
+ commandId="org.argeo.security.ui.admin.forceRefresh"
icon="icons/refresh.png"
label="Refresh list"
tooltip="Force the full refresh of the user list">
</command>
- <command
- commandId="org.argeo.security.ui.admin.deleteUser"
- icon="icons/remove.gif"
- label="Delete User"
- tooltip="Delete selected users">
- </command>
<command
commandId="org.argeo.security.ui.admin.newUser"
icon="icons/add.gif"
label="Add User"
- tooltip="Add new user">
+ tooltip="Create a new user">
</command>
<command
commandId="org.argeo.security.ui.admin.userBatchUpdate"
label="Update users"
tooltip="Perform maintenance activities on a list of chosen users">
</command>
+ </menuContribution>
+
+ <!-- GroupsView specific toolbar menu -->
+ <menuContribution
+ locationURI="toolbar:org.argeo.security.ui.admin.groupsView">
+ <command
+ commandId="org.argeo.security.ui.admin.deleteGroups"
+ icon="icons/remove.gif"
+ label="Delete Group"
+ tooltip="Delete selected groups">
+ </command>
<command
- commandId="org.argeo.security.ui.admin.refreshUsersList"
- icon="icons/sync.gif"
- label="LDAP Users Sync"
- tooltip="Synchronize users from LDAP">
+ commandId="org.argeo.security.ui.admin.forceRefresh"
+ icon="icons/refresh.png"
+ label="Refresh list"
+ tooltip="Force the full refresh of the group list">
+ </command>
+ <command
+ commandId="org.argeo.security.ui.admin.newGroup"
+ icon="icons/add.gif"
+ label="Add Group"
+ tooltip="Create a new group">
</command>
</menuContribution>
- </extension>
- <extension
- point="org.eclipse.ui.activities">
- <activityPatternBinding
- activityId="org.argeo.security.ui.userAdminActivity"
- isEqualityPattern="true"
- pattern="org.argeo.security.ui.admin/org.argeo.security.ui.admin.adminSecurityPerspective">
- </activityPatternBinding>
- <activityPatternBinding
- activityId="org.argeo.security.ui.groupAdminActivity"
- isEqualityPattern="true"
- pattern="org.argeo.security.ui.admin/org.argeo.security.ui.admin.adminRolesView">
- </activityPatternBinding>
- </extension>
- </plugin>
+
+ <!-- <menuContribution
+ locationURI="toolbar:org.argeo.security.ui.admin.adminRolesView">
+ <command
+ commandId="org.argeo.security.ui.admin.refreshRoles"
+ icon="icons/sync.gif"
+ label="LDAP Roles Sync"
+ tooltip="Synchronize roles from LDAP">
+ </command>
+ </menuContribution> -->
+ </extension>
+
+ <!-- SERVICES -->
+ <extension
+ point="org.eclipse.ui.services">
+ <sourceProvider
+ id="org.argeo.security.ui.admin.userTransactionProvider"
+ provider="org.argeo.eclipse.spring.SpringExtensionFactory" >
+ <variable
+ name="org.argeo.security.ui.admin.userTransactionState"
+ priorityLevel="workbench">
+ </variable>
+ </sourceProvider>
+ </extension>
+
+ <!-- ACTIVITIES -->
+ <extension
+ point="org.eclipse.ui.activities">
+ <!-- group admin is intended to make all user and group maintenance operations -->
+ <!--<activityPatternBinding
+ activityId="org.argeo.security.ui.userAdminActivity"
+ isEqualityPattern="true"
+ pattern="org.argeo.security.ui.admin/org.argeo.security.ui.admin.adminSecurityPerspective">
+ </activityPatternBinding>-->
+ <activityPatternBinding
+ activityId="org.argeo.security.ui.groupAdminActivity"
+ isEqualityPattern="true"
+ pattern="org.argeo.security.ui.admin/org.argeo.security.ui.admin.adminSecurityPerspective">
+ </activityPatternBinding>
+ </extension>
+
+ <!-- STARTUP -->
+ <extension point="org.eclipse.ui.startup">
+ <startup class="org.argeo.security.ui.admin.internal.PartStateChanged"/>
+ </extension>
+</plugin>
\ No newline at end of file