"Ole-Henrik Jakobsen" <[EMAIL PROTECTED]> writes:
Hej Ole-Henrik,
Thanks you very much for giving me some feedback! I've looked at it a
bit and I guess you're right about the documentation: I should have
tried to write more carefully what changes are necessary with PEL 0.9.
The problem for me is just that I've made them incrementally over the
last year (0.8 came out in February 2005) and so I haven't really
noted them. That is why it is so important that users sometimes test
the CVS code.
Anyway --- its good that we've found the problems now, for then we can
make a 0.9.1 release to try and fix them! :-)
I tried to upgrade PEL from 0.8, and yes, I got problems:p I tried
to figure it out without success, and reading INSTALL, README, NEWS,
TODO, CHANGELIST, the API Documentation.
I agree that it is somewhat confusing and I haven't thought so much
about it. My idea with those documents is as follows (this should
probably be part of the README):
README explains what PEL is and explains the other documents.
INSTALL lists basic installation requirements and instructions and
gives pointers to further documents on how to use PEL.
NEWS gives a cronological overview of the changes to PEL. It is
intended to be smaller than the full ChangeLog and especially intended
to help people to see what has changed between each release. For 0.9
it says that
* Changed PelIfd::getSubIfd() to take an IFD type as argument instead
of a PelTag. Added PelIfd::addSubIfd().
and this is precisely why your code no longer works.
I think it would be a good idea to have a section before 'Changes'
which lists such API incompatibilites:
----
API incompatible changes:
* Changed PelIfd::getSubIfd() to take an IFD type as argument instead
of a PelTag. The IFD types are constants in PelIfd. So please use
$exif = $ifd0->getSubIfd(PelIfd::EXIF);
instead of
$exif = $ifd0->getSubIfd(PelTag::EXIF_IFD_POINTER);
in your code.
* Added support for the GPS IFD. This API break compatibility with
version 0.8. The problem is that the GPS related tags have the same
value as some other tags, and so the function PelTag::getName(),
PelTag::getTitle(), and PelTag::getDescription() has been changed to
take an extra argument specifying IFD type of the tag.
This might change very well further in the future.
----
I hope this will help in the future. Furthermore, I can make
getSubIfd() accept the old constants too (with a warning) and so make
a more fluid transition.
But PEL is in a somewhat strange situation in that it works quite
well, but I still have some plans for major API changes... to
complicate things even more, then I don't have something which relies
on PEL myself, so changing the code is easy! :-) That is why it is
very valuable when people like you complain about these things!
I like the project, but I don't like the documentation. It's -way-
to hard to figure out how to use things.
You're right. We need more code examples and better guides.
In the very first script I made to get the EXIF tags and print them
to a site, I used over 24 hours to create. And yes, it looks very
simple and ugly. Btw. I didn't know that it had a multilanguage
support, so I just added my own language directly in the script:p
I will put the script in attachment, it works for 0.8 and not the
0.9. But of course, it had been very cool if someone having a
wonderful script would share it too.
Yes, I hope that as more and more people try PEL that we will see some
cool code with it and maybe some documentation to go with it.
It may look like I hate the 0.9 release or the documentation, but no
I don't. It's late and I'm scratching my head of soon to get this to
work.
No problem! I'm glad for your mail since it highlighten some problems
which I hadn't thought of.
Well, I have switched back to 0.8 and will upgrade when my head is
ready for it. Well I don't hate the documentation, but it REALLY
needs some more explainations to get different stuff to work.
Right again :-)