--
PedroRio - 24 Jan 2011
XEO Main Admin(XEO Application Administration)
The XEO Main Admin is a special Main viewer that's provided by default with a XEO Application to manage several aspects of the XEO Application. To access the Application Administration page you'll need a user which has the "XEO Administration" profile. In a newly created application, only the superuser (SYSUSER) has access to that profile. Open your browser and type the XEO application url (in development, usually localhost:8888/xeo/Login.xvw) and login with SYSUSER/ABC with the "XEO Administration" Profile (the list of profiles appears in the login form after you tried to login with the user/password). The Administration page is depicted in figure
MainAdmin.1.
Figure MainAdmin.1 - Administration Page Home Screen
The Administration Page automatically opens the Home Screen viewer which displays a series of information about the current state of the XEO Application. In the home screen you can see the application's memory usage, the Java Virtual Machine's memory usage, CPU usage, the list of background threads, the list of user sessions as well as a series of charts (some charts are not immediately displayed because in large databases the queries can be heavy, as such charts are generated on-demand and their results are cached for a certain amount of time).
The Administration page has five different areas:
- User Management
- Security
- XEO Models
- Administration (a.k.a. Maintenance)
- Development
In the following sections all five areas (and their contents) will be explained. We'll start with the User Management area.
User Management
The User Management section allows to manage users, user groups, functions, roles, profiles and workplaces.
The "Users" menu in the tree open the list of existing users in the XEO Application and allows to create new users. Editing existing users allows to change their properties (name, password, e-mail, address, etc...) as well as managing the user's profiles and groups (as depicted in figure
MainAdmin.2).
Figure MainAdmin.2 - Editing an existing user's attributes
The "Groups", "Functions", "Roles" and "Profiles" menu entries are for managing the various forms of User Groupings that are available in a XEO Application. The two most used ones are "Groups" and "Profiles". Usually you create Groups / Profiles representing users with a special status and permissions and add users to those groups/profiles and then restrict access to some parts of the application based on the user's group or profile. Typically, Main viewers have their menus protected with reference to the profiles/groups which can see them.
The "Workplaces" menu allows to define "Workplaces". A workplace is the mapping between a given profile and their "place of work". This translates to associating a given profile with a specific Main viewer, so that when a user logs in with profile "A" it's automatically redirected to workplace "X". This situation is depicted in figure
MainAdmin.3.
Figure MainAdmin.3 - Editing an existing Workplace (taken from the XEO Library application)
_
Security
The security menu gives you access to the security options in XEO. You have Object Model Policies and Viewer Permission, to know more about them, refer to the
XEO Security/Permission Reference.
Object Model Policies
Policies are instances of the Ebo_Policy System Object Model (which is linked to the Ebo_PolicyRule to create the specific rules). Each Ebo_Policy has a name/description and collection of rules. Those rules are essentially a pair of action/"set of users that apply". The creation of a Policy (with rules) is depicted in figure
MainAdmin.4.
Figure MainAdmin.4 - Creating an Object Model Policy and associated PolicyRule
To apply these Policies to a given Object Model, Attribute or Method, go the "XEO Models" section of the current page.
_
Viewer Permissions
The Viewer Permissions screen is depicted in figure
MainAdmin.5. To create a new viewer permission the flow of actions is the following:
- Declare the viewers that you want in a file named ProjectSecurableViewers.txt in the root of your source code.
- Choose a viewer from the dropdown labeled "Viewer".
- Press the "Update Component list" button (this will update the panel with the list of components in that viewer).
- Expand the "Components" menu (under the "Components Panel") and select the component to which you want to apply a permission.
- In the "Securities" Panel, press the "Add" button, which will open a new window, allowing you to choose the action (Read, Write, Add, Delete, etc...) and the Group of users to which the action applies.
Figure MainAdmin.5 - Viewer Permission screen.
The flow of creating a Viewer Permission is depicted in figures
MainAdmin.6 and
MainAdmin.7
Figure MainAdmin.6 - Adding entries to the list of Viewers that can have Viewer Permissions configured.
Figure MainAdmin.7 - Flow of adding a permission to a Viewer
You can add multiple permissions to a single component in a viewer, allowing certain groups of users some actions and denying other groups of others.
XEO Models
This section in the Administration Page allows you to check settings regarding XEO Object Models and their respective packages.
Objects
The "Objects" entry in the menu opens the list of Object Models registered in the XEO Application. If you double click an existing Object Model it will open its edit viewer where you can see some of the properties of the Object Model (name, description, label, etc..). The edit viewer of an Object Model allows you to set Policies for the Object Model (see the "Policies" Tab), depicted in figure
MainAdmin.8. Also you can see the list of attributes and methods (and open their respective viewers to associate policies to them).
Figure MainAdmin.8 - Object edit viewer (with chance to set Policies and open Attributes and Methods).
_
Packages
The "Packages" menu allows you to check which XEO Packages are installed in your application. You can check the list of packages, and open each package to see the description/name and if it's installed.
Administration
The "Administration" menu group has several entries that allow you to perform maintenance operations on the XEO Application and includes the following:
Background Threads
The Background Threads Menu allows you to check the status of the threads that are configured in the Application's
BoConfig.xml and also start/stop a particular thread (or all at once). The Viewer is depicted in figure
MainAdmin.9.
Figure MainAdmin.9 - Background Threads Viewer (toolbar with buttons to star/stop all threads) and each thread has an individual button to start/stop.
Schedules
The Schedules menu entry is the place to manage instances of the Ebo_Schedule Object Model which allow to declare operations that are scheduled for executing at a certain point in time. All schedules are managed in the Schedules menu, where you can control the name/description of the schedule, the user which will be used to execute the schedule (when the schedule has ran at least once you can also see the result of the last execution, the time it took to complete, the next execution, etc...). Also, you can configure which class implementing the schedule will run and at which interval. Figure
MainAdmin.10 depicts a composition with all the options when editing a Schedule.
Figure MainAdmin.10 - Schedule configuration (new Schedule instance) - composition of the tabs in a single figure.
_
Maintenance
The maintenance viewer allows to perform cleanup operations and rebuild operations in a XEO Application.
- Rebuild User MD5 Keys
- Clean boDefHandler (cleans from memory all handlers)
- Clear boui cache (clears the cache of BOUIS)
- Rebuild References (rebuilds the object references, Ebo_Reference)
- Rebuild security keys (Recalculates keys regarding permissions?)
- Rebuild TextIndex (re-indexes all object
_
Figure MainAdmin.11 - Maintenance.
_
Sessions
The sessions menu allows you to check the user sessions with your application, as depicted in figure
MainAdmin.12.
Figure MainAdmin.12 - User Sessions in the current application
_
boConfig
The boConfig file is where the configuration of the XEO Application is made, this menu allows you to see the configurations of your application (you cannot change them, though) in raw format (XML) or in a more pleasant (html) way, as depicted in figure
MainAdmin.13.
Figure MainAdmin.13 - boConfig viewer
_
JVM Settings
The JVM Settings menu displays a series of information about the current JVM being used by the XEO Application. The viewer has four areas of information about the JVM.
- Java Information (which displays the JVM Vendor and Version)
- Operating System (OS) Information (which displays information about the Operating System, System Architecture and Available processors)
- File System and Memory Information (displays available and occupied disk space as well as RAM usage)
- Runtime Information (displays information about the uptime, JVM input arguments, System Properties and the Java Library Path)
_
Figure MainAdmin.14 - JVM Settings viewer
_
Logs
A XEO Application may write logs of occurrences in one or more log files (which are configured in the
boConfig file). The Logs menu allows you to check a log file without having to connect to the machine via SSH or download it. When you open the Logs viewer a combo box with all the log files defined in the application's boConfig will be displayed, allowing you to choose one log file and press the "Download Log" button (which will prompt you to download the file) or the "Show Log" which will display a certain (configurable in the viewer) number of lines from the log (it will display the last N lines of the Log, the default value for N is 1000). In figure
MainAdmin.15 is depicted the viewer displaying an existing log file.
Figure MainAdmin.15 - Log viewer displaying the last twenty (20) lines of a particular log file.
_
Database Reports
The database reports entry allows you to generate reports about the database tables (and their relations) regarding a set of XEO Packages, or a set of XEO Object Models. A report will typically display a description about each database table (including columns, constraints), its relation with other tables and views that are linked with each Object Model.
In figure
MainAdmin.16 is depicted the viewer, allowing to choose one (or more) package(s) to generate the report from. In figure
MainAdmin.16a is depicted a generated report.
Figure MainAdmin.16 - Database reports viewer
Figure MainAdmin.16a - Generated report for a given XEO Package
_
Index Queue
The Index Queue entry allows you to check which instances have yet to be indexed by Ebo_TextIndex and is depicted in figure
MainAdmin.17.
Figure MainAdmin.17 - IndexQueue list
__
Development
The development group contains a set of viewers that are helpful for developers. Namely the XEOQL Console which allows to execute XEOQL expressions and see the results (useful for debugging) and the Model Builder which invokes the XEO Builder (and can be configured with a number of options).
XEOQL
The XEOQL Console is useful tool to debug XEOQL expressions, because it allows you to execute XEOQL expressions and see the results of that query (or any error if the expression is not valid) and you configure it to bypass any security/permission mechanism or respect the existing ones as well as displaying the resulting SQL statement (which you can then use in your favorite SQL tool to check the database). The XEOQL Console is depicted in figure
MainAdmin.18
Figure MainAdmin.18 - XEOQL Console
If you execute a XEOQL expression such as "select Ebo_Perf" to select instances of existing users (and select "SQL Result" to see the SQL query that it's created from the XEOQL expression), the result is the following (depicted in figure
MainAdmin.18a)
Figure MainAdmin.18a - XEO Console Results (with resulting SQL query)
The XEOQL console also keeps a track of previously executed (valid) queries and lists queries from the most recent to the oldest, so that you can re-execute previous queries.
Model Builder
The Model Builder menu opens a viewer which allows to invoke the XEO Builder with several options. The options are:
- Create Database (executes the builder step to create/update database tables, views and constraints)
- Create and compile Java classes (converts XEO Object Models to their respective Java classes)
- Build workplaces
- Remove user workplaces
- Force full build (For all XEO Object Models in the application, compiles them into java classes and creates all database related structures - normal behavior is to do that with only the Object Models that are updated since the last build)
The XEO Model Builder is depicted in figure
MainAdmin.19. Usually XEO Studio invokes the builder automatically when developing, but if you need to invoke the builder in a remote server, the Model Builder viewer is useful.
Figure MainAdmin.19 - XEO Model Builder
Convert old XEO Viewers to XWC
Legacy Option: