Introduction - Managing the Genesis Smart Client Framework
Understanding how to manage the Genesis Smart Client Framework is important for application developers as well as operators. It helps application developers develop and test their applications on the framework and operators to manage a production environment.
If you start any of the Smart Client Windows Application projects and sign in using either user1 or user2 you will be allowed to sign into the Genesis Management System 2010 application. This is the application that we will be demonstrating with this article.
This article is part VI of VII. Go to part I to see the index.
Please refer to our web site www.bluemarble.co.za for the most up to date information about the Genesis Smart Client Framework or any of our newsfeeds.
View our blog
Follow our tweets
In order to pursue our active interest in releasing this version of the Genesis Smart Client Framework as an open source product, we've created a profile on www.codeplex.com where we maintain the most recent copy of the source code. If you want the latest version of the Genesis Smart Client Framework source code go to our code plex profile or download the latest release from Code Plex.
Because the Genesis Smart Client Framework allows developers to host their applications inside of the Genesis Smart Client Framework, an important part of managing the Genesis Smart Client Framework is managing the applications that are available for the users to sign into.
A hosted application is simply a set of files and DLL's that are kept synchronized on the Genesis File System (Genesis.FileHost) and in the Genesis database. These files and settings are made available through the Genesis Smart Client Framework client API and allow implementations of the IHost interface to load and execute code from inside the DLL's.
When creating a new application, the user will be required to sign into the Genesis Management System 2010 hosted application. Once the user is authorized and the user interface has been constructed the user has go to the 'Genesis Administration' ribbon. There are a number of custom buttons that have been added to this ribbon. These are grouped in ribbon bars namely Users & Groups, File & Commands and Ribbon & Items.
Click on the 'Application' button in the File & Commands ribbon bar. This will open the Application screen. The Application screen returns a list of all the available hosted applications. The user can either add a new Application by clicking on the new files icon above the grid, or edit an existing Application by clicking on the Application ID.
When adding a new Application, the user has to enter an Application Name, Description, the application order in the list displayed to an authorized user and if the application is invisible or not.
The Application Name is displayed to the user right after authorization happens to allow the user to choose which hosted application to sign into. This is generally during the login process.
The Description is rarely used and is most useful to system operators.
The Order is the order that the application is displayed in the list presented to the user when he/she signs in.
The Visible field tracks whether an application is hidden, even from authorised users. This is useful to set if the hosted application is going into maintenance mode.
When you click save the new application will be registered. By subscribing the application to security groups the application will be delivered to users who are members of those security groups.
Applications are made up of one or more files. To manage the files associated with a hosted application, click on the 'Files' button in the File & Commands ribbon bar. This will open the File screen. The File screen returns a list of all the available files. The user can either add a new File by clicking on the new files icon above the grid, or edit an existing File by clicking on the File ID.
Files are downloaded right after a user has been authorized to use a specific application.
When adding a new file, the user has to specify the file name details, the type of file, the hosted application that this file is part of, version of the file and its download path.
The File Name is used to find the file when doing database synchronizations with the file system, and when displaying information to the user.
The Type field contains a lookup for the type of file that you are adding.
The Description field is used to display the progress of file downloads to the user.
The Application field indicates with which hosted application this file is associated.
The Order field determines the download order for the file when the Smart Client application synchronizes with the server.
The Path field contains the local server path (relative to the DevelopmentPath value stored in the web.config file of the Genesis.FileHost web project) where the database/file system synchronization loads the file from.
The Url field contains the web URI for where the server has to make the file available. This is where the Smart Client application will connect too to download this file. During the database/file system synchronization, the process works out how to copy the file from the Path to the local system path for the Url.
The Version field determines the version of a file. It is automatically updated during the database/file system synchronization for Library type files. Only when this value changes from the local file cache of the Smart Client application will it be resynchronized.
Files are not controlled with security by means of group subscriptions. The main reasoning here is that you don't want to deploy half baked solutions to your users. If you can exclude a file from a users view you can exclude a potential execution path through your code. If all the files are downloaded, possible run-time errors can be avoided. If you want to create files that are visible only to a select group of users, create a new application just for those users.