LDAPAccountManager/lam/docs/devel/upgrade.htm

220 lines
6.7 KiB
HTML

<!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 style="text-align: left;">
This is a list of API changes for all LAM releases.
<br><br>
<h2>2.5.0 -&gt; 2.6.0</h2>
The class <span style="font-weight: bold; font-style: italic;">baseType</span> has two new member variables:<br>
<ul>
<li>$LABEL_CREATE_ANOTHER_ACCOUNT</li>
<li>$LABEL_BACK_TO_ACCOUNT_LIST</li>
</ul>
They can be used to show a more specific text when the user is asked to
create another account or return back to the account list.<br>
<br>
The meta HTML code now supports image buttons.<br>
<br>
<br>
<h2>2.4.0 -&gt; 2.5.0</h2>
<h3>Self service</h3>
<span style="font-weight: bold;">$selfServiceSettings</span> in class <span style="font-style: italic;">baseModule</span> is now an object of the class <span style="font-style: italic;">selfServiceProfile.</span> This way all profile settings can be read. To access the module settings use <span style="font-weight: bold;">$this-&gt;selfServiceSettings-&gt;moduleSettings</span>.<br>
</div>
<br>
<br>
</div>
<h2>2.2.0 -&gt; 2.3.0</h2>
<h3>Style changes</h3>
If you have defined your own account types then you need to update your CSS files (style/type_&lt;type&gt;.css).<br>
Please change "table.&lt;type&gt;list input,select" to
"table.&lt;type&gt;list input,select,button" and
"fieldset.&lt;type&gt;edit input" to "fieldset.&lt;type&gt;edit
input,select,button". "fieldset.&lt;type&gt;edit select" may be deleted
afterwards.<br>
<br>
<br>
<h2>2.1.0 -&gt; 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-&gt;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 -&gt; 2.1.0</h2>
<h3><span style="font-weight: bold;">Style changes</span></h3>
<ul>
<li>"fieldset.&lt;type&gt;edit fieldset" and "fieldset.&lt;type&gt;edit fieldset fieldset" were removed.</li>
<li>"table.&lt;type&gt;list input" changed to "table.&lt;type&gt;list input,select"</li>
</ul>
<h3><span style="font-weight: bold;">baseModule</span></h3>
&nbsp; 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-&gt;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 -&gt; 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 -&gt; 1.3.0</h2>
<h3><span style="font-weight: bold;">New lamList functions</span></h3>
<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 -&gt; 1.2.0</h2>
<h3><span style="font-weight: bold;">API changes</span></h3>
<ul>
<li>removed get_configDescription() from module interface</li>
</ul>
<br>
<h2>1.0.4 -&gt; 1.1.0</h2>
<h3><span style="font-weight: bold;">API changes</span></h3>
<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 -&gt; 1.0.2</h2>
<h3><span style="font-weight: bold;">New module functions</span></h3>
<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>