<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>Upgrade notes</title> <link rel="stylesheet" type="text/css" href="style/layout.css"> <link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico"> </head><body> <div style="text-align: center;"> <h1>Upgrade notes</h1></div> <h2>2.1.0 -> 2.2.0</h2> <h3>Account lists</h3> Account lists now support to define tools. These are displayed as linked images like the edit and delete links in the list.<br> Overwrite <span style="font-weight: bold;">lamList::getAdditionalTools()</span> to use this feature.<br> <br> The definition of account list options changed. The function <span style="font-weight: bold;">lamList::getAdditionalTools()</span> is no longer available. Use these functions instead: <span style="font-weight: bold;">lamList::listGetAllConfigOptions()</span> and <span style="font-weight: bold;">lamList::listConfigurationChanged()</span>.<br> All options are now saved in cookies for one year.<br> <br> <h3>Base module</h3> The <span style="font-weight: bold;">baseModule</span> class has a new protected option: <span style="font-weight: bold;">$autoAddObjectClasses </span>You can set it to false if you do not want that your module's object classes are added when creating or loading an account.<br> <br> Account modules can now have icons. See <span style="font-weight: bold;">baseModule->getIcon()</span>.<br> <br> <h3>Constructors</h3> LAM now uses the PHP5 syntax for constructors: <span style="font-weight: bold;">__construct()<br> <br> </span> <h3>Extended security model</h3> Each server profile now defines an access level.<br> <br> Currently these are:<br> <ul> <li>write access</li> <li>password changes</li> <li>read access<br> </li> </ul> <span style="font-weight: bold;"></span> Please check your code and prohibit any actions which do not fit the current access level.<br> There are two new functions in <span style="font-style: italic;">security.inc</span>: <span style="font-weight: bold;">checkIfWriteAccessIsAllowed()</span> and <span style="font-weight: bold;">checkIfPasswordChangeIsAllowed()</span><br> Only LAM Pro allows to change the access level from <span style="font-style: italic;">write access</span> to a smaller level.<br> <br> <br> <h2>2.0.0 -> 2.1.0</h2> <span style="font-weight: bold;">Style changes:</span><br> <ul> <li>"fieldset.<type>edit fieldset" and "fieldset.<type>edit fieldset fieldset" were removed.</li> <li>"table.<type>list input" changed to "table.<type>list input,select"</li> </ul> <span style="font-weight: bold;">baseModule:</span><br> The class variable<span style="font-style: italic;"> $base</span> is no longer visible in child classes. Please use <span style="font-style: italic;">$this->getAccountContainer()</span> to access the accountContainer object.<br> <br> Several other class variables in accountContainer etc. are now private. Use the new access methods.<br> <br> <br> <h2>1.3.0 -> 2.0.0</h2> LAM is now PHP5 only. Several variables are now private and need to be accessed via functions.<br> <br> <br> <h2>1.2.0 -> 1.3.0</h2> <span style="font-weight: bold;">New lamList function:</span><br> <ul> <li><span style="font-weight: bold;">listPrintTableCellContent():</span> This function allows you to control how the LDAP attributes are displayed in the table. This can be used to display links or binary data.</li> <li><span style="font-weight: bold;">listPrintAdditionalOptions():</span> If you want to display additional conrols for a list please use this function. The controls will be placed under the account table.<br> </li> </ul> No more lamdaemon commands via delete_attributes() and save_attributes() in account modules.<br> Please use these new functions to call lamdaemon directly:<br> <ul> <li>preModifyActions()</li> <li>postModifyActions()</li> <li>preDeleteActions()</li> <li>postDeleteActions()</li> </ul> <br> <h2>1.1.x -> 1.2.0</h2> <span style="font-weight: bold;">API changes:</span><br> <ul> <li>removed get_configDescription() from module interface</li> </ul> <br> <h2>1.0.4 -> 1.1.0</h2> <span style="font-weight: bold;">API changes:</span><br> <ul> <li>removed $post parameters from module functions (delete_attributes(), process_...(), display_html_...()). Use $_POST instead.</li> <li>process_...() functions: returned messages are no longer grouped (e.g. return: array(array('INFO', 'headline', 'text'), array('INFO', 'headline2', 'text2')))</li> </ul> <br> <h2>1.0.0 -> 1.0.2</h2> <span style="font-weight: bold;">New module functions:</span><br> <ul> <li>getRequiredExtensions: Allows to define required PHP extensions</li> <li>getManagedObjectClasses: Definition of managed object classes for this module</li> <li>getLDAPAliases: list of LDAP alias names which are replaced by LAM</li> <li>getManagedAttributes: list of LDAP attributes which are managed by this module</li> </ul> The LDAP attributes are no longer loaded by reading the LDAP schema. If your module does not implement the load_attributes() function then you have to use getManagedAttributes() or the meta data to specify them.<br> <br> The class variable "triggered_messages" in baseModule was removed.<br> <br> </body></html>