Give projects some love

Author Message

Xavier Dutoit

Thursday 08 November 2007 10:23:50 pm

Following Tony's cry.

Same needs applies, and most of the suggestions about contrib can apply on projects as well, after the merge (next week ?).

X+

http://www.sydesy.com

Paul Forsyth

Friday 09 November 2007 1:42:59 am

Should we ask eZ to provide an activity list e.g: http://sourceforge.net/top/mostactive.php?type=week?

Paul

Heath

Friday 09 November 2007 2:07:22 am

Fantastic!

That is a great idea Paul, I second the idea.

With a little more notice on which projects are most active.

This might just increase activity on projects through friendly competition :)

Cheers,
Heath

Brookins Consulting | http://brookinsconsulting.com/
Certified | http://auth.ez.no/certification/verify/380350
Solutions | http://projects.ez.no/users/community/brookins_consulting
eZpedia community documentation project | http://ezpedia.org

Paul Forsyth

Friday 09 November 2007 2:14:42 am

Added as an enhancement:

http://issues.ez.no/11878

Gaetano Giunta

Friday 09 November 2007 7:10:33 am

One other thing that would be nice: have extensions to specify their db compatibility besides the ususal ez version.

As most extension developers likely not very interested in this, it could be made a mandatory attribute:
N/A - no db needed
Unknown
mysql
oracle
postgres

btw: Filed under bug id #011883

Principal Consultant International Business
Member of the Community Project Board

Tony Wood

Friday 09 November 2007 9:07:02 am

Great!

Lets spread the Lurve!

Tony Wood : twitter.com/tonywood
Vision with Technology
Experts in eZ Publish consulting & development

Power to the Editor!

Free eZ Training : http://www.VisionWT.com/training
eZ Future Podcast : http://www.VisionWT.com/eZ-Future

kracker (the)

Sunday 11 November 2007 11:13:07 am

<i>@Gaetano Giunta</i>

We were under the impression that the design of the eZ Publish would free most extensions from general database specific requirements.

eZ Publish already provides detailed requirements for databases (and versions) which may be used such as MySQL, Oracle, PostgreSQL.

eZ Publish extensions traditionally make use of the database abstracted through eZ Publish.

So unless your greatly pushing beyond standard use of eZ Publish the 'db compatibility' requirements are specified by eZ Publish so asking each extension to document this detail seems to me to be a trivial notion of duplication only bound to introduce further confusion rather than reduce it.

Certainly extensions which do truly have specific requirements should indeed document these unique requirements, yet for almost all extensions currently this is not necessary or applicable (IMHO).

<i>//kracker

Blink 182 - I Miss You | Gwen Stephani - Whatcha Waiting For | Kanye West - Stronger ...</i>

Member since: 2001.07.13 || http://ezpedia.se7enx.com/

Gaetano Giunta

Sunday 11 November 2007 12:49:36 pm

Sorry, but this is just wishful thinking.
To do real cross-database development there are about a thousand abstractions that the library in us must provide, eg:
- a string concatenation operator
- a string escaping function
- some functions/schemas to define tables, indexes and sequences
- datetime functions
etc...

the ez db lib provides most of those (except for the datetime stuff, since times are treated as integers), BUT...

...as soon as you are allowed to write SQL in your code, you have huge chances of breaking some database.
The most basic example being: "SELECT NAME FROM EMP AS E, ..."
The "as" for table names is ok with postgres and mysql, but it is a fault with oracle.
If you start looking at native string manipulation functions or, worse, bit manipulation functions, you will find that different databases have different function names.

So the careless developer, wh coded his extensions and relased to the community without ever getting paid for proper testing and docs, is likely to never have tested his code with oracle, and compatibility is far from being guaranteed.

Principal Consultant International Business
Member of the Community Project Board

Sunday 11 November 2007 1:44:31 pm

