Friday 21 October 2011 7:47:27 pm
Hello H-Works,
You can use this class kernel/common/ezurloperator.php
in php to access the same function 'eZURLOperator::eZImage( )' in php.
Note: Image aliases are created on upload of image into ezimage datatype, they are not created on demand.
I hope this helps ...
Cheers,
Heath
Modified on Sunday 23 October 2011 7:43:37 pm by // Heath
Sunday 23 October 2011 9:40:44 pm
Hello Heath,
Thank you for this information.
If image aliases are generated on upload why the change of an image alias settings in image.ini is applied when clearing cache ?
For me - but i can be wrong - image aliases are created when calling "attribute_view_gui" on an "ezimage" attribute.
Monday 24 October 2011 1:39:01 am
It seems like we're looking for the similar thing:
As stated in this post, it seems that only small and reference aliases are generated upon object publishing.
All others are generated when you try to access the alias for the first time.
Monday 24 October 2011 2:29:01 am
Hello H-Works,
Your welcome. I'm happy to try to help.
Apologies if I misunderstood your question / needs.It seems I have misspoken slightly.
Yes image alias variations are normally created upon upload. But they are also created if they do not already exist.
I did not cover the related caches which must be cleared to make image alias settings changes available in served image alias variation images or adding new image alias settings. Image aliases variations are created if they do not already exist in the system or if their expiry cache has been cleared.
Note where Gaetano Giunta almosts validates my previous statements regarding image alias generation,
http://issues.ez.no/15717#Comment266601
Related examples:
https://github.com/ezsystems/ezpublish/blob/master/kernel/classes/datatypes/ezimage/ezimagetype.php#L346
https://github.com/ezsystems/ezpu...tatypes/ezimage/ezimagetype.php#L401
I think that image alias settings changes are recognized and available to the system if the related caches are cleared.
>> "If image aliases are generated on upload why the change of an image alias settings in image.ini is applied when clearing cache ?"
From what I see, image alias variations are created on demand if they do not already exist. Say after you add a new image alias settings, cleared related caches and reload the page for the first time.
This might help explain why you can easily add image aliases by clearing ini cache but can not change existing image aliases without clearing the image alias caches and or purging image alias cache.
https://github.com/ezsystems/ezpu...7e06/kernel/classes/ezcache.php#L506
If you want to change an existing image alias settings you must also clear ini and imagealias caches and/or purge the variations. Then reload the page for the first time, the image aliases which now no longer exist in the system will be regenerated. I'll expand on this further ...
I think clearing image alias and ini cache my be required to recognize your changes.
http://share.ez.no/forums/general/clear-cache-with-a-command-line
I think that when the content is loaded (in php) the ezimagealiashandler is called which in turn can generate image aliases which do not exist in the system yet,
https://github.com/ezsystems/ezpublish/blob/master/lib/ezimage/classes/ezimagemanager.php#L772
https://github.com/ezsystems/ezpublish/blob/master/lib/ezimage/classes/ezimagemanager.php#L1014
The key here being invalidating the image alias caches and / or purging the image alias cache. Then changes are available in the served image aliases.
This seems to me that you can always add image aliases, but if you change an existing alias then the caches must be cleared.
https://github.com/ezsystems/ezpublish/blob/master/kernel/classes/ezcache.php#L94
https://github.com/ezsystems/ezpublish/blob/master/kernel/classes/ezcache.php#L510
https://github.com/ezsystems/ezpublish/blob/master/kernel/classes/ezcache.php#L518
https://github.com/ezsystems/ezpublish/blob/master/kernel/classes/ezcache.php#L585
>> "For me - but i can be wrong - image aliases are created when calling "attribute_view_gui" on an "ezimage" attribute."
I don't know what in the code makes you think image aliases are generated when calling attribute_view_gui, just read the template code called by that function, https://github.com/ezsystems/ezpublish/blob/master/design/standard/templates/content/datatype/view/ezimage.tpl
I did notice this somewhat related thread where zurgutt explains some hands on experiance clearing caches to invalidate image alias cache, so that each supsuquent request will regenerate the requested image and cache before serving the image alias to the user. http://share.ez.no/forums/developer/3.5-how-can-i-recreated-image-variations#comment42574
Also here is a hint about how image variation settings are processed causing regeneration, http://share.ez.no/forums/general/recreate-image-variations#comment29060
Another thread which highlights image variation changes being recognized and available after clearing caches, http://share.ez.no/forums/developer/how-can-i-regenerate-image-alias
Another thread which highlights image alias cache, http://share.ez.no/forums/developer/image-alias-deleted-after-clearing-cache
On this topic a recent improvement was made to make it simple to purge image aliases, not just invalidate them,
https://github.com/ezsystems/ezpublish/commit/0b6dd265ccf636d17151fd5766c12f08cd977e06
http://issues.ez.no/IssueView.php?Id=15717&activeItem=1
I hope this helps ...
Cheers,
Heath
Modified on Monday 24 October 2011 2:30:43 am by // Heath
Monday 24 October 2011 2:45:59 am
Yes image alias variations are normally created upon upload.
Heath, are you sure about that?
I have just tried it on eZP 2011.6, and it generates only "reference" and "small" aliases upon object publishing.
Modified on Monday 24 October 2011 2:46:32 am by Mavko Žmak - Žmale
Monday 24 October 2011 3:05:08 am
Hello Marko,
I base this on the following .. Where the datatype stores upload image content to attribute/datatype,
https://github.com/ezsystems/ezpu...tatypes/ezimage/ezimagetype.php#L323
But your right, if you dig down further in the api you see it seems to only create the original image alias at this point in time.
https://github.com/ezsystems/ezpu...zimage/ezimagealiashandler.php#L1204
To be fair I have honestly not tested these behaviors before posting. Only reading forum threads related and kernel api useage.
Though this code makes me lean to all image aliases except original are created on first request,
https://github.com/ezsystems/ezpu.../ezimage/ezimagealiashandler.php#L89
https://github.com/ezsystems/ezpu...ezimage/ezimagealiashandler.php#L388
https://github.com/ezsystems/ezpu...ezimage/ezimagealiashandler.php#L411
Cheers,
Heath
Modified on Monday 24 October 2011 3:06:06 am by // Heath
Monday 24 October 2011 3:16:09 am
Another note that might be relevant.
The ezimage operator [0] is not used for/with images stored in eZ Publish using the ezimage datatype or image alias variations.
I guess the similar names can be confusing here ...
Rather ezimage operator is used to provide the path to the image in question in the current design (extension).
[0] http://doc.ez.no/eZ-Publish/Technical-manual/4.x/Reference/Template-operators/URLs/ezimage
The two types of files in the system are very different in practice and the usage is separated.
Cheers,
Heath
Monday 24 October 2011 5:17:05 am
This class method makes me thing you could write a PHP ezp cli script or cronjob which would fetch all content objects which contain the ezimage attribute/datatype, has image content and then invoke the attribute content 's ezimagealiashandler object imageAlias method which will generate the image alias image variations.
https://github.com/ezsystems/ezpublish/blob/master/kernel/classes/datatypes/ezimage/ezimagealiashandler.php#L388
Example script
This got me inspired and I wrote this very basic example using the kernel api usage as a guide.
Note: I had source code formatting problems (a lot of them) trying to publish this simple example script on share.ez.no so I have posted it for long term safe keeping on ezpedia.org
http://ezpedia.org/solution/creating_image_alias_image_variations_in_php
I hope this helps ...
Cheers,
Heath
Modified on Monday 24 October 2011 5:43:13 am by // Heath
Monday 24 October 2011 8:51:03 am
Hello,
You seem to be looking for the same thing as Marko through this post:
http://share.ez.no/forums/developer/pregenerate-image-alias-on-object-publishing
So maybe you should have a look at the latter, where some code is given. It may answer your needs
Monday 31 October 2011 5:42:58 am
Hello eZ Community!
Brookins Consulting is proud to announce the release of BC ImageAlias!
http://projects.ez.no/bcimagealias/news/bc_imagealias_0_0_20_release_available
This packaged, complete extension provides a wide range of tools to use to generate and remove image alias image variation image files quickly, efficiently and effectively.
I suggest anyone trying to base a solution on the untested and now deprecated wiki article based source code examples to abandon this code as incomplete and ultimately not effective (enough) out of the box.
The bcimagealias extension has been heavily tested with the latest eZ Publish 4.5+ (2011.09 build) and works right out of the box.
We also would like to encourage anyone with questions or comments to publish these in the project forums.
Thanks again for your continued support! Enjoy generating and removing your image alias image variation image files!
Best wishes
Cheers,
Heath
Sunday 13 November 2011 11:18:24 am
Hello eZ Community,
Brookins Consulting is proud to announce we have migrated the bcimagealias extension from subversion to git.
The project is still available via http://projects.ez.no/bcimagealias
We hope this makes the extension that much more user friendly.
Best wishes
Cheers,
Heath
Sunday 13 November 2011 1:03:03 pm
I still don't understand really how images aliases are generated.
What i thought is that after publication "default" aliases (those defined in settings/image.ini) were created but not "custom" aliases that were generated when calling "attribute_view_gui" on ezimage.
After few test i realize that some custom aliases are generated but others aren't. Even defined in the same image.ini.append.php file inside an extension.
For example i have an "extra-large" alias which is generated after publication and a "small-medium" alias which is never generated.
Does anybody knows the real behavior of ezp 4.x on this topic ?
Modified on Monday 14 November 2011 11:37:45 am by H-Works Agency
Monday 14 November 2011 2:20:42 am
Hello H-Works,
I'm very sorry. It seems there are still some issues to work out with this contribution's compatibility.
I belive there are still changes which we need to make. One I just noticed was that the workflow event is technically a few characters too long (among other important runtime issues we are also seeing.
I am working on addressing these concerns right away.
I will post again when I have addressed these concerns.
Thank you for your feedback. This really helps us ensure we deliver a complete solution.
Cheers,
Heath
Monday 05 December 2011 1:01:42 pm
Hello H-Works,
We recently pushed a large number of changes to the bcimagealias extension project repository.
Our latest testing with 2011.09 shows this latest pushed version as a tested stable beta.
We are asking all users interested to please test again with the *much improved* latest version!
https://github.com/brookinsconsulting/bcimagealias
http://projects.ez.no/bcimagealias
I hope this helps ...
Cheers,
Heath
Thursday 08 December 2011 7:31:40 am
Hello H-Works, Jerome, Marko and the rest of the eZ Community!
After a whole lot of development and testing I wanted to share some new developments tonight.
New features in BCImageAlias
I wanted to take a moment to share that we have recently pushed changes tonight which add new features to the bcimagealias extension which allows it to now generate content tree node object and all child node object image aliases via PHP, cli script and workflow event.
Previous versions of the extension were limited to generating by object-id (one object at a time). The new version allows for generation by node-id and optionally child node subtree(s) (many objects at one time).
This is the most common use case we see for new users of the extension and we are very happy to see these new features land in the project repository (among many other smaller improvements).
This means you can simply install the extension and very quickly generate all image aliases in the content tree(s)('Home', 'Media', 'Users' root node subtrees, in default install of ezwebin) directly, quickly and efficiently in one easy to use command line command.
We are not yet regularly reposting packages as the extension development continues at a more frequent pace. In the future after the next few waves of feature development we will establish a more regular release and package routine so users who don't use git just yet can always try the latest stable version.
As always you can still get the latest stable tested beta extension sources from github directly, https://github.com/brookinsconsulting/bcimagealias
And here is a copy of the latest version's changelog and the recent commit described above.
https://github.com/brookinsconsulting/bcimagealias/blob/master/doc/changelogs/CHANGELOG-0.0.23
https://github.com/brookinsconsulting/bcimagealias/commit/80280536239740d771be52abe1f3ef272f05108a
Feel free to ask more questions about bcimagealias, we would be happy to answer your questions!
I hope this helps ...
Cheers,
Heath
Sunday 11 December 2011 6:30:20 pm
Hello H-Works, Jerome, Marko and the rest of the eZ Community!
After a whole lot of development and testing I wanted to share some new developments today.
Today we have pushed a rather large set of improvements for bcimagealias extension to GitHub,
https://github.com/brookinsconsulting/bcimagealias/commit/140ac3f8b5154973b744bf8e18386ccc3502d96c
New features in BCImageAlias
Also it's worth mentioning we added support to the bcimagealias script and class for the parameters '--classes', '--attributes' and '--aliases'. You can see examples of how to use these parameters reviewing the doc/USAGE file, https://github.com/brookinsconsulting/bcimagealias/blob/master/doc/USAGE
We also added admin siteaccess content structure and popup class menu links. These links allow for you to use the same features as the command line script to create, regenerate and remove image alias image variation image files using two new module views 'create' and 'remove'. This was the initial focus for this iteration of development.
This makes it possible for any user with the required role policies to create, regenerate and remove image alias image variation image files using the existing content structure and popup class menus with the bcimagealias extension using the admin siteaccess without any complications.
You can review the changelog (as we have made many improvements to 0.0.23 version)
https://github.com/brookinsconsulting/bcimagealias/blob/master/doc/changelogs/CHANGELOG-0.0.23
We hope this helps ...
Cheers,
Heath
Monday 12 December 2011 12:31:28 am
Hello Martin,
Your very welcome. We are here to help people reach their goals simply and effectively.
We look forward to your testing feedback and report results
We would welcome your contribution of a french translation for the extension via GitHub pull request. The translation strings are not many so it would take you very little time to complete the translation of the strings in general.
Best wishes
Cheers,
Heat
You must be logged in to post messages in this topic!