Which IDE and Debugger to run zenphoto?

Hi,
can anybody give me some hints regarding a PHP IDE and a (Web-) PHP debugger.
Till now I'm using PDT Eclipse with Zenphoto but the Debugger doesn't work.
Thanks in advance

Comments

  • trisweb Administrator
    I personally don't use an IDE or a web debugger. I edit in jEdit with minimal plugins.

    Sorry I'm no help! ;-)

    (Though I do really really like jEdit -- check out the comments here if you need more testimonials: http://www.icewalkers.com/comments/0010509210.html )
  • I personally like dzsoft php editor

    http://www.dzsoft.com/dzphp.htm
  • Does nobody need to debug the zenphoto php scripts? By excample I have problems with the exif functionality in the thinkdreams theme, with Photos from my new Nikon Camera getexif() crash.
  • @stef

    just to clarify, the exif module in that theme is custom, and not part of the zenphoto core code. i haven't developed it much more, as exif development is scheduled in an upcoming version of zenphoto, so I really didn't see the need to develop something that may be obsoleted sooner or later.

    What seems to be the trouble with the getEXIF() module? Could you be more specific about what error you are getting? I have noticed that the module doesn't like spaces in the image names (it breaks on my implementations), but again, I haven't worked too much on it lately.

    I use Ultraedit myself, and to "debug" I just upload and try them out on a working webserver to see if it breaks. :)
  • @thinkdreams
    Before I continue let me say your theme is my favorite theme!
    Exif:
    It seems this is a problem with my Nikon Coolpix P1 Photos and Casio FX. Other Photos from my old Sony Camera or from friends works with thinkdream theme. Result is I see no picture if they are from my Nikon/Casio, just a black screen.
    After I commended out the call to getExif() inside thinkdream/image.php I was able to see the Nikon pictures ==> without Exifinformantions.
    Investigation regarding your exif.inc.php shows me that they use parts from Vinay Yadav and the last code changes are from 2003 (maybe too old?)
    In the meantime php >4.x included Exif functionality like exif_read_data(...). Is it a good alternative?
    BTW, KDE and Win has no problem to read the Exifinformations from Nikon.

    Debug:
    Till now I use error_log(...) but this is not very elegant. I try to activate dgb and the eclipse pdt (former eclipse php) but without success. Strange for me...if something went wrong with "gd" or "Exif" functions, php quit without a error message or information inside apache log or system log.

    Engagement:
    In the near future I hope I can a little bit contribute: autom. Testing, different Ajax
    theme (Tree widgets).
  • trisweb Administrator
    @stef, your ideas sound good. Regarding testing, I've never seen the need for an actual PHP debugger for zenphoto. The error messages are sufficient to find any problems, and the design model is perfectly fitting for the requirements, so it's very easy to program and debug.

    One thing I *have* wanted to implement is unit testing. To automate testing to a degree that you can just click a button with every change and see if you broke anything would be great.

    I am also looking forward to your Ajax theme :-) Sounds cool!
  • @stef-

    You may be right on the camera models. The Yadav code is a bit old, and may not work for more current cameras. I'll see if I can find something a bit more up to date to bolt in there.

    :)
  • @trisweb
    * You are a good motivator ... :-)
    * How can we use more Ajax?

    @thinkdreams
    * What about using exif_read_data(...) from php5 ?
    * Could we facilitate trisweb with the Exif part?
  • the problem with just trying to read exif data, is that the server has to have php with exif installed
  • trisweb Administrator
    @stef -- re: exif: the whole problem all along with the exif was that `exif_read_data` is not a widely distributed library with php 4, so in order to ensure it works, we have to use custom libraries.

    And yes, please help with Exif! I'd want to cache data in the database, probably in the image table, with one column per EXIF field type, and possibly a few custom columns as well that can be dynamically used later (? just an idea). I'd love to help you with this, so if you find a good Exif library (Exifixer is the one I'm kinda leaning towards) and integrate it, then I will use it for 1.1.

    Re: Ajax -- the question is never "How can we use more Ajax?" That's like asking "How can we use more hammers to make this building?" Doesn't make much sense :-) We instead ask how we can make the building best, and use the right tools for the job. Ajax is in our toolset, don't worry :-)

    Now, if we want to use Ajax better, there are a few things we should probably do. First I want to gut the Sajax library and make my own, with requests going through a single file, and second we should make some library functions that allow us to easily pass Ajax data around in a theme (eg: image data, album data, etc.). There's a lot of work to be done there. Until then you'll have to sort of do it custom in your theme only, and see what works.
  • @demosthenes705-

    Not necessarily. The server libraries having to be installed is half the problem with EXIF in general. It's not so good to rely on host having the correct libraries, which is why I grabbed the EXIF implementation that was flopping around on the forums here months ago. The problem now is that the libraries I'm using don't support newer cameras, plus the EXIF data isn't stored in the DB.

    That's where Tristan was leaning, having a nice library to support the installation, making the host provider's library irrelevant, and then storing the EXIF data in the database, retrievable later (and quicker) from stored data.

    @Stef - So. Let's get started Stef. I'll take a look into Exifixer as I have time, and we can maybe help Tristan with something he can plug into zenphoto's core. :)

    The problem is that we first need to decide the amount of fields we want store, since there are many fields that may be unnecessary to the average user. Any suggestions on what fields are important? I'm thinking the common ones are a good place to start:

    Camera Model, Date and Time, Image Size (Resolution), Flash, f/stops, Rotation (good for autorotation feature later), focal length, exposure

    Then allow for a few custom fields like Tristan stated.
  • @stef (and @tristan)-

    I wrote Jake (the Exifixer developer) to inquire whether there were any (if at all) problems with us using his code to develop further. I remember in the past Tristan, you mentioned you may have already done so, but I didn't think it would hurt to ask.

    I've downloaded the library and I'll take a look at it as I have the time. Basically it just takes an image file and grabs the tags from it using a function. We'd just have to write a new function to grab the tags and dump them to the DB instead. It looks to have a great deal of flexibility in the tags it supports.

    What core file would be best to start the functions in? Would you want to start an exif-functions.php, which would eventually be included in the zen directory?
  • stef Member
    @thinkdreams
    * Lets start...in the meantime I will quit my job and leave my house to have more time.
    ;-)

    @trisweb
    * To put the Exifinfos at the image data inside MySQL make sense.

    @all
    * Should we open a new, more meaningful topic? (Exif topic? Maybe more people will than
    engage in Exif support)
    * Exif libs: it seems that some Camera models are not 100% compatible with Exif.
    Before we made a decision regarding which Exif lib, shouldn't we look at the
    stability and support of the Camera models by the Exif libs? Maybe it's possible to
    test if exif_read_data() is available, if not use Exifixer (last one from 2005?).
    * Is there a Zenphoto Exif Code still base available? (Hacks, Beta?)

    ToDo:
    * I will also investigate Exifixer regarding Nikon and Casio support.

    ...to be continued
  • I have JakeO's official "go for it!" seal of approval to use Exifixer as a possible EXIF library we can use.
  • @stef-

    You should have, if you download the Thinkdreams theme, everything you need to evaluate what's available for Zenphoto hacks currently. There were a few other hacks that involved EXIF, but some of them affected the core code somewhat, so I tried to stay with a solution that didn't affect the core so much. All of the EXIF stuff I've done was from work by others on this forum, so you should also be able to glean that info from old forum articles as well.
  • stef Member
    @thinkdream
    If you don't mind I will open a new topic "Exif" inside "feature request"...
  • trisweb Administrator
    Sounds great guys, keep up the good work.

    Please coordinate with me as much as possible on this, I'd be happy to help (obviously). I would prefer to write the database caching part myself if that's alright. :) It'll be dynamically cached, checking the mtime of the image to see if it needs refreshing, along with other data like size.
  • @trisweb-

    I don't know if you missed it above, but what do you suggest for:

    What core file would be best to start the functions in? Would you want to start an exif-functions.php, which would eventually be included in the zen directory?
  • trisweb Administrator
    functions-exif.php would be great. :) Wherever you get the code working I'll probably move it around anyway, so don't worry too much about it.
Sign In or Register to comment.