1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15"><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>
<h1>Upgrade notes</h1>
This is a list of API changes for all LAM releases.
<br>
<br>
<h2>8.2 -> 8.3</h2>
<ul>
<li>JavaScript
<ul>
<li>jQueryUI was removed from the project</li>
</ul>
</li>
<li>Removed classes
<ul>
<li>htmlLabeledInputCheckbox</li>
<li>htmlTableExtendedInputFileUpload</li>
<li>htmlTableExtendedRadio</li>
<li>htmlEqualWidth</li>
<li>htmlEqualHeight</li>
</ul>
</li>
</ul>
<h2>6.8 -> 8.2</h2>
<ul>
<li>JavaScript
<ul>
<li>jQuery and jQueryUI are no longer supported and must not be used anymore</li>
</ul>
</li>
</ul>
<h2>6.7 -> 6.8</h2>
<ul>
<li>Module API
<ul>
<li>display_html_attributes(): use responsive HTML elements instead of tables</li>
</ul>
</li>
</ul>
<h2>6.3 -> 6.4</h2>
<ul>
<li>Module API
<ul>
<li>get_profileOptions(): should no longer return a htmlTable but a htmlResponsiveRow</li>
</ul>
</li>
</ul>
<h2>6.2 -> 6.3</h2>
<ul>
<li>Module API
<ul>
<li>get_configOptions(): $allScopes contains type ids instead of account types</li>
<li>check_configOptions(): first parameter contains type ids instead of account types</li>
</ul>
</li>
</ul>
<h2>6.1 -> 6.2</h2>
<ul>
<li>No major API changes</li>
</ul>
<h2>6.0 -> 6.1</h2>
<ul>
<li>module API</li>
<ul>
<li>doUploadPreActions has new parameter $type</li>
<li>doUploadPostActions has new parameter $type</li>
</ul>
</ul>
<h2>5.7 -> 6.0</h2>
<ul>
<li>All account types allow multiple configurations by default.</li>
<li>the following methods in baseModule have a new parameter $typeId:</li>
<ul>
<li>check_profileOptions()</li>
<li>get_profileOptions()</li>
<li>get_pdfEntries()</li>
<li>get_pdfFields()</li>
<li>getManagedObjectClasses()</li>
<li>getManagedAttributes()</li>
<li>getLDAPAliases() <br>
</li>
<li>get_uploadColumns()</li>
<li>build_uploadAccounts()</li>
<li>get_RDNAttributes()<br>
</li>
</ul>
<li>baseType->doUploadPostActions(): new parameter $selectedModules<br>
</li>
<li>Removed global functions:</li>
<ul>
<li>getListClassName() -> use ConfiguredType->getBaseType()->getListClassName() </li>
<li>getTypeAlias() -> use ConfiguredType->getBaseType()->getAlias()</li>
<li>getDefaultListAttributes() -> use ConfiguredType->getBaseType()->getDefaultListAttributes()</li>
<li>getListAttributeDescriptions() -> use ConfiguredType->getBaseType()->getListAttributeDescriptions()</li>
</ul>
<li>baseType and subclasses have a new constructor argument - ConfiguredType<br>
</li>
</ul>
<br>
<h2>5.6 -> 5.7</h2>
<ul>
<li>module interface: get_pdfEntries() must return an array key =>
PDFEntry (no action required if you did not build the XML yourself)<span style="color: rgb(34, 31, 30); font-family: Sans,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(214, 210, 208); display: inline ! important; float: none;"></span></li>
</ul>
<br>
<h2>5.5 -> 5.6</h2>
<ul>
<li>
Functions in lib/types.inc got namespace LAM/TYPES (e.g. getTypeAlias()).</li>
<li>
New API to access configured account types: LAM\TYPES\TypeManager.</li>
<li>class baseType: new function getSuffixFilter()</li>
<li>moved getSuffixList() from baseType to ConfiguredType<br>
</li>
</ul>
<h2>5.4 -> 5.5</h2>Functions Ldap::encrypt/decrypt in ldap.inc moved to lamEncrypt/lamDecrypt in security.inc.<br>
<br>
<h2>5.0 -> 5.1</h2>
Module interface<br>
<ul>
<li><span style="font-weight: bold;">getPDFEntries(): </span>It is no
longer supported that modules generate PDF XML on their own. You must
use addSimplePDFField/addPDFKeyValue/addPDFTable() from baseModule for
this.</li>
<li><span style="font-weight: bold;">getSelfServiceOptions:</span> the function must now return an array of htmlResponsiveRow instead of htmlTableRow<br>
</li>
</ul>
<br>
<h2>4.8 -> 4.9</h2>
API changes<br>
<ul>
<li>Module interface: Function get_pdfEntries() has new parameter $pdfKeys.</li>
</ul>
<br>
<h2>4.6 -> 4.7</h2>
Account types (e.g. user, group, host) may have config options now. See baseType::get_configOptions().<br>
<br>
<h2>4.5 -> 4.6</h2>
The valid account types for each module must now
be set in can_manage(). This function is abstract in base module.
Setting the account type via meta data is no longer supported.<br>
<br>
Example:<br>
<pre> public function can_manage() {</pre>
<pre> return in_array($this->get_scope(), array('user', 'host'));</pre>
<pre> }</pre>
<br>
<h2>4.2 -> 4.3</h2>
<span style="font-weight: bold;">Ldap::new_rand()</span> was replaced by <span style="font-weight: bold;">getRandomNumber()</span> in lib/account.inc.<br>
Module interface:<br>
<ul>
<li><span style="font-weight: bold;">preModifySelfService/postModifySelfService:</span> new parameter <span style="font-style: italic;">$newAccount</span>. The user self registration now supports preCreate/postCreate events.<br>
</li>
</ul>
<br>
<h2>4.1 -> 4.2</h2>
New meta HTML classes: htmlEqualHeight, htmlAccordion<br>
New functions in baseModule to reduce code:<br>
<ul>
<li>addSimpleInputTextField() to add text fields to the edit page</li>
<li>addMultiValueInputTextField()/processMultiValueInputTextField() to add multi-value text fields to the edit page</li>
<li>addSimpleSelfServiceTextField()/checkSimpleSelfServiceTextField() adds and checks a text field in self service</li>
<li>addSimplePDFField() to create the PDF code for a simple text value<br>
</li>
</ul>
<br>
<h2>4.0 -> 4.1</h2>
CSS changes:<br>
<ul>
<li>type specific "td.{TYPE}nav-activepage" was replaced by common "td.activepage" in layout.css</li>
<li>renamed ".{TYPE}list-bright" to ".{TYPE}-bright" and ".{TYPE}list-dark" to ".{TYPE}-dark"</li>
<li>removed "table.{TYPE}list input", "table.{TYPE}list select",
"table.{TYPE}list button", "fieldset.{TYPE}edit input",
"fieldset.{TYPE}edit select", "fieldset.{TYPE}edit button"</li>
<li>removed "input.{TYPE}" and "select.{TYPE}"</li>
<li>removed "table.{TYPE}nav" and "table.{TYPE}nav input"</li>
<li>removed "table.{TYPE}list td,th"</li>
<li>new ".{TYPE}-border"</li>
<li>replaced "table.{TYPE}list" by ".{TYPE}-border" and "table.accountlist"<br>
</li>
<li>replaced "fieldset.{TYPE}edit" by ".{TYPE}-border" and ".{TYPE}-bright"</li>
<li>moved type styles from 600_type_{TYPE}.css to 500_layout.css<br>
</li>
</ul>
Updated jQuery and jQueryUI versions.<br>
<br>
<h2>3.9 -> 4.0</h2>
Module interface:<br>
<ul>
<li>new function: <span style="font-weight: bold;">doUploadPreActions()</span></li>
<li>function <span style="font-weight: bold;">doUploadPostActions() </span>contains attributes by reference<span style="font-weight: bold;"><br>
</span></li>
</ul>
List interface:<br>
<ul>
<li>new function: <span style="font-weight: bold;">addExtraInputElementsToTopArea()</span></li>
<li><span style="font-weight: bold;">listShowOUSelection()</span> now returns a <span style="font-style: italic;">htmlGroup</span><br>
</li>
</ul>
<br>
<h2>3.8 -> 3.9</h2>
Module interface:<br>
<ul>
<li>new function <span style="font-weight: bold;">supportsAdminInterface()</span>: Can be used to mark modules that only support the self service.</li>
<li>new function <span style="font-weight: bold;">canSelfServiceFieldBeReadOnly()</span>: Specifies if a certain self service field can be set in read-only mode.</li>
<li><span style="font-weight: bold;">getSelfServiceOptions()</span>: new parameter <span style="font-style: italic;">$readOnlyFields</span> that contains read-only fields</li>
<li><span style="font-weight: bold;">checkSelfServiceOptions()</span>: new parameter <span style="font-style: italic;">$readOnlyFields </span>that contains read-only fields</li>
</ul>
Meta HTML:<br>
<ul>
<li>Input fields support autocompletion<br>
</li>
</ul>
<br>
<h2>3.7 -> 3.8<br>
</h2>
Type interface:<br>
<ul>
<li><span style="font-weight: bold;">getTitleBarTitle()/getTitleBarSubtitle(): </span>changed
parameter from attribute array to accountContainer object.
Additionally, the functions are now called on each page refresh.<br>
</li>
</ul>
<br>
<h2>3.6 -> 3.7</h2>
Module interface:<br>
<ul>
<li><span style="font-weight: bold;">postModifyActions()</span>: Must return an array containing any messages to display</li>
<li><span style="font-weight: bold;">preModifyActions():</span> Changed return value from boolean to array of message arrays</li>
<li><span style="font-weight: bold;">passwordService interface:</span>
new function supportsForcePasswordChange() and changed function
passwordChangeRequested() to support password change at next login <br>
</li>
<li><span style="font-weight: bold;">getSelfServiceOptions()/checkSelfServiceOptions():</span> added parameter to specify if only password changes are allowed</li>
<li><span style="font-weight: bold;">handleAjaxRequest():</span> This new function allows AJAX requests to be answered by modules</li>
<li><span style="font-weight: bold;">getSelfServiceSettings():</span> New parameter $profile that contains the full self service profile object<br>
</li>
</ul>
<br>
<h2>3.5.0 -> 3.6</h2>
LAM now supports client-side validation (required + numeric fields). See htmlInputField::setValidationRule().<br>
<br>
<h2>3.4.0 -> 3.5.0</h2>
The old meta HTML code is no longer supported. Please use the new solution based on htmlElement (see lib/html.inc).<br>
<br>
<h2>3.3.0 -> 3.4.0</h2>
Module interface:<br>
<ul>
<li><span style="font-weight: bold;">save_attributes():</span> Can
now contain a return value 'info' => array() with values for
pre/postModify actions</li>
<li><span style="font-weight: bold;">checkSelfServiceOptions():</span> Can now contain a return value 'info' => array() with values for
pre/postModify actions</li>
<li><span style="font-weight: bold;">getSelfServiceOptions():</span> This function no longer supports the old meta HTML. Additionally, the module name must be specified for all help links.<br>
</li>
</ul>
<br>
<h2>3.2.0 -> 3.3.0</h2>
The cache class was removed. Please use local caching and the functions
searchLDAP... instead of get_cache().<br>
The return values for baseModule::pre/postDeleteActions() were changed
to an array of StatusMessage parameters.
<br>
CSS class TYPElist-sort removed without replacement.<br>
<br>
<h2>3.1.0 -> 3.2.0</h2>
<span style="font-weight: bold;">Account types: </span>The CSS classes
have changed.
<ul>
<li>tr.TYPElist-over: removed without replacement</li>
<li>tr.TYPElist-checked: removed without replacement</li>
<li>tr.TYPElist: renamed to .TYPElist-bright</li>
<li>tr.TYPElist-head: renamed to .TYPElist-dark</li>
<li>th.TYPElist-sort: renamed to .TYPElist-sort</li>
<li>td.TYPEnav-text: removed without replacement </li>
</ul>
<br>
<br>
<h2>3.0.0 -> 3.1.0</h2>
<span style="font-weight: bold;">Module interface:</span> There is a
new object-oriented library to
generate HTML for the account modules (e.g. used for
display_html_attributes()). This will allow additional functionality
like client side validation. Please see lib/html.inc or package
metaHTML in the phpdoc documentation.<br>
<span style="color: red; font-weight: bold;">Attention: </span><span style="color: red; font-weight: bold;">The getSelfServiceOptions()
function no longer supports the old meta HTML. </span><span style="color: red; font-weight: bold;">The other functions will
support the old array-based meta HTML elements only until Q2/2011! </span><br>
<br>
The PDF editor now supports descriptive PDF
fields. You can use this by returning an associative array for the PDF
fields (e.g. array('macAddress' => _('MAC address'))) in <span style="font-weight: bold;">get_pdfFields()</span> or the meta data.<br>
The old format is still supported. LAM will continue to show the field
name as label in this case.<br>
<br>
<br>
<h2>2.9.0 -> 3.0.0</h2>
You can now integrate JavaScript libraries by simply putting the files
into templates/lib. All files with the name *.js are automatically
included on all pages.<br>
There is a new log level LOG_DEBUG available for logNewMessage().
<br>
<h3>Module interface:</h3>
The function
<span style="font-weight: bold;">build_uploadAccounts()</span>
has a new parameter
<span style="font-weight: bold;">$selectedModules</span>.<br>
<h3>Type interface:</h3>
The new function <span style="font-weight: bold;">supportsFileUpload()</span>
specifies if file uploads are supported (default true).<br>
<br>
<br>
<h2>2.8.0 -> 2.9.0</h2>
Several functions of the <span style="font-weight: bold;">cache</span>
class were removed.<br>
<br>
<br>
<h2>2.5.0 -> 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 -> 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->selfServiceSettings->moduleSettings</span>.<br>
<br>
<br>
<h2>2.2.0 -> 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_<type>.css).<br>
Please change "table.<type>list input,select" to
"table.<type>list input,select,button" and
"fieldset.<type>edit input" to "fieldset.<type>edit
input,select,button". "fieldset.<type>edit select" may be deleted
afterwards.<br>
<br>
<br>
<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>
<h3><span style="font-weight: bold;">Style changes</span></h3>
<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>
<h3><span style="font-weight: bold;">baseModule</span></h3>
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>
<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 -> 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 -> 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 -> 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>
|