From: Honza M. <hon...@ec...> - 2007-05-10 15:20:07
|
Hi, I submitted some bigger changes to AA Subversion, so there is the list of last changes. There are a lot of changes in the code - mainly the visual ones. We made the code more compliant to AA coding standards (http://actionapps.org/aa/doc/coding.html) and we added also phpDoc comments to the functions and classes. Another big area of changes is AJAX editing {ajax}, {htmlajaxtoggle}, ... which is better and better. However, we still need to add some functionality there, so please consider {ajax} syntax to be still experimental at this moment. Current SVN state: The features are stable, but I'm worry about some typo, which could be there after the code cleanup. We plan to upgrade our production server to SVN version next week, so we will see. On our debug server it works well. Last SVN Changes: 07/05/10 (honzam) - much improved AJAX editing - The input types are slowly moved to AA_Widget class. Ajax editing currently uses this approach. {ajax:<item_id>:<field_id>} allows to display correct input type (widget) based on the setting of the field. Not all widgets are currently rewritten for using in AJAX editing, but there is defined fallback mechanism for all the widgets, so all the fields are editable with correct options (including constants, slice items selects, ...). Also parameters for each widget are moved directly to AA_Widget_* classes as AA_Property. It will allow to add new widgets just by defining new class (based on AA_ Widget). All will work automatically including Param Wizard, ... - (mass) Modify content feature of item manager now allows to select not only current items or user selection, but also all itmes in slice, all trashed items, ... - new experimental "named expression" syntax: {define:name:expr} and {var:name:parms...} The {define:name:expr} must be processed before the {var:name} is processed when the page is generated. You can use parameters with {var:name:param1:param2:...:...} the expression then will use _#1, _#2, ... for each parameter, just like: {define:username:My name is#: _#1} and usage {var:username:Joseph} You can use it for - creating on-line "aliases", - passing parameters between nested views, - ... - it is possible to "group by" using only first 1, 2, or 3, letters of the field in views - better spam filter in discussions - http links are not allowed for some fields (like subject, author, ...) - fixed problem with using page scroller on page, which uses slice.php3 and als[] aliases. The aliases are not lost on other pages, now. - storeItem() function now uses $flags array instead of separate function parameters, which is easier to maintain. The new flag "throw_events" introduced - allows to skip throwing event on item insert/update (good for mass import of items) - characterset conversion scripts are updated to the latest version, which fixes one bug in UTF-8 encoding - fixed problem with "call time pass by reference" warning of PHP - cookies manipulation javascript functions moved to aajslib.php3, so it is accessible also on user pages 07/05/09 (honzam) - ActionApps code clean-up. - added comments for functions, classes, ... - cleaner code used, indentation of 4 spaces used in every script,... - the sources should be compliant to ActionApps coding standards (http://actionapps.org/aa/doc/coding.html) Thanks to Lukas Panek. 07/04/15 (honzam) - new version of filling items from form - through aa[] array allowing multiple items to store at once. The format of the data is following aa[i<long_item_id>][modified_field_id][] Note: First brackets contain 'i'+long_item_id when item is edited or 'n<number>_long_slice_id' if you want to add the item to slice_id <number> is used to add more than one item at the time modified_field_id is field_id, where all dots are replaced by '_' we always add [] at the end, so it became array at the end Example: aa[i63556a45e4e67b654a3a986a548e8bc9][headline_______1][] aa[n1_54343ea876898b6754e3578a8cc544e6][publish_date____][] - new AA_Item class which is able to cache items during page display. It should reduce number of SQL queries during page creation - more time information on SQL queries for debugtime option - new class AA_Includer which will automatically include required class definitions (user defined actions/functions) for you in the future (not finished, yet). - some query optimization for GetItemContent() - make sure that $_GET, _$POST, $_COOKIES are always unquoted (check in init_page.php3) 07/03/29 (brazda) - increased max size of val field in active_sessions (to mediumtext) 07/03/06 (honzam) - new {formbreaktop:...} and {formbreakbottom:...} commands for splitting inputform into parts - the ussage is the same as {formbreak:...}, but the tabs are displayed only on top or bottom, respectively - fixed bug of not working user administration, when all reader slices are marked as deleted - new possibility to use utf8 encoding in site module (en-utf8_site_lang.php3) 07/02/28 (honzam) - AA synchronization script in AA Central now is able to synchronize two remote slices. It works, but we need UI improvements and testing 07/02/25 (honzam) - started work on Central - the place, from which you can control many installed AAs. The first script part is used for synchronization of slices across AA installs. @see /apc-aa/central 07/02/22 (honzam) - better spam checking feature are now implemented in filler.php3 (anonymous items) as well as filldisc.php3 (discussion comments). It is based on the fact, that spammers obviously submits many urls, so there is allowed only limited count of links for each field. Four or less urls are always OK. More are allowed just for longer comments (1 link for 250 characters). - ajax methods now uses prototype implementation of AJAX @see http://prototypejs.org - new experimental possibility for "Selectbox" and "Two Boxes" input types to set use item value in conditions. This allows to create Selectbox with Related Items where you show only related Items of given category of edited field: conds[1][place..........1]=1&conds[1][operator]=% 3D&conds[1][value]=_#TOWN_ID_ _#TOWN_ID is alias in current slice, so only items where place..........1 is equal to town of currently edited item is listed in the selectbox. - new possibility to display not only one "field: of current user from Reader Management Slice by {user:address.........}, but you can use any AA string with aliases, ... {user:This is my _#FULLNAME} - new {htmlajaxtoggle:<toggle1>:<text1>:<toggle2>:<url_of_text2>} used for hide/show part of the page (like {htmltoggle}), but the hidden code is loaded into the page right after user demand (click) It creates the link text1 (or text2) and two divs, where only one is visible at the time - first is displayed as default, the second is loaded by AJAX call on demand from specified url. The URL should be on the same server. The /javascript/aajslib.php3 shoud be included to the page by (by <script src="">) Example: {htmlajaxtoggle:more >>:Econnect:less >>:/aboutEcn.htm} - new else_text option for {ifset:<condition>:<text>:<else_text>} - displayed, when the condition is not empty - New {slice:name} function which displays slice name :-) - fixed problem with additional newlines in e-mails sent by AA -- |