You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(21) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(136) |
Feb
(104) |
Mar
(80) |
Apr
(21) |
May
(36) |
Jun
(18) |
Jul
(22) |
Aug
(5) |
Sep
(11) |
Oct
(7) |
Nov
(3) |
Dec
(12) |
2004 |
Jan
(5) |
Feb
|
Mar
(3) |
Apr
(1) |
May
|
Jun
(1) |
Jul
(3) |
Aug
(6) |
Sep
(3) |
Oct
(4) |
Nov
(4) |
Dec
|
2005 |
Jan
(1) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(4) |
Jun
(7) |
Jul
(4) |
Aug
(4) |
Sep
|
Oct
(8) |
Nov
(4) |
Dec
(1) |
2006 |
Jan
|
Feb
(3) |
Mar
(2) |
Apr
(4) |
May
|
Jun
(6) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(3) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
(4) |
Mar
(7) |
Apr
(4) |
May
(4) |
Jun
(8) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
|
Nov
(2) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(1) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
(1) |
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Honza M. <hon...@ec...> - 2010-08-16 18:41:17
|
Hi, today I submitted some changes in the Subversion. I didn't posted the changes for some time, so I added the list of changes form the last time I sent the changes to this list. The listed changes are in Subversion trunk. If you are using last stable branch of AA and want to switch to trunk version, then do: svn switch https://apc-aa.svn.sourceforge.net/svnroot/apc-aa/trunk and back to last stable branch: svn switch https://apc-aa.svn.sourceforge.net/svnroot/apc-aa/branches/2.50.x Current state of SVN trunk: Stable - we run current code three weeks on one of our production server. Last SVN Changes: 08/16/10 (honzam) - IP Banning for discussion is able to block not only individual IP address, but also subnets - like 157.14.189 (subnets of x.x.x are supported only => not x.x) - see IP Banning slice - new {removeids:<ids1>:<ids2>} - returns ids1 where will be removed all the ids from ids2 (all dash separated) - new {rand:min:max} - returns random integer number from min to max - new {str_repeat:string:times} - repeats string n-times - {fileinfo:<url>:<info>} now allows "size", "type" and "name" as the second - <info> - parameter - validation for unique now is able to not count current item - params are scope:field_id:ignored_item_id - UI - for help messages in field settings used textarea - New possibility to delete trashed unassigned links in Links module - hits are counted for items displayed by sitemodule, which uses SEO_Router ({xid}) - fix of slice.php3 for input type="image" submit - it sends x and y coordinates, so slice.php3 thinks "x" is the item id. It is no longer true - "x" is ignored, when provided also with numerical "y" parameter - old ereg replaced by preg regular expression parser in site module conditions - fixed bug in alerts sending - alerts are sended again - views called by f_v are no longer cached - fixed object storing - used in Forms - fixed sending notifications in slices with reading password set - clenup of phplib, removed unused code - fixed toexecute class to do not try to execute unexecutable tasks (priority 0) - pagecache records are deleted in chunks in order we do not get max_packet_size error from MySQL - javascript triggers for fields rewritten ussing class approach 06/29/10 (honzam) - fixed problem with grabber - which displayed error - fixed multiple checkbox - works with AJAX even if no category is selected 06/28/10 (honzam) - new possibility to write custom AA extensions on regular basis the scripts will be located in include/custom/<AA_CUSTOM_DIR>/ directory, where <AA_CUSTOM_DIR> should be defined in config.php3 file: define("AA_CUSTOM_DIR", "econnect"); // for script in include/custom/econnect/ The files in that directory are: stringexpand.php for AA_Stringexpand_* classes responder.php for AA_Responder_* classes - new possibility to use any AA expression as "spot variable" for conditions in site module branches (choices) - like: {xuser:_#USR_TYPE} = standard The expression in spot variable must begin with "{" and it checks for EQUALity (=) - not regular expressions like with APC variables - {ifeq} extended to use multiple choices: {ifeq:<etalon>:<option1>:<text1>[: ...][:default]} - just like: {ifeq:{xlang}:en:English:cz:Czech:Unknown language} - new <settings> parameter for {view:<vid>[:<ids>[:<settings>]]} - like {view:254::listlen-5} - new <reverse> and <sort> parameters for {treestring:<item_id>[:<relation_field>[:<reverse>[:<sort>]]]}. <reverse> creates the tree for child->parent relations <sort> the order of leaves (currently wors only for reverse trees) {treestring:2a4352366262227383484784635362ab:relation.......1:1:sort[0] [headline........]=a&sort[1][publish_date....]=d} - new possibility to switch the htmltogglecss ON, by deafault: {htmltogglecss:<toggle1>:<toggle2>:<css_rule>:<is_on>} {htmltogglecss:+:-:#id_#SITEM_ID:1} - new {timestamp:<date>} returning unix timestamp for textual date: {timestamp:2008-07-01} {timestamp:20080701t223807} - new {shuffle:<ids>[:<limit>]} - randomises the order of ids and returns up to <limit> ids - new {unique:<ids>[:<delimiter>]} - removes duplicate ids from the string - new <limit> parameter which reduces amount of returned ids for: {ids:<slice>:<conds>[:<sort>[:<delimiter>[:<restrict_ids>[:<limit>]]]]} - {ajax:<item_id>:<field_id>[:<alias>]} could use any AA exprexssions instead of single <alias> - new {xid:list} - returns ids list from start to current item in the tree - like:2587-2877-3004 - new (experimental) {redirect:<url>} - redirects user to specified page directly and right in the time it ocures in the code - could be used inside site module, when you need to redirect user to another branch (say from / to /cz/home) Ussage: {redirect:http#://example.org/en/new-page} - mention the escaped colon in http {redirect:{ifset:{xid}::http#://example.org/en/new-page}} - for conditional redirect - the e-mail images used in "src=" or "background=" attributes of HTML tags in e-mails sended by AA are included in the mail, so the probability of correctly displayed images in a e-mail client is much bigger - fixed text version of e-mail - the <head> and <style> tags are striped out - fixed file uploads for forms with new aa[][] variable syntax - fixed checkbox widget when called as AJAX - filler.php3 returns text in right encoding for ajax widgets - new AA_Refresh(id) javascript function which refreshes the div by ajax calling the url (view) stored in data-aa-url attribute - easier and better ajax widgets - old code stored/recovered on cancel - safer item moving in Item Manager - critical functions optimalized for speed 06/08/10 (honzam) - fixed form editing 04/28/10 (honzam) - fixed Ajax and Live widget for date - now displays selectboxes instead of timestamp number - new possibility of body onLoad trigger in Javascript "Field Triggers" - fixed problem with Alerts - confirmation didn't work when the Reader record do not contain the Confirmed field - widgets now uses HTML with correct ids (no invalid characteds like "[",...) - fix - E-mail notify now uses correct e-mail charset - fixed searches with id.............. field and operators (AND, OR...) - fixed error on Cancel in Form editor - remove unused directories - misc/oldDb2Db, misc/file2slice/tab2slice_php - {ajax} and {live} now uses standard AA_Saver functions - changed some queries from QuerySet() to better $aa_set->query() - zids have ArrayAccess interface, so you can use it just like $zids[1], ... - new Iterator interface for AA_Fields object 04/06/10 (honzam) - bigger speedup and cleanup. AA profiled with xdebug and optimized for speed on many places. Most pages are displayed 2-2.5 times faster, than before. Optimized serialization for cache, removed some internal - unnecessary caching, math rewritten to use PHP evaluation, unaliasing much optimized, used quicker php functions, ... - better support for login form in AA_Router_Seo site module login username and password also could be sumbmitted by GET method - new {ifeqfield:<item_id>:<field>:<var>:<text>:<else-text>} If any value of the (multivalue) $field is equal to $var, then print $text, else print $else_text. $(else_)text could contain _#1 alias for $var, but you can use any {} AA expression. You can ommit $item_id if you want to use current item Example: {ifeqfield:{xid}:category.......1:Nature: class="green"} Example: {ifeqfield::category.......1:Nature: class="green"} - new {ifin:<haystack>:<needle>:<text>:<else_text>} If $haystack contain $needle, then print $text, else print $else_text (else_)text could contain _#1 and _#2 aliases for $haystack and $needle Example: {ifin:ActionApps CMS:CMS:yes:no} - new {site:<site_id>:<property>} - get site module property (currently only "modules" is suprted - dash separated list of slices in the site Use it for example for computing of seo name: {ifset:{seo.............}:_#1:{seoname:{_#HEADLINE}:{site:{modulefield: {_#SLICE_ID}:site_id}:modules}}} - new {randomstring:<length>} - returns random string of given length - new {encrypt:<text>:<key>} and {decrypt:<text>:<key>} Encrypts/decrypts the $text using $key as password (mcrypt PHP extension must be installed) - {treestring:...} now returns only active items (ignore expired, trashed, ...) - fix - {ajax:...} change now works also with jQuery AA library /javascript/aajslib-jquery.php - no more adding unnecessary rXn=1 url parameter for old Netscape 4.7 browser Older changes you will find in CHANGES file: http://apc-aa.svn.sourceforge.net/viewvc/apc-aa/trunk/CHANGES?view=markup Volunteers, who will rewrite the changes from CHANGES file to http://actionapps.org documentation are strongly welcomen. Best, Honza |
From: Honza M. <hon...@ec...> - 2010-04-09 17:00:31
|
Hi, it must be horrible work to spot this bug Marek and thank you for it. It wasn't clever solution of the updates in AA. I'm sorry for your work. FYI, this bug was fixed 20.5.2009 by new version of sql_update - right before the 2.50.0 AA release. The bug is not present in any stable release of AA, nor in current develper version of AA. You need the database password for all sql_update.php3 operations (including database restore) right now. For all of you, who have AA installed from SVN between 2008-05-16 and 2009-05-20 without further updates, please update to last stable version of AA or at least delete the sql_update.php3 script. If you are not sure, just take a look at your apc-aa/sql_update.php3 page. If it looks like the one on Marek's screenshot (the Test and Repair links on the right), I'm talking to you. If you have any suggestions to the current AA update system, let me know. Honza Dne Čt 8. dubna 2010 Marek Tichy napsal(a): > Hi, > I've just been asked to solve a following mystery - AA reverting back > to where it was months or weeks ago for no obvious reason. > After a lot of digging I have found out that the culprit is the > sql_update.php3 script, which > > 1) restores from bck_ tables without password protection > 2) the (destructive) action is GET based > > this has resulted in a random spider or vulnerability scanner following > this link: > > /apc-aa/sql_update.php3?repair=AA_Optimize_Redefine_Site_Templates > > and reverting the site back to when the bck_ tables were created. > > I believe that normally the bck_ tables are deleted but in this case > they - for some reason (permissions, result of some manual backup etc..) > - were left alongside the live tables. > > I'd recommend the update script not to be executable by default. > > Best > Marek > > > > > --------------------------------------------------------------------------- > --- Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > "Did you get answers to your ActionApps-related queries? If yes, please > help the ActionApps community by uploading the answers onto appropriate > space in the ActionApps documentation wiki. See the *How to contribute* > section today http://actionapps.org/en/How_To_Contribute" > _______________________________________________ > apc-aa-general mailing list > apc...@li... > https://lists.sourceforge.net/lists/listinfo/apc-aa-general |
From: Marek T. <ma...@gn...> - 2010-04-07 15:07:29
|
Hi, I've just been asked to solve a following mystery - AA reverting back to where it was months or weeks ago for no obvious reasons. After a lot of digging I have found out that the culprit is the sql_update.php3 script, which 1) restores from bck_ tables without asking for password 2) the (destructive) action is GET based this has resulted in a random spider or vulnerability scanner going to /apc-aa/sql_update.php3?repair=AA_Optimize_Redefine_Site_Templates and just reverting the site back to whne the bck_ tables were created. Normally the bck_ tables are deleted but here they - for some reason (permissions, result of some manual backup etc..) - were left alongside the live tables. I believe the update script should not be executable by default. Best Marek PS: The attached image could be called "How to loose months of work in one click". |
From: Honza M. <hon...@ec...> - 2010-02-09 15:03:50
|
Hi, today I submitted some changes in the Subversion. I didn't posted the changes for some time, so I added the list of changes form the last published version of AA 2.50.0 Many changes are related to newer approach to write site modules - the SEO friendly predefined AA_SEO_Router. This is the site module configuration which do not require sitemodule's controll file - all you can set in AA interface. Many of our last websites are based on it. Like: - http://dataplan.info - http://biom.cz - http://www.nadacevia.cz - http://www.ekowatt.cz - http://www.mpo-efekt.cz - http://stopznasilneni.cz - http://biofarma.cz - http://padesatprocent.cz (for more details please look into /include/router.class.php) The listed changes are in Subversion trunk. If you are using last stable branch of AA and want to switch to trunk version, then do: svn switch https://apc-aa.svn.sourceforge.net/svnroot/apc-aa/trunk and back to last stable branch: svn switch https://apc-aa.svn.sourceforge.net/svnroot/apc-aa/branches/2.50.x Current state of SVN trunk: Stable - we run current code three weeks on one of our production server. Last SVN Changes: 02/11/10 (honzam) - new possibilities for sites which uses new site module AA_SEO_Router: - new home - sitemodule now handles root of the web and fills the variables as it was typed /{xlang}/ (/en/). {xlang} is filled form site module's language setting - new {xuser:xxxx} alias - auth user informations (of current user) xxxx is - field to show ("headline........", "_#SURNAME_" ...) - "id" for long id - empty for username (of curent logged user) (We do not use {user} in this case, since views with {user} are not cached, but the views with {xuser} could be (xuser is part of apc variable)) - easy way how to authenticate the user - send "username" and "password" by POST to any page which uses sitemodule. The users are authenticated from reader management slices. If OK, then the {xuser} is filled and the url is switched to ok_url parameter (if provided). Else the URL is switched to err_url (if provided) and err=1 is set (acessible by {qs:err}). xuser is stored in the cookies Login From Ussage: <form action="{go:xqs=}" method="post"> <fieldset> <legend>Login, please</legend> <div style="margin-right:150px; text-align:right;"> <label for="username">Username</label> <input type="text" name="username" id="username"><br> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> </fieldset> <input type="submit" value="Login" style="margin-left:200px;"> </form> - cookies added to pagecache key for sitemodule. - added possibility to specify top-right selectbox priority for all modules - not only the slices - new {htmltogglecss:<toggle1>:<toggle2>:<css_rule>} - creates the link text1 (or text2) +/- toggle which displays/hides all elements matching the css_rule (#id82422) in example: {htmltogglecss:+:-:#id_#SITEM_ID} - new {htmlajaxtogglecss:<toggle1>:<toggle2>:<css_rule_hide>:<url_of_text>[:<css_rule_update>]} like: {htmlajaxtogglecss:+:-:#id_#SITEM_ID:/apc- aa/view.php3?vid=33&cmd[33]=x-33-{_#SITEM_ID}} creates the link text1 (or text2) +/- toggle which loads+displays/hides all elements matching the css_rule (#id82422) in our example. Optional <css_rule_update> rule matching the element(s) to update if it is not the same as <css_rule_hide> (good for updating table rows, where we want to show/hide tr, but update td) - fixed {math} and decimals setting - new {max:arg1[:arg2][:arg...]} and {min:...} returns maximum/minimum - new {jsonstring:<any text>} encodes the string to use it within JSON - new selected parameter for {options:<group_id>:<selected>} - html <option>s for given constant group with selected option - new possibility to "&" delimiters for {view.php3} instead of standard "&" (Xinha visual editor changes the & to & so we do not need to care, now) - new {server:<param>} which prints $_SERVER variable @see http://php.net/manual/en/reserved.variables.server.php - new <param> parameter used as additional code to <img...> {img:<url>:[<phpthumb_params>]:[<info>]:[<param>]} {img:{img_url.........}::imgb:alt="Logo {_#HEADLINE}"} - default JPEG thumbnail quality changed from 70 to 90 - means better images with {img...} - new _#GRP_INDX (index of a group on page (it begins from 0 on each page)) and _#IGRPINDX (index of item within a group on page (it begins from 0 on each group)) aliases in views - added view links under alias definition textarea, if contains view.php3 reference - automatical removing of confusing links from Related Item Selection Window, when admin design is used - new Form.Element.setValue() and unpackToForm() javascript functions - simplified structure of extsess*.php3 and locsess.php3 include files - fixed {ajax} and {live} widgets - fixed parameter order after move to widget.class.php - better caching for tree aliases - {itree}, ... - experimental implementation of new {_:Shortcut:params} construct - not supported, yet 11/02/09 (honzam) - removed confusing "Category" menu entry in "Slice Settings" (categories are edited in field setting) - fixed "Modify Content" Item manager action 08/23/09 (honzam) - new possibility to define forms through admin interface (see "Slice Admin" - "Design" - "Forms") - new possibility to entering related items into slice using above mentioned forms, called through AJAX (Two Boxes widget has this feature, now) - removed maxcount restriction for number of related items - easier usage of AA_Manager class - generalized usage of AA_Object (and its storage into database) and AA_Content. Any AA_Object is now very easiy editable by AA_Manager; refactoring a bit - zids now uses Iterator (PHP 5 needed) - started usage of class autoloading - new AA_Grabber_Form which uses the new standard way of input the items to the database - log viewer and searchlog viewer rewriten to AA_Manager class instead of old tabeedit - merged changes from v2.50.x branch ------------------------ 08/22/09 (honzam) - new possibility to copy the field definition from ANY slice (see "Slice Admin -> Fields") - new {itree:<tree- string>:<nested_top>[:<content>[:<delimiter>[:<nested_bottom>]]]} Displays field/alias of given item(s) in tree. It wors exactly as {item} but the parameter order is more logical, so the {itree} is the preffered way of displaying trees and breadscrumbs... - new {treestring:<item_id>[:<relation_field>]} {treestring:2a4352366262227383484784635362ab:relation.......1} generates tree-string (as used in {itree}) based on item and its relations - new {(....)} syntax for deffered evaluation: {item:6625:{(some text {headline........}...etc.)}} This way you are able to pass {..} any aa_expressions to any function instead of using just aliases there. - new {qs:<varname>} which return url GET parameter: returns Havel for http://example.org/cz/page?surname=Havel - new {ifeq:<var1>:<var2>:<text>:<else_text>} {ifeq:{xseo1}:about: class="active"} If <var1> is equal to <var2>, then print <text>, else prints <else_text>. <(else_)text> could contain _#1 and _#2 aliases for <var1> and <var2>, but you can use any {} AA expression there. - fixed display of informations about current user {user:...} for fastcgi PHP version 08/17/09 (honzam) - Site Module now you can use without any control-file, so you do not need any PHP scripting at all. All you need is to select AA_Router_Seo in "Router" field in Site Setting and specify the slices, which are used within the Site Module. This means, that AA_Router_Seo is now stbilized and standardized. See also new possibilities useful here - {xid}, {xid:path}, {xid:1}, {go} and tree posibilities of {item} - new {go:<query-string>} - returns url based on current state (apc) and query-string paramater (for AA_Router_Seo) ussage: {go:xseo1=faq&xseo2=questions} (we used {go2url} custom function in previous versions of AA. {go} function is however core function, now - new {xid[:<level>]} - complement to {xseo1},.. variables of AA_Router_Seo - returns id of the current item on specifield level - {xid} - returns id of current item (the id of {xseo} item) - {xid:1} - returns id of item on first level (the id of {xseo1} item) for /cz/project/about-us returns id of "project" item - {xid:path} - returns ids path of current item - like: 2587(2877(3004)) as used in {item...} syntax - good for breadcrumbs: {item:{xid:path}: _#HEADLINE:: _#HEADLINK >} - new possibility for {item} to display items in trees. In that case you will use tree representation string, just like: 3234(3443-3678(3872-3664)-3223)-4045 The formating is then done through current <aa_expression> and <delimiter>, but also through new <nested_top> and <nested_bottom>: {item:<ids>:<aa_expression>[:<delimiter>[:<nested_top>[:<nested_bottom>]]]} Used just like: {item:{xid:path}: _#HEADLINE:: _#HEADLINK >} See wiki (http://actionapps.org/documentation/?title=Syntax#.7Bitem.7D_Display_field.2Falias_of_given_item) Update 08/22/09: use rather {itree} syntax, which has more logical parameter order (due to backward compatibility of {item}) 08/11/09 - (honzam) - new {filelink:<url>:<text>} syntax - get link to file for download (prints also file size and type) - ussage: {filelink:{file............}:{text............}} returns: <a href="http://..." title="Document [PDF - 157 kB]">Document</a> [PDF - 157 kB] - better handling of text in {shorten} syntax - new parameter lock=1 for polls.php used if we want something like view for polls and we want the polls do not react to URL parameters. Used maily if we want list more than one poll on one page - better cleanup of tasks (from toexecute queue) - the taksk with priority = 0. Such tasks are considered as undoabe. Note the priority is decreased on each try of task execution. 08/01/09 (asanchez75) - Added Shorcut to edit ITEM in AA finder. Search and show link to edit directly link of item Older changes you will find in CHANGES file: http://apc-aa.svn.sourceforge.net/viewvc/apc-aa/trunk/CHANGES?view=markup Volunteers, who will rewrite the changes from CHANGES file to http://actionapps.org documentation are strongly welcomen. Best, Honza |
From: Julian C. G. <ju...@co...> - 2009-07-22 21:22:02
|
Hola, I insist to Alejandro and Adam in the need to include in SVN their changes. For the AAs community is important that you take part in the project, even if the changes are small. What I want from you is that you "break the ice" and start including your developments in the core. This way probably will be easy for me to get financial resources for developers, i.e. with the Colombian Ministry of Communications... Best, Julián Adam Sánchez escribió: > Hi Honza, > > Sorry for the delay in responding. I have carefully read your message. > I understood that the modules are not in AA "modules" of other CMSs. > Are actually "data structure" is excellent and the idea that they can > be exchanged between MAs. That would distinguish it from other CMSs. > > So, I think it crucial issue documentation on the core, in particular > concerning: > > -how to add more types of views. > -how to add more types of fields. > -how to manipulate the menus of the AA Admin. > -how to manipulate the module "selector slices". > -how to add customized modules (no data structure) to AA without > altering the core. > > I am planning to build a module (not data structure) for not using SSI > (includes) and create a website without using the module but using > AJAX site to locate content. I think you can build but you need > documentation in order to avoid delaying understand that each class > and each function of the AA. > > It is certainly not easy and not least financing. So if it is not > possible, just keep moving forward, albeit slowly. > > Regarding the "search module", no problem integrating into the core of > the AA. Give me a couple of weeks to improve it and integrate it from > SVN. > > An example of the need to learn to manipulate the data in AA is like > loading a slice of all items with their fields and their contents in a > single array. I got a solution but I do not know if it will be the > best. You can view the code here. > > http://pastebin.com/m50eccb84 > > Regards, > > Adam > > On Thu, Jul 16, 2009 at 7:36 PM, Honza Malik<hon...@ec...> wrote: > >> Hi Adam, >> >> 15. 7. 2009 21:13:06 Adam Sánchez wrote: >> >>> Thanks Honza. I think it is very important to the development of >>> modules in AA. Many have grown CMS today because you can easily write >>> modules. There are huge directories of modules that the end user will >>> only download, install and use. >>> >> You are right, Adam - we need the possibility to download "modules" to AA. I >> just think that the name "modules" in AA means something different from other >> CMSs. >> >> Modules in most other CMSs are something like "photo-gallery module, petition >> module, contacts database", ... >> >> In AA we are able to create such "modules" just using AA interface and >> {some_command} constructs. In fact, all webdesiners working with AA are >> creating "modules". But, because we are using the word "module" in AA for >> different thing (special datastructures), I would rather call such "module" >> APPLICATION. >> >> What we miss right now is the easy way, how to download, duplicate and >> exchange such Applications. I already describe this idea when we was trying to >> do it as part of ActionKit. I'm attaching the description below. Right now, we >> are moving slowly to meet this goal of exchangeable Apps, but still - some >> parts still missing. >> >> If we want such Applications, we need consistent the AA Core, on top of which >> we will build the Apps. I mean all the {constructs}, fields, .... So, I would >> prefer to have all the base functionality integrated in the consistent AA >> core. That means to encourage developers to submit the changes to AA SVN in >> order "Apps" developers could count with it. Why not integrate your "Search" >> functionality directly to the AA core? >> >> This of course also mean, that there is still the need for well documented API >> on adding {construct}, ... >> >> What do you think? >> >> Honza >> >> >> ---- follows the description of "Apps" idea --- >> >> Subject: Re: [Ict-toolsets] discussion summary >> Date: 2005-09-01 >> From: Honza Malik <hon...@ec...> >> To: ict...@gn... >> >> [...] >> >> *The AA vision of AK* >> >> We use SHARED DATABASE in AA, which serve to more than one site/client. >> It is good for some tasks and also it has its limits, but it is by all >> means difference from Drupal and similar systems. If you think about it, >> it looks like the shared database could be extremely useful for Akit. >> >> Let's take the shared database idea and extend it to its borders. >> >> As Marek said: "Complicated things should be doable, and simple things >> should be simple. AA only fulfils the first part of the sentence". >> Right, we are able to do most of things in AA, but we all creating the >> applications from sketch. We already have petitions, we have press >> releases archive, we have calendar, news, action letters, >> photo-galleries, banner exchange system, postcards sending, file >> archive, alerts, contact management, user database, links ..., but we >> are not able to share it with others. We are not able to create this >> applications simply. >> >> Solution? >> >> Let's teach AA to be able to exchange the applications. It could work >> just like plug-ins in Firefox or jEdit. You will just click on >> "Application Manager" icon in AA Admin interface, select Application >> Repository server and then you select which application you want to >> install. Then click OK, and say petitions are prepared for use. >> Of course, you can modify the downloaded petitions, if you want - it is >> just pre-configured AA slice(s). >> >> The application is in fact set of slices, views, designs and possibly >> also items. We are able to create slice from local template in current >> AA. Now you will be able to pack your slices with all views to some >> application and then share it with others - across the servers. You then >> just specify, that user XY can download your application. Mrs. XY then >> in his AA opens "Application Manager", she selects your server as >> Application Repository and she downloads the application. >> >> The idea is, that any of AA could be Application Repository. You can >> download applications from any AA if you have permissions to. In praxis >> I expect, that there will be one "official" Application Repository (say >> the AA on actionapps.org), where you will find most of the best >> applications. Administrators would have permissions also to upload >> applications to the Repository. >> >> Please mention, that you are able to create application without any >> programing - you just clicking in the AA Admin interface. The same way >> you are able to install new applications - without any database >> installing - just click. That's the benefit of shared database. >> >> Of course, if you are able to install application form remote server, >> you are also able to duplicate application within the server. Then you >> will be able to prepare calendar/shop/petition application and allow >> users from public webpage to create its own petition (= duplicate the >> prepared app) - all without our touch. >> >> Then we maybe can also setup one AA server for Africa with pre-installed >> applications, so anyone will be able to come and create campaign site - >> the people will not need any technician or server administrator. But >> this is just kind of fantasy. >> >> Conclusion - benefits of this approach: >> >> - we are able to share applications and know-how - cooperate >> >> - we are able to create apps, install apps, duplicate apps or upload >> apps to Repository without any programming and database installing >> (take in account, that it is far easier to find web-developer than >> the programmer - not only in APC organisations) >> >> - we make the "simple things simple" in AA - just download the app >> >> - we will be able to share also examples, where administrators will >> see, how the things work in AA (learn by example) >> >> - all the apps we can easily extend - it is normal slices >> >> - the work on Akit would be spread across more organisations - some >> of them would program the functionality, some would be creating >> apps, ... >> >> >> Is it doable? >> Yes, I think it is not so big problem to make it work. Yes, there are >> some issues (like naming of views (view ids), solve overall site >> management, ...), but it is more technical discussion and the problems >> are solvable. >> >> [...] >> >> ---------- end of the description of "Apps" idea ---------- >> >> >> Dne St 15. července 2009 21:13:06 Adam Sánchez napsal(a): >> >>> Thanks Honza. I think it is very important to the development of >>> modules in AA. Many have grown CMS today because you can easily write >>> modules. There are huge directories of modules that the end user will >>> only download, install and use. >>> Why the AA can not do the same? We >>> must provide the documentation and examples for developers. Well, I >>> answer between the lines below. >>> >>> 2009/7/15 Honza Malik <hon...@ec...>: >>> >>>> Hello guys, >>>> >>>> congratulation Adam for your first module! And also thank you for >>>> starting this discussion. >>>> >>>> I have a few notes - about the module itself, the documentation a and >>>> development process. I will start with documentation. >>>> >>>> 1) Documentation >>>> >>>> I agree, that the documentation of ActionApps for developpers is far from >>>> perfect. I can see three reasons for it: >>>> >>>> - nobody writes the the textual description of the code or do not >>>> update it during the time. My fault. >>>> >>>> - the Developer's documentation disapeared (was not properly >>>> transformed) to Wiki documentation, when Marek changed the documentation >>>> from the one based on AA FAQ to Wiki. The old developer documentation >>>> could be found on http://www.actionapps.org/faq/index.shtml - see bottom >>>> of the page. It includes also my text "How to create new module?". Adam, >>>> did you find and used it? >>>> >>> I worked with >>> >>> /apc-aa/modules/module_TEMPLATE/readme.txt >>> >>> >>>> - It is not always necessary or efficient to document the code in >>>> textual form - form many reasons it is better SOME KIND of documentation >>>> have documented in directly in the code. The main reason for it is, that >>>> such documentation is always fresh (and I think the new APIs, based on >>>> classes are quite well self documented - like the one for the most often >>>> used classes like AA_Stringexpand). >>>> >>> It is possible to generate documentation with phpdoc or phpDocumentor? >>> >>> >>>> What I would propose is: >>>> >>>> - convert the old developer documentation to wiki (as the start for now) >>>> >>> I can support the documentation of >>> >>> http://www.actionapps.org/faq/detail.shtml?x=1687 >>> >>> on the construction of modules to the wiki. >>> >>> >>>> - write the list of current AA APIs with small description, use cases and >>>> related files (but not detailed API description, at least now). >>>> >>> It would be nice! >>> >>> >>>> 2) Development process >>>> >>>> There are things easy to do (like new {some_command:param:....} >>>> constructs, item export to CSV, HTML, ..., Optimize functions), which are >>>> quite well documented in the code and adding new {constructs} or export >>>> filters is easy. Maybe we just need to list such features and point the >>>> people to right direction/file (see the proposal above). I think it >>>> covers most often added functionality. >>>> >>>> Of course, there are features, which are harder to implement, they are >>>> part of the AA core or need some bigger picture about the code of AA. >>>> >>> you're right, here are some examples: >>> >>> I would like to know how to add a view? >>> I would like to know how to add fields? >>> I would like to know how to add fields to user profile? >>> >>> but even these changes should be included as modules and not direct >>> changes to the core. >>> >>> >>>> I would encourage developers to write an email to apc-aa-coders, what >>>> they are planning to implement. Mainly if they are planning to implement >>>> some feature from the second category. Maybe we can give you some hint, >>>> how we see the best implementation of that functionality. There are many >>>> benefits from it: >>>> >>>> - maybe we can find the easier solution to the problem >>>> - maybe you get some hints >>>> - other people can suggest other functionality and extension which you >>>> could take into account >>>> - maybe you will find some cosponsor or coworker >>>> - such code will be easier accepted for inclusion to ActionApps SVN >>>> >>>> >>>> 3) The Search module. >>>> >>>> I think it is great example of the module implementation. Yes, it is how >>>> you would write the module. I have one question - did you Adam consider >>>> to implement this functionality directly into "AA Finder" page? >>>> >>>> https://aa.ecn.cz/aaa/admin/aafinder.php3 >>>> >>>> I'm not sure, if the search functionality is the right place for Module. >>>> I think module is a bit too complex for such thing - it can hold its own >>>> datastructures, its own User Interface and also mainly - you can assign >>>> permissios to such module (instances). >>>> >>>> As I see, the user in the Search module is able to search whole database >>>> - all the slices. So it MUST be permitted only to superadmins (just like >>>> the "AA Finder") page. What do you think? >>>> >>> Ok, but at this point I have some suggestions. >>> The AA should have an interface to load the modules more easily >>> without having to edit files such as core constants.php3 and >>> sql_update.php3. Should be activated or deactivated at will. >>> There should be two types of modules, core modules and custom modules. >>> Not all modules should enter the core because it would make heavy. >>> >>> Regards, >>> >>> Adam >>> >>> >>>> Honza >>>> >>>> Dne Po 13. července 2009 Ariel Barbosa napsal(a): >>>> >>>>> Hi, Honza, what do you think about this proposal to prepare a full >>>>> documentation of the action-apps API? Do you have plans about that? >>>>> >>>>> Un saludo, >>>>> >>>>> Ariel Barbosa >>>>> >>>>> Inscríbase al 12º Taller sobre Tecnologías de Redes >>>>> Internet para América Latina y el Caribe (WALC 2009) >>>>> Bogotá, 21 al 25 de Septiembre de 2009 >>>>> http://www.eslared.org.ve/walc2009 >>>>> >>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>>>> ARIEL BARBOSA >>>>> Coordinador de Proyectos Web >>>>> Colnodo - Red APC Colombia >>>>> Diag. 40A (Ant. Av. 39) No. 14-75, Bogotá, Colombia >>>>> Tel: +571 2324246 >>>>> Fax: +571 338 0264 >>>>> http://www.colnodo.apc.org * ar...@co... >>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>>>> >>>>> Adam Sánchez escribió: >>>>> >>>>>> Hi Julian, >>>>>> Best writing in English to include Honza. >>>>>> I think it is better to work in an orderly manner and focus on the >>>>>> development of modules for the AA. I think the lack of comprehensive >>>>>> documentation on the subject was one of the reasons for the slow >>>>>> growth of the community of programmers. If the API of the AA to be >>>>>> better documented we could certainly go further. In developing this >>>>>> module I had to get to review all files of the AA to extract the >>>>>> features you need to understand. It took me a long time! >>>>>> So, in my humble opinion the biggest challenge is to begin to document >>>>>> the API of the AA. >>>>>> The contribution of Alexander should be integrated as a module and not >>>>>> necessarily the core. >>>>>> Regards, >>>>>> Adam >>>>>> >>>>>> 2009/7/13 Julian Casasbuenas G. <ju...@co...>: >>>>>> >>>>>>> Hola Adam, >>>>>>> >>>>>>> Copio este mensaje también a Alejandro que ha desarrollado algunas >>>>>>> mejoras (p.e. control de spam a los formularios y mejoras a >>>>>>> calendarios de eventos) que me parece clave sean incluidas en el >>>>>>> código de las AAs directamente. Cómo ven Uds esta posibilidad? Ahora >>>>>>> tenemos un proceso en Colombia de evaluación de la plataforma y tener >>>>>>> aportes de >>>>>>> desarrolladores de la región más visibles a través de sourceforge es >>>>>>> clave para el futuro de las AAs. Copio a Honza para ver cómo podemos >>>>>>> viabilizar estas actualizaciones directamente. >>>>>>> >>>>>>> Estamos en contacto, >>>>>>> >>>>>>> Julián >>>>>>> >>>>>>> Adam Sánchez escribió: >>>>>>> >>>>>>>> Hola a todos >>>>>>>> >>>>>>>> Les comparto un modulo que construi para las AA 2.50. Este modulo >>>>>>>> sirve para hacer busquedas internas. >>>>>>>> Las instrucciones de instalacion estan dentro del archivo LEAME..txt >>>>>>>> Fundamentalmente es un demo que ayuda a entender como se pueden >>>>>>>> añadir modulos a las AA, un tema poco documentado hasta ahora para >>>>>>>> los programadores php >>>>>>>> El modulo les debe salir como esta imagen >>>>>>>> http://yfrog.com/0wsearchezcp >>>>>>>> >>>>>>>> Saludos, >>>>>>>> Adam. >>>>>>>> >>>>>>>> -------------------------------------------------------------------- >>>>>>>> --- - >>>>>>>> >>>>>>>> -------------------------------------------------------------------- >>>>>>>> --- ------- Enter the BlackBerry Developer Challenge >>>>>>>> This is your chance to win up to $100,000 in prizes! For a limited >>>>>>>> time, vendors submitting new applications to BlackBerry App >>>>>>>> World(TM) will have the opportunity to enter the BlackBerry >>>>>>>> Developer Challenge. See full prize details at: >>>>>>>> http://p.sf.net/sfu/Challenge >>>>>>>> -------------------------------------------------------------------- >>>>>>>> --- - >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> ¿Recibiste respuestas a tus preguntas sobre ActionApps? Si es >>>>>>>> así, ayuda por favor a la comunidad de ActionApps publicando >>>>>>>> las respuestas a tus preguntas a la documentación de >>>>>>>> ActionApps. Ve la sección *cómo contribuir* en >>>>>>>> http://www.actionapps.org/es/C%C3%B3mo_contribuir >>>>>>>> _______________________________________________ >>>>>>>> Apc-aa-espanol mailing list >>>>>>>> Apc...@li... >>>>>>>> https://lists.sourceforge.net/lists/listinfo/apc-aa-espanol >>>>>>>> >>>>>>> -- >>>>>>> >>>>>>> Julian Casasbuenas G. >>>>>>> Director Colnodo >>>>>>> Diagonal 40A (Antigua Av. 39) No. 14-75, Bogota, Colombia >>>>>>> Tel: 57-1-2324246, Cel. 57-315-3339099 Fax: 57-1-3380264 >>>>>>> www.colnodo.apc.org - Uso Estratégico de Internet para el Desarrollo >>>>>>> Miembro de la Asociacion para el Progreso de las Comunicaciones -APC- >>>>>>> www.apc.org >>>>>>> > > > > -- Julian Casasbuenas G. Director Colnodo Diagonal 40A (Antigua Av. 39) No. 14-75, Bogota, Colombia Tel: 57-1-2324246, Cel. 57-315-3339099 Fax: 57-1-3380264 www.colnodo.apc.org - Uso Estratégico de Internet para el Desarrollo Miembro de la Asociacion para el Progreso de las Comunicaciones -APC- www.apc.org Inscríbase al 12º Taller sobre Tecnologías de Redes Internet para América Latina y el Caribe (WALC 2009) Bogotá, 21 al 25 de Septiembre de 2009 http://www.eslared.org.ve/walc2009 |
From: Adam S. <a.s...@gm...> - 2009-07-20 13:57:46
|
Hi Honza, Sorry for the delay in responding. I have carefully read your message. I understood that the modules are not in AA "modules" of other CMSs. Are actually "data structure" is excellent and the idea that they can be exchanged between MAs. That would distinguish it from other CMSs. So, I think it crucial issue documentation on the core, in particular concerning: -how to add more types of views. -how to add more types of fields. -how to manipulate the menus of the AA Admin. -how to manipulate the module "selector slices". -how to add customized modules (no data structure) to AA without altering the core. I am planning to build a module (not data structure) for not using SSI (includes) and create a website without using the module but using AJAX site to locate content. I think you can build but you need documentation in order to avoid delaying understand that each class and each function of the AA. It is certainly not easy and not least financing. So if it is not possible, just keep moving forward, albeit slowly. Regarding the "search module", no problem integrating into the core of the AA. Give me a couple of weeks to improve it and integrate it from SVN. An example of the need to learn to manipulate the data in AA is like loading a slice of all items with their fields and their contents in a single array. I got a solution but I do not know if it will be the best. You can view the code here. http://pastebin.com/m50eccb84 Regards, Adam On Thu, Jul 16, 2009 at 7:36 PM, Honza Malik<hon...@ec...> wrote: > Hi Adam, > > 15. 7. 2009 21:13:06 Adam Sánchez wrote: >> Thanks Honza. I think it is very important to the development of >> modules in AA. Many have grown CMS today because you can easily write >> modules. There are huge directories of modules that the end user will >> only download, install and use. > > You are right, Adam - we need the possibility to download "modules" to AA. I > just think that the name "modules" in AA means something different from other > CMSs. > > Modules in most other CMSs are something like "photo-gallery module, petition > module, contacts database", ... > > In AA we are able to create such "modules" just using AA interface and > {some_command} constructs. In fact, all webdesiners working with AA are > creating "modules". But, because we are using the word "module" in AA for > different thing (special datastructures), I would rather call such "module" > APPLICATION. > > What we miss right now is the easy way, how to download, duplicate and > exchange such Applications. I already describe this idea when we was trying to > do it as part of ActionKit. I'm attaching the description below. Right now, we > are moving slowly to meet this goal of exchangeable Apps, but still - some > parts still missing. > > If we want such Applications, we need consistent the AA Core, on top of which > we will build the Apps. I mean all the {constructs}, fields, .... So, I would > prefer to have all the base functionality integrated in the consistent AA > core. That means to encourage developers to submit the changes to AA SVN in > order "Apps" developers could count with it. Why not integrate your "Search" > functionality directly to the AA core? > > This of course also mean, that there is still the need for well documented API > on adding {construct}, ... > > What do you think? > > Honza > > > ---- follows the description of "Apps" idea --- > > Subject: Re: [Ict-toolsets] discussion summary > Date: 2005-09-01 > From: Honza Malik <hon...@ec...> > To: ict...@gn... > > [...] > > *The AA vision of AK* > > We use SHARED DATABASE in AA, which serve to more than one site/client. > It is good for some tasks and also it has its limits, but it is by all > means difference from Drupal and similar systems. If you think about it, > it looks like the shared database could be extremely useful for Akit. > > Let's take the shared database idea and extend it to its borders. > > As Marek said: "Complicated things should be doable, and simple things > should be simple. AA only fulfils the first part of the sentence". > Right, we are able to do most of things in AA, but we all creating the > applications from sketch. We already have petitions, we have press > releases archive, we have calendar, news, action letters, > photo-galleries, banner exchange system, postcards sending, file > archive, alerts, contact management, user database, links ..., but we > are not able to share it with others. We are not able to create this > applications simply. > > Solution? > > Let's teach AA to be able to exchange the applications. It could work > just like plug-ins in Firefox or jEdit. You will just click on > "Application Manager" icon in AA Admin interface, select Application > Repository server and then you select which application you want to > install. Then click OK, and say petitions are prepared for use. > Of course, you can modify the downloaded petitions, if you want - it is > just pre-configured AA slice(s). > > The application is in fact set of slices, views, designs and possibly > also items. We are able to create slice from local template in current > AA. Now you will be able to pack your slices with all views to some > application and then share it with others - across the servers. You then > just specify, that user XY can download your application. Mrs. XY then > in his AA opens "Application Manager", she selects your server as > Application Repository and she downloads the application. > > The idea is, that any of AA could be Application Repository. You can > download applications from any AA if you have permissions to. In praxis > I expect, that there will be one "official" Application Repository (say > the AA on actionapps.org), where you will find most of the best > applications. Administrators would have permissions also to upload > applications to the Repository. > > Please mention, that you are able to create application without any > programing - you just clicking in the AA Admin interface. The same way > you are able to install new applications - without any database > installing - just click. That's the benefit of shared database. > > Of course, if you are able to install application form remote server, > you are also able to duplicate application within the server. Then you > will be able to prepare calendar/shop/petition application and allow > users from public webpage to create its own petition (= duplicate the > prepared app) - all without our touch. > > Then we maybe can also setup one AA server for Africa with pre-installed > applications, so anyone will be able to come and create campaign site - > the people will not need any technician or server administrator. But > this is just kind of fantasy. > > Conclusion - benefits of this approach: > > - we are able to share applications and know-how - cooperate > > - we are able to create apps, install apps, duplicate apps or upload > apps to Repository without any programming and database installing > (take in account, that it is far easier to find web-developer than > the programmer - not only in APC organisations) > > - we make the "simple things simple" in AA - just download the app > > - we will be able to share also examples, where administrators will > see, how the things work in AA (learn by example) > > - all the apps we can easily extend - it is normal slices > > - the work on Akit would be spread across more organisations - some > of them would program the functionality, some would be creating > apps, ... > > > Is it doable? > Yes, I think it is not so big problem to make it work. Yes, there are > some issues (like naming of views (view ids), solve overall site > management, ...), but it is more technical discussion and the problems > are solvable. > > [...] > > ---------- end of the description of "Apps" idea ---------- > > > Dne St 15. července 2009 21:13:06 Adam Sánchez napsal(a): >> Thanks Honza. I think it is very important to the development of >> modules in AA. Many have grown CMS today because you can easily write >> modules. There are huge directories of modules that the end user will >> only download, install and use. >> Why the AA can not do the same? We >> must provide the documentation and examples for developers. Well, I >> answer between the lines below. >> >> 2009/7/15 Honza Malik <hon...@ec...>: >> > Hello guys, >> > >> > congratulation Adam for your first module! And also thank you for >> > starting this discussion. >> > >> > I have a few notes - about the module itself, the documentation a and >> > development process. I will start with documentation. >> > >> > 1) Documentation >> > >> > I agree, that the documentation of ActionApps for developpers is far from >> > perfect. I can see three reasons for it: >> > >> > - nobody writes the the textual description of the code or do not >> > update it during the time. My fault. >> > >> > - the Developer's documentation disapeared (was not properly >> > transformed) to Wiki documentation, when Marek changed the documentation >> > from the one based on AA FAQ to Wiki. The old developer documentation >> > could be found on http://www.actionapps.org/faq/index.shtml - see bottom >> > of the page. It includes also my text "How to create new module?". Adam, >> > did you find and used it? >> >> I worked with >> >> /apc-aa/modules/module_TEMPLATE/readme.txt >> >> > - It is not always necessary or efficient to document the code in >> > textual form - form many reasons it is better SOME KIND of documentation >> > have documented in directly in the code. The main reason for it is, that >> > such documentation is always fresh (and I think the new APIs, based on >> > classes are quite well self documented - like the one for the most often >> > used classes like AA_Stringexpand). >> >> It is possible to generate documentation with phpdoc or phpDocumentor? >> >> > What I would propose is: >> > >> > - convert the old developer documentation to wiki (as the start for now) >> >> I can support the documentation of >> >> http://www.actionapps.org/faq/detail.shtml?x=1687 >> >> on the construction of modules to the wiki. >> >> > - write the list of current AA APIs with small description, use cases and >> > related files (but not detailed API description, at least now). >> >> It would be nice! >> >> > 2) Development process >> > >> > There are things easy to do (like new {some_command:param:....} >> > constructs, item export to CSV, HTML, ..., Optimize functions), which are >> > quite well documented in the code and adding new {constructs} or export >> > filters is easy. Maybe we just need to list such features and point the >> > people to right direction/file (see the proposal above). I think it >> > covers most often added functionality. >> > >> > Of course, there are features, which are harder to implement, they are >> > part of the AA core or need some bigger picture about the code of AA. >> >> you're right, here are some examples: >> >> I would like to know how to add a view? >> I would like to know how to add fields? >> I would like to know how to add fields to user profile? >> >> but even these changes should be included as modules and not direct >> changes to the core. >> >> > I would encourage developers to write an email to apc-aa-coders, what >> > they are planning to implement. Mainly if they are planning to implement >> > some feature from the second category. Maybe we can give you some hint, >> > how we see the best implementation of that functionality. There are many >> > benefits from it: >> > >> > - maybe we can find the easier solution to the problem >> > - maybe you get some hints >> > - other people can suggest other functionality and extension which you >> > could take into account >> > - maybe you will find some cosponsor or coworker >> > - such code will be easier accepted for inclusion to ActionApps SVN >> > >> > >> > 3) The Search module. >> > >> > I think it is great example of the module implementation. Yes, it is how >> > you would write the module. I have one question - did you Adam consider >> > to implement this functionality directly into "AA Finder" page? >> > >> > https://aa.ecn.cz/aaa/admin/aafinder.php3 >> > >> > I'm not sure, if the search functionality is the right place for Module. >> > I think module is a bit too complex for such thing - it can hold its own >> > datastructures, its own User Interface and also mainly - you can assign >> > permissios to such module (instances). >> > >> > As I see, the user in the Search module is able to search whole database >> > - all the slices. So it MUST be permitted only to superadmins (just like >> > the "AA Finder") page. What do you think? >> >> Ok, but at this point I have some suggestions. >> The AA should have an interface to load the modules more easily >> without having to edit files such as core constants.php3 and >> sql_update.php3. Should be activated or deactivated at will. >> There should be two types of modules, core modules and custom modules. >> Not all modules should enter the core because it would make heavy. >> >> Regards, >> >> Adam >> >> > Honza >> > >> > Dne Po 13. července 2009 Ariel Barbosa napsal(a): >> >> Hi, Honza, what do you think about this proposal to prepare a full >> >> documentation of the action-apps API? Do you have plans about that? >> >> >> >> Un saludo, >> >> >> >> Ariel Barbosa >> >> >> >> Inscríbase al 12º Taller sobre Tecnologías de Redes >> >> Internet para América Latina y el Caribe (WALC 2009) >> >> Bogotá, 21 al 25 de Septiembre de 2009 >> >> http://www.eslared.org.ve/walc2009 >> >> >> >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> >> ARIEL BARBOSA >> >> Coordinador de Proyectos Web >> >> Colnodo - Red APC Colombia >> >> Diag. 40A (Ant. Av. 39) No. 14-75, Bogotá, Colombia >> >> Tel: +571 2324246 >> >> Fax: +571 338 0264 >> >> http://www.colnodo.apc.org * ar...@co... >> >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> >> >> >> Adam Sánchez escribió: >> >> > Hi Julian, >> >> > Best writing in English to include Honza. >> >> > I think it is better to work in an orderly manner and focus on the >> >> > development of modules for the AA. I think the lack of comprehensive >> >> > documentation on the subject was one of the reasons for the slow >> >> > growth of the community of programmers. If the API of the AA to be >> >> > better documented we could certainly go further. In developing this >> >> > module I had to get to review all files of the AA to extract the >> >> > features you need to understand. It took me a long time! >> >> > So, in my humble opinion the biggest challenge is to begin to document >> >> > the API of the AA. >> >> > The contribution of Alexander should be integrated as a module and not >> >> > necessarily the core. >> >> > Regards, >> >> > Adam >> >> > >> >> > 2009/7/13 Julian Casasbuenas G. <ju...@co...>: >> >> >> Hola Adam, >> >> >> >> >> >> Copio este mensaje también a Alejandro que ha desarrollado algunas >> >> >> mejoras (p.e. control de spam a los formularios y mejoras a >> >> >> calendarios de eventos) que me parece clave sean incluidas en el >> >> >> código de las AAs directamente. Cómo ven Uds esta posibilidad? Ahora >> >> >> tenemos un proceso en Colombia de evaluación de la plataforma y tener >> >> >> aportes de >> >> >> desarrolladores de la región más visibles a través de sourceforge es >> >> >> clave para el futuro de las AAs. Copio a Honza para ver cómo podemos >> >> >> viabilizar estas actualizaciones directamente. >> >> >> >> >> >> Estamos en contacto, >> >> >> >> >> >> Julián >> >> >> >> >> >> Adam Sánchez escribió: >> >> >>> Hola a todos >> >> >>> >> >> >>> Les comparto un modulo que construi para las AA 2.50. Este modulo >> >> >>> sirve para hacer busquedas internas. >> >> >>> Las instrucciones de instalacion estan dentro del archivo LEAME..txt >> >> >>> Fundamentalmente es un demo que ayuda a entender como se pueden >> >> >>> añadir modulos a las AA, un tema poco documentado hasta ahora para >> >> >>> los programadores php >> >> >>> El modulo les debe salir como esta imagen >> >> >>> http://yfrog.com/0wsearchezcp >> >> >>> >> >> >>> Saludos, >> >> >>> Adam. >> >> >>> >> >> >>> -------------------------------------------------------------------- >> >> >>>--- - >> >> >>> >> >> >>> -------------------------------------------------------------------- >> >> >>>--- ------- Enter the BlackBerry Developer Challenge >> >> >>> This is your chance to win up to $100,000 in prizes! For a limited >> >> >>> time, vendors submitting new applications to BlackBerry App >> >> >>> World(TM) will have the opportunity to enter the BlackBerry >> >> >>> Developer Challenge. See full prize details at: >> >> >>> http://p.sf.net/sfu/Challenge >> >> >>> -------------------------------------------------------------------- >> >> >>>--- - >> >> >>> >> >> >>> _______________________________________________ >> >> >>> ¿Recibiste respuestas a tus preguntas sobre ActionApps? Si es >> >> >>> así, ayuda por favor a la comunidad de ActionApps publicando >> >> >>> las respuestas a tus preguntas a la documentación de >> >> >>> ActionApps. Ve la sección *cómo contribuir* en >> >> >>> http://www.actionapps.org/es/C%C3%B3mo_contribuir >> >> >>> _______________________________________________ >> >> >>> Apc-aa-espanol mailing list >> >> >>> Apc...@li... >> >> >>> https://lists.sourceforge.net/lists/listinfo/apc-aa-espanol >> >> >> >> >> >> -- >> >> >> >> >> >> Julian Casasbuenas G. >> >> >> Director Colnodo >> >> >> Diagonal 40A (Antigua Av. 39) No. 14-75, Bogota, Colombia >> >> >> Tel: 57-1-2324246, Cel. 57-315-3339099 Fax: 57-1-3380264 >> >> >> www.colnodo.apc.org - Uso Estratégico de Internet para el Desarrollo >> >> >> Miembro de la Asociacion para el Progreso de las Comunicaciones -APC- >> >> >> www.apc.org > -- ---------------------------------------- Adam Sánchez Ayte CONDESAN-Infoandina Centro Internacional de la Papa Av. La Molina 1895, La Molina - PO Box 1558, Lima 12, Perú Telf. (51-1) 349-6017 Ext. 2078 / Fax. (51-1)317-5326 / Web trabajo: http://www.condesan.org Web personal: http://cambio.name |
From: Honza M. <hon...@ec...> - 2009-07-17 00:53:18
|
Hi Adam, 15. 7. 2009 21:13:06 Adam Sánchez wrote: > Thanks Honza. I think it is very important to the development of > modules in AA. Many have grown CMS today because you can easily write > modules. There are huge directories of modules that the end user will > only download, install and use. You are right, Adam - we need the possibility to download "modules" to AA. I just think that the name "modules" in AA means something different from other CMSs. Modules in most other CMSs are something like "photo-gallery module, petition module, contacts database", ... In AA we are able to create such "modules" just using AA interface and {some_command} constructs. In fact, all webdesiners working with AA are creating "modules". But, because we are using the word "module" in AA for different thing (special datastructures), I would rather call such "module" APPLICATION. What we miss right now is the easy way, how to download, duplicate and exchange such Applications. I already describe this idea when we was trying to do it as part of ActionKit. I'm attaching the description below. Right now, we are moving slowly to meet this goal of exchangeable Apps, but still - some parts still missing. If we want such Applications, we need consistent the AA Core, on top of which we will build the Apps. I mean all the {constructs}, fields, .... So, I would prefer to have all the base functionality integrated in the consistent AA core. That means to encourage developers to submit the changes to AA SVN in order "Apps" developers could count with it. Why not integrate your "Search" functionality directly to the AA core? This of course also mean, that there is still the need for well documented API on adding {construct}, ... What do you think? Honza ---- follows the description of "Apps" idea --- Subject: Re: [Ict-toolsets] discussion summary Date: 2005-09-01 From: Honza Malik <hon...@ec...> To: ict...@gn... [...] *The AA vision of AK* We use SHARED DATABASE in AA, which serve to more than one site/client. It is good for some tasks and also it has its limits, but it is by all means difference from Drupal and similar systems. If you think about it, it looks like the shared database could be extremely useful for Akit. Let's take the shared database idea and extend it to its borders. As Marek said: "Complicated things should be doable, and simple things should be simple. AA only fulfils the first part of the sentence". Right, we are able to do most of things in AA, but we all creating the applications from sketch. We already have petitions, we have press releases archive, we have calendar, news, action letters, photo-galleries, banner exchange system, postcards sending, file archive, alerts, contact management, user database, links ..., but we are not able to share it with others. We are not able to create this applications simply. Solution? Let's teach AA to be able to exchange the applications. It could work just like plug-ins in Firefox or jEdit. You will just click on "Application Manager" icon in AA Admin interface, select Application Repository server and then you select which application you want to install. Then click OK, and say petitions are prepared for use. Of course, you can modify the downloaded petitions, if you want - it is just pre-configured AA slice(s). The application is in fact set of slices, views, designs and possibly also items. We are able to create slice from local template in current AA. Now you will be able to pack your slices with all views to some application and then share it with others - across the servers. You then just specify, that user XY can download your application. Mrs. XY then in his AA opens "Application Manager", she selects your server as Application Repository and she downloads the application. The idea is, that any of AA could be Application Repository. You can download applications from any AA if you have permissions to. In praxis I expect, that there will be one "official" Application Repository (say the AA on actionapps.org), where you will find most of the best applications. Administrators would have permissions also to upload applications to the Repository. Please mention, that you are able to create application without any programing - you just clicking in the AA Admin interface. The same way you are able to install new applications - without any database installing - just click. That's the benefit of shared database. Of course, if you are able to install application form remote server, you are also able to duplicate application within the server. Then you will be able to prepare calendar/shop/petition application and allow users from public webpage to create its own petition (= duplicate the prepared app) - all without our touch. Then we maybe can also setup one AA server for Africa with pre-installed applications, so anyone will be able to come and create campaign site - the people will not need any technician or server administrator. But this is just kind of fantasy. Conclusion - benefits of this approach: - we are able to share applications and know-how - cooperate - we are able to create apps, install apps, duplicate apps or upload apps to Repository without any programming and database installing (take in account, that it is far easier to find web-developer than the programmer - not only in APC organisations) - we make the "simple things simple" in AA - just download the app - we will be able to share also examples, where administrators will see, how the things work in AA (learn by example) - all the apps we can easily extend - it is normal slices - the work on Akit would be spread across more organisations - some of them would program the functionality, some would be creating apps, ... Is it doable? Yes, I think it is not so big problem to make it work. Yes, there are some issues (like naming of views (view ids), solve overall site management, ...), but it is more technical discussion and the problems are solvable. [...] ---------- end of the description of "Apps" idea ---------- Dne St 15. července 2009 21:13:06 Adam Sánchez napsal(a): > Thanks Honza. I think it is very important to the development of > modules in AA. Many have grown CMS today because you can easily write > modules. There are huge directories of modules that the end user will > only download, install and use. > Why the AA can not do the same? We > must provide the documentation and examples for developers. Well, I > answer between the lines below. > > 2009/7/15 Honza Malik <hon...@ec...>: > > Hello guys, > > > > congratulation Adam for your first module! And also thank you for > > starting this discussion. > > > > I have a few notes - about the module itself, the documentation a and > > development process. I will start with documentation. > > > > 1) Documentation > > > > I agree, that the documentation of ActionApps for developpers is far from > > perfect. I can see three reasons for it: > > > > - nobody writes the the textual description of the code or do not > > update it during the time. My fault. > > > > - the Developer's documentation disapeared (was not properly > > transformed) to Wiki documentation, when Marek changed the documentation > > from the one based on AA FAQ to Wiki. The old developer documentation > > could be found on http://www.actionapps.org/faq/index.shtml - see bottom > > of the page. It includes also my text "How to create new module?". Adam, > > did you find and used it? > > I worked with > > /apc-aa/modules/module_TEMPLATE/readme.txt > > > - It is not always necessary or efficient to document the code in > > textual form - form many reasons it is better SOME KIND of documentation > > have documented in directly in the code. The main reason for it is, that > > such documentation is always fresh (and I think the new APIs, based on > > classes are quite well self documented - like the one for the most often > > used classes like AA_Stringexpand). > > It is possible to generate documentation with phpdoc or phpDocumentor? > > > What I would propose is: > > > > - convert the old developer documentation to wiki (as the start for now) > > I can support the documentation of > > http://www.actionapps.org/faq/detail.shtml?x=1687 > > on the construction of modules to the wiki. > > > - write the list of current AA APIs with small description, use cases and > > related files (but not detailed API description, at least now). > > It would be nice! > > > 2) Development process > > > > There are things easy to do (like new {some_command:param:....} > > constructs, item export to CSV, HTML, ..., Optimize functions), which are > > quite well documented in the code and adding new {constructs} or export > > filters is easy. Maybe we just need to list such features and point the > > people to right direction/file (see the proposal above). I think it > > covers most often added functionality. > > > > Of course, there are features, which are harder to implement, they are > > part of the AA core or need some bigger picture about the code of AA. > > you're right, here are some examples: > > I would like to know how to add a view? > I would like to know how to add fields? > I would like to know how to add fields to user profile? > > but even these changes should be included as modules and not direct > changes to the core. > > > I would encourage developers to write an email to apc-aa-coders, what > > they are planning to implement. Mainly if they are planning to implement > > some feature from the second category. Maybe we can give you some hint, > > how we see the best implementation of that functionality. There are many > > benefits from it: > > > > - maybe we can find the easier solution to the problem > > - maybe you get some hints > > - other people can suggest other functionality and extension which you > > could take into account > > - maybe you will find some cosponsor or coworker > > - such code will be easier accepted for inclusion to ActionApps SVN > > > > > > 3) The Search module. > > > > I think it is great example of the module implementation. Yes, it is how > > you would write the module. I have one question - did you Adam consider > > to implement this functionality directly into "AA Finder" page? > > > > https://aa.ecn.cz/aaa/admin/aafinder.php3 > > > > I'm not sure, if the search functionality is the right place for Module. > > I think module is a bit too complex for such thing - it can hold its own > > datastructures, its own User Interface and also mainly - you can assign > > permissios to such module (instances). > > > > As I see, the user in the Search module is able to search whole database > > - all the slices. So it MUST be permitted only to superadmins (just like > > the "AA Finder") page. What do you think? > > Ok, but at this point I have some suggestions. > The AA should have an interface to load the modules more easily > without having to edit files such as core constants.php3 and > sql_update.php3. Should be activated or deactivated at will. > There should be two types of modules, core modules and custom modules. > Not all modules should enter the core because it would make heavy. > > Regards, > > Adam > > > Honza > > > > Dne Po 13. července 2009 Ariel Barbosa napsal(a): > >> Hi, Honza, what do you think about this proposal to prepare a full > >> documentation of the action-apps API? Do you have plans about that? > >> > >> Un saludo, > >> > >> Ariel Barbosa > >> > >> Inscríbase al 12º Taller sobre Tecnologías de Redes > >> Internet para América Latina y el Caribe (WALC 2009) > >> Bogotá, 21 al 25 de Septiembre de 2009 > >> http://www.eslared.org.ve/walc2009 > >> > >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> ARIEL BARBOSA > >> Coordinador de Proyectos Web > >> Colnodo - Red APC Colombia > >> Diag. 40A (Ant. Av. 39) No. 14-75, Bogotá, Colombia > >> Tel: +571 2324246 > >> Fax: +571 338 0264 > >> http://www.colnodo.apc.org * ar...@co... > >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > >> Adam Sánchez escribió: > >> > Hi Julian, > >> > Best writing in English to include Honza. > >> > I think it is better to work in an orderly manner and focus on the > >> > development of modules for the AA. I think the lack of comprehensive > >> > documentation on the subject was one of the reasons for the slow > >> > growth of the community of programmers. If the API of the AA to be > >> > better documented we could certainly go further. In developing this > >> > module I had to get to review all files of the AA to extract the > >> > features you need to understand. It took me a long time! > >> > So, in my humble opinion the biggest challenge is to begin to document > >> > the API of the AA. > >> > The contribution of Alexander should be integrated as a module and not > >> > necessarily the core. > >> > Regards, > >> > Adam > >> > > >> > 2009/7/13 Julian Casasbuenas G. <ju...@co...>: > >> >> Hola Adam, > >> >> > >> >> Copio este mensaje también a Alejandro que ha desarrollado algunas > >> >> mejoras (p.e. control de spam a los formularios y mejoras a > >> >> calendarios de eventos) que me parece clave sean incluidas en el > >> >> código de las AAs directamente. Cómo ven Uds esta posibilidad? Ahora > >> >> tenemos un proceso en Colombia de evaluación de la plataforma y tener > >> >> aportes de > >> >> desarrolladores de la región más visibles a través de sourceforge es > >> >> clave para el futuro de las AAs. Copio a Honza para ver cómo podemos > >> >> viabilizar estas actualizaciones directamente. > >> >> > >> >> Estamos en contacto, > >> >> > >> >> Julián > >> >> > >> >> Adam Sánchez escribió: > >> >>> Hola a todos > >> >>> > >> >>> Les comparto un modulo que construi para las AA 2.50. Este modulo > >> >>> sirve para hacer busquedas internas. > >> >>> Las instrucciones de instalacion estan dentro del archivo LEAME..txt > >> >>> Fundamentalmente es un demo que ayuda a entender como se pueden > >> >>> añadir modulos a las AA, un tema poco documentado hasta ahora para > >> >>> los programadores php > >> >>> El modulo les debe salir como esta imagen > >> >>> http://yfrog.com/0wsearchezcp > >> >>> > >> >>> Saludos, > >> >>> Adam. > >> >>> > >> >>> -------------------------------------------------------------------- > >> >>>--- - > >> >>> > >> >>> -------------------------------------------------------------------- > >> >>>--- ------- Enter the BlackBerry Developer Challenge > >> >>> This is your chance to win up to $100,000 in prizes! For a limited > >> >>> time, vendors submitting new applications to BlackBerry App > >> >>> World(TM) will have the opportunity to enter the BlackBerry > >> >>> Developer Challenge. See full prize details at: > >> >>> http://p.sf.net/sfu/Challenge > >> >>> -------------------------------------------------------------------- > >> >>>--- - > >> >>> > >> >>> _______________________________________________ > >> >>> ¿Recibiste respuestas a tus preguntas sobre ActionApps? Si es > >> >>> así, ayuda por favor a la comunidad de ActionApps publicando > >> >>> las respuestas a tus preguntas a la documentación de > >> >>> ActionApps. Ve la sección *cómo contribuir* en > >> >>> http://www.actionapps.org/es/C%C3%B3mo_contribuir > >> >>> _______________________________________________ > >> >>> Apc-aa-espanol mailing list > >> >>> Apc...@li... > >> >>> https://lists.sourceforge.net/lists/listinfo/apc-aa-espanol > >> >> > >> >> -- > >> >> > >> >> Julian Casasbuenas G. > >> >> Director Colnodo > >> >> Diagonal 40A (Antigua Av. 39) No. 14-75, Bogota, Colombia > >> >> Tel: 57-1-2324246, Cel. 57-315-3339099 Fax: 57-1-3380264 > >> >> www.colnodo.apc.org - Uso Estratégico de Internet para el Desarrollo > >> >> Miembro de la Asociacion para el Progreso de las Comunicaciones -APC- > >> >> www.apc.org |
From: Norbert B. <br...@ch...> - 2009-06-01 07:51:38
|
You were right, Honza. It works after ugprade to the latest version. Thank you! norbert br...@ch... _____ From: Honza Malik [mailto:hon...@ec...] are you using the last version of AA from svn? This behaviour was problem in AA for a short period of time say month ago, when we rewrite the f_t function. It was already fixed some time ago. Honza Norbert Brazda <br...@ch...> wrote: >I have found strange problem with URLs in email alerts. > >URLs like http://something.org <http://something.org/ <http://something.org/>> >; (defined in Alerts >Selection Set view) are modified to http#://something.org (note # in the >URL) in resulting email. > >URLs are changed in modules/alerts/alerts_sending.php3 on line 347 >("$aliases = $als->getArray();"). > >Any ideas how to fix this and not break another things? |
From: Honza M. <hon...@ec...> - 2009-05-21 06:01:47
|
Hi Norbert, are you using the last version of AA from svn? This behaviour was problem in AA for a short period of time say month ago, when we rewrite the f_t function. It was already fixed some time ago. Honza Norbert Brazda <br...@ch...> wrote: >I have found strange problem with URLs in email alerts. > >URLs like http://something.org <http://something.org/> (defined in Alerts >Selection Set view) are modified to http#://something.org (note # in the >URL) in resulting email. > >URLs are changed in modules/alerts/alerts_sending.php3 on line 347 >("$aliases = $als->getArray();"). > >Any ideas how to fix this and not break another things? > > > >norbert >br...@ch... > >------------------------------------------------------------------------------ >Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT >is a gathering of tech-side developers & brand creativity professionals. Meet >the minds behind Google Creative Lab, Visual Complexity, Processing, & >iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian >Group, R/GA, & Big Spaceship. http://www.creativitycat.com _______________________________________________ >Apc-aa-coders mailing list >Apc...@li... >https://lists.sourceforge.net/lists/listinfo/apc-aa-coders |
From: Norbert B. <br...@ch...> - 2009-05-20 22:36:36
|
I have found strange problem with URLs in email alerts. URLs like http://something.org <http://something.org/> (defined in Alerts Selection Set view) are modified to http#://something.org (note # in the URL) in resulting email. URLs are changed in modules/alerts/alerts_sending.php3 on line 347 ("$aliases = $als->getArray();"). Any ideas how to fix this and not break another things? norbert br...@ch... |
From: Honza M. <hon...@ec...> - 2007-11-04 19:38:56
|
Hi Cedric, It would be really nice if you check the database queries in AA and sugest the optimalizations. We tried to make the queries as fast as possible, but it is always better to check it. Back to your tests. a) DISTINCT I tried to replicate the test you described, but I didn't get so significant results as you did. The problem is I think, that MySQL caches the queries, so if you perform the same query twice, then the second query could be thousands times faster than the first one. If you use similar queries, where the only difference is in DISTINCT or LIMIT, then the second query most probably use the MySQL cache, so the comparison is a bit hard. Can you please test your case taking the MySQL cache into account (so change not only DISTINCT, but also the condition "Somestring%" ...). Personaly I do not believe the DISTINCT could generate big query slowdown, since it just removes duplicate results, which is very easy operation (comparing to searching the database). Also it is not so easy to remove the DISTINCT in general, since many queries in AA leads to duplicate IDs returned (mainly if you try to search or order the results using the field which could contain multivalues). Duplication of IDs in unwanted in most cases. b) LIMIT The same as above is valid - My test results wasn't so significant - the speedup wasn't big if I take MySQL cahce into account. Can you please test it again bypassing the MySQL cache? The AA code do not use LIMIT in this case. We use different approach: 1) get ALL item IDs which matches the filtering conditions (using QueryZids() function). We grab only IDs (not the content of items), so the result set is not so big, so the LIMIT shouldn't help much, I think. 2) check, which ids we want (looking at scroller setting, page, random parameter, ....) and for selected IDs we ask for all the item data (using GetItemContent() function) 3) Then we display the selected items using AA_Stringexpand functions. This approach have some advatages (comaring to LIMIT solution) - you can display random item, you know the number of all matching items (good for scroller), ... This approach we use on many places in the code, so the change to LIMIT solution is not so easy (and I'm not sure, if the LIMIT solution is better at this moment). What looks bad in your query is the '(c0.text LIKE "%Heal%")' part. This part uses substring search, which is always slow, since the database is not able to use database indexes so it have to check all fields for that substring. This is slow. If you can, do not use such queries. Using "=" operator or "RLIKE" operator in AA conds[] is much , much better, than the "LIKE" operator. Honza Dne ne 4. listopadu 2007 Cedric Knight, GreenNet napsal(a): > Hi there > > We have a particular ActionApps-driven site on its own virtual server, > because it has some serious CPU, memory and disk demands. > > The main slice has 40 000 items, but the problem is the number of slow > queries, most of which are RSS feeds, jsview "top 10" lists, tickers > and so on. A typical query from such a view looks like: > > SELECT DISTINCT item.id as itemid , item.publish_date as s0 FROM item > LEFT JOIN content as c0 ON (c0.item_id=item.id AND > (c0.field_id='place...........' OR c0.field_id is NULL)) LEFT JOIN > content as c1 ON (c1.item_id=item.id AND > (c1.field_id='category........' OR c1.field_id is NULL)) WHERE > item.slice_id = @myslice AND ( ( item.status_code=1 AND > (item.publish_date <= '1194184800') AND (item.expiry_date > > '1194184800') ) ) AND ( (c0.text LIKE "%Heal%") ) AND ( (c1.text > LIKE "Somestring%") ) ORDER BY item.publish_date DESC; > > # Query_time: 11 Lock_time: 0 Rows_sent: 2364 Rows_examined: 107941 > > 2364 rows are returned to PHP, but in fact the list length specified > in the view is only 6. By using the index optimisation described at > http://dev.mysql.com/doc/refman/5.0/en/limit-optimization.html > much less of the database should need to be scanned. What would be > needed would be to drop the DISTINCT, and a LIMIT 6 for this type of > view. This optimization works correctly under MySQL 5.0 given the > appropriate indexing, although really it should work even if DISTINCT > is still present (if MySQL could de-duplicate as results were > returned). > > So, firstly, is DISTINCT really necessary in the query at > /include/searchlib.php3 line 1291 in QueryZIDs()? > > Just dropping 'DISTINCT' in phpMyAdmin, I get the same dataset > returned in a fraction of the time, under a second. So these views > should be much faster if if an appropriate index of the item table is > created if it's not already there, e.g. (slice_id, status_code, > last_edit), and we pass the view's "listlen" and "list_from" > properties to LIMIT and OFFSET options respectively. > > With DISTINCT on the query above, I get > 2375 rows in set (14.67 sec) > > Without DISTINCT and with LIMIT 6, I get > 6 rows in set (0.01 sec) > That is, the same ordering, but just the top 6 results. > > I also wonder whether this affects scrollers? Would it be possible to > use "SELECT SQL_CALC_FOUND_ROWS" when a scroller needs to determine > FOUND_ROWS(), but use LIMIT and OFFSET instead when looking at > particular sections? The type of view could be passed to > QueryZIDs() as well as the listlen. More simply the listlen parameter > would only be passed if it were a view like that above which didn't > include a scroller. If scrollers are to take advantage of the same > optimisation, perhaps there could be a different scroller alias which > only links to 'next page'. > > The site performance is bad enough that I'm tempted to leap in and > hack some code, but what might go wrong? Is there a schematic of the > AA code anywhere? > > Thanks > > Cedric > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Apc-aa-coders mailing list > Apc...@li... > https://lists.sourceforge.net/lists/listinfo/apc-aa-coders |
From: Cedric K. G. <ce...@gn...> - 2007-11-04 17:24:25
|
Hi there We have a particular ActionApps-driven site on its own virtual server, because it has some serious CPU, memory and disk demands. The main slice has 40 000 items, but the problem is the number of slow queries, most of which are RSS feeds, jsview "top 10" lists, tickers and so on. A typical query from such a view looks like: SELECT DISTINCT item.id as itemid , item.publish_date as s0 FROM item LEFT JOIN content as c0 ON (c0.item_id=item.id AND (c0.field_id='place...........' OR c0.field_id is NULL)) LEFT JOIN content as c1 ON (c1.item_id=item.id AND (c1.field_id='category........' OR c1.field_id is NULL)) WHERE item.slice_id = @myslice AND ( ( item.status_code=1 AND (item.publish_date <= '1194184800') AND (item.expiry_date > '1194184800') ) ) AND ( (c0.text LIKE "%Heal%") ) AND ( (c1.text LIKE "Somestring%") ) ORDER BY item.publish_date DESC; # Query_time: 11 Lock_time: 0 Rows_sent: 2364 Rows_examined: 107941 2364 rows are returned to PHP, but in fact the list length specified in the view is only 6. By using the index optimisation described at http://dev.mysql.com/doc/refman/5.0/en/limit-optimization.html much less of the database should need to be scanned. What would be needed would be to drop the DISTINCT, and a LIMIT 6 for this type of view. This optimization works correctly under MySQL 5.0 given the appropriate indexing, although really it should work even if DISTINCT is still present (if MySQL could de-duplicate as results were returned). So, firstly, is DISTINCT really necessary in the query at /include/searchlib.php3 line 1291 in QueryZIDs()? Just dropping 'DISTINCT' in phpMyAdmin, I get the same dataset returned in a fraction of the time, under a second. So these views should be much faster if if an appropriate index of the item table is created if it's not already there, e.g. (slice_id, status_code, last_edit), and we pass the view's "listlen" and "list_from" properties to LIMIT and OFFSET options respectively. With DISTINCT on the query above, I get 2375 rows in set (14.67 sec) Without DISTINCT and with LIMIT 6, I get 6 rows in set (0.01 sec) That is, the same ordering, but just the top 6 results. I also wonder whether this affects scrollers? Would it be possible to use "SELECT SQL_CALC_FOUND_ROWS" when a scroller needs to determine FOUND_ROWS(), but use LIMIT and OFFSET instead when looking at particular sections? The type of view could be passed to QueryZIDs() as well as the listlen. More simply the listlen parameter would only be passed if it were a view like that above which didn't include a scroller. If scrollers are to take advantage of the same optimisation, perhaps there could be a different scroller alias which only links to 'next page'. The site performance is bad enough that I'm tempted to leap in and hack some code, but what might go wrong? Is there a schematic of the AA code anywhere? Thanks Cedric |
From: Honza M. <hon...@ec...> - 2007-08-24 16:54:33
|
Hi, today I submitted some changes in the Subversion. The main change for today is the Hit Counting, which is completely rewritten. Unfortunately you need to run sql_update.php3 script, in order the three new tables are created - hit_long_ids, hit_short_ids and hit_archive. For more details see http://www.actionapps.org/en/Designing_Output_Templates#Popular_Items_.28Hit_counting.29 Honza Current SVN state: Stable - we run current code one week on our production server. Last SVN Changes: 08/24/07 (honzam) - New version of counting item hits (AA_Hitcounter) with ability to display "Most popular item last day/week/month". See http://www.actionapps.org/en/Designing_Output_Templates#Popular_Items_.28Hit_counting.29 for more details. (you need to run sql_update.php3 script !!!) - logging is rewritten to class (AA_Log), the logs are automaticaly cleaned (entries older than 40 days) so the log should never became so big - New ParseMulti transformation for "Modify Content..." feature of ItemManager - Divide the text to multiple values on specified delimiter - Two Boxes input type now allows to move more than one value at time (by selecting more values with CTRL key) - uploaded new basice ER schema of AA database from Jitka Zavadova See doc/AAdb_ER.html - updated AA coding standards - used size-optimized version of prototype.js library - Database eroros messages are less verbose - do not display database username, ... - _#ID_COUNT gives better results, now - mainly in the casese, where we have nested views - Alias parameters on the field admin page are now textareas, so the code for the parameter could be longer. We also changed the database field type, so the length of the parameter is not limited to 256 characters (you need to run sql_update.php3 script) - do not dislplay errors in img.php3 (phpThumb) - some small fixes, name changes and security improvements 08/13/07 (honzam) - fixed problem of overwriting articles which was fed by RSS or AARSS (cross server networking) 08/10/07 (honzam) - fixed problem with adding item (stringexpand.php3 error) 08/04/07 (honzam) - Central upgraded to new version with less bugs - other small fixes 08/03/07 (honzam) - AA_Manager class which takes care about all managers - Item Manager, Links Manager, ... now support new API for actions (AA_Manageraction) - Central manager switched to use new acion API - AA_Manageraction. We plan to rewrite all the actions (for item and links) to that new API and remove the code for the old approach - synchronize scripts added to central admin interface - {conds} command obtains third parameter, which do not url encode the condition, so for the view you have to use the old version without the third parameter: {view.php3?vid=9&cmd[9]=c-1-{conds:category.......1}}, but for {ids..}, where we do not expect urlencoded strings you have to add third parameter, like: {ids:5367e68a88b82887baac311c30544a71:d-headline........-=-{conds:category.......3:1}} - The links, which are not active in AA Admin interface is now completely hidden (like the "AA" link for Editors) - disabled "Update modules table" option in sql_update.php3 since it clears the priority field - the field "Upload URL" on "Slice Admin" -> "Slice" page is hidden, since it is not working, yet. - fixed Hirachical constant editor - now works again - linkchecker do not produce warnings, if the domain do not exist - removed unused function p_arr 08/01/07 (honzam) - new "Central" admin interface visible for superadmins. It can store multiple configurations of AA, so you can manage more AAs and databases from one place. Currently it allows to manage the configurations (add, edit, delete) and also do sql_update.php3 on multiple (selected) AAs - new table central_conf created in sql_update.php3 script - used by "Central" - new robots.txt file for more secure setting of the AA install (Thanks to carlos Alberto RR <ca...@co...>) - new f_z alias function which get the size or type of the file (Thanks to Adam Sanchez) - new expand function {lastedit:[<date_format>:[<slice_id>]]} which displays the date of last modificaton of any item in the slice. The format of date is the sane as used in PHP date() function (see http://php.net/date). slice_id could be ommited - then check all the slices in AA. Thanks belongs to Adam Sanchez. - more spam checking for in discussions - you can use the "answer" field solution in the same way as with anonymous form for items - small refactoring of QuoteColons() in strinexpand.php3 - moved to AA_Stringexpand::quoteColons($text) where it belongs. - small refactoring in ItemManager - bins internaly uses bit representation insted of string - fixes in AA synchronization script - fixed some SQL queries in sql_update.php3, to not produce errors in last versions of MySQL - fix database error messages to not produce invalid html code - small fix in tabledit 07/30/07 (honzam) - fixed javascript problem in "Slice Admin" -> "RSS Feeds", so delete and edit works again. 07/02/07 (mimo) - fixed MLX view caching - enable with define ('MLX_NOVIEWCACHE',0); - fixed mlx mini view generator (aka getTranslations) now handles MLXView::getTranslations no ctrlSliceID - enabling MLXTRACE now gives timing info - slight change to what view.php3 passes to mlx->postqueryzids - using $_REQUEST to get $keystr in cached.php3 - register_globals 06/07/07 (honzam) - fixed "Modify Content" action in Item Managrer to work with PHP4 - fixed Alerts admin page buton - it didn't work after clean-up (typo problem) 06/01/07 (honzam) - export slice now allows convert exported data to utf-8 It is handy if you are switching slices to another server, where AA uses newer - utf-8 character encoding. 05/29/07 (honzam) - fixed some typos (so view editing works again) 05/28/07 (honzam) - new Optimize_db_feed_inconsistency action in AA -> Optimize, which tests, if feeds table do not contain relations to non existant slices. Also fixed for use with PHP4. - inner node feeding setting page now displays wrong assignments to non existant slice (database inconsistence after slice deletion) - fixed problems with PHP4 - _AA_CoLoN_, ... was not correctly unescaped, so such strange strings were displayed on the output - class names are in lower case in php4, so functions (input types) selection did not work correctly - fixed typos in sql_update.php3 05/28/07 (honzam) - multiple checkboxes input type has its own ajax output - new url parameter AAnoSORT (set[]=sort-AAnoSORT) for view.php3, which cut the sort setting in view off - annonymous filler now supports new possibility to update already filled items through aa[u536353...] syntax (see changes on 04/15/07 for description) - better quoting if the displayed text in {htmltoggle} and {htmlajaxtoggle}, so the displayed text should not break the javascript - database structure updated to last verson in sql_update.php3 script - better support for MySQL 5.0, - field for grouping items in views by first letter, ... - fixed typo in searchbar (admin interface), so it is functional again - prototype (javascript library for AJAX, DHTML, ...) updated to version 1.5.1 05/16/07 (honzam) - fixed help text for site include (thanks to Adam Sanchez) -- |
From: Norbert B. <br...@ch...> - 2007-08-08 21:26:30
|
We are getting strange errors when trying to edit items in of the slices that uses MLX. On some items we get error like this (instead of edit form): Bad item ID 306c9c193fff21e1e063cbad963fba7a The bug does not allow to edit the items (but they are displayed fine). I have no idea how the ids become corrupt. Any similar experiences? Also, the some of the item ids stored in mlxctrl......... and mlxctrl........1 fields (in mlx control slice) are unusually long (e.g. 29a0ee3c6272202f3e0d06a6bc50564fe6086d7ffdf3 or even 3c6272202f3e0a431d20faf25bbd266c743bfd26616d703bb81190e641). Is it by intention (but why so long item ids?) or is it evidence of the bug? norbert br...@ch... |
From: Michael M. <mi...@gn...> - 2007-07-06 16:51:09
|
From: Michael M. <mi...@gn...> - 2007-07-03 18:32:57
|
I have noticed a weird bug where img_src... gets expanded to the path /uploads/sliceid/filename.jpg- note that it always appends a that weird hyphen. It only happens with mod-php5, reverting to php4 fixes the problem. I guess it could try to expand as if it was a list of items into something like url1-url2- etc I tried debugging but couldn't really track down where this actually gets expanded and since it's a live site I had to change to php4 and can't at the moment test it. Maybe if I knew where to start looking I could figure it out. Thanks mimo |
From: Honza M. <hon...@ec...> - 2007-06-25 14:56:46
|
Hi Michael, 'register_globals' have nothing to do with $_SERVER superglobal variable. The superglobal variables like $_SERVER, $_GET, $_POST are in PHP since version 4.1, so we can count with them. So, there is no need for if(!ini_get('register_globals')) {...} in this case. You are right, we should rewrite all the $QUERY_STRING_UNESCAPED, $REQUEST_URI, ... variables to $_SERVER['REQUEST_URI'], ... so the shtml_query_string() function should look like: /** shtml_query_string function * returns query string passed to shtml file (variables are not quoted) */ function shtml_query_string() { // there is problem (at least with $QUERY_STRING_UNESCAPED), when // param=a%26a&second=2 is returned as param=a\\&a\\&second=2 - we can't // expode it! - that's why we use $REQUEST_URI, if possible $ret_string = ($_SERVER['REQUEST_URI'] AND strpos($_SERVER['REQUEST_URI'], '?')) ? substr($_SERVER['REQUEST_URI'], strpos($_SERVER['REQUEST_URI'], '?')+1) : ( isset($_SERVER['REDIRECT_QUERY_STRING_UNESCAPED']) ? stripslashes($_SERVER['REDIRECT_QUERY_STRING_UNESCAPED']) : stripslashes($_SERVER['QUERY_STRING_UNESCAPED']) ); // get off magic quotes return magic_strip($ret_string); } Honza Michael Moritz píše v Pá 22. 06. 2007 v 17:17 +0100: > Hi > > just wanted to check whether this is the right way to do this. > > I have changed: > > include/util.php3 > > function shtml_query_string() { > global $QUERY_STRING_UNESCAPED, $REDIRECT_QUERY_STRING_UNESCAPED, > $REQUEST_URI; > // there is problem (at least with $QUERY_STRING_UNESCAPED), when > // param=a%26a&second=2 is returned as param=a\\&a\\&second=2 - we can't > // expode it! - that's why we use $REQUEST_URI, if possible > > if(!ini_get('register_globals')) { > $ret_string = ($_SERVER['REQUEST_URI'] AND > strpos($_SERVER['REQUEST_URI'],'?')) ? > > substr($_SERVER['REQUEST_URI'],strpos($_SERVER['REQUEST_URI'], '?')+1) : > ( > isset($_SERVER['REDIRECT_QUERY_STRING_UNESCAPED']) ? > > stripslashes($_SERVER['REDIRECT_QUERY_STRING_UNESCAPED']) : > > stripslashes($_SERVER['QUERY_STRING_UNESCAPED']) ); > return magic_strip($ret_string); > } > $ret_string = ($REQUEST_URI AND strpos($REQUEST_URI, '?')) ? > substr($REQUEST_URI, > strpos($REQUEST_URI, '?')+1) : > ( isset($REDIRECT_QUERY_STRING_UNESCAPED) ? > stripslashes($REDIRECT_QUERY_STRING_UNESCAPED) : > stripslashes($QUERY_STRING_UNESCAPED) ); > // get off magic quotes > return magic_strip($ret_string); > } > > I guess there's other places where I should look - especially in the admin but > this seems to make views work > > mimo > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Apc-aa-coders mailing list > Apc...@li... > https://lists.sourceforge.net/lists/listinfo/apc-aa-coders > -- |
From: Michael M. <mi...@gn...> - 2007-06-22 16:17:54
|
Hi just wanted to check whether this is the right way to do this. I have changed: include/util.php3 function shtml_query_string() { global $QUERY_STRING_UNESCAPED, $REDIRECT_QUERY_STRING_UNESCAPED, $REQUEST_URI; // there is problem (at least with $QUERY_STRING_UNESCAPED), when // param=a%26a&second=2 is returned as param=a\\&a\\&second=2 - we can't // expode it! - that's why we use $REQUEST_URI, if possible if(!ini_get('register_globals')) { $ret_string = ($_SERVER['REQUEST_URI'] AND strpos($_SERVER['REQUEST_URI'],'?')) ? substr($_SERVER['REQUEST_URI'],strpos($_SERVER['REQUEST_URI'], '?')+1) : ( isset($_SERVER['REDIRECT_QUERY_STRING_UNESCAPED']) ? stripslashes($_SERVER['REDIRECT_QUERY_STRING_UNESCAPED']) : stripslashes($_SERVER['QUERY_STRING_UNESCAPED']) ); return magic_strip($ret_string); } $ret_string = ($REQUEST_URI AND strpos($REQUEST_URI, '?')) ? substr($REQUEST_URI, strpos($REQUEST_URI, '?')+1) : ( isset($REDIRECT_QUERY_STRING_UNESCAPED) ? stripslashes($REDIRECT_QUERY_STRING_UNESCAPED) : stripslashes($QUERY_STRING_UNESCAPED) ); // get off magic quotes return magic_strip($ret_string); } I guess there's other places where I should look - especially in the admin but this seems to make views work mimo |
From: Michael M. <mi...@gn...> - 2007-06-12 09:05:17
|
Hi we had a discussion about this kind of scenario a while ago in the office. Then, of course, it really happens. It's very handy at times that any view can display any item no matter what slice. On the other site, and especially with short item ids, it creates problems for shared installations. If there's a public submit form on any site using the shared installation AA is prone to abuse by spammers. They submit their stuff there, somehow figure out the short id, and then use any other site to display their content, link to it etc. Secondly, storing any private data is a security risk as even if there are access restrictions on the original site anyone can just use another slice or view on the same installation to access that information. Together with short ids it's actually possible to do an almost complete dump of the content of an AA installation. A access control could work like this: on access to an item retrieve the slice id of the item and the slice id of the view and check if they match. This would at least secure access where a slice password is set. Regards, mimo ---------- Forwarded Message ---------- Begin forwarded message: > From: "Matt Cutts" <ma...@go...> > Date: 11 June 2007 09:28:44 BDT > Subject: your site has some weird urls on it > > Hi, my name is Matt Cutts and I'm a software engineer at Google. I > wanted to mention that it looks like someone has the ability to add > posts on your site; not sure if it's a hack or some other security > hole. > > See > http://DELETED/article.shtml?cmd[347]=x-347-553962 > http://DELETED/article.shtml?cmd[347]=x-347-553963 > for example. I wasn't sure whether to write, but the urls have been up > for a few hours, so I thought I'd drop you a line in case you weren't > aware. > > Regards, > Matt _______________________________________________ Tech-l mailing list Te...@gn... http://mailman-new.greennet.org.uk/mailman/listinfo/tech-l ------------------------------------------------------- |
From: Michael M. <mi...@gn...> - 2007-06-11 11:58:53
|
Hi we had a discussion about this kind of scenario a while ago in the office. Then, of course, it really happens. It's very handy at times that any view can display any item no matter what slice. On the other site, and especially with short item ids, it creates problems for shared installations. If there's a public submit form on any site using the shared installation AA is prone to abuse by spammers. They submit their stuff there, somehow figure out the short id, and then use any other site to display their content, link to it etc. Secondly, storing any private data is a security risk as even if there are access restrictions on the original site anyone can just use another slice or view on the same installation to access that information. Together with short ids it's actually possible to do an almost complete dump of the content of an AA installation. A access control could work like this: on access to an item retrieve the slice id of the item and the slice id of the view and check if they match. This would at least secure access where a slice password is set. Regards, mimo ---------- Forwarded Message ---------- Begin forwarded message: > From: "Matt Cutts" <ma...@go...> > Date: 11 June 2007 09:28:44 BDT > Subject: your site has some weird urls on it > > Hi, my name is Matt Cutts and I'm a software engineer at Google. I > wanted to mention that it looks like someone has the ability to add > posts on your site; not sure if it's a hack or some other security > hole. > > See > http://DELETED/article.shtml?cmd[347]=x-347-553962 > http://DELETED/article.shtml?cmd[347]=x-347-553963 > for example. I wasn't sure whether to write, but the urls have been up > for a few hours, so I thought I'd drop you a line in case you weren't > aware. > > Regards, > Matt _______________________________________________ Tech-l mailing list Te...@gn... http://mailman-new.greennet.org.uk/mailman/listinfo/tech-l ------------------------------------------------------- |
From: Norbert B. <br...@ch...> - 2007-06-08 19:43:27
|
Hi Michael, Michael Moritz wrote: > My theory to what happens is that there are maybe two similar request - at > least they create same or similar keystr) and then one "overtakes" the other > one and ends up stealing its id. > But that's only a theory really and would need some debugging. For the moment > I'm wondering whether anybody else gets those? > It is either problem with duplicate ids being generated by AA or problem caused by not using sql transactions during cache update. The problem might be caused by two cache inserts (insert into pagecache and insert into pagecache_str2find) for each cached page which are not "encapsulated" in transaction. So under high cache update load there are several concurent cache updates for the same record. I believe that those can result in such duplicates. n. |
From: Michael M. <mi...@gn...> - 2007-06-08 16:59:52
|
Hi we're running fairly recent AA version (think very close to SVN) and have noticed occasional reports of this type: > ', '1181223016', '1f34283960f6cfd631c60ef26383c170' ) > Error Number (description): 1062 (Duplicate entry > '1f34283960f6cfd631c60ef26383c170' for key 1) Please contact > tec...@gn... and report the exact error message. Session halted. > > Sidebar on right > Database error: Invalid SQL: INSERT INTO pagecache ( `content`, `stored`, > `id` ) VALUES ( ' My theory to what happens is that there are maybe two similar request - at least they create same or similar keystr) and then one "overtakes" the other one and ends up stealing its id. But that's only a theory really and would need some debugging. For the moment I'm wondering whether anybody else gets those? Thanks, mimo |
From: Honza M. <hon...@ec...> - 2007-06-05 13:35:11
|
Hi Michael, I can see three possibilities: 1) use AA -> Export and AA -> Import It generates some kind of XML output, which could optionally include views, constants and also data. In latest svn version it is also possible to encode all the data to UTF-8. 2) export the data to CSV using your own view and then import the data from CSV. 3) Just copy the database and possibly delete all unwanted slices. There will be another option in future, which will be part of AA Central. Idea of AA Central is to maintain more than one AA database form one admin interface. In that model you will be able to separate the users to distinct databases (but you can still use the same AA scripts). >From the Central you will be able - to copy a slice form one database to another (that means also possibility to exchange slice templates from remote server) - synchronize the slice structure - update the structure of all registered AA databases - ... Thanks to Colnodo we already implemented the "synchronize the slice structure". Honza Michael Moritz píše v Út 05. 06. 2007 v 13:22 +0100: > Hi > > this is a very general question but it could be sort of useful I think. What > are currently the options for dumping the content of a slice and restoring > it? Is that possible (auto_increment etc). I can see the export function in > the AA interface but no import. > > Thanks, > > mimo > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Apc-aa-coders mailing list > Apc...@li... > https://lists.sourceforge.net/lists/listinfo/apc-aa-coders > -- |
From: Michael M. <mi...@gn...> - 2007-06-05 12:49:19
|
Hi this is a very general question but it could be sort of useful I think. What are currently the options for dumping the content of a slice and restoring it? Is that possible (auto_increment etc). I can see the export function in the AA interface but no import. Thanks, mimo |
From: Honza M. <hon...@ec...> - 2007-05-26 23:08:27
|
Hi Adam and Norbert, > Isn't that dangerous function? > Imagine something like {eval:return DB_PASSWORD} Exactly, very dangerous. This is the only reason, why we do not allow users/administrators to use PHP code in AA templates. I tried to find workaround for running PHP script safely long time ago, and didn't find any safe solution. However, there is runkit-sandboxing extension for PHP in version 5.1 (http://www.php.net/manual/en/runkit.sandbox.php), so now it is possible to write something like {eval...} safely. So Adam, if you want this functionality, please use this extension. Honza Norbert Brazda píše v So 26. 05. 2007 v 22:19 +0200: > Isn't that dangerous function? > Imagine something like {eval:return DB_PASSWORD} > > n. > > Adam Sanchez wrote: > > Hello to all > > > > I was trying to construct a eval function for the ActionApps with the > > objective to avoid to be constructing specific functions in item.php3 > > whenever I need one. I use the following syntax > > > > {eval:<php expresion>} > > > > With that purpose, I put in the file stringexpand.php3 the following code > > > > /*****************************************************************************************************/ > > elseif ( substr($out, 0, 4) == "eval" ) { > > $parts=split(":",$out); > > if (isset($debug)) huhl ("function eval is=",$parts[1]);// > > $valor = QuoteColons($level, $maxlevel, $parts[1]); > > $valor_eval=eval ($valor); > > return $valor_eval; > > } > > /*****************************************************************************************************/ > > > > The alias works well with simple expressions, like > > > > {eval:$a=5;return $a;} > > > > {eval:$a=5;$b=10;$c=$a+$b;return $c;} > > > > {eval: $b='{text...........5}';return $b;} > > > > > > but it leaves error to me when use native functions php > > > > {eval: $b=strtolower('{text...........5}');return $b;} > > > > the error that leaves > > > > Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in > > /home/asocam/public_html/apc-asocam/include/stringexpand.php3(774) : > > eval()'d code on line 1 > > > > when I use > > > > {eval: $b=5; $a=13; if ($b>$a) {return $b." es mayor";}else {return > > $a." es menor";}} > > > > the error that leaves > > > > Parse error: syntax error, unexpected T_STRING, expecting '(' in > > /home/asocam/public_html/apc-asocam/include/stringexpand.php3(774) : > > eval()'d code on line 1 > > > > Some idea to continue advancing? > > > > Regards, > > > > Adam > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and take > > control of your XML. No limits. Just data. Click to get it now. > > http://sourceforge.net/powerbar/db2/ > > _______________________________________________ > > Apc-aa-coders mailing list > > Apc...@li... > > https://lists.sourceforge.net/lists/listinfo/apc-aa-coders > > > > > |