I <i>challenge</i> Gaetano to cite at least five existing eZ Publish extensions which are affected by this problem. Developers are supposed to use the API and -not- write sql directly.

Gaetano Giunta

Sunday 11 November 2007 2:20:48 pm

Hey guys, take it eZ.

I never said that I know for a fact that any single given extension is not compatible with Oracle or Postgres. In fact, I would be very happy to find out that it is not the case.

But I ran a quick grep for "arrayquery" on my harddisk and found sql embedded in:
ezapprove2
ezlabel
ezmedia
eznewsletter
ezodf
ezwebin
(note: not "wrong" sql, just plain sql)

I have not at the moment a full svn copy of all the community contributions, but my educated guess is that at least some of those do manipulate sql queries.

Principal Consultant International Business
Member of the Community Project Board

Paul Forsyth

Monday 12 November 2007 2:25:20 am

I think Gaetano has a good point. Certified extensions cost more when the db is 'touched' and by clarifying when the api is not used for db access it will be very clear what the risk is with an extension.

The automated approval tool should be able to work this all out to be honest which would make auto-generation of stats a doddle.

Paul

André R.

Wednesday 14 November 2007 3:07:45 pm

Mummy: All extensions that need some extra database table needs to do this, and I don't think that will improve much before we switch to persistantObject from eZ Components (but even then you will always have edge cases)

Gaetano Giunta: isn't 'as' a fairly standard sql functionality, do they have support for it in more recent versions? How do you normally do queries on oracle where you need to relate to 1 table several times?

Maybe a tested on / certified for: mysql/pgsql/mssql/oracle thingy??

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Gaetano Giunta

Thursday 15 November 2007 12:14:07 am

<i>isn't 'as' a fairly standard sql functionality, do they have support for it in more recent versions? How do you normally do queries on oracle where you need to relate to 1 table several times?</i>

SELECT ... FROM TABLE1 T1, TABLE2 T2, etc...

this is supported on all other rdbms, so it is really a no brainer.
AS is still supported (and needed) to alias names of select items

Principal Consultant International Business
Member of the Community Project Board

shekhar sarkar

Monday 19 January 2009 11:43:35 pm

hi guys,

The above article is nice. I know little bit about it. I want to know more about it. Thanks

NYK

From Tony: If this is not Spam let me know. Otherwise it will be deleted.

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 02:44:51
Script start
Timing: Jan 18 2025 02:44:51
Module start 'layout'
Timing: Jan 18 2025 02:44:51
Module start 'content'
Timing: Jan 18 2025 02:44:51
Module end 'content'
Timing: Jan 18 2025 02:44:51
Script end

Main resources:

Total runtime0.6020 sec
Peak memory usage4,096.0000 KB
Database Queries104

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0065 587.9063152.6250
Module start 'layout' 0.00650.0041 740.531339.4453
Module start 'content' 0.01070.5895 779.9766960.9531
Module end 'content' 0.60020.0018 1,740.929732.1641
Script end 0.6020  1,773.0938 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00360.5917160.0002
Check MTime0.00150.2414160.0001
Mysql Total
Database connection0.00090.151210.0009
Mysqli_queries0.479479.63671040.0046
Looping result0.00120.20631020.0000
Template Total0.565493.920.2827
Template load0.00220.364520.0011
Template processing0.563293.546520.2816
Template load and register function0.00010.017810.0001
states
state_id_array0.00090.145710.0009
state_identifier_array0.00080.132720.0004
Override
Cache load0.00210.3431960.0000
Sytem overhead
Fetch class attribute can translate value0.00080.124890.0001
Fetch class attribute name0.00130.2190210.0001
XML
Image XML parsing0.00661.097490.0007
class_abstraction
Instantiating content class attribute0.00000.0078240.0000
General
dbfile0.00390.6438550.0001
String conversion0.00000.001540.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
10content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
14content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
19content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
6content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 51
 Number of unique templates used: 6

Time used to render debug report: 0.0002 secs