Download manual
Transcript
Lakmus manual 35 / 42 Chapter 14 Adding core functionality This chapter will show you have to add some core functionality to Lakmus (by core functionality is meant something that effects whole Lakmus). If you are planning to introduce another mechanism for logging in or extend information held about each user, this chapter is what you are looking for. 14.1 Kernel components Before we go on it is vital that you have an overall idea what is the task of each class in Lakmus. Take the following list as a summary of the targeted tasks of each kernel classes, for details consult the reference manual and source code. LakmusIndexPage Very small class that takes care of displaying the index page (i.e. the one that user sees when he accesses the root directory). LakmusLoginPage This class takes care of displaying the login form and also verifies that user provided valid credentials. LakmusUserHomepage This class displays user’s homepage with links to various actions and also lists groups user is member (or administrator) of. LakmusUserAdministration This class handles administration of user accounts (i.e. adding and editing). LakmusGroupActions This is pretty huge class as it takes care of all actions associated with a group. That includes displaying group applications as well as managing group members. LakmusGroupsAdministration This class is used for administrating groups – e.g. adding a group or changing group admin. LakmusHiddenActions This is a bit tricky class as it takes care of many actions silently. It can execute various operations and after their execution the page redirects back to original page. It also takes care of displaying label editing dialog. LakmusPrivilegeAdministration This class displays page for editing and assigning roles. LakmusErrorPages Various error handlers. 14.2 Smaller changes If you want to make only minor changes, probably the best way would be to directly edit existing source code. Find in the lists of core classes at the beginning of this chapter the one that would fit the most your needs and improve it. If you are planning adding a whole new function to Lakmus, carry on reading – following section will show you how.