Event Gallery
Event Gallery
2 User’s Guide
Sven Bluege
The free version! This is NOT a demo! The feature set of the main component is not limited. You
just don’t get the bleeding edge version and limited support.
The full version! This is the bleeding edge version offering a bunch of additional modules and
plugins as well as support. On top, you support the future development of Event Gallery. You
can compare both versions by following this link: https://www.svenbluege.de/joomla-event-
gallery#compare or with the table below.
Main Component
Local Images
Flickr - unlimited
Amazon S3
1
Event Gallery Core Event Gallery Extended
Categories Module
Cart Module
Support
Download Buy
2
https://youtu.be/thBzzk-LTl4
3
Table of Contents
1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2. Tutorial Videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2. Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.13. Sync folders and images (Google Photos, Flickr, Local, Amazon S3) . . . . . . . . . . . . . . . . . . . . . . 56
3.14. Amazon S3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.16. Flickr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2. Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.11. Shipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.12. Surcharge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6. Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4
6.4. Grid Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9. FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5
9.23. Restrict the size of Flickr images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.0.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.0.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
3.12.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
3.12.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
3.12.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
3.12.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
3.12.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
3.12.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
3.11.22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3.11.20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3.11.18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3.11.16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
3.11.14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.11.12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.11.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.11.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
3.11.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
3.11.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
3.11.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
3.11.00. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
3.10.24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
3.10.22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
3.10.20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
3.10.14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
3.10.12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
3.10.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
3.10.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
3.10.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
3.10.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
3.10.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
3.10.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
6
3.9.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
3.9.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
3.9.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
3.9.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
3.8.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
3.8.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
3.7.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
3.7.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
3.7.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
3.7.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
3.7.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
3.7.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
3.6.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
3.6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
3.5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
3.5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
3.5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
3.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
3.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
3.5.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
3.4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
3.4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
3.4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
3.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
3.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
3.4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
3.3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
3.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
3.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
3.3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
3.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
3.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
3.2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
3.1.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
3.1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
3.1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
3.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
3.1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
3.0.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
3.0.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
3.0.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
7
3.0.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
3.0.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
3.0.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
3.0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
2.6.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
2.6.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
2.6.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
2.6.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
2.6.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
2.6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
2.6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
2.6.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
8
Chapter 1. Introduction
1.1. Introduction
This manual covers the features of Event Gallery 4.3.2.
It’s time to introduce a new gallery component for Joomla. I guess you’re already waiting for
something like this since there is a real lack of such kinds of components ;-)
Initially, I build this component to show photos of different events to the audience. To where other
components have folders this component calls them events. Because of that this component is
called Event Gallery. But don’t be tricked by that. It’s a full-fledged gallery component. So install it
and give it a try.
1.1.1. Features
• Display images from local folders, Amazon S3 folders, Flickr * and *Google Photos
◦ Tile List
A Pinterest like tile layout where the name and description of an event are easily visible and
can use much more space than using the Grid layout.
◦ Grid List
◦ Image List
◦ Simple List
This kind of layout show your events as a simple list of text links.
◦ Image List
This list type presents all images of an event as a simple long list. You can zoom into images
using a light box.
9
While nearly identical to the Image List view this view provides a dedicated page for every
image. This page allows you to step from image to image.
If there is limited space the Ajax Image List is for you. It provides a spitted interface where
you have a full image on one side and a pageable list of thumbs on the other side.
◦ Tile List
Displays your images in a Pinterest like layout. This view allows to display the image title
and description below each image.
◦ Grid List
The grid list is showing your images in a very simple way. It’s a kind of table, but it supports
responsive layouts.
• Light box with integrated paging and support for swipe gestures on touch enabled devices
• Deep links - you can link from a menu directly to a specific event
• Tags - you can assign tags to events and use them filter your events in the front end.
• Responsive & Adaptive - resizes automatically to the available space and uses the optimal image
size to reduce bandwidth usage.
1.1.2. Layouts
List of Events
10
Figure 1. Layout options for lists of events
Event
11
Figure 2. Layout options for events
There are several essential things you should understand before you use Event Gallery.
12
If you create an event where the images are located on the Google Photos/Flickr server this event is
called a remote event. If information about this event have to be displayed Event Gallery will make
a request to the Google Photos/Flickr Servers to get a list of available images. The result of this
request is cached for 24 hours to achieve a good performance. But this also means that changes you
do at the Google Photos/Flickr side are not reflected on your Joomla site until the next request. You
can clear the server cache to make Event Gallery reloads the Google Photos/Flickr album.
Local
If you upload your images to your server directly you use a local event. For every file you upload a
new entry in the database is created. If you use the internal upload tool everything is fine. If you
upload images another way you need to synchronize the database using the "Sync Database" button
Event Gallery provides. That is also the case if you do any other modification directly in the file
system.
Once this information is available in the database you can display the images in the front end. Since
you just need to upload the large images, Event Gallery will take care of creating all the different
thumbnails. For performance reasons those thumbnails are cached. If you change an image, add
watermarks or things like this, you need to invalidate the cache. This will delete all the cached
thumbnails and the server will recreate them if necessary. Don’t forget to clear the browser cache
as well to see changes. Even if the images are cached very well, each request is a PHP request. Make
sure your server can handle this. But don’t worry too much. For most of them this is no issue.
Event Gallery supports two different versions of delivering local images. The old and default way is
to generate thumbnails on demand. The image.php script is called for every thumbnail. If there is
already a thumbnail in the cache, it’ll be used. If there is no thumbnail, it gets created and stored in
the cache. That is basically described above. The new way is to precalculate thumbnails and deliver
them as static files. You are responsible to make sure, the thumbnails exist. Event Gallery will
support you, but you still need to keep an eye on it. If you delete the Joomla! Cache, make sure you
don’t delete the thumbnails, too. In the components options you can switch between using on-
demand and precalculated thumbnails.
Caching
To improve performance the Joomla cache is supported. The events and the event view are cache-
able. Please keep in mind that you need to use progressive caching if you want to use user groups to
restrict access to your events. Password protected events can be cached conventionally. Please do
not use the Joomla! Cache plugin if you want to use the checkout. This plugin caches pages based on
their URL only which is not a good idea if the view is based on session data like a cart.
Modules are cacheable too. They are cached globally for the site.
Event Gallery makes heavy use of JavaScript to calculate the right thumbnail sizes to load optimized
images only. This means that JavaScript has to work on your site without any issues. The most
common issues are caused by templates, plugins or modules which do not care enough about the
way Joomla works.
13
Amazon S3 Storage
If Google Photos and Flickr are too unreliable, but you don’t have much space/traffic on your web
server, you can move your images to Amazon S3. Amazon S3 is a simple storage provider. You can
upload your original files and let Event Gallery create the necessary thumbnails. Just keep in mind
that you pay for both the amount of space and the bandwidth you use. The amount of space you
need for the generated thumbnails is relatively high. Currently, Event Gallery uses 13 different sizes
from 48px to 1440px. While those thumbnails get generated dynamically if images are stored
locally, they need to exist if you’re using Amazon S3. Please read more in the Amazon S3 section of
the manual.
1.1.4. Requirements
• Images! Large Images. At least as wide as the space where you want to show them. Bigger is
better :) But watch the memory limit of your server.
• Your images need to have an extension like JPG or jpg. png and gif will do too.
• MySQL
• Your template should not produce any JavaScript errors before you install the component
• If you use Flickr, your images need to be uploaded after 2012 to provide the necessary
thumbnail sizes.
Install
Do never install an older version than the current one you’re using! This will cause
multiple issues and might prevent that you can install the latest version again or
even render your site useless. I recommend using a tool like Akeeba Backup for
Joomla to create a backup of your site before updating anything including this
package.
4. Open the Extension Manager and install the component by selecting the downloaded zip file in
14
the file dialog
Update
If you want to update from Event Gallery to Event Gallery Extended you can follow the same
process as with a normal update.
4. Open the Extension Manager and install the component by selecting the downloaded zip file in
the file dialog
Yes, those are the same steps as for the installation process. Usually, it is not necessary to uninstall
the component for an update.
If you uninstall the component you’ll lose your configuration and data.
Make sure you uninstall the whole PACKAGE. If you uninstall the component only
you can’t reinstall. Just uninstall the package, and it’ll work again.
Possible Issues
Since the installation package is pretty large you might encounter problems during the upload. In
this case, you can use one of the two other options the Joomla Extension Manager provides:
• Upload the package to your server using FTP and install from directory.
• Install using a link. Instead of downloading the package you can copy the link. Use this link to
install Event Gallery.
If you see some warnings during the update process don’t worry. Just install the package again, and
it’ll work.
15
Chapter 2. Tutorial Videos
YouTube Channel
You can check out the YouTube channel using this link: YouTube
Get Started
https://youtu.be/thBzzk-LTl4
Setup Flickr
https://youtu.be/11HCvdWH6o8
Adding Flickr to your Joomla page is just a few clicks away. This video will get you started.
16
Install
https://youtu.be/u4HIO5RQCrw
Create Events
https://youtu.be/fE-MObwXoIc
17
Back End Tour
https://youtu.be/xz-16LY3zjE
IPTC Data
https://youtu.be/OV77MD7OeBU
Amazon S3 Setup
https://youtu.be/SXNN8unEYIM
Google Photos
https://youtu.be/Gz57tKlT-xg
18
Google Photos and protected albums
https://youtu.be/wpuGRZxhPtY
19
Chapter 3. Usage
3.1. Overview
This page lists the components configuration options. The top tool bar provides the following
options:
3.1.1. Options
Access the components options. See below for the available configuration option.
You can do the upload using FTP or the build in image uploader. Since this component uses the
databases to store information about files it needs to be updated once you change something
directly at file system level. You can add/remove files and folders. By hitting the sync button added
folders and files get added to the database while removed files/folder get removed. Finally, the
database is in sync with the file system. If you try to upload using FTP put your images into a new
folder below [path]_ /images/eventgallery/_.
20
Make sure your folder names do not include special characters like umlauts, dots or anything like
this. Otherwise, you will encounter sync issues.
The sync process will handle your Amazon S3 folders as well. Since the file sync is expensive the
process is now split into two parts. The [ Sync Folders ] button will start the search for files which
needs to be synced. While this is always true for local files, Amazon S3 files will only appear if their
hash has changed or the local database does not know the hash yet. Hit the [ Sync Files ] button to
start the file sync. This is necessary to update meta information about images in the database. This
involves some EXIF data and most important the plain width and height of the image. If you’re
syncing S3 images please keep in mind that this process will temporarily download every file to
read the necessary data from.
If you want to automate the sync process you can use the command line script [path]_
cli/eventgallery-sync.php _ to do the sync job. You can use this script as part of a CRON job. This is
useful if you just want to add images daily, or you have an ongoing event. Make sure the uploads
and the sync job do not collide.
In the top toolbar you’ll find a new button Thumbnail Creator. Use this button to create your
thumbnails if you store your images in an Amazon S3 bucket. To create thumbnails you need to
select the folder you want to scan and click the [ Find missing thumbnails ] button. It will try to
find missing thumbnails based on two criteria: do the thumbnails exist at all and is the thumbnail
already known in the database. If the checkbox [ Refresh thumbnail hashes ] is checked and the
21
thumbnail exists in the S3 bucket, its hash gets written into the database. This is very useful if you
run two servers with one set of S3 buckets and avoids calculating the thumbnails twice. If missing
thumbnails are found they’ll be shown, and you can click the [ Create Thumbnails ] button to
generate them. This will take a long time! The upload to S3 is kind of slow. You can open the
JavaScript console of your browser to see detailed information. In case of errors, please let the
current process finish and click the [ Find missing thumbnails ] button and repeat the process.
Since an image might take about 25-35s, please make sure your servers max execution time is set to
a higher value than 30s!
On my server it took about 5-6 hours to create thumbnails for 2000 images. The
sync process runs in the browser with four parallel workers. The CLI script uses
just one.
You can speed up the process by using an external resize service. On GitHub (
https://github.com/svenbluege/eventgallery-lambda) you can find an Amazon Lambda function
which can be used with Event Gallery. Once you published this function using the Amazon API
Gateway you can enter the API URL in the components options.
The component caches all calculated images, the result of requests to Flickr and Google Photos and
some more stuff. If you feel you have to clear this cache just hit this button. Keep in mind that
refreshing the cache might be expensive. Please note that just because you remove all the cached
images your browser might still load images from the local browser cache. Don’t forget to clear that
too. If you remove cached responses for Google Photos and Flickr requests the next request on your
site will load the latest data from those remote services. Use this if you change something directly in
a Google Photos/Flickr album.
22
You can manually clear the Event Gallery cache be deleting all eventgallery-*
folders in the Joomla! Cache folder /cache and the folder which contains generated
thumbnails /images/eventgallery_generated.
In order to import all public albums from a Google Photos account you can use this import. The
component will load all albums and adds them to the list of events. Please note that this is just a
one-way import. Once you remove an album from Google Photos, you need to remove it from the
list of events as well. The import will only add elements.
3.2. Caching
Event Gallery allows benefiting from caching even if you don’t enable the Joomla! Cache. This is
very useful for the Event Gallery modules and will speed up your sites load times. But it helps to
deliver full pages faster too. As of now, this only works if you use the caching handler FILE. This is a
setting you can make in the Joomla! Configuration options where you can do all the cache settings.
It does not work with other cache handlers because of some bugs in there. Once you’re using the
cache don’t be surprised if changes in the back end are not reflected in the front end. You see
cached elements! Make sure you clear the cache using the components settings. You can clear the
com_eventgallery cache folder but leave alone the image, Flickr and Google Photos folder. They
contain your cached image metadata and are not involved in this kind of cache.
The cache lifetime if defined by the Joomla! Global configuration option for the cache lifetime.
Event Gallery modules feature the caching configuration option. Set it to Yes to enable module
23
caching and set the cache lifetime as long as you like. 86400 is a good value since it caches a module
for 24h.
Cart
Checkout
Displays the checkout page where the user can request his cart.
Categories
Displays list of events and the subcategories of the selected category. If you choose ROOT all events
are shown.
Event
• Event Layout defines how to display the images of an event.
24
• Event Headline For SEO reasons a default H1 tag for the headline does not always make sense.
This option allows you to change the tag to another headline type.
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.
• Show event text Defines to show the text for an event on the event list.
• Show date You can toggle the appearance of the date for the events show within this menu item
• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
and caption. This even works for the light box.
• Show image count Defines to display the overall number of images for an event on the events
list
Events
• Layout defines which layout to use for an event. You can configure the appearance of the event
page with the options described above.
• Intro Text defines a text for the events page. Usually displayed on top of the page.
• Sort By defines the direction and the attribute which is used the sort the events.
• Max events per page How many events should we show per page until the paging bar will
appear.
• Show hits Enables the display of the number of hits an event received. Please note that hits can
only be counted if caching is disabled. If you have an event which uses paging each page is
counted as a hit.
• Use Password Dummy Image Show a dummy image instead of the main image in a list of
events if the folder is password protected. Once the user entered the right password this image
will be replaced with the events main image.
• Use UserGroup Dummy Image Show a dummy image instead of the main image in a list of
events if the folder for a specific user group only. The real image will appear once the user is
logged in with the right group.
• Show Events per Category Show the number of assigned events for a category.
Basic Options
• Event: the event you want to display
Advanced Options
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.
• Show date You can toggle the appearance of the date for the events show within this menu item
• Height of the thumbnails Defines the height of the thumbnails in the navigation bar.
• Number of thumbs per page Defines how many thumbs you want to see on a page
25
• Number of thumbs on first page Defines how many thumbs you want to see on the first page.
Since there might be some additional text this number can be smaller than on other pages.
• Show Information Inline Defines where to show the event name and description. Inline on the
first thumbnail page or on top of the page.
Basic Options
• Event: the event you want to display
Advanced Options
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.
• Show date You can toggle the appearance of the date for the events show within this menu item
• show hits Enables the display of the number of hits an event received. Please note that hits can
only be counted if caching is disabled. If you have an event which uses paging each page is
counted as a hit.
• Height of the thumbnails defines the initial height of each row in the grid in pixel.
• Height jitter defines the maximum amount of pixel the row height can vary.
• Height of the first thumbnails defines the height in rows of the first photo in the list.
• Show image caption overlay Defines if the image title and caption is displayed on an image.
This setting affects only the pageable list and the image list.
• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
and caption. This even works for the light box.
Basic Options
• Event: the event you want to display
Advanced Options
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.
• Show date You can toggle the appearance of the date for the events show within this menu item
• Height of the thumbnails defines the initial height of each row in the grid in pixel.
26
• Height jitter defines the maximum amount of pixel the row height can vary.
• Height of the first thumbnails defines the height in rows of the first photo in the list.
• Show image caption overlay Defines if the image title and caption is displayed on an image.
This setting affects only the pageable list and the image list.
• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
and caption. This even works for the light box.
Shows the images of an event in a grid. Images are not cropped and centered in a tile.
Basic Options
• Event: the event you want to display
Advanced Options
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.
• Show date You can toggle the appearance of the date for the events show within this menu item
• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
and caption. This even works for the light box.
Basic Options
• Event: the event you want to display
Advanced Options
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.
• Show date You can toggle the appearance of the date for the events show within this menu item
• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
and caption. This even works for the light box.
27
• Show Image Title Toggles the display of the image title.
Event - Squares
Basic Options
• Event: the event you want to display
Advanced Options
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.
• Show date You can toggle the appearance of the date for the events show within this menu item
• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
and caption. This even works for the light box.
Events - List
Event
• Event Layout defines how to display the images of an event.
Events
• Layout defines which layout to use for an event. You can configure the appearance of the event
page with the options described above.
• Intro Text defines a text for the events page. Usually displayed on top of the page.
• Tags defines which tag an event need to get displayed on this list of events.
• Sort By defines the direction and the attribute which is used the sort the events.
• Max events per Page How many events should we show per page until the paging bar will
appear.
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.
• Show event text Defines to show the text for an event on the event list.
• Show date You can toggle the appearance of the date for the events show within this menu item
• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
28
and caption. This even works for the light box.
• Show image count Defines to display the overall number of images for an event on the events
list
• show hits Enables the display of the number of hits an event received. Please note that hits can
only be counted if caching is disabled. If you have an event which uses paging each page is
counted as a hit.
• Show image caption overlay Defines if the image title and caption is displayed on an image.
This setting affects only the pageable list and the image list.
• Use Password Image for Event Show a dummy image instead of the main image in a list of
events if the folder is password protected. Once the user entered the right password this image
will be replaced with the events main image.
• Show back button If enabled the event pages will have a back link in case the parent menu
item shows a list of events. It’s still better to use Joomla! Bread crumb mobile if you want to
create some kind of navigation help. This is especially true if you use the categories view. The
back link will always point to the main menu item.
29
Figure 8. Create a new menu item
30
• Event5 → Tags = people, women
You can arrange the events within the following menu structure:
• Options
• Sync Database
• Clear Cache
31
3.5.1. Edit Event
The view lets you edit the details of an event. An event is always based on some kind of file
structure. Because of this you’ll have to deal with the term Folder.
Use the Save as Copy button to create a copy of the current event. Make sure you specify a different
image source. It is not allowed to use a source twice. Images are not involved in the copy process.
• Image Source
Specify which image source you want to use for this Event.
Specify the folder name. Don’t use special characters or slashes. A good example id '2022-05-
20_birthday'. You don’t need to care about the folder structure, so no parent directories are
needed here. Again: no slashes are allowed. Create the Event, then you can upload images.
If you want to show a Flickr Photoset you can enter the ID of this PhotoSet here. You can search
for that ID manually or use the Album button after selecting a Flickr account. If there is no
Flickr account, please create one in Event Gallery. This allows easy access on the one side and
access to private Flickr images on the other side.
• Google Photos
Use the album selector button to select the album you want to use. It will fill the album field
with a long string which is the reference to the album.
• User Groups
Defines a set of user groups. If a user wants to see an event he needs to be part of one of the
defined user groups. Otherwise, he’ll get a login page or an access-denied-screen.
• Password
Set a password for each folder if you want to protect it somehow. If a user tries to access such a
folder he needs to enter a password. If you want to send out links to a password-protected
folder you can add this password directly to the link and nobody needs to be bothered by a
password page.
• Password Hint
Provide a hint for the user to guess or get the password. Use this to let your visitors guess the
password without having to know it.
• Tags
• Date
32
This date is shown in the front end for this event.
• Title
• Published
• Start Publishing
Defines when this Event would become visible in the frontend. Still, you need to publish it.
• End Publishing
Sets the time at which this Event should disappear in the frontend. Still, you need to publish the
Event.
• Cartable
Defines if users can add images from this folder to the cart. Useful if you want to display image
where it makes no sense for getting requests for.
• Image Set
If you want to sell images from this event you need to select the image set you want to use.
• Watermark
Sometimes one would like to brand his images. If you defined at least one watermark you can
select it here. All images of this event will be marked using this watermark configuration. If a
default published watermark exists this one is used to watermark images of this event.
• Text
You can add additional text to an event. This text is usually shown above the thumbnails in the
front end.
• Sorting
While this tab is visible for all types of events it effects local events only. Use it to define how
you want to sort the images of this event. If you chose the global sorting values you can control
your file ordering using the components options.
• Others
Use this tab to control more settings for this event like the options for social sharing.
33
Figure 10. Create Event
Sorting of the elements in this list is a bit tricky. By default, the items are sorted by the ordering
number descending in the front end. If you want to have your item on top of the list, assign it the
highest number. All items with a number of 0 will behave strangely until you enter a number
greater than 0 and click the save button which is located in the header of the sorting row. Once all
events have an ordering number you can use the up/down arrows or drag and drop to sort them
further. New events will end up with the highest ordering number + 1.
34
If you change a number in the ordering field a button will appear on top of the
column. You can change multiple values and hit this button afterwards. This will
persist your changes.
Make sure you don’t miss the configuration options for the sorting in the global options and the
menu item specific configuration panel.
Once you created your event and uploaded some photos you may want to manage those files. Here
is the right place for it. On this page you can sort, delete and modify the status of an image.
The options in this page are only available for images you manage yourself. Images on Google
Photos or Flickr are managed remotely. There is a regular sync with those services to import the
latest data.
• published
• main image
Should this image be used for the overview page in the front end? Multiple selections are
possible, the image with the highest ranking will win.
Sometimes you want show an image on the overview page but not in the actual image list. With
this option you can hide the image on the list. It’ll only appear on the overview page if it is
defined as a main image.
The status of an photo can be changed by the button in the status column. By using the check boxes
and the buttons in the toolbar you can perform an operation for multiple photos.
35
Figure 12. Event Page
File Details
You can manage details for each local image on the file detail page.
Title
• Title
• Caption
• Creation Date
You can sort your images by this value. It’s read from the IPTC creation date field of the image.
The format is simply YYYYMMDDHHmmSS like 20160131105500.
• URL
The url for the image. It depends on the layout you use if this value is used or not. If it is uses a
click on the image will redirect the user to the url you specified.
Use this to sell this image with a different set of options and prices. If no value is set there,
36
prices and formats (aka image types) are derived from the Event.
By default, the ordering of files is by ordering number descending and file name ascending. New
files will always get a ordering number of 0. By assigning a number greater than 0 you can move
individual image up. Usually one would name the image files like one would like to have them
ordered in the front end and sorts special images on top of the list.
In the components options and for an individual local even you can define which column is used to
sort the files in addition. This sort attribute is applied before the other sort attributes mentioned
above. You can find the configuration in the Events - List tab in the components options.
The fields for entering ordering numbers for files will disappear if the event is
sorted by anything else than the ordering column. Files appear in the same
ordering as they would appear in the front end.
Shuffle Images
This option allows to display the images of an event in random order. You can switch it on in the
components options (tab Events - List) or directly for an event using the sorting tab. Keep in mind
that this option gets only active if the layout you use does not has a pagination bar. Random order
and paging does not make much sense. Also, it does only effects the main component. Modules and
plugins do not react on this setting.
3.6.1. General
• Download ID
If you have installed Event Gallery Extended you can use the auto update if you enter your
download id here. Get it from https://www.svenbluege.de/subscribe/download-id
37
This user group is used to send notification about orders to. All users in this group which can
receive system mails will get a mail upon an event.
You can force the people to login before they can see your images. This field provides a set of
default user groups which are used if an event does not define its own.
• Download Log
Defines if you want to hide user group specific event in lists of events. They do still not appear
in modules. Show them to make users aware that there is something they need to log in for.
• Use Caching
If you enable this some views of the component will use caching. This does not influence
module caching. They have their own cache configuration. Please have a look at the caching
section in this manual for details.
Puts the component into debug mode. CSS and JS files will be delivered separately and
uncompressed.
This option turns on the loading of an elementary responsive CSS file. I recommend turning off
this option and add your own styles which match your templates responsive breakpoints. Please
have a look at the FAQ section for example code.
Depending on the template you’re using, select the fluid or the static CSS. The static CSS is
helpful if your template restricts the maximum width of the page. On the other hand, allows the
fluid CSS to support the full browser width without having too large images.
Defines your Flickr API key. There is a build in key but this one can expire anytime. Make sure
you get your own key! This is deprecated and replaced by the new dedicated section for
Flickr Accounts. This configuration option stays there to support your migration to the new
accounts.
Unit of this value is second. Defines how long a Flickr album is cached before it gets reloaded
from the Google servers. Check the manual on how Flickr integration works.
38
3.6.2. Image
On some servers the execution of script is not allowed in subfolders. The execution is necessary
since images are delivered by a script, and we don’t want to run the whole joomla framework
for every request. If you encounter issues with images that do not appear, you can use the
fallback to use index.php for image delivering.
This is slow and should be not your long term solution. Contact your provider to
make sure php scripts can be executed in component folders. At least this would
be great for the following script: components/com_eventgallery/helpers/image.php.
• Image Quality
Defines the output quality of every generated image. Default is 85% which is pretty good. Lower
values will result in lower quality. More is usually not necessary.
• Use Sharpening
Enables or disables the sharping functionality. If image sharping is enabled it uses the matrix
defined below.
• Sharp Original
If the image is delivered to the browser in the same size of the uploaded file you can disable
sharpening here. By default, images uploaded smaller than 1440px will be affected by this
setting. For all other images smaller thumbnails are delivered and this setting does not apply.
• Sharpen Matrix
You can define a matrix which is used to sharpen the generated images. The default matrix is
[[-1,-1,-1],[-1,16,-1],[-1,-1,-1]] and it will do a good job. In case you want to have blurry or
even sharper images this is the configuration parameter you’ll have to touch. Please find the
39
possible values here: https://php.net/manual/en/function.imageconvolution.php . In case you
have no clue what this is about, don’t touch it. After a change delete the cache otherwise you
will see no result.
A matrix like [[0,-1,0],[-1,15,-1],[0,-1,0]] should give you some less aggressive sharpening.
If the image contains EXIF information about the orientation this information is used to rotate
the image. This feature is useful if you upload images directly from the camera. Don’t forget to
clear the cache and sync the database if you change this option.
This option is enabled by default. If you add images to Event Gallery which contain IPTC data,
some fields are populated automatially. If you don’t want this feature set this option to No.
If set to Yes the caption and title field for an image in the database is overwritten with the IPTC
data of the image file. Otherwise, IPTC data is only used to set the fields initially. If you
overwrite data you’ll lose localized content in those fields too.
• Show Filename
Defines if we show the filename of the current image to make potential customers aware of. The
filename of the current image will appear together with the image title and caption. This even
works for the light box.
• Protect Images
If set to Yes the system will create a .htaccess file for local files which prevent direct access to
the uploaded images. If you disable this configuration options you need to remove the existing
.htaccess files yourself. You need to delete the .htaccess files in the image folders as well as the
one in the image root folder. If you enable this option please use the [ "Sync Database" ]
afterwards which will create the .htaccess files. Please note that this will only work on systems
which support .htaccess files.
Lazy Loading is the deferred loading of images. Only images which scroll into the browser view
are displayed. You can turn this option off if your template does not support this behavior.
Usually you would not see images in the lower part of the page. By setting this option to No, all
images are loaded at once.
Main images are images which are marked to be the preview images of events. For those images
you might not want to show watermarks. This options allows to disable watermarks for them.
40
This option switches between dynamic thumbnail generation and static file delivery. You can
precalculate the thumbnails using the image generator (see the syn database page). If you don’t
do this, you’ll not see any images. For most servers, that option can stay off.
3.6.3. Cart
• use cart
The component can display the current cart above each site. If you use the cart module you can
disable the internal cart.
If set to yes the order images button disappears on an event page and the image type selection is
displayed instead. Use this if you want to show the available formats and the add2cart buttons
on every page automatically.
Defines if we show a link for each image which can direct the user to a product detail page. This
will cause conflicts with the internal cart buttons so you should disable to internal cart feature
or do some css magic to align both buttons in the right way.
Defines a pattern for an external link. You can use the following placeholder: ${folder}, ${file},
${fileBase}, ${categoryId}, ${categorySlug}, and ${categoryTitle} like this: https://www.foo.bar?
category=${folder}&sku=${fileBase}
41
• external cart link rel
Defines the rel attribute of this link. By default this is nofollow so the search engine crawlers
will not follow your external cart links.
3.6.4. Checkout
• Currency Symbol
• Currency Code
The three letter currency code. Entering a wrong value here might cause issues with services
like PayPal. While all money values allow to enter a separate currency the value configured in
this field is used for now. So don’t get confused.
42
If set to yes the order submission requires the customer to set the T&C check box.
• Show VAT
If set to yes the included tax amount will be displayed in the order summary.
Use this configuration option to define if we show the state drop down in an address form.
Use this configuration option to define if we show the country drop down in an address form.
• Country preselection
Defines the country which is selected by default in the country drop down during the checkout.
You need to use the two character country code here. Example: DE, US, GB. You can enter only
one value here.
• Address Format
There are different ways to render an address. This change has no influence on the email
templates. They use the default layout. Please use the email templates configuration in the Event
Gallery backend if you need to change that..
Default Format
Name
Street address
Zip, City
State
Country
US Format
Name
Street Address or PO Box
City, State, Zip
Country
Defines if the billing form shows the fields for company name and tax id.
You can show a login form on the address page in the checkout to allow users to login and bind
their order to their account.
43
• Use user address data
Defines if we use the stored address data at a user object. If set to no a user always has to enter
his address not matter if there is already a saved address for his account.
• Callback URL
If you’re running in a shared host environment you might get into some trouble using https
callbacks. Use this configuration option to force the protocol for callback URLs. Make sure your
apache rewrite rules don’t screw this up. The default option is 'keep' which will use the protocol
the customer used to visit your site.
• Disclaimer
The disclaimer of your store. It is displayed during the checkout and in the order confirmation
mail. If this field is empty, the default text kicks in.
• Address
• Footer Disclaimer
If you want to display a message on every page which is produced by the component enter it
here.
• Privacy Policy
• Legal Notes
In the cart usually only the thumbnail is visible for a line item. It might help your customers, if
you show more details like the image title. Please note that the title of an image will not change
if you edit the file. A line item is immutable.
You can hide the file name on the checkout and order pages. This makes sense for Google Photos
and Flickr. They use random characters and numbers which do not bring much benefit to the
customer to identify an image.
44
3.6.5. Social Sharing
You can enable your visitors to post links to images in social media. In addition you can enable
different sharing options with the dedicated buttons for each service.
• Link Type
By default a link to the image is shared if you share an image. With this configuration option
you can share the link to the event instead. Be aware that most social networks will search the
link you share for a thumbnail image and might not find one. If you want to use the shared
image but want to redirect the user to the event use the redirect option.
If an images is shown within an article, you can configure which link is shared. This option lets
people share the link to the article and makes you a little more independent from the main
Event Gallery component. Please note that this option if only available if you don’t want to
share a link to an event (see option above).
• Image Reporting
45
If you host images from public events, people might want their photo deleted. By enabling this
new social sharing option, your visitors can open a form to leave you a message. It might
contain a delete request or something else. By using different values for the localization keys,
you can use this feature for other things like requesting feedback for an image from your client.
Defines if we use original images for download and social media. If set to Yes users can
download and share the original files. If set to NO users can only share resized and
watermarked images like they are used in the front end.
If you allow downloading of original files, you can restrict the access to a number of user
groups. Those groups can be overridden at the event settings. If you allow only downloads of
original files, you can configure a redirect URL. Users without access to the downloads will be
redirected to this URL. This might help you to sell your product or subscription.
Sharing is only possible if you don’t protect the access to images. If Facebook and
others can’t crawl a page, you can’t share it. Unfortunately they see not what you
see if you logged in or entered a password.
3.6.6. Categories
If we display the number of items per category should we show it including the items of the
subcategories? If you have a category tree and want to count the events you assigned to the
subcategories set this option to Yes.
• Recursive items
If we show the events for a category should we show the events for the subcategories too?
Normally a list of events for a category shows only the events assigned to the current category.
By setting this option to Yes you can show the events assigned to the subcategories too.
46
Defines the layout we can use for a list of categories.
Use this to show the subcategories headline on category pages. You can also translate the term
subcategories to show something else. The Joomla Language Manager will help here.
3.6.7. Lightbox
This tab offers configuration options for the lightbox. Some of them can be overridden by a menu
item configuration.
Defines the delay in milliseconds until the navigation and information elements in the lightbox
fade out. A value of 0 will use the default configuration of the lightbox.
• Enable Slidehow
The lightbox offers a slideshow feature. Use this option to enable this feature. Keep in mind that
the slidshow depends on the number of images on the page and is not available for all layouts
and places.
• Autoplay
• Delay
Those sections allow to define global settings for how an event or a list of events appear. For details
please check the menu item section. The available options are described there in detail. You can
find exceptions below.
• Sort Files by
Defines the direction for the sort attributes selected in the drop down above.
47
Figure 19. Layout options for lists of events
• Max images per page How many images should we show per page until the paging bar will
appear.
48
Figure 20. Layout options for events
3.6.9. Storage
This tab offers configuration options for the storages Event Gallery can use
Sync
Depending on your server, you want to tune the parallel requests and the batch size for syncing the
49
database and creating thumbnails.
• Sync Database
◦ Batch Size
If you use the sync database process in a browser, Event Gallery will sync all files to check
for metadata. This happens by sending a snyc request for the file to the server. This option
allows to configure, how many files a single request can sync at once. If you encounter
errors during the file sync, you should try to decrease that number since your server might
be too slow. Default is 25.
◦ Parallel Requests
You can speed up the processing by execution multiple requests in parallel. Your browser
support mostly up to 4 requests in parallel. Don’t use more, this will only block your
browser. For slower servers, reduce this number to 1.
• Thumbnail Generator
◦ Batch Size
Per default, 5 images are processed with a single request. If you have a fast server, you can
increase this value to minimize the time waste for creating a new request. On slower
servers, decrease the value to reduce the server load.
◦ Parallel Requests
You can speed up the processing by execution multiple requests in parallel. Your browser
support mostly up to 4 requests in parallel. Don’t use more, this will only block your
browser. For slower servers, reduce this number to 1.
Amazon S3 Configuration
• S3 Region
Defines the region in which you stored your buckets. Example: us-west-2
• S3 Key
• S3 Secret
• S3 bucket
The name of the bucket you stored your original image files in. The bucket need in the region
specified above.
• S3 bucket thumbnails
50
The name of the bucket you want to use for the generated thumbnails. Make sure the bucket
name does not contain dots. The bucket need in the region specified above.
Enter the URL of the resize API here. There is an Amazon Lambda function you can install to
speed up the thumbnail creation. If this field is empty, the resize process will be done by your
server. You can find the function on GitHub: https://github.com/svenbluege/eventgallery-
lambda
If your resize API needs an access key you can enter it in this field.
• Cloundfront Domain
Specify the domain you use to route the files through Cloudfront. Example:
d3edkjshfosdl.cloudfront.net.
Categories are NOT physical sub folders in any way. They are just there to provide the option for
creating a browseable hierarchy in the front end.
Localization of categories is possible too. There is an Event Gallery tab for a category where you can
enter the title and description in multiple languages. If you use those fields the normal title and
description is not longer used so don’t get confused.
The Export-button allows to export the data you have on your screen as a CSV file.
51
The featureset on this page is pretty limited. If you use messages and you need more features,
please let me know.
Keep in mind watermarks only apply to local images. They do NOT work for
images coming from Flickr or Google Photos. That’s actually impossible since those
images are delivered directly from remote servers.
Only for sold images you can apply watermarks to images hosted by Google Photos and Flickr.
Thumbnails are always cached. Make sure you clear both the server and the
browser cache to see the changes you made. There can be a default watermark. A
default watermark is used if no other watermark is defined or the defined
watermark for an event is offline.
If you save a watermark configuration you’ll find a preview on top which shows how a watermark
would look like if it’s applied to an image.
• Name
The name of this watermark configuration. This is just an information for you.
• Description
The description of an watermark. Here you can add some notes to yourself. It’s not used while
rendering a watermark.
• Image
• Margin Horizontal
Defines the horizontal margin of the watermark. This setting is relative to the image size.
• Margin Vertical
Defines the vertical margin of the watermark. This setting is relative to the image size.
• Opacity
Defines the opacity of the watermark. 0 will make the watermark invisible.
• Position
52
Where should we place the watermark image.
• Mode
Choose how the watermark image should be rendered on the image. Fill means the watermark
is just copied on the image. Fit will fit the watermark to 100% of the width of the image. The
proportional setting allows a little bit more adjustments of the size of the watermark.
• Proportional
If you select the proportional mode you can use this parameter to adjust the size of the
watermark on the image. 100 means to fill 100% of the width.
• Threshold
You can define the maximum size for thumbnails before they get a watermark. This way small
thumbs can be delivered without watermarks while the larger ones get a watermark.
• Published
Is this watermark visible in the front end? Only published watermark configurations are
applied in the front end rendering process. If you assign a unpublished watermark to an event
the images will not be watermarked.
Here are the options you have to set up your Google Photos Account:
• Name
The name of this Google Photos Account. This is just an information for you.
• Description
The description of an Google Photos Account. Here you can add some notes to yourself.
• Client ID
• Secret
• Refresh Token
While the Client ID and the Secret just identify the Google API Project, the refresh token
identifies a specific Google Account which uses this API project. Whenever you change the
Project credentials, you need to refresh this token after you saved the new credentials.
53
3.12. Manage Email Templates
Email templates allow to format the mail send by the system. To give you as much flexibility as
possible the template engine Smarty is used. Just check the https://www.smarty.net/documentation
for the template syntax. It’s possible to define separate email templates for every language. If not
template for a purpose is defined, the default one is used. Please notice that the default templates
are available in English only. You need to define language specific templates of you need them.
You don’t need to fill the subject and the body if you create a new mail template. If an empty field is
encountered the default value is used. This should help you getting started.
Since you can actually code those templates you might create errors too. Always
test your templates. Don’t forget to use the Send test mail button. Reset your email
template with the Load Default button. Don’t forget to save afterwards.
54
Figure 21. Create an email template
55
• Language
• Published
• Purpose
• Subject
• Body
• Attachments
If you want to attach PDF files like the disclaimer or other documents you can select them here.
Those files need to be stores in the /images folder of your Joomla! installation. If you want to
remove your selection select the NONE entry.
For local files you can use the Joomla! command line interface (aka CLI). You can create a CRON job
to sync the database. No need to trigger the synchronization from the back end manually. Just run `
cli/eventgallery-sync.php ` from the command line. Please keep in mind that new folders are
marked as unpublished. If you choose a folder name which contains the date in the format YYYY-MM-
DD like 2015-12-31, it will be automatically used as the events data and removed from the display
name. In addition underscores will be transformed into space characters to fill the display name.
If you want to start the sync manually you need to use the [ Clear Cache ] button. Remove the
caches for Google Photos and Flickr images to force a reload. Use the [ Sync Database ] button to
start a synchronization of local and Amazon S3 files and folders.
Please do also have a look at the documentation for the Sync Database process.
3.14. Amazon S3
Basically Amazon S3 files behave like local files. There is just on important difference. While
thumbnails for local files are generated on demand, we need to calculate the thumbnails for images
56
stored in an Amazon S3 bucked ahead. For this, we use two buckets. One bucket contains the
original files. The folder and file structure is the same like for local files. No nesting is supported.
Place a folder in the bucket and upload your images in there. Example: event1/myimage.jpg. The
second bucket is used to store the generated thumbnails. Browsers will have access there to load
the images. You just need to create the bucket, everything else is handled by Event Gallery. Make
sure you’re using the same region for both buckets.
Once you uploaded your images to Amazon S3 and configured your buckets in the components
options you need to let the database know about your new files. Use the Sync Database button and
sync your folders to start the sync process. Once the new files appeared hit the [ Sync Files ] button
to read in the necessary data. Check the Sync Database process documentation on how to generate
thumbnails. You can upload files using Event Gallery, too.
Always keep in mind that reading and writing to an Amazon S3 bucket is not free. You have to pay
for each request. So don’t perform a sync or a thumbnail creation if it is not necessary.
If you encounter any errors, increase your error reporting level. The thumbnail
generator will output error messages which might help with invalid Amazon S3
credentials.
Technical Details
The table #__eventgallery_file has two new fields: s3_etag and s3_etag_thumbnails. The field
s3_etag contains the s3 hash of the orignal file. It is used to detect image changes. The field
s3_etag_thumbnails contains a JSON object. It stores the thumbnail sizes and the hash values of
each thumbnail. While creating the thumbnails this data is used to detect thumbnail changes. Once
a change of the original file is detected, the field s3_etag_thumbnails is cleared. The next thumbnail
creation run will find those thumbnails as missing and will recreate them. Make sure you uncheck
the [ Refresh thumbnail hashes ] checkbox. Otherwise the s3_etag_thumbnails field will be
populated with the hash values of existing thumbnails.
57
Figure 22. Thumbnail Creator
• Create two buckets in the region you like. One will contain the original files, the other the
resized thumbnails.
• Change permissions for the bucket with the resized images to public.
• Create a new user in IAM. This will help to restrict access to the buckets only
• Create a new policy. You can use the JSON example below. Just replace the names of the buckets.
• Configure Event Gallery with the user data, region and bucket information.
Access Policy
You need to specify credentials so Event Gallery can access the S3 buckets you created. The
following policy allows to read and write from/in those buckets. You just need to change the name
of those buckets to the ones you created.
{
"Version": "2012-10-17",
"Statement": [
{
58
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::eventgallery-images-test-original",
"arn:aws:s3:::eventgallery-images-test-resized"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::eventgallery-images-test-original/*",
"arn:aws:s3:::eventgallery-images-test-resized/*"
]
}
]
}
Log into the AWS console and switch to the S3 overview page. There, you need to create two new
buckets.
59
Figure 24. Create the bucket for the calculated thumbnails
Once you have the two buckets, you need to change the permissions on the thumbnail/resized
bucket. It needs to be public accessible.
60
Figure 26. Change bucket permission for the thumbnail bucket
61
Figure 27. Allow pulic access to the thumbnails bucket
The buckets are ready. To upload images and calculate thumbnails, you need to create a new user.
Don’t use your AWS root credentials! For every Event Gallery installation, I recommend creating a
new IAM user. This user has only access to the S3 buckets and to nothing else. The needed
permissions are granted by an access policy. Both we’ll create in the next steps.
62
Figure 29. Create a new IAM user
63
Figure 31. Create a new access policy
Figure 32. Copy and modify the access policy JSON from above
64
Figure 33. Add a name and description for the new policy
65
Figure 35. Copy the access credentials for the user
Once you have the access credentials, bucket names and the bucket region, you can configure Event
Gallery and start using AWS S3 there.
For the free version there is a limit of 30 visible photos per album in the front end.
Event Gallery Extended allows to show more than 30 photos per album.
66
English version: https://youtu.be/iVavYTepdJ8
Please check the videos above for the whole process. In summary, you need to go through those
steps:
1. Open the Google Developer Console (Google Developer Console) and sign in.
2. Click the project selector in the top tool bar and create a new project
67
3. Enable the Photos Library API. Click the Enable APIs and Services button, search for the Photos
Library API, click the tile and hit the Enable button.
4. Configure the consent screen: select external user type and create the screen. Add the app name
and your domains. No need to select any scopes, but please add the email address of the user
with the Google Photos albums. We will not validate this app, but you need to put it to
production mode. This is fine, but it restricts the number of potential users. This does not
matter, since you are the only user of this app. Everything else is handled in Event Gallery.
Check the review page and go back to the dashboard.
5. Open the credentials view by clicking in the left menu. If you don’t see it, click on the
GoogleAPIs-logo in the top tool bar.
6. Now we need to create the credentials. Click the create credentials button and select OAuth
client ID.
7. The type needs to be web application. Add a name for the credentials. Now add the Authorized
JavaScript origins. Add as many URLs as you need. Start with your main domain and add
something like https://www.svenbluege.de or https://svenbluege.de. Please note, that
www.foo.com and foo.com are different origins! Then add your local test URLs as well. This can
be something like https://localhost or https://eg.io. If you don’t do this, you can’t use those
credentials on your local test environment!
68
8. Now we have the credentials and need to add them in the Event Gallery configuration
9. Use the refresh token-button. Before you start, the program will tell you the redirect URL. Please
add this to your OAuth 2.0-Client credentials. If you don’t do this, you’ll see a
redirect_uri_mismatch error message.
1. First login to your backend and open the Google Photos Accounts-Section of Event Gallery. Hit
the new-button. There you add your Google API Client ID and the Secret we collected in the
previous step. After you entered the credentials, hit the save button.
69
Figure 38. New Google Photos Account
2. Now we need to configure the Refresh Token. Just click the Get Refresh Token button. A window
will open. Click the Select your Google Account button. You will now switch to a Google window.
You need to ignore the warning. Your API usage is not verified by Google so they warn you if a
project tries to access photos. Go ahead and select your Google Account. The Refresh Token field
is now filled in and you can save the configuration once again. If the Google window stays
empty, please click the Select your Google Account button again without closing the empty
Google window.
70
Figure 39. Configure Refresh Token
71
Figure 41. Google Photos Account Page with the new account
Manage Event/Album
1. On the Event edit page, you need to select the folder type Google Photos. An account selection
drop-down and an album selector button will appear. Select the Google Photos Account you
want to use and click it to see your Google Photos albums.
72
2. A list of albums for the selected Google Photos Account will appear. Now select one of the
albums.
3. Don’t forget to publish this event and hit the save button and you’re done.
73
Limitations
By default, the Google Photos API is limited to 10.000 requests per day. That might sound much, but
it is not. Since every image URL in the response is valid for 60 minutes or less, Event Gallery needs
to request album data multiple times per hour. Let us assume every 10 minutes. With ongoing
traffic for 24 hours on your site, this is 144 requests per day. With 50 albums we’re already at 7.200.
So keep an eye on the API usage. If you reach the limit, no images will appear until the next day.
I noted that you can verify your project by Google. If I briefly read through the API policy, I see, that
you should not create a clone of Google Photos. Well, it depends on how one thinks about your site,
but getting the verification might get tricky. If you have other experiences, please let me know.
The image URLs Google delivers are only valid for 60 minutes. The number of API requests is
limited. For every shared or sold image, a separate request is necessary to get the latest image URL.
This might trigger the API limits.
3.16. Flickr
The connection to Flickr happens through an API. To get access to that API, you need an API Key.
Using Flickr in Event Gallery involves two steps:
2. create an Event
Terms
Please note that the term Flickr Account refers to the thing in Event Gallery. The
Flickr Application is the thing you create on the Flickr-website to get an API Key
and the API secret.
74
75
You now have an API Key and the API secret. Let’s use them. Open the Flickr Accounts section in the
Event Gallery backend and hit the NEW button. This will open a page where you can create/edit your
Flickr Account.
There are several fields you need to fill. Start with the name and description. They’ll help to
remember what this account was about. Now enter the API key. The next steps depends on what
you plan to do. I’ll start with the most convenient ways.
Full Power
The benefits of this method: Automatic User ID-selection, access to your private photos. For this,
you need to enter the API secret in addition to the API Key and hit the SAVE-button. If your API
credentials are valid, you’ll see an Authorize-button. Use it to authorize your Flickr Application to
access your images. If you’re back on your Joomla-site, the Auth-token, Auth-secret and your User
ID field is filled. You’re done with that account.
76
Limited Access
This way I don’t recommend, but you can still do it. The API-key you already entered. Now grab the
UserID manually from the right column on
https://www.flickr.com/services/api/explore/flickr.photosets.getPhotos and hit the SAVE-Button. You
can use this account to access public photos the user you selected.
The list of Flickr account simply show the list of your Flickr account. Probably the most interesting
column is the last column. It shows if this account could access private albums on Flickr and if this
account has valid credentials. Validity is checked with an API-call to Flickr.
77
3.16.3. Create a Flickr Event/Album
To create an event in Event Gallery, start with hitting the NEW-button on the page which shows the
list of Events.
2. Select the Flickr Account your want to use to access the Flickr API. We created one in the
instructions above.
3. Select the album by clicking the Album Selector-button. This opens a dialog where you can select
from the Flickr albums that account proives. Search, filter and finally hit the select-button. Your
selection is transfered to the event
4. continue filling fields like the title and don’t forget the publish-toggle.
78
Note
You can use images uploaded after March 2012. Make sure your server can
communicate with the Flickr server. Sometimes firewalls or PHP settings block
outgoing communication.
79
Chapter 4. CLI - Command Line Interface
If you’re working only with the Joomla backend, you probably don’t need the CLI tools. For mass
data processing or for execution jobs, the command line interface of Event Gallery becomes handy.
Based on the Joomla version you’re using, you need to execute them differently.
• Sync
Starts the sync of database and file system. Adds/removes/updates all files which are located in
the local folders and Amazon S3 folders.
To speed up your site initially, you can pre-render all thumbnails. This is not necessary but
useful if you want to calculate the thumbnails on your local development/test system and copy
them over to your weak shared host.
• Create S3 Thumbnails
S3 is only a file storage and offers no dynamic thumbnail creation option. To show images on
your website, you need to create all the necessary thumbnails. Use this command to find
missing thumbnails in your S3 bucket and create them.
Joomla 3
In Joomla 3 you have a couple of CLI scripts in the /cli folder. Execute them like this:
cli/eventgallery-sync.php.
Joomla 4
Joomla 4 offers a new command based CLI. Just open a shell and run php cli/joomla.php. This will
list the available tasks. For example, you can run the sync command with php cli/joomla.php
eventgallery:sync
80
Figure 46. Joomla 4 CLI
81
Chapter 5. Cart & Checkout
The cart&checkout feature allows you to sell images using your Joomla! gallery. Images of an event
can be sold with different product sets. Sell the wedding pictures with high prices and premium
quality products but give away your thanksgiving images for free. Payment and shipping options
are configurable for your needs. After placing an order customers can easily track the status of the
order using your website.
Registered users can log in during the checkout. If they do, two things happen. The order is bound
to the users account. This way it is very easy for a customer to find all orders using the tracking
page. On the other hand he does not need to enter address data again. They are saved to his profile
and loaded from there for the next order. Every update of the address data will be kept for the next
order.
5.1. Orders
Once the first order was created on your site it’ll appear here. Use the filter options to display only
orders matching a special status. Kepp in mind that by creating your own order statuses you can
model you own order status flow. Click the order status to get an inline editor for changing the
order state without opening a new page.
5.2. Order
The order detail page shows all the information the system has about your order. You can change
the status of the order itself as well as the shipping and payment status. The displayed version is
82
important if you modify the data set. It might happen that during the time you loaded the edit page
and you hit the save button an external service triggered a order change. To avoid losing this
change you need to close and reopen the order to get the latest data.
Keep in mind that there are some emails triggered automatically if you change an order status for
the order. If you mark an order as paid or shipped, an email is send out. This happens every time
you change an order to those states.
The Download-button allows to download all images of the order as a zip file. The name of each file
in the archive includes the images type and the quantity. You server might be to slow if you try to
download an order with a lot of images.
83
Figure 48. Order Details
84
Figure 49. Order Statuses
• Name
• Type
Is this the status for an order, payment or shipping? Once the status is created you can’t change
the type
• Display Name
85
The name which is shown to a customer.
• Description
• Name
• Display Name
A display name about this image type group. This is visible in the front end. Once you have a
multi language site you can enter the values for every language.
• Description
A description about this image type group. This is visible in the front end.
• Published
86
Figure 51. Image Types
• Name
• Display Name
87
A display name about this image type. This is visible in the front end. Once you have a multi
language site you can enter the values for every language.
• Description
A description about this image type. This is visible in the front end.
• Note
A note for yourself like from where you have to order this product once somebody orders it
from you.
• Size
A value which helps you to tell the different image types apart. Does not show up in the front
end. If the item is marked as digital the number is used as the width of the sold image in pixel. 0
mean that no resizing will apply.
• Watermark
Usually sold images do not contain a watermark. But if you want to sell watermarked images,
this option is for you. You can select one of the watermarks you created in the Watermarks
section of Event Gallery.
• Tax Rate
A number between 0 and 100. This value is used to calculate the tax during the checkout.
• Price
The price for this image type. Just enter a number. No need to add the currency as well.
• Free Quantity
If you want to provide a number of images for free and change if your customer selects more
than this number, this option is for you. This field defines how many images are not counted
while calculating the total.
• Max Price
Sometimes you want to have some kind of flat rate for your customers. They can have as many
images as they want if pay enough. The max price setting allows you to set the price to 100 for
example. If all the line item in the cart cost more than 100 the price is truncated to 100 so they
never pay more than the max price.
• Scale Price
If you want to specifiy how much an item costs if there are multiple items in the cart you can
use scale prices. Just enter the quantity and the price. You don’t need to enter a price for a
quantity of 1. Here the price of the input field above comes into play. Do always specify the price
per item. The meaning of the quantity is controlled by two parameters: Price Type and Price
Scope. The usual combinaion is image type + discount.
88
• Price Type
Defines if you want to give a general discount or if you want to sell packages.
Discount - this one is easy. If you have a scale price for 10 images, this price is used if a quantity
of 10 is in the cart.
Package - assuming you have scale prices for 1, 5, 10, and 20 images. A quantity of 37 will result
in the sum of the prices for 20, 10, 5 and 2x1.
Single Package - If a customer adds images to the cart, the price of the next fitting package is
taken into account. All images which exceed that quantity will cost the single price.
• Price Scope
To retrieve the quantity for calculating the final price we need to define the scope of the scale
price. It can be either lineitem or image type.
Image type: the quantity is calculated from all line item with the same image type. Example: 10
lineitems, same image type, each with quanitiy 1: price of each lineitem gets calculated with a
quantity of 10.
Lineitem: the quantity is calculated per line item. Example: 10 lineitems, same image type, each
with quanitiy 1: price of each lineitem gets calculated with a quantity of 1.
• Is Digital
Defines if this image type can be send by email or provided as a download. If the cart contains
only digital items, the selectable shipping methodes reflect this. Make sure you have a shipping
method which can be used with a cart filled with digital items. Otherwise, your customers can’t
finish the checkout.
Defines the maximum amount for a line item. 0 mean no limit applies. For example, you can use
this limit in combination with the digital flag. Usually it makes no sense to sell digital items
multiple times. Setting the maximum order quantity to 1 means that an image can be added to
the cart just one time.
• Published
89
Figure 53. Image Type Sets
• Name
• Description
90
A description about this image type set. It replaces the default text in the front end if it is not
empty.
• Note
• Published
To create your set just pick all the image types you want to have in it. If you need a specific
ordering try to add one image type, save and pick the next one.
If the customer opens the order panel in the front end one of the image types is preselected.
With this options you can decide which one it is. == Payment
Define how an order can be paid. You can add additional messages which show up on review and
confirmation pages. Using those messages you can create a payment method like Cash in Advance
where you can name the right way for the customer to send you the money.
91
Figure 56. Payment Method
Instead of implementing old PayPal APIs you can use Braintree as your Payment Service Provider.
It allows to collect payments using PayPal and CreditCard payments easily. You just need to sign up
for a Braintree account: Braintree Website
You can create a new payment method in the back end. Fill the mandatory fields and select as type
"Payment: Braintree". Hit the save button. As a result a new tab "Braintree" will appear. Just enter
the API credentials you copied from your Braintree account page.
92
Figure 57. Braintree API Credentials
93
Figure 59. Braintree Settings II
IMPORTANT:This payment method is deprecated. PayPal has discontinued this way of payment.
Please use the regular PayPal payment method.
PayPal Adaptive is a specific payment method. Once configured in the right way the order is
marked automatically as paid if the customer pays with PayPal. To use this method you need to set
up an app at PayPal and enter the necessary data at the PalPal tab.
94
In order to get this payment method running you need to create a PayPal application here:
https://apps.paypal.com. In addition you need to get the credential for accessing the application
from your PayPal account. Follow the steps described here https://developer.paypal.com/webapps/
developer/docs/classic/lifecycle/goingLive/ to get your site live.
If the user is not redirected to the Palpal payment page after he submitted an order usually the
credentials described below are invalid. If an error occurs, there will be a new entry in a log file
/logs/plg_eventgallery_paypal.log.php. Make sure you check this file since it will tell you what kind
of issue occurred.
Fields
• Receiver
You can get the necessary credentials like described here: https://developer.paypal.com/
webapps/developer/docs/classic/lifecycle/goingLive/#credentials
• Credentials - User ID
the API credentials of the user who wants to use the API
• Credentials - Password
the API credentials of the user who wants to use the API
• Credentials - Signature
the API credentials of the user who wants to use the API
To get the App ID for your production environment you need to got to https://apps.paypal.com
and create a new application. Once it is verified PayPal will send you the necessary App ID.
• Credentials - App ID
the ID which Paypal sends you once it’s verified your application
If you run this plugin in Sandbox mode the App ID is always APP-80W284485P519543T. You need to
change it if you set the payment plugin into production mode.
5.10.3. Paypal
PayPal allows you to receive payments using PayPal. Once a user has created an order, he gets a
PayPal button which he has to click in order to pay. This button is available in the order
confirmation page, as well as on the order tracking page. It’ll disappear once the order is marked as
paid.
Fields
• Receiver
95
• Production Mode
if set to production you can start earning real money. Otherwise, the sandbox mode is used.
Make sure you entered a sandbox receiver.
If you want to send the order confirmation mail after the payment is complete, use this option.
By default, the mail is sent when the order is created. Setting this option to NO will result in
sending the order confirmation mail if the order is marked as paid. There will be no additional
payment complete-mail.
5.10.4. Stripe
The Stripe integration allows you to receive payments using Stripe. Once a user has created an
order he gets a Stripe button which he has to click in order to pay. This button is available in the
order confirmation page as well as on the order tracking page. It’ll disappear once the order is
marked as paid.
The Stripe payment plugin can be configured to allow payments with Credit Card, iDEAL, Sofort,
SEPA, Przelewy24, Giropay, EPS and Bancontact. Stripe offers here an out-of-the-box solution, not
additional configurations necessary. It depends on your country if those methods are supported.
There is no switch between test and production mode. Just use the test or production credentials.
Fields
• Secret Key
• Public Key
5.11. Shipping
Somehow the costumer has to get the order. Define shipping methods from which he can select
from.
96
Figure 61. Shipping Methods
The free version contains a standard plugin for the shipping method. With the Extended version
you’ll get some more.
You can use this shipping method type to deliver items per mail. This method is only selectable if
the cart contain at least one non digital item.
This method is only selectable if the cart contains digital images only. Besides of this the method is
doing nothing else than the standard method. Use it if you want to deliver your images digital but
manually.
97
5.11.3. Shipping Method Download
This method is selectable if the cart contains digital items only. Once an order got paid, the
customer receives a email with the necessary links to download the bought items. Those links are
also available on the order tracking page for this order. By default, a link to download all files as a
single ZIP archive is displayed. You can disable this behavior in the download plugin configuration.
If you want to display the zip link only, you can disable the direct links to the images in the
download plugin configuration as well.
Make sure the plugin is published. Otherwise the configuration option will not work.
5.12. Surcharge
Create surcharges if you want to add a special amount to the total if the order is less than a specific
amount to make sure your expenses are covered. You can configure if the minimum and the
maximum amount is either the subtotal or the total item count.
98
Figure 64. Surcharges
99
Chapter 6. Customization
This section is intended to provide some help with customizations. Keep in mind that you should
never touch files of the component directly. Use the overload techniques provided by Joomla to
achieve your goal. For example put your changed CSS definitions into your templates CSS files. If
you want to overload a view templates, put it into your templates html folder.
I’m sure you already recognized that does not work for all layouts. The reason for this is quite
simple. Event Gallery can’t guess your responsive break points. So you need to add them yourself.
Just add a few new lines to your templates CSS file. If you feel like this is too much for you just
enable the responsive CSS include in the components options. Advanced users find some example
code below.
100
@media (max-width: 900px) {
div#events .item-container {
width: 50%;
}
}
101
width: 100%;
}
}
For column based layouts you can specify the width of a column with a percentage value. 100% will
result in one item per row, 25% in four of them. With the help of the @media element you can
defined some conditions which control the encapsulated CSS styles. The example defines two break
points. One for browsers with a max width of 900px and one for a max width of 450px. Feel free to
copy this code to your templates CSS file and adjust it there.
A simple css definition would look like this. It will give you 4 item per row.
div#events .item-container {
width: 25%
}
You can even use media queries to adapt the number of tiles per row based on the current view
port.
div#events .item-container {
width: 33.3333333333%;
}
While the styles above work for the grid view, the code below works for the tile view:
div.eventgallery-tiles-list .eventgallery-tile {
width: 25%;
102
}
If you want to change the color of the text on a Events List you can try to start with this selector.
To target the background color of the data part on a tile you can start with this:
Make sure you’re doing those changes in the CSS file of your template. Don’t modify the
components files since you’ll loose those changes with every update.
.eventgallery-tiles-list .eventgallery-tile {
width: 100%;
}
• create/reuse the file language/overrides/es-ES.override.ini and put your translations into this file.
You can change the content of this file using Joomlas language management in the back end.
With each new version it might be necessary to add new translation keys to your custom file. If you
choose option 1 this would be possible without touching any file in the file system manually. You
103
can use the Joomla back end to add the missing keys. Starting with 2.6.4 each installation or update
will delete translation files from /language/xx_YY/. If you added your changes there make sure you
migrate them to one of the options mentioned above.
If you want to contribute or need a blue print for your own translation, you can got to my
repository for custom translations: https://github.com/svenbluege/eventgallery-translations. Using
this way of translating, you can easily create an installable language pack.
104
Chapter 7. Plugins & Modules
In addition to the main component there are some plugins and modules available. Read more about
them in the following section. After you installed a plugin or module they are by default disabled.
Make sure you configure them for the first use and make them visible on your page.
Modules and Plugins are part of Event Gallery Extended. Make sure you activate
the plugins you need. By default, they are disabled.
7.1. Plugins
Plugins offer a kind of hidden functionality. They can process data and do some additional magic.
Use the Joomla Plugin Manager to manage your plugins. Make sure they are enabled. Otherwise,
they’ll not work.
The search will return only public visible result. Event/image which are protected
with user groups or a password will not appear in the search results.
105
7.2.1. Search Plugin for events
The Search Plugin integrates with the Joomla Search component (com_search) and finds events. It
indexes the following fields:
• event description
• event text
• event tags
The Search Plugin integrates with the Joomla Search component (com_search) and finds images.
• title
• description
Configuration Options
• Thumbnail size
Defines the size of the thumbnails which are delivered into the search result. Valid values:
numbers.
The link in the search results opens usually the event. Using this open, you can open the
lightbox on the event page and show the image directly.
By default, Joomla can’t show thumbnails in the search results. To make them appear, you need to
106
modify the search result template.
Feel free to modify this tag with a CSS class or anything else.
Don’t change the file directly, create a template override instead. Otherwise, your
changes will disappear with Joomla updates!
<?php
if ($result->image) {
echo "<img src=\"{$result->image}\">";
}
?>
The Smart Search Plugin provides an integration with the Joomla Smart Search component
(com_finder). It helps to fill the search index with information about your events.
• event description
• event text
• event tags
Configuration Options
• Thumbnail size
Defines the size of the thumbnails which are delivered into the search result. Valid values:
numbers.
Make sure the content plugin is enabled to update the index once you change events in the back
end.
If you sync your file system with the database or change the search plugin
configuration, make sure you rebuild the search index manually.
The Smart Search Plugin integrates with the Joomla Search component (com_finder) and finds
images.
• title
107
• description
Configuration Options
• Thumbnail size
Defines the size of the thumbnails which are delivered into the search result. Valid values:
numbers.
The link in the search results opens usually the event. Using this open, you can open the
lightbox on the event page and show the image directly.
If you sync your file system with the database or change the search plugin
configuration, make sure you rebuild the search index manually.
With Joomla 4, it is only a simple configuration option of the Smart Search to let thumbnails appear
in the search result.
Known Issues
With Google Photos, the images in the search result will not appear. This is on purpose. The
thumbUrls are stored in the search database but are valid only a couple of minutes. If Google
Photos in the search results is something you can’t live without, contact me. Until then, it works
with all other picture sources.
Syntax
• Images
max_images, offset and thumb_width are optional. The value for the event parameter has to be the
value of the folder name field of an event. Set max_images=0 to show all images of an event. With
the offset parameter in combination with the max_image parameter you can create a range of
images which gets displayed. offset defines from where your range starts while max_images
defines how many images are displayed.
• Description
108
If you want to display the description of an event use this tag:
• Text
If you used a page break tag in your text the intro and full content will be different.
• Lightbox
You want to use the lightbox instead of a link to the gallery? Just add the parameter
mode=lightbox.
• Use Cart
Using the cart in a content tag required the cart module so be available. Otherwise, the add to
cart button will not work. To show those button, this parameter is required: usecart=1.
If you want to include a list of images with the auto layout which is used on the compoents
event pages too you can use the following tag.
If you want to include some preview thumbnail in you article but want to show more images in
the lightbox you can use the mode=hidden parameter. It will render invisible thumbnails which
the lightbox will pick up later on. To make this work you need to include at least one other tag
109
which loads thumbnails for this event.
In case the eventgallery tag appears in the front end please check if your editor
encodes the quotes. In this case the plugin can’t process the tag.
110
Figure 68. Content Button Plugin for Images
7.6. Modules
Modules can be used to display some additional information on pages. Your template offers a
couple of module positions where you can plug modules in. Use the Joomla Module Manager to
create new module instances and manage the existing ones. Make sure your modules are published
and assigned to at least one page to let them appear. Kepp in mind that links to events are
determined automatically. The module will try to link to the first menu item which is able to display
the event the thumb belongs to.
If you installed the module there is a new instance which you can find with the Joomla Module
Manager. Make sure the module is configured correctly and shows up on at least one page. By
default it is not assigned to any page or to any position in your template.
111
7.9. Latest Event Module
Shows a number of images from the latest event. You can define the meaning of "latest" using the
settings for the event sorting. In addition, the module has a setting for the event history position
which allows you to configure for example three instances of this module type to display the three
latest events.
112
Chapter 8. GDPR details
Event Gallery collects and stores data. Furthermore, it connects to externals services which might
receive data as well.
8.1. Export
You can export customer data in your backend. This export includes carts, orders and users. The
export will create a JSON file which downloads automatically. You just need to enter the email
address of the customer who asked for his data.
8.2.1. User
8.2.2. Cart
The overview page of Event Gallery in the backend contains a link which allows you to delete carts
which are older than 30 days.
8.2.3. Order
You can delete orders from the order list in the backend.
There are different log files stored in the log folder of your Joomla! server. You need to clean them
manually if needed.
8.3. Data
The following section describes the data Event Gallery collects.
Serving images from Google Photos will make users load content from Google servers.
Managing Google Photos in the Event Gallery backend will call Google services as well. Your
backend users data will be used to call those services like the Album Selector.
Serving images from Google Photos will make users load content from Google servers.
113
Managing Google Photos in the Event Gallery backend will call Google services as well. Your
backend users data will be used to call those services like the Album Selector. If you use private
albums, a Google Auth Token is necessary. To create this token, your browser will use Google
services as well as calling www.svenbluege.de. To fetch album data with that Google Auth Token, a
connection to www.svenbluege.de is made as well. That is necessary to obtain an temporary
additional access token for Google Photos.
8.3.3. Flickr
Serving images from Flickr will make users load data from an external service. Furthermore will
your server communicate with Flickr services. This communication does not involve data of your
users.
8.3.4. Amazon S3
Serving images from Amazon S3 will make users load data from an external service. Furthermore,
your server will communicate with the Amazon S3 service. This communication does not involve
data of your users.
8.3.5. Cookies
No additional cookies are set. For session handling Event Gallery uses the session handling of
Joomla!.
8.3.6. Orders
Before a user can create an order, he collects items in his cart. During the checkout, this cart gets
completed with address data. After submitting the order, the order gets created as a copy of the
cart. Besides the item information, address data of the customer as saved. The amount of data
depends on the components configuration.
Address data exists in three places: cart, order and the Joomla! user object. While this can’t be
changed for the cart and the order, you can configure that the user object is not used for storing
data in the components options.
For some payment methods, external services are used. Event Gallery does not store direct payment
data. Instead a generated token is used to identify the transaction created by the external payment
provider.
The back end of Event Gallery allows clearing carts which are older than 30 days by clicking a
simple link.
8.3.7. Payment
Stripe
To initiate a payment, Event Gallery submits the email address and the order-id to Stripe. The
114
Stripe-UI in the checkout will include JS/CSS in your website. This includes the transfer of the IP and
cookies.
To create a Paypal transaction, Event Gallery needs to transfer the orderid to Paypal. The payment
process will redirect your customer to Paypal so they are able to collect user data.
Braintree
To create a Braintree transaction, no user data is transfered to Braintree. The transaction is handled
on your server. The braintree UI will include JS/CSS in your website. This includes the transfer of
the IP and cookies.
Event Gallery only uses passive sharing options. It is up to the user of the front end to trigger the
sharing options of the different services. There are no JavaScript SDKs in place which transmit data
before any interaction.
8.3.9. Logs
Event Gallery writes some log files. They contain the IP-adress of the website user. In addition to
processing tasks like for Google Photos/Flicker/Amazon S3 it writes logs for payment transactions.
You can find those logfiles in your log folder. They contain user data and need to be handled with
care.
115
Chapter 9. FAQ
There are some common issues which are ask very often. If you can’t get the component working
please carefully read this page.
Very common are JavaScript errors as well as too old Joomla/PHP versions. Please
check the requirements section as well.
If you still don’t have any clue of how to solve your issue please don’t hesitate to file a ticket on
https://www.svenbluege.de/support.
You’ll see a blank page mostly because your server does not match the requirements for this
component. In order so see any useful error message please set the Error Reporting using the
Joomla Global Configuration to Maximum. You can find this setting on the Server tab. It might also
be necessage to enable the debug mode. Please limit the visibility of the debug plugin to a
trustworthy usergroup to not show this information to all users of your site.
Don’t forget to set this setting to a lower value once you’re finished. You usually
116
don’t want to reveal the cause of errors to your visitors.
9.3.1. Server
Possible reasons
• mod_secure: Please ask your provider about possible issues with that. Doing this solved 99% of
the issue.
• Error 500: PHP memory size too low. I have good experience with 128M. Depends on the size of
your images
• Error 500: weak server. Every thumbnail request is a PHP request. Some servers can’t handle
the necessary amount of parallel PHP requests.
• Do not use special characters in your file names like Umlaute, +, or things like this. Make your
file names safe for the web.
• Issues with image sharping. Try to disable it using the components configuration dialog.
• Picasa Images do not show up because the method get_file_content is not working. Check with
your hosting provider to solve this issue. allow_url_fopen should be enabled.
• Try to use the configuration Use Rendering Fallback to verify rendering thumbnails work.
Contact your provider how to fix permissions for
components/com_eventgallery/helpers/image.php.
• Sh404SEF: you might want to configure the Flooding Protection to prevent images from
randomly disappearing.
• The PHP method fpassthru is disabled. This method is necessary to deliver images from the
server to the browser.
117
9.3.3. Browser
Possible reasons
• JavaScript errors occurred which prevents the whole site from executing JavaScript. Without
JavaScript, no images will appear.
• You uploaded your images using FTP? You used the Sync Database process? Make sure you hit
118
the [ Sync Files ] button to load the image metadate into the database.
119
9.12. Images indented to the left side
Usually there is some CSS code provides with your template which causes this. Use this snippet in
your templates CSS file to fix this:
#event div.thumbnails,
.event div.thumbnails,
.mod-eventgallery-event div.thumbnails {
margin-left: 0px;
}
If you really need something like this just check the JED for plugins. There are a couple of options.
But in the end the only way to protect images is to not upload them :)
select *
from #__schemas
where extension_id in (
select extension_id
from #__extensions
where element = 'com_eventgallery'
);
120
Figure 71. Check the current version for com_eventgallery in the database.
121
Figure 72. Find the current version for com_eventgallery in the database manually.
update #__schemas
122
set version_id='4.2.0_2022-06-18'
where extension_id in (
select extension_id
from #__extensions
where element = 'com_eventgallery'
);
Once you did this you can install the latest version again.
Don’t forget to replace \#__ with your current database prefix. You can find the
prefix in your configuration.php file.
Joomla performs database updates by comparing the file names of some SQL files against each
other. The name of the latest version is stored in the database. You can find those SQL files in
[path]_administrator/components/com_eventgallery/sql/updates/mysql _. Instead of using the value
for the column version_id in the SQL statement above you can try to use the file names in this
folder as version numbers. You’ll see file names like "3.3.0, 3.4.0, 3.4.0_2015-04-14". Try to repeat the
following steps until the installation finished successfully. Start with the oldest version number.
That’s usually the version you had installed before.
1. Update the \#_schema table to a specific version like 3.4.0_2015-04-14. Always start with the
oldest version! use the SQL statement above to do that.
In case the query above does not work because it does not return any result, you need to insert a
new row into the database.
123
Figure 74. Query result in case the database version is missing.
Starting with Event Gallery 3.7.8 you can fix missing version information using the System Check
page. If the version information is missing in the database, you just need to click the fix link on that
page to add it. You can now install the update.
124
9.15. Change the default image folder
By default, Event Gallery places the uploaded images in the images/eventgallery folder. You might
want to change this. Have a look at the file components/com_eventgallery/config.php. For details,
check the section about configuration changes: Change the default configuration
Have a look at the file components/com_eventgallery/config.php. This file defines some constants. If
you want to override some of those constants please create a file config_override.php in the same
folder and do your changes. Please be very careful with this! Don’t change the config.php file
directly. It’ll be overridden with every update.
By default the money format is something like 10 €. If you want to change that you can do so. The
format is part of the localization files and looks like this: COM_EVENTGALLERY_MONEY_FORMAT="%2$.2f
%1$s". To get a money format like $10 you need to change it to
COM_EVENTGALLERY_MONEY_FORMAT="%1$s%2$.2f". You don’t need to change any file here. Just create a
125
Language Override using the Joomla! Language manager for the front end. Use
COM_EVENTGALLERY_MONEY_FORMAT as the key for your override.
If you want to change text you can do this using the Joomla! backend. Simply create a language
override using the Joomla! language manager. If you don’t know the exact key, you can check the
Event Gallery language ini files, or you can simply try to search for the text. Please note that the
search does not work for some content provided by plugins.
126
9.22. Error messages during updates
I get messages like Update path does not exist. or Error updating COM_INSTALLER_TYPE_TYPE_ if I
want to update Event Gallery Extendend.
To update Event Gallery Extended you need to configure your DownloadID. If you forgot your
DownloadID, you can find it here: https://www.svenbluege.de/subscribe/download-id. In addition,
please make sure, your subscription is still active. Otherwise, you can’t download the latest version.
Entering the download id works differently in Joomla 3 and Joomla 4.
Joomla 3
Joomla 4
You find the field in the components options. If you forgot your DownloadID, you can find it here:
https://www.svenbluege.de/subscribe/download-id. In addition, please make sure, your subscription
is still active. Otherwise, you can’t download the latest version.
127
Figure 80. Joomla 4 // Download ID
This change has only impact for the regular frontend. If you sell those images, people will continue
getting the original images with their purchase.
128
Chapter 10. Releases
4.3.2
Minor Changes
• #1158 Allow to limit the maximum size of Flickr images. Right now, it is possible to download
the original Flickr image with the download button. The lightbox uses the h-(2048px)-image.
Now you can limit the size to the k-(1600px)- or b-(1024px)-image by modifying the config.php-
file and create an overload. Please check the manual for details.
• #1161 allow different ITPC-fields for title and description. This change is available via
config.php file only.
• #1163 EXIF data: the focal length is now shown with its 35mm equivalent if available. Example
for a 1.5x crop camera: 30mm (45mm).
Bug Fixes
• #1154 Fixes issues with the ISO value in EXIF data written Pentax camera
• #1155 If a password was entered incorrectly, the message should show up as an error message.
Before it was the default success message.
• #1156 PHP 8.1 // Remove deprecation warning on list of files in the backend
• #1157 allow changing the folder name if the change includes only changes in upper/lower case
spelling
• #1162 Unable to save event descriptions if using the Arc-editor and multiple languages. If not all
descriptions are filled, nothing was saved.
4.3.1
Minor Changes
• #1144 Hide the social sharing icon if there are no services selected and the download-option
uses a dedicated button. This finally allows to have a single download-button on an image.
• #1139 Digital order links can be revoked by setting the order to a payment status other than
paid.
Bug Fixes
• #1137 Fixes the behavior for thumbnails if lazy loading is turned off. A funny tile pattern
appeared since the usage of background images is no longer supported.
• #1138 OSMap plugin does not crash if a reference to a non-existing event exists as menu item.
• #1146 Joomla 4 // adding new tags to Events with the batch process did not work
129
• #1145 Removed invalid configuration parameter show_image_caption_overlay for the
categories menu item.
• #1151 Fixes the lightbox which was not working in the Ajax layout.
4.3.0
Important Changes
• PayPal Adaptive and Braintree are no longer supported. PayPal Adaptive is no longer available
for new customers since PayPal will shut down that API. Getting an account for Braintree is now
very difficult, so it make no sense to support this for Event Gallery. You still have the regular
PayPal-integration as well as Stripe-support available.
Major Changes
• #1124 In the past, thumbnails used background images. This is hard to crawl. Thumbnails now
use the src-attribute to reference the largest thumbnail, usually 1600px width. The srcset-
attribute contains the adaptive image. Modern browsers do support the scrset-attribute and will
load exactly the right image size.
• #1132 Allow to set the batch size and the parallel requests for sync database and thumbnail
generation to adapt to slower servers or support the processing of larger images.
Minor Changes
• #1110 the upload limit for images was fixes to 30MB. It now takes the server configuration into
account.
Bug Fixes
• #1108 Image rotation was not detected in some photos if they do not contain EXIF but image
rotation data.
• #1127 Remove Undefined index: view notice in router.php:38 in case the candidate for has no
view key.
4.2.2
Minor Changes
Bug Fixes
• #1107 Fixes an exception while opening the Google Photos Accounts page in the back office
using Event Gallery Core.
130
4.2.1
Major Changes
• #1077 Support private Flickr albums. Check the manual for details.
• #1077 Limit Flickr Albums to 30 images in the free version. If you’re a long-time Event Gallery
Core-user, contact me, and we’ll find a solution.
Minor Changes
• #1083 improved layout of the Events list and the event edit page in the back office
• #1090 Allow only 3 characters for the currency code configuration to avoid issues with creating
line items later on.
• #1095 You can override the number and size for local/Amazon S3 images by changing values in
/components/com_eventgallery/config.php. Before you change this file, please read the header.
Bug Fixes
• #1076 avoid image list layout issues if the browser has a specific zoom level
• #1091 avoid issues with template which strip the data-title tag from thumbnail links to avoid
showing 'null' as caption in the lightbox.
• #1096 Flickr // the frontend showed blurry thumbnails because of loading too small images.
• Removed a PHP 7.4 incompatibility which was part of Event Gallery 4.2.0.
If you encounter issues and you can’t install Event Gallery 4.2.1, please open
/components/com_eventgallery/library/Connector/Flickr.php and delete all
occurences of \EventgalleryLibraryFlickraccount|null. Then you can install the
update. Sorry for inconvenience.
PHP 7.4 gets security fixes until 28.11.2022, please update to PHP 8.0.
https://www.php.net/supported-versions.php
4.1.2
Minor Changes
131
• Smarty Update to 4.1.1
• Lightbox/Swipebox does not use thumbnails as placeholders to prevent the usage of invalid
sized placeholder images.
• Fixes content plugin which did not output anything since version 4.1.1
Bug Fixes
• #1068 Fixed Cache Clearing Vue3-migration issue. Cleared items are now removed from the list
again.
• #1070 Thumbnails in Smart Search: added a workaround for Joomla 4.1.4 to prevent some
unwanted image-source-URL-stripping. You need to rebuild your search-index to refresh the
path to thumbnails.
• #1073 Generated thumbnails for images marked as main images are not served with the correct
resolution in the frontend.
• #1064 New Google API connector had trouble with the old Joomla 3 API. That is fixed.
4.1.0
Major Changes
• #1062 New lightbox! I updated to the latest version of PhotoSwipe. The behavior is a little
differently than before. The configuration for automatically hiding the navigation is gone. On
mobile devices, hiding the navigation is still possible and the picture uses the maximum of the
screen.
• #1064 Google updated the APIs to sign in. New Google Apps need new code to allow the usage of
Google Photos. Please not the hint for the Redirect URLs while creating the Google Photos
Account. If you don’t, you might run into a redirect_uri_mismatch error while getting the token
for this account.
Migration Hints
• Right-click protection is gone. I don’t want to maintain this options since it is useless but makes
me maintain this code. Modern browsers make it very easy to download images. If you want to
protect your images, use watermarks.
Minor Changes
• Import/Export feature is gone. Made no sense for moving to another server since the
introduction of support for categories and tags.
• #1051 Payment and shipping methods have a new configuration field to decide of mails should
be sent. If this option is set to Yes, the method will send out changes if its status changes. If set to
132
No, payment/shipping mails are surpressed.
• #1065 creating events is easier now because of improved technical fields. Those fields are not
hidden, and you can take care of entering only relevant information like the folder name or the
Flickr PhotoSet ID. The whole things is now called Image Source instead having a type and a
folderid.
Bug Fixes
• #1060 the systemcheck showed an SQL error. This is harmless but annoying. This error report is
gone now.
• #1066 the checkout page is empty if there is no dedicated menu item for the checkout. Having
the menu item is no longer necessary but recommended.
4.0.3
Major changes
• #1045 added a download log which can store actions of your visitors. You’ll be able to see
download attempts of images and purchases. This feature is disabled by default. Go to the
components options to enable it.
• #151 Added an option to search for images using com_finder, the Smart search component.
Please check the manual for details.
• #151 In Joomla 4.1 the smart search component can show images. Event Gallery supports this
now for local, Flickr and S3-hosted images.
Minor Changes
• New S3 buckets will not allow setting ACL properies. An additional step is necessary to support
this. The Amazon S3 part in the manual reflects this now.
• #1047 show exposure time for Google Photos as a fraction instead of a decimal. This required
reloading data from Google Photos. This happens at least every 24h if you don’t clear the cache
manually.
• #1049 if no payment or shipping method is available, the order edit page now behaves more
friendly and shows some meaningful messages. If no shipping method is available, it hides the
address form.
• #1026 delete thumbnails of local files if the file gets deleted using the Joomla backend.
Bug Fixes
• #1048 fixes an issue which caused problems saving details for an image because of a missing
value for the URL field.
• #1050 Modules need to create links to Events. If you have a menu item showing category, those
links generated 404 pages. This is now fixed and the URL path contains the category correctly.
• #1054 Fixes a rare issue with handling Google Photos image URLs. If image filenames contain 'w'
133
followed by a number (eg. w1), the image got handled incorrectly in the frontend and did not
appear.
• #1055 Download of orders of Google Photos was broken with the new download logs.
• #1058 Prevent an exception for fields with null value in the import/export function
• #151 Joomla 3 works differently, the changes broke the image edit feature. It works now with J4
and J3.
4.0.1
Important changes
Minor changes
• #1036 the calculated local thumbnails will no longer get a modification date in the future. To
allow browser caching, those images have now a cache header for 24h.
• #1036 a new configuration allows to add a bust parameter to image URLs for local and S3 image.
This helps to force an image reload even if the images are cached in the browser. Use this option
if you changed images like for adding a watermark.
• #1039 added a check for valid mime types to the upload tool for local and S3 images. Allowed:
image/jpeg, image/gif, image/png. If you try to upload something else, it’ll fail.
• #1040 improve the form field behavior in the Joomla 4 backend. the field description will now
appear below each field. Goodbye tooltips!
• added the CSS class eg-outer-pswp to the outer DIV of the lightbox.
Bug Fixes
• #1038 The stripe plugin throwed a warning if you did not save the new configuration in the
backend at least once.
• #1042 Avoid division by zero exception if image metadata are unknow. This might happen if the
width/height of image can’t be read. Still, those images need investigation but at least they do
not crash your site any longer.
• #1043 the root category name "root" was visible in the category list view. Since it is not possible
to change this name, it makes no sense to show it.
4.0.0
This release focuses on Joomla 4 compatibility and brings some changes to the cart and checkout.
I will move away from the old version numbering, where the "3" was there for the last 8 years and
follow a common version schema. A change in the first number will signal breaking changes. If you
have overridden templates or custom CSS, you need to handle those updates with special care.
134
Migration Hints
• Minimum PHP version raised to PHP 7.1! Smarty will not work otherwise.
• There are heavy changes in the structure of the cart and checkout templates (cart, address,
order and review pages). If you have customizations, they’ll break! Please double check your
checkout after this update. In case of trouble, remove your template overrides and see if the
new changes already justify your needs. The changes are already deployed on
https://www.svenbluege.de/demo which might help to get an idea.
• #989 Reworked the cart and checkout to leverage Bootstrap 5 cards. While doing this, a lot of the
cart and checkout templates have changed. This starts with PHP files and ends with CSS classes
and statements. If you have customizations here, they’ll break!
• Event Gallery requires now the PHP EXIF extension to read EXIF data!
Major Changes
• #982 the Stripe payment plugin can now be configured to allow payments with Credit Card,
iDEAL, Sofort, SEPA, Przelewy24, Giropay, EPS and Bancontact. Stripe offers here an out of the
box solution, not additional configurations necessary. It depends on your country if those
methods are supported.
• #989 Reworked the cart and checkout to leverage Bootstrap 5 cards. While doing this, a lot of the
cart and checkout templates have changed. This starts with PHP files and ends with CSS classes
and statements. If you have customizations here, they’ll break!
Minor Changes
• #987 The download icon for Google Photos images will trigger a direct download instead of
opening the image.
135
• #992 The options for the checkout are regrouped and a new toggle is available to hide the
filename in the checkout and order pages. This is useful for Google Photos and Flickr because
they use long random character sequences which do not bring any additional value to your
customer.
• #996 The message field in the checkout can now be configured to be mandatory.
• #1003 added a hint for the email template view to disable the HTML filtering while editing the
template. Otherwise, HTML-tags will disappear and characters will be encoded which leads to
errors in the template processing.
• #1013 Joomla 4 // improve the message for a missing downloadid. A link to the update sites item
is now provided to make adding the downloadid as easy as possible.
• #1017 deleting a local Event will remove the generated thumbnails, too.
• #971 adapt the sharing icon in the lightbox, so it looks like the sharing button on the
thumbnails.
• #1025 improve the EXIF reading to avoid exposure times like 1000/50000 or strange things like
that. Event Gallery requires not the PHP EXIF extension to read EXIF data!
• #1035 if the switch for overwriting data with ITPC data if off, the creation date of a file will get
no longer an update. This helps if you manage this field manually.
• #1023 The button to store the ordering for events and files in the backend was just an icon. To
make it easier to find, it is now a button with a label.
Bug Fixes
• #983 A text column can’t have a not null default value. This caused SQL exceptions on some
systems.
• #984 Joomla 4 // The Google Photos Album selector did not close after selecting an album. You
need to do this manually.This is fixed now.
• #985 Joomla 4 // Downloaded ZIP-archives for Google Photos contained files without file
extension.
• #986 The social share button in the ajax list layout stopped working.
• #988 Invalid links in modules generated in case a menu item used the root category.
• #990 The camera model appeared twice in the EXIF data of Google Photos.
• #1006 Joomla 4 // make the publishing dates for an event optional for users who did not do a
fresh Event Gallery installation.
• #1005 PHP8.0 // allow deletion of local Events which have no folder attached.
• #1001 Joomla 4 // remove invalid warning on database issues because of some update files
• #1015 Joomla 4 // stay within the Event Gallery component after saving a category item.
136
• #1021 Joomla 4 // some modules and menu items had an issue with showing a proper category
drop down. That is fixed now.
• #1019 Unpublishing the Event Gallery smart search plugin resulted in a warning and the Events
stayed in the search index.
• #1022 avoid creating multiple categories with the alias uncategorized during the installation
process
• #1016 fixes the list of user groups in the Events batch dialog
• #1024 it was not possible to open orders which contain deleted images.
• #1029 Joomla 4 // fixed the broken watermarks of the watermark image was selected with the
new Media Manager.
• #1033 Invalid encoding of the image type display name caused JS error in the cart and checkout.
• #1030 Joomla 4 // The links to cart, checkout and password page did not took the current menu
item into account. Now, the links to cart and checkout will look for a dedicated menu item and
use this. If no extra menu item exists, the current menu item is used to render a link. Also, the
layout suffix is gone, too.
• #1034 fixes an issue where Braintree as selected or preselected payment method did not
initialize after page load.
• #1037 avoid issues with closing the files list if at least one inline form for editing file content is
still open.
3.12.10
Major Changes
• #977 move the cache folder for local images to /images/eventgallery_generated. This will
prevent deleting the thumbnail cache if you install a Joomla update. If you changed the the
folder already using the constants COM_EVENTGALLERY_IMAGE_CACHE_PATH and
COM_EVENTGALLERY_IMAGE_CACHE_WEB_PATH, you are not affected by this change. Please
double check if your images load properly. If you configured the dynamic image generation
(default setting), there is no need to worry. If you pregenerate your images, make sure they are
completely generated.
• #974 changes the ALT attributes of images to show the image title first. Also, the HTML title of a
single image page changes in the same way.
• #975 allow new elements in cart connector link pattern: ${categoryId},${categorySlug} and
${categoryTitle}
Minor Changes
• #972 refactored the template for the singleimage view to allow customization of the
title/description section without the need to overwrite the whole template.
• #974 changes the ALT attributes of images to show the image title first. Also, the HTML title of a
single image page changes in the same way.
• #975 allow new elements in cart connector link pattern: ${categoryId},${categorySlug} and
137
${categoryTitle}
• #981 for new tables, the row format is not set to dynamic to work around some install issues on
MariaDB 10.5 (https://github.com/joomla/joomla-cms/issues/34847)
Bug Fixes
• #969 Download links did not use HTTPS protocol. Not they use the protocol which was used to
call the webpage.
• #970 Access to AWS S3 buckets failed because of the usage of the wrong API endpoint. Might
have worked with global unique bucket names.
• #956 There was a left over in the table eventgallery_file. The column allowcomments will be
deleted automatically now.
• #968 It is possible to manipulate the URL so you can see an event below every category. This has
a SEO impact since it makes moving an Event from one category to another impossible. Search
engines would crawl the old and the new URL. This is fixed.
• #973 Prevent JavaScript exceptions cause trouble in the modal and the add2cart dialog.
• #979 fixes the Google Albums selector for Joomla 4. It will open now if you click the button.
• #980 iOS and Safari had an issue opening the sharing and the add2cart dialog while the lightbox
is running.
3.12.8
Minor Changes
• #951 reworked the mini cart + add2cart behavior to do the next step in getting rid of jQuery in
the frontend. This includes also some change in CSS classes in this area.
• #953 removed the usage of jQuery for the swipe functionality of the Ajax lists main image.
• #955 removed the usage of jQuery for the sharing and download buttons.
• #957 removed jQuery from the payment/shipping method selection + from the Braintree
payment method.
• #960 the file search plugin for com_search can now display images directly using a new
configuration options at the search plugin. If a user clicks a link in the search result, the event
page opens and the lightbox shows the image immediately.
• #962 The search plugin can now search for unicode characters. That helps to support Chinese
content for example.
138
• #959 The sharing dialog is now displayed as a modal.
Bug Fixes
• #954 the option "Protect files" for local images still protected the main image folder even if this
feature is disabled. That has changed now.
3.12.6
Major Changes
• #942 It is now possible to have watermarks for image types. This will allow you to sell
watermarked images. This works for images stored on Amazon S3 or local images only!
• #948 You can publish Events for a limited amount of time. There are new fields for the start date
and the end date.
Minor Changes
• #945 improved the layout of the pay-now button for stripe by adding bootstrap button classes.
• #939 The return URL for PayPal will show the customer a message that his payment is
processed. Usually, it takes some time to receive the IPN and even after the payment, the pay-
button is visible. This message should help to avoid customer confusion.
Bug Fixes
• #941 prevent a warning causing a crash of the finder index CLI script when the smart search
plugin for Event Gallery is enabled.
• #943 The scrolling function in the add2cart dialog was broken. Clicking on the links to the
different image type groups did not work.
• #944 The add2cart dialog for Google Photos in the lightbox did not work.
• #946 For the PayPal basic payment method you can define if the order confirmation mail is send
before or after the payment. If you did not configure this option, the default behavior was
wrong and mails got send only after payment happened.
• #947 Fixes a crash of the smart search plugin in case the Google Photos update plugin was not
active.
• #950 Avoid exception while managing the files for an event if no image type set is published or
assigned to an event.
3.12.4
Bug Fixes
• #938 The add2cart dialog did not work properly if only one image type was available.
139
3.12.2
Minor Changes
• #930 added some minior changes to support older PHP versions. Also improved the warning in
the backend about outdated PHP and Joomla versions.
• #931 added an additional hint to remind users to publish their Google Apps. If they don’t, the
tokens are valid for 7 days only. No token, no images. I addition, the tokens are validated and
you can see the result in the table of Google Photos Accounts.
• #932 Updated Braintree SDK to version 5.5 to support PHP 8. Minimum PHP requirement now:
PHP 7.2
• #928 With Joomla 4 getting the necessary token for Google Photos was not possible. Now it is.
You still need to use HTTPS to get those tokens.
Bug Fixes
• #936 fixes the add2cart dialog in the lightbox on mobile devices. It opens now correctly. While
fixing this, the popup does no longer use jQuery.
• #937 If the content plugin is used multiple times on a page with different configurations, the
first configuration will win. This is fixes and every tag takes the correct configuration into
account. For example, this could make cart icons on thumbnails disappear.
3.12.0
Major Changes
• #106 Images hosted locally or on Amazon S3 can have a different price than the Event. It is now
possible to assign an image type set to images, too.
• #923 It is now possible to use precalculated images for local images. In the components options
you can switch from dynamic image generation to static file delivery. This will help with
performance on smaller servers since it reduces the number of parallel PHP requests.
Minor Changes
• #915 The modules have a new switch to show the add2cart-icon. To make that work, you need to
add a cart module on the page, too.
• #922 The PayPal Basis plugin has a new option which allows to stop sending order confirmation
mails for unpaid orders. Once the order is marked as paid, the order confirmation is send.
• #918 Some code fixes and a Smarty Template Engine update to 3.1.38 to support PHP8 a little
more.
140
Bug fixes
• #920 (re)added IE11 support. I’ll not test with IE11, please get rid of this stupid old browser! All
the workarounds make the JS ~60KB larger.
• #926 Fixes an issue with Joomla 4 Beta 6 and Yootheme. An exception could happen when the
content plugin is initialized without parameters. J4 uses an unexpected default object type.
3.11.22
Minor changes
• #916 You can select between a default and the us address format in the checkout configuration.
Don’t forget to adjust your email templates!
Bug fixes
• #914 The content plugin lost its configuration if used multiple times on the same page while
using older versions of Joomla.
• #917 Events using Picasa albums are broken. Actually a good time to move away from this since
two years deprecated connection. But the page should not break, so here is a fix.
3.11.20
Bug fixes
• #913 The missing lazy loading includes made images on the tiles layout invisible.
3.11.18
Major Changes
• #901 Added support for Joomla 4 CLI commands. You can run the CLI scripts now using
cli/joomla.php. The separate CLI files are not longer supported while using Joomla 4 and are
deleted automatically. Please adjust your jobs.
• #893 Reworked lazy loading behavior. It is now much faster and uses modern browser APIs.
Minor Changes
• #896 There is now a configuration which allows to show the image title and caption in the
checkout. This will work for newly added items only since the title and caption are copied to the
line item to keep it even if you delete the image later.
• #903 Use the max image width as parameter for the lightbox to avoid showing zoom capabilities
when there are actually none. Right now the lightbox knows about the original size of the
image. So if you upload a 4500px image, the lightbox will zoom into a 1600px image. Images
hosted on Flickr and Google Photos are not effected by this change.
• #900 Allow default values in the image selection dialog for the content plugin. Check the
141
component options for the available configuration values.
• #906 It is now finally possible to hide the subcategories headline with a simple option instead of
custom CSS.
• #907 If you share an image and use the mini sharing page, then this page uses the title if the
shared images as title-tag content. This will allow Facebook grabbing the image title. It seems to
ignore the og:title tag.
Bug fixes
• #854 Joomla 4 // fixes the slider on the blog layout. Before the fix, the slider expanded the page
with and broke the layout. Thumbnails use the Bootstrap 4 img-thumbnail class. The cart and
checkout forms support the Bootstrap 4 classes.
• #904 Avoid exception of the number of events per page is configured to zero and the back
button is enabled.
• #908 fixed PHP Notice statements in route.php. They appeared while rebuilding the search
index.
• #912 The Google Photos album selector closed itself while using Joomla 4. That has been fixed.
3.11.16
Minor Changes
• #809 Joomla4 // Added support for the download id management. Check System → Update Sites
to manage your download id for Event Gallery Extended.
• #875 Improved stability of Flickr database update handling with concurrent requests.
• #892 Sharing links in modules grab the first menu item which can handle Event Gallery to avoid
itemless links.
• #900 Allow default values in the image selection dialog for the content plugin.
• #895 Increased the size if the images in the cart/checkout/order tracking/configuration mail.
Bug fixes
• #854 Joomla 4 // fixes the slider on the blog layout. Before the fix, the slider expanded the page
with and broke the layout. Thumbnails use the Bootstrap 4 img-thumbnail class. The cart and
checkout forms support the Bootstrap 4 classes.
• #884 Joomla4 // fixes an exception in the finder plugin while saving an event
• #885 Joomla4 // avoid error while using the HTTP client for Google Photos.
• #886 Joomla4 // fixed the finder plugin to crash if no category is assigned to an event.
142
• #888 Joomla4 // Fixed jQuery incompatibilities in the front end.
• #890 Joomla4 // don’t lose the tag while creating a new event.
• #897 fixes the not responding top menu and toolbar on the events list in the backend.
3.11.14
Bug fixes
• #877 Fixes the indention which pulled the edit form of an item 20px to the left.
3.11.12
Minor changes
• #468 improved the state selection in the address forms. The visible states depend now on the
selected country. There is no UI for editing the countries, please check the table
#__eventgallery_state if you need to modify them.
• #859 improved error handling during the update process. Expired subscriptions will cause an
error message with helpful details.
• #871 Hide drop downs containing only one image type on the cart page.
• #872 Update the cart automatically if a image type change happens in the drop down.
• #873 Change the database field type for the event description to text. This allows longer titles for
events.
• #869 Improved URL rendering for menu items which refer to a category. The suffix like
categories/root is not longer added.
Bug fixes
• #874 Avoid install problems with some languages. For example it was not possible to install
Event Gallery with Russian language.
3.11.10
Minor changes
• #839 improved error handling in the Google Photos album selector if no albums are available.
• #839 Avoid database concurrency exceptions while updating Google Photos albums.
143
• #865 countries are now localizable using the Joomla Language Manager. KEy:
COM_EVENTGALLERY_COUNTRY_[CountryCode]
• #867 In the checkout and on the order page, the file/folder name is visible now. This allows
customers to identify their images easily. If you don’t want this information, you could hide it
using some CSS.
• #864 the checkout address form has three fields which can be marked as mandatory in the
components options: phone number, state and country. By default, they are optional.
Bug fixes
• #858 fix search for Event in the image selection for the image content plugin.
3.11.8
Bug Fixes
• #857 Fix ParseError in library/common/s3file.php for PHP version older than 7.4.
3.11.6
New Features
• #841 Amazon S3: you can upload images directly to Amazon S3 using Event Gallery. No separate
client needed anymore. You can also delete images directly. On top, thumbnails are generated
automatically while uploading files. Since this takes a while, the upload is slower than the one
for local images.
• Enhanced support for Joomla 4 Beta 1. The backend layout is adapted, many error pages which
sneaked in during the Joomla 4 Alpha phase are fixed. If you encounter any trouble, please let
me know!
Minor Changes
• #836 adds an option to share the link to the current article instead of the event. This allows
being more independent from the main component if you use the content plugin.
• #817 Rebuild the selection dialog for the image content plugin to avoid the usage of jQuery.
• #843 improved UI for the sync database process and the thumbnail creation.
144
Bug Fixes
• #818 prevent too many images in the lightbox while using the slider. The lightbox picked up
images from the clone slides.
• #837 set the creation date of an event correctly if created via back office.
• #840 Thumbnails in order confirmation mails do no longer go through the SEF process. This
might avoid loading issues if parts of your site are protected.
• #849, #848 make the content plugin buttons for images and events work with Joomla 4
• #850 Allow HTML in the additional title and description fields for categories.
3.11.4
New Features
• #823 Allow file upload from the frontend. There is a new upload button in the frontend if you’re
logged in and have sufficient permissions.
Minor Changes
• #817 reworked the Amazon S3 thumbnail generation. jQuery is gone and wow it can generate
thumbnails for local images, too.
• #827 removed the crop mode for local images to reduce the number of thumbnails. Cropped
thumbnails do not exist for Flickr, Google Photos and Amazon S3. Now they are gone for local
images, too. Don’t worry, you can still show square sized images in the frontend. Only the image
source data changes, not the presentation.
Bug Fixes
• #822 Saving title and caption of a file in the inline edit panel did not work.
• #829 Prevent exception if one use the save2copy button for an event and the smart search
plugin for Event Gallery is active.
3.11.2
New Features
• #814 Downloads through the download button can be restricted by user groups now. In the
145
components options you can configure if you want to allow the download of low res files,
original files or both. If the download of an image is not allowed, a redirect to a custom URL is
possible so you can sell your subscription or anything else. If no redirect URL is configured, the
user gets a plain HTTP 403 error page.
Bug Fixes
• #813 the slider layout of the event module and the latest event module was broken. It now slides
again and adds some configuration options for the slider behavior.
• #816 shared links are always rendered with the HTTP protocol. Now those links take the current
protocol into account.
• #818 Don’t use images in the lightbox if they are in the clone slides of the slider. This will avoid
having too many images in the lightbox.
3.11.00
New Features
• #772 the content plugin can now display images with a slider. The UI for configuring the content
tag has improved and supports the slider configuration
• Support for add to cart buttons is now available in the content plugin. To use this feature, you
need to have the cart module on the page. Otherwise it’ll not work.
• #287 Image type can be grouped now. This helps to display different product groups like prints
or downloads with different sizes way better than before. In addition the rendering of the
add2cart dialog has changed a lot. If you made changes to that part of the component, please
verify if they still work.
Minor Changes
• #802 The place where menu title and the greeting text is display has changed. For a list of events
is is now placed before the events in the DOM. For categories is changed its position from below
the sub category to above the categories.
• #804 The download plugin for orders has a new configuration parameter to hide the download
links to single files. If you offer a zip download option, customers are not longer confused by
different options.
• #805 Improve the line break behavior of long text/words in event lists by switching from word-
break:break-all to word-break:break-word.
• #806 Added an option to show a dedicated download button on each thumbnail. The social
sharing option stay as they are, but people can access the download link faster.
• #808 For an image type you can now define a number of free images. This is useful if you
146
already sold a package with e.g. 40 images and the customers need to pay they select more.
• This release contains changes to make it compatible with Joomla 4 Alpha 12. The backend is still
ugly and not everything works as expected. But it works in general. I’m waiting for the final
backend template implementation before I adapt the backend.
Bug Fixes
• #803 fixes issue with spaces and special characters in folder names for the upload and the sync.
The sync now supports this, the upload will show an error message. Please do not use any
spaces and special characters in the folder name.
3.10.24
Minor Changes
• #793 updates the Stripe integration to use the latest checkout version. SCA can come!
• #794 Google Photos: improves support for databases which support only small queries.
• #795 The creation date is now read from the EXIF metadata if there is no creation date in the
IPTC metadata.
• #798 The OSMap plugin supports now menu items which point directly to an event.
• #799 For SEO reasons, the download of images is possible even if that option is not visible to
users. This is only true for images which are public visible.
Bug Fixes
• #792 After deleting an event, every menu item which referenced this event was not longer
editable.
• #801 fixes an error in the sync CLI script which prevents adding new folders.
3.10.22
Minor Changes
• #776 added the name of the site to the email subject for image reports/messages.
• #781 improved the scale price editor. A new line will now show the next higher quantity value
instead of always 2.
• #787 A line item has a new field for the original filename. This is useful if you sell images from
Google Photos.
• #788 If people buy images in packages we need to display the price of images better than just
147
output it as zero. Now the price is marked as included with a package. Hopefully, this will
decrease the amount of confusion for the price calculation of packages.
Bug Fixes
• #778 The events module can now hide the navigation bar of the slider. You need to open the
module configuration and save it in order to make this work.
• #779 the installer deletes some invalid sql update files with every update.
• #783 Multi-language switches do not longer cause 404 pages if you show event1 as a menu item
in one language and event2 as a menu item in another language.
• #790 Fixes invalid cart calculatio for single package mode when a scale price for quantity 1 was
not given.
• #791 On an Event page, the breadcrumb path contains the current category path.
3.10.20
New Features
• #771 added new layout for a list of events. You can now use the image list layout for events.
• #774 allow images to be reported. Basically there is a new message object for images. Right now
it is used so people can report images.
Minor changes
• #769 Added two events which can be used to track if the lightbox opened or changes:
eventgallery-lightbox-opened, eventgallery-lightbox-changed. You can use code like
document.addEventListener("eventgallery-lightbox-changed", function() {
console.log('changed');
• #767 the Google Photos spinner is now configurable. Check config.php for details. The spinner
image needs to be a SVG image and named sg.svg, but you can configure the path.
• #773 A new options allows to disable watermarks for main images. Main images are the
preview images for an event. They are marked with the star symbol in the backend.
Bug Fixes
• #768 show the necessary elements to create Google Photos Accounts in the free version.
• #770 fixes some more clear buttons in the UI. They still used document.id which is not longer
working.
• #775 Avoid JavaScript error on pages where an image list layout is used and the list of images is
empty. That could happen on category pages for example.
148
Migration Notes
• #774 you need to enable the reporting functionality in the social sharing options of the
component.
3.10.14
Minor Changes
• #756 Google Photos // optimized the number of requests which are necessary to load a list of
events.
• #714 provide Google Photos in the free version but limited to display 30 images per album in the
front end.
• #765 Improved the Ajax layout to not load all previews initially. In addition the layout is now
more responsive and uses flexbox to better align the thumbnails.
• #766 Links to Event Gallery created by the tags component are now search engine friendly.
Bug Fixes
• #757 tempnam uses now the Joomla tmp folder instead of the system default folder.
• #758 Fixes price calculation for single package mode and quantity 1.
• #762 The button for deleting the current search term for a list of events in the backend works
now.
• #759 Labels in the checkout forms have the class control-label now.
• #760 the preview of Google Photos in the selection dialog for the content plugin works now.
• #745 another try to fix duplicate key exceptions while updating Google Photos albums.
3.10.12
Minor Changes
• #753 improved the install messaging. Instead of rendering just the database update information,
the version of the new Event Gallery package is now visible as well. This might help to avoid
confusion about version numbers. The database is not necessarily at the save version as the
code.
• #754 Load the template engine Smarty only if necessary for sending a mail. From a
programming perspective this is bad, but it increases compatibility with some other
components.
Bug Fixes
• #752 make the download of a zipped order containing image hosted by Google Photos work.
• #755 Picasa: avoid too many requests against svenbluege.de in case the picasa token is invalid.
Picasa will continue working with this version. Older versions will not be able to load data from
Picasa anymore.
149
3.10.10
Minor Changes
• #748 uninstalling any part of the package is now impossible. If you want to uninstall Event
Gallery, you need to uninstall the package. This helps to not crash your site by uninstalling
random elements.
• #751 Render an HTTP404 instead of HTTP500 if an image file is missing. Errors like this might
happen if you migrate your images from local storage to Amazon S3. Search engines still know
the old thumbnail URLs.
Bug Fixes
• #746 since the table eventgallery_foldertype is not longer necessary, we don’t need to see an
error on the system check page.
• #747 Removed incompatibility with MooTools. The new Event Gallery - MooTools Compatibility
Plugin is now not longer necessary.
• #750 OG tags for a single image page did only show content of the event. Now the image title
and description is taken into account.
3.10.8
Bug Fixes
3.10.6
New Features
Minor Changes
• #744 plugins and modules will not longer crash a site if the main component is missing. They
will just not work until the component is repaired.
• The simple list layout is now plain CSS instead of JavaScript powered.SS
3.10.4
New Features
• #707 added the option to download an order in the backend as zip file.
• #729 Sharing and selling of images in Google albums included with the new connector is now
possible.
150
Minor Changes
• #727 extended the availability of the old Google Photos/Picasa Web API implementation by
adding deprecation-extension=true to all requests. This will allow to keep those albums until
March 2019.
• #726 added additional open graph tags on the event and singleimage page.
• #731 the sharing page for a single image appears now with the template layout.
• #730 Replaced the CSS in the add2cart dialog. It should now cause less conflicts with the
template CSS.
• #732 The CientID, secret and refresh token are trimmed now to prevent leading/trailing space
characters.
• #736 The list of Events in the back end now shows the title of a Google Photos album in addition
to the album id.
• #742 It is now impossible uninstalling the component. You’re forced to uninstall the package
instead. This will greatly prevent you from crashing your site. Seems like nobody reads the
manual.
Bug Fixes
• #734 Prevent SQL exception in case a Google Photos album contains two images with the same
media id.
• #735 Sometimes a list of albums requested from Google contains empty pages. This is now
properly handled.
• #738 Fixes broken JavaScript in IE11. Google Photos, Add2Cart and other stuff work again.
• #739 Searching for a tagged Event Gallery category using the simple search produced a link
which caused a 404 page.
• #740 Hide the VAT on the cart page if VAT is disabled in the components options.
• #741 Prevent Exception if smart search is enabled and you change the folderid of your event.
• #743 Avoid HTTP500 on single image page in case an invalid folder id is provided.
Migration Hints
• With this version, Event Gallery has some JavaScript code included, which might cause
compatibility issues with MooTools. But there is an easy way to fix this. Just enable the Event
Gallery MooTools compatibility plugin if you encounter JavaScript error in your site. This plugin
will sort the JavaScript includes on your site in a way that MooTools loads after Event Gallery.
3.10.2
151
Minor Changes
• #716 added a getting started video to the overview page in the back end.
• #723 added a new responsive CSS select option in the components options. You can now select a
static and a fluid responsive layout.
• #724 New orders will remember the language with which the order was created. This allows to
send follow up email in the same language.
• #725 prevent installing Event Gallery on old PHP and Joomla versions.
Bugs
• #717 Google Photos are now visible in the back end as well.
• #719 The file name of a Google Photos image does not longer appear as the title of an image.
• #722 Flickr images in the lightbox showed up with the original files. Now the right size is used.
3.10.0
New Features
• #708 Added experimental support for the new Google Photos API. Please have a look at the
Google Photos section in the manual!
• #708 It is now possible to use multiple Google Account at the same time.
Minor Changes
• #703 added support for Google Brand accounts. You can now select a Google Brand account and
use your Google Photos albums from there. Please note that this now requires to provide access
to your YouTube account. Right now I don’t see another way to allow the Brand account
selection.
• #705 avoid blocking site load if Google or Flickr do not answer requests. The connection timeout
is now set to 2 seconds and the overall timeout to 5 seconds.
• #709 to increase compatibility with some templates, the list of events uses a new CSS class name
now. Instead .content it is .eg-content.
• #712 The Latest Event and the Events module support random sorting of events.
Bugs
• #711 removes an old MooTools dependency from the Ajax Layout. This fixes the access to an
undefined method pick()
• #710 fixes the behavior of some modal dialogs. With the latest Joomla version there are some
incompatibilities which are fixed now.
• #713 avoid count warnings if you install a new language and make it the default language.
• #715 data privacy: added a plugin to support the new Joomla 3.9 extension capacity page.
152
Migration Hints
• #709 If you use custom CSS code which does modifications of the events list layout, make sure it
still works. If not, check if you use the CSS class .content. If so, please replace it with .eg-content
and everything will continue working as expected.
3.9.6
Minor Changes
• #685 sync database syncs now 25 files per request. This will increase the sync speed of files a lot.
• #693 Email templates support now subjects with more than 255 characters.
• #695 The latest events module supports now selecting events by category recursively.
• #698 Added CLI script to calculate missing thumbnails for local files.
• #702 Reduced the size of the generated source code by removing direct CSS styles for
background attributes. Now background-size:cover is used. This might break in very old
browsers.
Bug Fixes
• #572 Amazon S3: if we sync files by generating thumbnails, meta-data of the image was not
written to the database. The new Lambda function provides this data and Event Gallery writes
it to the database.
• #684 Under rare conditions the image list layout breaks if you change the window size. This
happens if there are only a few images on the page and the scrollbar appears and disappears
during the layout process.
• #687 The events module layout outputs 'asd'. Nice, but nobody needs that ;)
• #688 Lifted the 800px image height limit to avoid layout issues.
• #689 improved the flickr layout. The thumbnails are calculated in a better way now.
• #697 fixed handling of small Flickr files. If the k or h image is missing, the Flickr error image is
not longer displayed. Instead we use the original image.
• #699 fixed the rendering of the last image in the image list layout. On devices with a small
screen the image ratio was wrong.
• #700 custom sorting of local images was not possible if the global sorting was set to anything
other than Ordering.
• #701 fixes the behavior of caching too much in progressive caching mode.
3.9.4
153
New Features
• #674 changed the handling of sharing stuff. It is no longer possible to share password protected
or user group protected events by Facebook, Google+ or Pinterest. For all public events, the only
sharing method is the sharing dialog. The old sharing types which need a Facebook application
are gone. This change removes the Facebook SDK and improves GDPR compatibility of Event
Gallery. Data is not sent to Facebook only if users perform a sharing action.
• #675 added the option to prevent right clicks again. This works both for the lightbox image and
for the thumbnails opening a lightbox. Just keep in mind that this does not protect your images.
• #678 it is now possible to control the lightbox settings per menu item.
• #680 GDPR-stuff: removed some external script references and added a new chapter in the
manual.
• #683 GDPR-stuff: added option to export all user data by email address.
• #632 GDPR-stuff: removed the comments feature. Please note, the comments table will stay in
place. You will need to delete the table #__eventgallery_comments yourself.
Minor Changes
• #672 Improved the message if the update fails because of a missing DownloadID.
• #682 Display the global values in drop downs in the menu item configuration. This makes
configuration easier since you now know what the global value is.
Bug Fixes
• #671 The download of a file in original size caused a warning because there is no thumbnail file
to unlink. On some servers this broken the image download.
• #673 The Events module showed an additional header in case ne of the events layout were used.
• #676 added support for browser zoom. Zoom levels like 110% causes layout trouble with the
image list if the first image spreads over more than one row.
• #677 Responsive CSS loads before normal CSS. This caused some rules to not work.
• #679 The slide-show works now on mobile too and stops if you change to the next image by
dragging an image.
• #681 Fixes Fatal error: Cannot declare class Stripe\Stripe, because the name is already in use in
plugins/eventgallery_pay/stripe/vendor/lib/Stripe.php
Migration Hints
• #632 comments are gone! But the table stays in place. Please delete it yourself if necessary. I
don’t do it to not remove your data automatically.
3.9.2
New Features
154
• #668 added option to configure the tag for the headline on the event page.
Minor Changes
• #657 added a preview button on the Event Gallery overview page in the backend. You don’t
need to create a menu item to check your uploaded files.
• #661 Improved handling of the Google Photos Auth Token. It is now requested only once per
request in case you configured that token wrong.
• #666 added an option to hide EXIF, filename, title and caption for an image both at component
option level and menu item level.
Bug Fixes
• #659 The switch for showing user group protected events in a list behaves wrong in the
category list view.
• #662 fixes an error which occurred if you want to sell images with just one image type. In this
case the add2cart overlay did not open.
• #664 the click on the buy-button icon in the add2cart modal caused a 404 response.
• #665 While performing batch processing for cartability, we lose all tags for an event. We just
need to mark an item as cartable in the list of events.
• #669 Thumbnail creation for S3 file which require autorotate did not work. Only the smallest
thumbnails was rotated correctly.
• #670 The responsive CSS for the square layout was missing.
3.9.0
New Features
Minor Changes
• #649 changed the behavior of download links for images. It is not longer possible to download
password protected images without having the password. This includes the option for sharing
images. In addition the download option is disabled for all events which do not use social
sharing.
• #639 set the last modified date of a thumbnail to the value read from the thumbnail file. This
will cause a reload in the browser if you refresh your local thumbnails.
• #645 Updated to BrainTree SDK 3.28.0 to avoid PHP 7.2 deprecation messages.
• #647 if the shipping method does not require addresses, the name of the customer can now be
collected.
• #641 Reworked the configuration handling. YOU MIGHT NEED TO MIGRATE!! See below.
155
• #648 Update empty/broken Google Photos albums only every 60 seconds to avoid too much
performance loss.
• #651 added support for other image formats than JPEG if you use Flickr.
• #653 reworked the upload so avoid unnecessary hassle with server configurations.
Bug Fixes
• #646 fixes method isDoSupportDigital not found exception in the payment back-end in case an
invalid payment class is in use.
• #650 the upload of images with special characters in the file name failed.
• #656 Some system plugins broke the social sharing toolbox because of an invalid link.
Migration Hints
• #647 since there are new fields for the user name in case you don’t collect billing/shippinng
address, the email templates need to be adjusted. Otherwise you can’t use the new name field.
The default email templates are already adjusted. You just need to copy over the new code.
• #641 I reworked the component configuration from a code perspective. I’ll not notice that if you
did not override any template. If you do, you need to migrate them!! You site will not work until
you did. In short: params→get() is replaced with config→getLegacy(). There are now methods for
almost all configuration options to avoid knowing the configuration keys.
• #652 any modification you did for Colorbox will stop working with this release.
3.8.2
Bug Fixes
• #642 reduce the number of event updates by the Picasa Updater plugin in case you use Flickr
albums.
• #643 avoid HTTP 500 errors in case the multilanguage plugin runs as the only Event Gallery
plugin. The result was error like Class
'Joomla\Component\Eventgallery\Site\Library\Connector\Flickr' not found.
3.8.0
New Features
• #634 added support for a new price type. You can define a price per package now. This new kind
of package is applied only once. The minimum price will at least be as high as the package price.
Minor Changes
• #623 it is now possible to display thumbnails in the order mails/track order page even if they
156
are protected by user group or password.
• Decreased the timeout for getting a Google Picasa API token from 12s to 2s.
• #518 added an option to a shipping method to allow hiding the address forms in the checkout.
• #578 added an option to a payment method to hide/show it based on the cart type (digital,
physical, mixed). This way you can hide payment method which would only work for physical
items.
• #640 Google Photos and local images can how show the exposure time which is part of the EXIF
data of an image.
Bug Fixes
• Fixes the user select button on the Google Photos import page.
• #626 fixes an issue with the new option for turning off lazy loading of images.
• #633 avoids trouble with Braintree if a customer switches the payment method before the
Braintree UI was initialized completely.
• #635 if an events references a category which is offline, the router does not longer throws an
exception.
• #636 Servers without curl support or a missing curl_init method will not longer throw
exceptions of you use Google Photos tokens to access your photos.
• #637 the image set selection for adding an image to the cart was cached in case the Joomla!
cache is active.
Migration Hints
• #518 The option to hide address forms in the checkout ins not per shipping method. The option
in the components options are gone. Please reconfigure your shipping methods.
• The format of JavaScript files has massively changed. While they work like before you should
check if your customizations still work.
• To see the exposure time, please clear the Google Photos cache and use the Sync Database
process for your local files. Both actions will trigger a reload of the image meta data.
3.7.10
Minor Changes
• #628 events are not longer marked as events with schema information (itemscope, itemprop).
Bug Fixes
• #607 avoid showing Grantry framework errors if someone tries to access an image which does
not exist.
157
Joomla\CMS\Log\Logger\EventgalleryformattedtextLogger
• #629 fixes the swipe behavior of the lightbox. You can now swipe again.
• #630 use a new domain for the Google Photos album selector: https://static.svenbluege.de/
picasa/v1.2/index.html
3.7.8
Minor Changes
• Added an option to fix missing database version information using the System Check page.
Bug Fixes
• #625 Fixes the error introduced with the update to Joomla 3.8.0: Unable to create a Logger
instance: Joomla\CMS\Log\Logger\EventgalleryformattedtextLogger and made sure this fix does
not break Joomla 3.7
• #618 Content plugin uses the usual background technique to display cropped images if you use
the single image tag. In 3.7.6 all the thumbnails were displayed as simple img tags. The specified
width is now taken into account if a simple img tag is used to render an image.
3.7.6
Minor Changes
• #612 added support for a price flat rate for line items of an image type.
• #622 the Events modules has a new configuration option to display events including sub
categories instead of just events from the selected category.
• #624 The order list now shows information about the connected user for an order.
Bug Fixes
• #616 Image type sets can throw an exception in the back end if all image types are unpublished.
• #617 localizable input fields do not work if the current user has HTML input filtering like the
Default Blacklist enabled. It is not longer necessary to disable the filtering.
• #618 render images of the content plugin as plain image tags so a template can care about the
resizing.
• #619 the content plugin does now support references to files and events which contain the
space character.
• #621 resizing images using the download shipping method did not work as expected. Now the
configured image size is taken into account.
• #625 Fixes the error introduced with the update to Joomla 3.8.0: Unable to create a Logger
instance: Joomla\CMS\Log\Logger\EventgalleryformattedtextLogger
158
3.7.4
New Features
• #113 a list of categories can now be displayed as a tiles. The images are coming from the first
event of this category.
• #602 added new add2cart behavior in case there is just a single image type in an image type set
for an event. The user will not longer see additional options for quantity. Instead the image is
added to the cart directly.
Minor Changes
• #592 Show the no access image in case an image is not accessible for the current user.
• #593 the Paypal basic link includes the current locale so customers will see the Paypal page in
the right language.
• #595 It is now possible to turn off the swipe support in a lightbox. If you want to support zoom
gestures this might be a good idea.
• #606 The download shipping plugin allows to disable the zip link.
• #609 changes the way the sync process works. If you open the page initially there is not longer a
change in the database. You need to click both buttons to sync folders and files.
• #614 removed the link to a larger image in the new order email template. If you already created
an email template yourself, you need to perform this change manually.
Bug Fixes
• #594 If the fallback rendering mode was enabled, no images were visible in the back end.
• #597 fixes broken images inn the back end if the image was not already calculated and the
event is protected by password and user group.
• #598 the initial install does not set the schema version which leads to warnings during the first
update. This is fixed now.
• #604 fixes error which is caused by deleted images which still exist in carts of users
• #603 added config option to disable the zip link for the download shipping method.
• #607 avoid showing Grantry framework errors if someone tries to access an image which does
not exist.
• #608 using the default tmp directory of the webserver fails on some shared hosting sites. The
Joomla tmp folder is used now to avoid any issues.
• #610 improved browser back support for the lightbox. You don’t need to hit browser back two
times to change to the previous page after you closed the lightbox.
• #611 fixed the configuration options for the pageable layout. They were not taken into account.
• #613 fixes wrong paging behavior for categories. Paging of event had an effect on the categories
as well.
• #615 for Picasa images the add2cart icons did not change if you added an image to the cart of if
159
it is already in the cart.
3.7.2
Minor Changes
• #567 improved the error logging for Google Photos communication. If you want to see why
things do not work you can have a look at the file /administrator/logs
• #567 The Google Photos import has now an easy way to select a Google user id and is more talky
regarding possible errors.
• #574 fixes the occurrence of possible SQL errors during an update. The sql is now executed by
the install script and fixes the database if necessary. The Joomla installer just tried to execute
SQL which fails sometimes.
• #579 adds some German translations for the plugins. Especially the PayPal plugin shows
German copy in the front end.
• #577 improved the uploader a little bit. It is now easier to follow the upload progress.
• #587 improves the previews for a watermark configuration. The browser can’t cache them
anymore so you always see the preview for the current configuration.
• #588 added multi language association support for events. You can now switch your site
language using mod_languages and the user will stay on the event page instead of going back to
the menu item link.
Bug Fixes
• #571 fixes the back button for events referenced on sub category pages
• #573 a guest user was not able to see images in case an event was visible for guest users only.
• #580 fixes the creation of multiple orders for one order. The invalid orders do not contain
anything but an ID. It is safe to remove them using the back office.
• #582 fixes the zip file creation. It was not able to fill the archive with the files since the encoding
of the download links was wrong.
• #584 the image selection button for the content plugin is not longer limited to a specific url. You
can select the event and the image now.
• #583 fixes the output of the content plugin if you want to use uncropped images.
• #585 the social media button did not pick up the right image while using it in the ajax layout.
• #586 sometimes the lazy loading did not load the images at the edge of the visible area. This is
fixed now.
• #589 added support for saving content with a disabled TinyMCE editor.
• #590 the content button for adding an image tag to an article did not worked on sites running
with https
• #591 fixes the thumb URL for mails. Now we see thumbnails in a mail even if the event was
protected.
160
3.7.0
New Features
• #547 added more protection for the images. You need to use an .htaccess capable server for this.
The image PHP scripts do now check if the user is allowed to see the image. This is true for
password protected events and for user group specific events.
• #390 there is a new button in your editor which you can use to add a single image to your
article.
• #117 A new option in the components options allows to show a back button on an event page.
Please note this works best with menu items referencing a list of events.
• #563 Added a shipping confirmation email. If an order gets marked as shipped, this email will
be send. This email will be send automatically for free orders if the shipping method supports
this. If you’re using the download shipping method, this mail will contain the download links.
• #88 The download plugin does now offer the option to download all files in one zip. This works
for Flickr, Google Photos, local and Amazon S3 images. If you expect very large orders the
server might time out.
• #567 you can use Google Photos albums without changing the visibility. Just open the
components options and sign in with your Google acount. Afterwards you can use all your
albums even if they are protected. Keep in mind you can use exactly one Google account for
now. This does not effect private or public albums.
Minor Changes
• #555 Improves compatibility with some templates. The first resize event on a page caused a
rerendering which was visible as a flickering. This does not longer happen if the resize event
does not cause a size change for Event Gallery.
• slightly improved the content button for adding an event tag to an article or editor.
• #524 the content plugin can now show social sharing buttons for hidden thumbnails and
lightbox thumbnails.
• #488 move the suffle_images option to the sorting section of the event and the Events - List tab
in the components options. It just makes more sense there.
• #556 the order detail page in the back end shows now the filename and the folder name in
addition to the thumbnail
• #557 hide the VAT hint in the add2cart lightbox if VAT is disabled so you don’t need to change
the value of localization keys.
• #558 the generation of index.html, .htaccess and web.config is now implemented in a single
place. You can check the config.php file if you want to change that content with the
config_override.php file.
• #561 added support for getting the fstop exif value for some cameras which use the FNUMBER
field only. In addition the focal length is retrieved by the FOCAL_LENGTH_IN_35MM_FILM field
before we fall back to the FOCAL_LENGTH exif field.
161
• #564 removed old Picasa album url helper since those urls do not longer exist. You can use the
new album selector instead.
• #565 improved the sync dialog. The initial step is now implemented inline so you save a button
click. If there are new folders they are selected once so you can sync them. The folders are now
sorted by ordering descending.
Bug Fixes
• #554 the grid list used too small image size for flickr images.
• updated the PEL library to avoid issues reading EXIF data correctly
• #559 The option "sharp original" behaves in the opposite way. That is fixed now.
• #566 A change in the Joomla! core creates a new session if you log in. The result is a lost cart.
The code does now take this behavior into account.
• #569 fixes crash of the content plugin in case the referred event did not exist
Migration Hints
• The URLs to an event might now contain the category slug. The old URLs will not break but you
might want to have a look at them. This is especially true if you want to use the new back link.
• If your images are smaller than 1600 the option "sharp original" needs to be rechecked. Have a
look at the components options tab "images". During a bugfix the meaning of this option was
fixes. Please clear the server cache so the thumbnails are generated again.
3.6.4
New Features
• #533 an image type has a new attribute MaxOrderQuantity. You can use it to limit the maximum
quantity for a line item of this type. Typically you want to set this for digital items so people
can’t order a digital image twice.
• #534 Endlich ist die deutsche Übersetzung auch für das Backend mit dabei / added German back
end translation
Minor Changes
• #530 the greetings field for a list of events supports now multiple languages.
• #540 you can now preselect a country in the checkout address form so your customers don’t
have to search for it in the drop down.
• #546 improved the sync database process a little bit. The possibility that people forget to press
the [ sync files ] button should be reduced now.
162
Bug Fixes
• #538 fixes an issue with saving something if it uses the localizable editor form field type in case
the JCE editor is in use and disabled.
• #539 countries in the drop down on the checkout address are sorted by display name now.
• #531 fixes an issue with old SEF components which causes an error 0 - Class 'ContentRouter' not
found;
• #532 readds support for Google Photos albums in the content plugin.
• #535 fixes class load issues with the new Braintree payment method on some hosts.
• #537 fixes rendering of square sized Flickr thumbnails. Too small thumbnails where used as
background images.
• #541 fixes the missing paypal button on the order confirmation page and the order tracking
page.
• #543 fixes the redirect from image.php to index.php which will restore the good performance.
• #545 fixes import isses in case you use only small (less than 2048px) images in your flickr
album.
3.6.1
New Features
• Added Amazon S3 support including Amazon Cloudfront delivery. This includes the thumbnail
handling as well. You just need to upload your files to S3 and use the sync functionality of Event
Gallery to generate thumbnails and make those images available on your Joomla! website. To
speed up the thumbnail creation you can use an Amazon Lambda function as well. Check the
manual for details.
• Reduced the number of possible thumbnail sizes from 26 to 13. Now Event Gallery generates the
following thumbnail sizes: 48, 104, 160, 288, 320, 400, 512, 640, 720, 800, 1024, 1280, 1440
• Added Braintree as a payment option. You can grab credit card and PayPal payments with one
simple plugin now. Instead of having a redirect to PayPal or this PayPal pay button the payment
process is now integrated in the checkout. The order gets payed immediately and there is no
additional payment mail.
• The content plugin can now add single images instead of a whole event. There is already a
button for the editor but it’s just giving you a syntax help for the content tag. This will be
improved in later versions.
Minor Changes
• #479 thumbnails to longer contain the thumbnail image of the original file exif data. This helps
a lot to deliver smaller image files to the browser.
• #480 the Picasa album picker can now change the visibility of your albums. This means that
Google Photos albums can be used directly with Event Gallery. It’s integrated into Event Gallery
and usable stand alone: https://www.svenbluege.de/picasa/v1.1
163
• #482 it is now possible to prevent writing a .htaccess file for all image folders using the
components options. If you want to use images from the /images/eventgallery/[event] folder on
your site you can use this option. Don’t forget to delete existing .htaccess files yourself.
• #492 the icons on the images have changed. It is now much easier to modify them by CSS and
they are placed in the same spot.
• #500 the Events Module and the Latest Events Module can now sort the events by hits.
• #505 added configuration option to hide/show the country and state drop down in a address
form.
• #502 added option to disable the IPTC data import from images.
• #516 added support for the Flickr description. It’s now copied over with every sync.
• #443 set the creation_date for Flickr and Google Photos images. For Flickr we use the date_taken
field and for Google Photos we use the published field of an image.
• #509 if you login on the checkout page or on the order tracking page you’re redirected to the
right page now. No need to see the user profile anymore.
Bug Fixes
• #484 the cart button in the image type selection dialog didn’t work if the dialog was opened on
mobile from the lightbox.
• #485 the company input field was visible in the shipping address form even if it was disabled by
the components configuration.
• #493 adds some BootStrap2 markup for the add2cart pop-up in case you’re not using BootStrap2
• #463 fixes duplicated breadcrumb entries for the categories view in case the menu item
references a category.
• #497 the buyer note for a line item does appear in the order confirmation mail now. Make sure
your mail template contains this data. Otherwise this fix will not help you.
• #498 fixes a rare issue where you get a random alert message "URL format not supported"
• #499 prevents an issue with the Events modules which occurred if you use it multiple times and
different values for the tag parameter where one tag parameter is empty.
• #501 fixes the page size selection for the list of comments in the back end.
• #507 remove the cache folder for Picasa, Flickr and smarty during the installation process to
avoid any side effects.
• #510 fixes a bug where the date for an event reappeared wrong because the time zone was not
taken into account.
• #512 fixes image size calculation for Flickr images. The lightbox showed only 800px images if
the Flickr images are large files.
• #513 takes the Flickr secret for h and k into account. This prevents error messages for larger
images in the lightbox.
164
• #519 fixes an issue in the back end where an order detail page throws an exception if an image
type was deleted and used in this order before.
• #520 fixes SQL exception on search component page in the back end.
• #523 If you delete an order status which was used for an existing order the order tracking page
threw an error.
Migration Hints
• #504 since categories for an event are now mandatory you can use the batch operations to
assign events to the Uncategorized category in case you encounter any issue.
• #513 delete the folder /cache/com_eventgallery_Flickr to force a reload of the Flickr data.
3.5.5
Migration Hints
• #490 fixes a possible issue with the url format of the new add2cart popup
3.5.4
New Features
• The format / image type selection is not longer placed a the top of the page. It’s now visible in a
lightbox if you click the add2cart button.
Bug Fixes
• Fixes invalid faild file name which breaks the checkout process.
Migration Hints
• The add2cart behavior has changed. Please make sure your template overrides do not cause
trouble here. In addition please have a look at the new wording. You can use language overrides
if you need to change something.
3.5.3
Minor Changes
• #468 added a drop down for states and country in the address forms of the checkout.
Bug Fixes
• Fixes an issue with caching of modules. Related script/style files got lost which caused display
issues. Using the static cache mode is not a good idea. All modules do now use the itemid based
cache mode to prevent the loss of JS/CSS elements.
• #470 avoids disappearing tags while performing batch operations for events.
165
• #471 fixes the missing default value for some configuration options of the latest event module.
• #472 fixes an issue with the module title of the latest event module. The event name
disappeared after the module content was cached.
• #473 the multilanguage editor did not worked with tinyMCE because of some changes in the
Joomla layer. It was impossible to save content for the different languages. There is a
workaround now and you can use tinyMCE again.
• #474 on some servers we are not allowed to set the sender of a order mails with the value of the
customers email address. The reply-to address for order mails will stay in place.
• #475 removes the error message for the missing scale price if you create a new image type.
• #478 the paypal plugin stopped writing log entries. Now it writes them again.
3.5.2
Bug Fixes
• Event Gallery 3.5.1 contains test CSS code for the lightbox which hides the icons and moves the
title below the image. This was not by intention to it’s removed now.
3.5.1
New Features
• #456 added a new sub menu in the back office which is calles System Check. It reveal some
important settings and will help so speed up the handling of support cases.
• #459 modules are cached now! This works even if you disable global caching but in this case
you need to use the cache handler File.
Minor Changes
• #466 Hide the price in the payment/shipping drop down on the address page in the checkout if
money value is zero.
Bug Fixes
• #463 fixes displaying the menu item and the category in the breadcrumbs if the menu item
references exactly this category.
• #465 fixes an XSS alert a security scanner found. It’s actually a false alert at this place but this
scanner should be muted now.
• #469 if you use mass data sorting (drag & drop or the save ordering button) for events, assigned
tags disappear. That’s fixed in this release.
166
3.5.0
New Features
• #346 removed Joomla! 2.5 legacy code. This version will not longer work with Joomla! 2.5.
• #345 Each line item in the cart can have a separate comment field now. This allows your
customers to add wished/comments/questions to each item.
• #352 Joomla! Tags! This version removes the simple string tags and switches to native Joomla!
tags. Migration should work automatically.
• #379 added a new selector for Picasa albums on the event detail page in the backend.
• #94 modules can use the same component layouts like the content plugin.
• #423 The Events module is now able to use the three layouts for events.
• #150 added support for IPTC attributes for title, caption and creation data. They are read from
the files and stored in the database during a sync process. Use the components options (Image
tab) to define if new data should overwrite existing data. In addition you have the option to sort
local files by creation date. Again you can configure this in the components options. Check the
Events - List tab for the two new options.
• #449 increased the options to sort files of a local event. You can define a global sort attribute
and direction as well as event specific sort values. A new sort button in the list of files will help
you to assign propper ordering values in case you need them.
• #459 improves cache ability of the main component output. It’s simply possible now for the
views events, event and categories.
Minor Changes
• #351 fixes namespace issue with the table classes. Moved them from Table* to
EventgalleryTable*.
• #372 click the order status area to get an inline editor to change the order status without
opening a new page.
• #374 picasa images are stored in the database now. This does not affect the cache files in the
cache folder but makes some things easier and faster.
• #388 the image links do not longer contain option and view url parameter to save some bytes in
the HTML reposnse.
• #382 added ability to sort events by category tree in the events list view in the admin section
• #400 The Paypal Basic payment button uses a plain link now. This increases compatibility with
email clients so people can pay by clicking the button in their emails.
• #408 The image uploader uses a different URL to avoid conflicts with some server
167
configurations. The URL does not longer ends with the filename.
• #407 it’s now possible to see the list of images from remote sources in the back end.
• #436 the initial thumbnail pages of the ajax layout are hidden now. While loading the page it
looks like a broken layout. The thumbnails will appear after the script calculated the final
layout.
• #445 the modules can now render the Event Gallery layouts as links to the event or open the
images in a lightbox. Check the new configuration option of the modules.
• #458 modules are now cached globally (static). This is true for the cart module too. Please open
the configuration of the cart module, configure the cache settings and hit the save button to
enable caching for it.
Bug Fixes
• #378 delete image types will not longer crash the order list in the back end. It is still not
recommended to delete image types once you start using them.
• #404 removes the fade animation for images on the events list.
• #440 the order confirmation mail to the admins contains now the customers mail data in the
from and replyto fields.
• #441 disabled the digital image type to avoid confusion for the users of the free version. This
applies only if you do a fresh installation.
• #442 fixes an issue with the content plugin which occured if the search index was build. the
template lookup did not worked correctly and resulted in a lot of entries in the log files.
• #450 fixes an issue with blurry images which was caused by rotating small images even if it was
not necessary.
• #453 fixes a sunerialization error in the categories module which occurred if the cache was
enabled.
Migration Hints
• If you use tags make sure they still work as expected after installing Event Gallery 3.5.0. In case
you need to repeat the migration you can call this url:
/administrator/index.php?option=com_eventgallery&task=migration.migrateTags. It will
transform the old Event Gallery tags into Joomla tags. While you can repeat the migration for
events you can’t repeat the migration of menu items and configuratio options.
• Clear the picasa cache! Otherwise you’ll not see any images until the cache gets invalidated.
• If you want to see the new comments for line items in your mail, you need to adjust the order
mail template. The field is named buyernote and you can find it in the default mail template.
168
3.4.5
Bug Fixes
• #481 boolval is available with PHP 5.5… since Joomla! supports 5.4 we can’t use it
3.4.4
Bug Fixes
3.4.3
Bug Fixes
• #434 removed hard coded root folder path for the images and replaced it with the already
existing constant.
3.4.2
Minor Changes
• #402 switched to CURL to get content from Picasa. This improves compatibility to some server
environments. The file_get_contents fallback is still there.
Bug Fixes
• #405 fixes an issues with the category title and description. If the event gallery specific field is
empty no, the Joomla! field is taken into account again.
• #411 fixes an issues with the category title for the html title tag. The localized value is taken into
account now.
• #413 fixes the usage of the events meta description on an event page.
• #415 the click to the ok button in the alert message after a finished cache clear process lead to
the control panel.
• #418 fixes a SQL exception if you try to add a new folder with a name which already existing
with a different upper and lower case spelling.
• #421 Content Plugin: hidden images were not taken into account. That’s fixed now.
3.4.1
Minor Changes
• #370 the lightbox can hide the navigation and information elements on non mobile devices. The
169
delay is configurable in the components options.
• #371 the login form on the checkout address page can be enabled/disabled using the
components options.
• #367 the content plugin supports hidden images. This is useful if you want to show only some
thumbnails of an event in the article but more in the lightbox.
• #376 the content plugin accepts encoded quotes in the content tag to support some html editors.
• #392 added an option to disable the usage of address data stored at the current user during the
checkout.
Bug Fixes
• #369 access to a single image page where the folder does not exist results not in a HTTP 404
instead of an HTTP 500.
• #395 fixes an issue which occurs in a multilannguage environment where the items in a
category need to be counted.
• #387 if you add a new language it might happen that you see a JSON string instead of a localized
string. With this fix you get an empty string instead.
3.4.0
New Features
• Mail templates. You can now define your own mail templates without the need of template
overrides. Includes the option to add mail PDF attachments so you can distribute legal
documents or things like this.
• The download shipping method can now provide links which allows your customer to
download their paid images.
• You can disable the shipping and billing form in the checkout and proceed with the email
address as the only mandatory field. Make sure you use a shipping method which can work
with the email address only if you disable those forms.
• If you protect your events with user groups you can now show them in the main event lists. Use
this to make your users aware of those events. By default all events are hidden which are
invisible for the current user.
• If you upload images to a originals sub folder you can provide the original images of an event
for download. This works both for the new download shipping method as well as for the
download button. You need to create this folder and upload the files manually. There is not back
end for this. You still need the smaller files for creating the thumbnails. If your server is capable
processing the original large files you don’t need this feature.
170
• #63 a new login form in the checkout address form allows the user to login. Once he logged in
the current address data is stored to his profile. If he returns and logs in, those data is used to
prefill the address form if it is empty.
• #335 Added Font Awesome to replace the existing bitmap icons. Now you’re able to change to
color, size and appearance of the icons more easy just by adding some CSS to your template.
• #343 the quick edit click for a files title and descriptions is back!
• #354 Most of the thumbnails are not longer cropped! I assume browsers can do a tiny bit of
image scaling now so I’ll use this. In the past all images where loaded as unscaled background
images. Depending on the size of the used thumbnails, parts of the image where not visible. This
happens now only for some thumbnails like the ones in the first row of an image list if the first
image spans over more than one row. Of course square sized thumbnails are still cropped.
Minor Changes
• Added configuration option to enable form fields for company name and tax id.
• It is not longer possible to save an outdated order data set. We have now a new column in the
database which stores the version number of the row. If we try to save a data set with a lower
number it gets rejected.
• The smart search (finder) plugin does not longer index user group specific events if the public
user group is not assigned.
• The search plugin filters folders which are not visible for the current user in the search results.
Users will get different search results based on their user group assignments.
• There is now a little helper button which helps you adding a Picasa/Google Plus album as an
event. You just need to enter the URL to this album and the user/album/key field are populated
automatically.
• It is now possible to create an URL which directly displays an order using the track order page.
Until now this was impossible because of the use of a CSRF token. Since token this does not
provide any additional security it has been removed.
• If the ajax layout has to show just one page it will hide the paging bar now.
• An order gets paid automatically if the order total money amount equals zero. This helps to
speed up the process for free orders. In combination with the new download shipping method
you can allow people to collect and download the images they want.
• Reduced the number of buttons in the image type selection box and the cart module. The help
button is gone now as well as the cart button in the image type selection. This should help to
avoid confusion here.
• The Paypal Basic payment method sends out a paypal form in a mail. Since this form does not
work in all mail clients an additional link is now part of the mail. It opens the order tracking
page for this order so people can use the Paypal form in the browser.
• #337 instead of the global list limit a new configuration parameter in the components options
defines the default number of images per page.
• #334 use the title image of an event to render some semantic SEO information about the event.
• #340 a new options allows to load a very basic responsive CSS file. This will provide an
171
responsive layout for row based layouts out of the box. I recommend to define your own
settings in your templates CSS file.
• #341 improved the three links below each line item in the cart. They now have icons in addition
to the link text.
• #357 removed the full screen configration option for the lightbox. There is now only one light
box size: full screen.
• #353 you can close the lightbox with the browser back button now. It’s a bit hacky but it works
by adding a url parameter. This behavior is supported by browser having the HTML5 history
API implemented.
Bug Fixes
• The Paypal basic button had invalid links if you resend the order confirmation mail from the
back end.
• It’s now possible to add a tag to a event gallery category without getting an error message.
• #339 fixes 404 for image download links errors if social sharing is disabled. Now it’s possible to
load the largest thumbnail instead.
• #358 fixes an issue with the sticky image type selection and the ajax layout. The cart icon does
now appear on the image.
• #360 a tax rate 0 zero disappeard in the configuration of the shipping/payment/surcharge detail
page. You needed to enter it over and over again.
• #363 the export only exports tables which do exist using the current db prefix. This ensures the
export works even if there are multiple Joomla! instances per database.
Migration Hints
• This version is tested only with Joomla 3. While Joomla 2.5 might work it’s not longer supported.
• The way emails get generated changed. Please create an email template if you modified the new
order email. Localization keys and templates are not longer used.
• If you overrode any code elements they might break due some code optimizations. Please make
sure you test this update in a test environment.
3.3.3
Bug Fixes
• #385 fixes install error while updating the category field content plugin
• #383 the light version did not activate some plugins. That’s fixed now. The category field content
plugin and the picasa update plugin are now activated automatically.
172
3.3.2
Minor Changes
• #327 Added option to turn off sharping of images delivered in their original size. Don’t forget to
clear the cache to see a difference.
• #328 if you filter the events for a menu item by a category the configuration option for
recursively showing events is now available.
• #330 Render HTML tags instead of encoding them while displaying the file title/description in
the list of files. This allows to get a better preview of the image title/description.
• #331 changed the input field type for the caption/title of files to a textarea.
• #332 the input field for the default language appear on top and is marked with an asterisk.
• #342 installing an older version will cause an error during the install process if database
changes where involved.
3.3.1
New Features
• Localization of categories is now possible. There is a new Event Gallery tab for a category where
you can enter the title and description in multiple languages. If you use those fields the normal
title and description are not longer used so don’t get confused.
• A slideshow option for the lightbox finally made it in. Colorbox has this feature out of the box,
now you can enable it in the components options.
Minor Changes
• Instead of throwing an SQL exception in case you try to copy an event with a non unique ID a
meaningful warning is displayed now.
• You can prevent right clicks in the lightbox now. Keep in mind that this will not protect your
images in any way but it’ll keep the average user from saving the image easily.
• Added watermark preview for portrait images so you can quickly see how your watermark will
look like.
• A new configuration option allows to share a link which shows the shared image but redirects
the user to the event page.
• Massive performance improvement for the Tile layout. This is especially true if you use Firefox.
Bug Fixes
• The quantity input box on the cart page does not longer allow negative values.
• The Picasa Import was broken. It created local events instead of Picasa Events.
• Using an apostrophe in an event description caused issues with the event selection dialog.
• Sharing urls use a different parameter than normal download urls. This allows to both
download the image directly and share it to Facebook.
173
• Picasa references which contain an @ character in the user name will work now. Album names
should still not contain this character if you want to use them with Event Gallery.
3.3.0
New Features
• New UI for clearing the thumb and picasa cache without running into timeouts.
• Reworked folder sync: you can select the folders you want to sync and Picasa folders are hidden
now.
• CLI script for syncing the database. Now you can create a CRON job to sync the database. No
need to trigger this from the back end manually. Just run cli/eventgallery-sync.php from the
command line.
• Removed MooTools lightbox and replaced it with a slightly modified version of colorbox
https://www.jacklmoore.com/colorbox/.
• The lightbox supports swipe gestures to switch to the next/previous image. Same is true for the
main image of the ajax layout.
• The content plugin supports now the grid and the tiles layout in addition to the image list.
• Empty folders are hidden now. Sounds link an easy thing but it is not. While local images are
stored in the database Picasa images are not. Because of this it can’t be solved by a simple SQL
query. So we write a dummy file into the database once a Picasa album gets loaded and the
album is not empty. But now we hide empty folders so those Picasa folders will never get
updated. Keep in mind that they are reloaded on access. To fix this we have a new plugin which
checks those empty Picasa folders so they’ll appear once the album contains some images. Clear
the server cache so those dummy files can be written initially.
• You can now configure to hide the main image of an event in a list of events in case the event is
protected by a password.
Minor Changes
• added a threshold for watermarks. This way you can now deliver small thumbs without a
watermark but larger ones with watermarks.
• you can configure the period a Picasa request result is cached. By default it’s cached 24h. Be
careful with smaller values since this will increase the server load and overall response time of
your pages.
• Images can have URLs now. This allows you to link from the gallery to any URL you like. It
depends on the layout for the images if the URL is used or not.
• New address field for state values in the billing and shipping address form.
• Sorting orders by document number work better. It sorts the orders in the way one would
expect it instead using a string sorting.
174
• Added configuration option to show the event name and description on the ajaxpaging layout
inline or on top of the page.
• index.html files get added to the source image folders during the folder creation and the sync
process. This should provide a little bit better protection for private images.
• There can be a default watermark now. A default watermark is used if no other watermark is
defined or the defined watermark for an event is offline.
• For each event you have the option to define some meta data. If for the menu item referencing
the event is nothing defined those values are used.
• Switched from a select box to a modal dialog to select an event for a menu item or in a module.
• The content plugin supports ranges. In addition to the maximum number of images you can
define an offset. Using this ability you can create articles where you can place arbitrary text
between the images of your event.
• Log files will not grow larger than about 1MB. This will avoid issues with hosting providers
which do not allow writing large files. But keep in mind the normal Joomla log files might still
grow larger and cause your site to stop working.
• Write .htaccess files to the local folders to prevent people from accessing this folder.
• Added save2copy button. It is now possible to specify a different folder id and use this button to
create a new event based on the current configuration. Basically it’s a clone feature for events.
Images are not involved!
• Setup removes eventgallery_light package if Event Gallery Extended gets installed. This avoids
having two packages of Event Gallery installed.
• You can use the key COM_EVENTGALLERY_MONEY_FORMAT to change for money format. Keep
in mind that you need to do this both for the site and the admin section. Otherwise the format
will differ if you (re)send an order confirmation mail for example.
• The image list layout does not longer stretch the last image to full width. The JS code is still able
to do it but it’s currently not configurable from the back end.
• Improved the handling of long event folder names in the list of events in the admin section.
There is now a max-width set to 350px until the folder name wraps.
• The description field of the image type set is used now. If it is not empty it replaces the default
text in the front end which appears above the list of image types.
• Added a small SEO improvement. By using the meta tag framenet=! a spider can call the page in
a way it can easily retrieve the full images. This should help to place more images in the search
engine.
• There is a configuration option for a callback protocol in the components options. Use this to
avoid trouble in case you run your site using https. Especially in a shared host environment this
might cause trouble since PayPal can’t connect to your server using https. In this case just
configure 'http' as the callback protocol.
• To avoid any trouble with other lazy load scripts, Event Gallery uses the css class eventgallery-
lazyme to mark images to be loaded lazy.
175
• The landing page for shared images has improved. The mini page does now show some more
image information and uses some basic CSS to let things look a bit nicer.
Bug Fixes
• The button for adding an event to an article did not worked while used in front end editing.
• Fixed issues with upload and sync if one uses a custom folder path for the source images.
• The zoom button on the single image page displays now the lightbox with the correct title.
• Fixed error message if an user opens an order which contains images that do not longer exist in
the database.
• The guest user group did not work. Now you can assign events to the guest user group to hide
them from logged in users.
• The version warning appeared during the database sync. This is fixed now.
• Sometimes the aperture was printed like 5.7 or 4.6. The correct values should appear now.
• Fixes an issue with the editor button while using it in the front end. Without the fix you’ve got
the rendered list of events instead of the back end UI to create the content tag.
• If you’re using password protected events you can create URLs which already contain the
password like www.foobar.de/event/foo?password=123. If somebody opens this url a redirect is
performed which removes the password from the url so it can’t be shared easily.
• Browser zoom is supported now. The layout should not longer break if the browser zoom is not
set to 100%.
Migration Hints
• Dropped PostgreSQL completely. There is no time to keep this in sync nor do I have the time to
test it.
• Removed MooTools dependency. If you modified any JavaScript file of this component it’ll
probably fail. Keep in mind that this component uses jQuery which is delivered with Joomla 3
and includes the same version while running with Joomla 2.5.
• Clear the server cache if you use Picasa albums. Otherwise they’ll disappear until the cached
Picasa XML file gets invalid.
• The image set description is in use now. Make sure you did not add funny things in there.
176
3.2.2
Minor Changes
• Removed the usage of readfile() to prevent compatibility issues with some server
configurations.
Bug Fixes
• Changed the way thumbnails are send to the browser. This should improve the ability of
services like Facebook to load those images.
• Fixes issue where you get an error message that a layout was not found if you open an event
without using a menu item. Instead of using the default layout, the layout of the default menu
item was used.
3.2.1
New Features
• Switched to integrated Joomla Updater. Make sure you’re on Joomla 2.5.19 or Joomla 3.2.2 or
newer if you want to update Event Gallery Extended automatically.
Minor Changes
• There is a new option which allows to display the images of all events in random order. This
option will apply if the chosen layout has no pagination.
• There is a new field in the database which is used to count the hits for an event. This of course
works only properly if no caching is enabled. Use the components options to make the new hit
count visible. By default it is hidden.
• The download button for an image now calls a download script instead of referencing the file
directly.
• The download script uses the configuration of the download button to allow the download. If
the download if not allowed globally or for the event downloading of the file is not possible.
• Added option to switch between full image downloads and resized watermarked images. Keep
in mind that those images are used for social sharing too. Either they get your original files or
those smaller watermarked files.
• Added support for running the site with https for picasa albums to avoid insecure content
messages.
Bug Fixes
• The resend mail action for an order confirmation mail respects a possible template override in
the default front end template.
177
• Fixes writing the Picasa cache twice. On older version there was a cache entry for the
administrator and one for the front end.
• Fixes a issue which occurs if you have a menu item of type "Categories" and a configured
category. Images linking to events shown in this category produced incorrect links. Even events
which are not show in this category linked to this menu items.
• Fixes issue with surcharge calculation which occurred if a surcharge got invalid due to cart
modifications. If no other surcharge was available instead the cost of the old one was applied to
the cart.
• Fixes sharing of images to facebook. Now we share absolute urls to the image.
3.2.0
New Features
• Categories! You can create a category hierarchy and assign events to it.
• path to the image source folder is configurable now by creating the file config_override.php in
the component folder. See config.php for details.
• Latest Event Module: added option to show the description of the event instead of the module
title.
• Finder Plugin: the events date is part of the index. Support for event gallery categories as filter
options. Support to link to Event Gallery Categories.
• Latest Events Module: added a module which can show a number of events with some preview
thumbs.
• Category Module: added a module which shows the category structure created for events
• Reduced size of the package due to the removal of the internal documentation.
Minor Changes
• added a link which is able to remove files from the database which have no folder.
• improved file upload so it feels more responsive and does not try to upload all files at once so
you can still use the back end with the same browser.
• changed sorting behavior for files in the back end. The automatic reodering does not affect
positions with value 0 and is specific for a folder now.
• added button for the list of files in the back end to reset the ordering.
• added drag and drop sorting for events (Joomla > 3.0 only)
178
• new events get the highest ordering number now.
• social sharing: download link uses html5 notation for starting the download instead of showing
the image
• content plugin supports now apostrophes instead of quotes to avoid HTML encoding issues with
some editors
• fixes a defect which occurred while you’re using a menu item which links to directly an event. If
you jump back from a single image page to the list the wrong layout type might appear.
• comments form uses the Joomla Captcha instead of a self made one.
• added a more restrictive check for folder names to avoid invalid characters in the folder name.
The sync database job will show the correct folder name in case the current one is invalid.
• margin-left for a list of thumbnails is set to 0px to prevent possible issues with Bootstrap bases
templates.
• you can resend a order confirmation mail from the backend. Find this button in the top toolbar
on the order detail page.
• added option to sort events by date in the back end event list.
• added buttons in the top menu bar to allow an easy switch between edit event, list of files of an
event and the upload page.
• added alternative way of image sharpening in case you use PHP 5.5.9. THIS METHOD IS VERY
SLOW! Please disable image sharpening if this is an issue for you. PHP 5.5.9 contains a defect
where the build in method creates blurry images.
• if an event is linked directly you can now set the meta description at the menu item
• added message in case the minimum requirements for PHP and Joomla are not meet.
• Added check to avoid uploading other files than files with extension PNG, JPEG, GIF and JPEG.
• New option to display the filename for an image. This works for places where the image title or
description appears.
• The order confirmation mail displays the entered phone number if there is any.
• The components global options allow to decide which link is shared for an image. The current
options are: Image Page or Event.
• The event pages contain the snippet+ items name, description and image so you can share the
event to google+ too without loosing the thumbnail.
• Added some checks to avoid error pages if a Picasa album is referenced in a wrong way or gets
invalid somehow.
• In order to provide quicker support an url parameter debug was added. In case the value is
true, CSS and JS files are not loaded as compressed versions. This allows to check for possible
issues without having reconfigure the component in the back end.
179
module will link to. Use this parameter to override the automatic menu item determination.
• The download buttton for Picasa images references the full image now instead of a 1280px
image.
• The social sharing toolbox now closes if you click somewhere else on the page. This is necessary
to avoid open windows on mobile devices which do not support mouse out.
Bug Fixes
• Order confirmation mail is send to customer and admin separately. This allows direct replies to
an order from both sides.
• fixes crash while rendering thumbnails using an non existing watermark image
• Fixed crash in Joomla 2.5 while sorting files. You can sort them now again but the whole sorting
feature works best stating with Joomla 3.x.
• Fixes a defect where the menu item setting for showing the EXIF information of an image was
not respected.
• Fixes an issue which occured on the Ajax list if there was only one page. In this case a JavaScript
error was throws.
• Removed error message Class 'JCategories' not found which occurred in a module using
Joomla 2.5.
• The image tags contained invalid HTML since there where spaces missing between the tag
attributes.
• Fixes issue with the url which opens the sharing window. It uses now JRoute instead of just
index.php/….
• Added a CSS stlye which helps to fix display issues of the image list with Android 2.3 browsers.
The max with of images is now set to 4000px instead of auto.
Migration Hints
• the menu item type Events - Simple List does not longer exist. You need to reconfigure those
menu items as a Events - List and choose the Event layout.
• Clear the Joomla Cache! Otherwise it’ll take some time before your users can download and
share images from Picasa again.
3.1.6
180
New Features
• massive performance improvement in case you have a lot of images per page. There is a
significate reduction in render time per page and a JavaScript performance improvement for
the new tiles and grid views.
Minor Changes
Bug Fixes
• fixes issue with Ajax List which occured if the first page contains maximum number of images.
In this case the main image did not load.
Migration Hints
3.1.5
Minor Changes
• url parameter format is not longer handled by the router to avoid issues with plugins which sets
the wrong Document type. This should prevent issues with the social sharing buttons and the
add2cart ajax request.
3.1.4
New Features
• surcharge plugin supports now a money value or the total line item count
Minor Changes
Bug Fixes
• fixed Facebook sharing issues with event where the folder name contains space characters
• fixes defect in the latest event module which occurs if you use this module multiple times on a
page
• load langauge files for search/finder/content button plugin in Joomla 2.5 manually
• added support for the social sharing button in an image list rendered by the content plugin
• fixes an error which occured on the order tracking page using Joomla 2.5
181
3.1.2
Minor Changes
• added configuration option to turn off the new caption layout for image in a image or pageable
list
Bug Fixes
• fixed a defect which causes an SQL exception while creating a new event and not filling all
mandatory fields
• prevent JavaScript error in the front end if event is visible but does not contain images.
3.1.0
New Features
• new layout mode for showing a list of events. Just configure your menu item to use the new
Tiles layout.
• two new layouts for showing events. We have the tile layout which matches the new event list
layout and a grid layout.
• improved css for events list and image lists including displaying image title and caption on over.
• option to import public Picasa albums as events. There is no sync option so removed albums
will not be deleted in Event Gallery.
• modules have a new configuration parameter which allows adding custom CSS classes
• images will have alt attributes containing the title of the event and the title of the image.
• new payment plugin for Paypal: Paypal Basic. This one will not force you to create API
credentials and your own Paypal App.
• new configuration parameter to automatically show the image type selection on pages.
• JS and CSS files are minified and concatenated now. This feature can be turned of by setting the
component into debug mode.
• new editor button to simplify inserting an event into an acticle. Don’t forget to activate the
button plugin.
Minor Changes
• improved support for having the gallery linked by default menu item
182
• component returns http 404 instead of 500 if the router was not able to resolve an existing view
• removed magic list again. This type of list was just an experiment.
• stopped using icon- css classes. Instead the gallery uses evergallery-icon- css classes to prevent
conflicts with templates.
• allowed comments for picasa albums too. Note that you can’t enable / disable comments for
Picasa images separately. There is only the global switch.
• added error message if an invalid shipping method was selected for the cart.
• the "open cart" button in the image type selection box is now a text link. The icon was too
confusing.
• removed behavior which hides the image type selection on event pages of the a resize event is
fired.
Bug Fixes
• fixed issue with Facebook Photo Share. Folders which contained space characters did not work.
They do now.
• fixes issue with Joomla 3.2 and html5fallback. One had to hit the save button on the checkout
address form twice to submit the form
• the display name and description for the ajax list paging configuration was inverted.
• the ordering of images of event in the back end was not the one you saw in the front end
• link generation fixed in case you have a menu item pointing directly to an event. Now the
generated links are way better.
Migration Hints
• if you use a SEF plugin make sure you refresh the urls in case you encounter any issues
• the magic list view does not longer exists. Reconfigure your menu items if you used it.
• paging on image lists is now disabled by default. This applies to the pageable list too. So please
reconfigure the menu item or adjust the global settings to let it appear again.
• if your template overwrites parts of the view layout it might need adjustments.
• HTML structure is only valid with HTML5 since I started nesting elements in a tags.
• dropped IE8 support. It might work but I’ll put no more effort in fixing stuff.
3.0.8
Bug Fixes
• fixes create of invalid database entry of the description for an event is not filled
• fixes an issue where the whole eventgallery folder gets deleted if you remove the element
183
created by the issue above
3.0.7
Bug Fixes
• fixes issue with the form validation which validates fields even if they are disabled (introduced
with J2.5.16)
3.0.6
New Features
• content plugin has a new parameter which allows to open images in a lightbox instead of
linking to the event
• lightbox supports a click on the image which will result in showing the next image. On mobile
you still need to use swipe guesture.
Minor Changes
• removed width and height attributes from image tags to prevent conflicts with
script.responsive.js
Bug Fixes
• fixes event list and image type selection with Internet Explorer 11
3.0.5
New Features
• improved logging for paypal plugin and Picasa server connection issues.
• the overview page contains a link which can remove carts which are older than 30 days to keep
184
the database as clean as possible
Bug Fixes
• fixes an issue with a disappearing paging bar on the events list if caching is enabled.
• fixes some strange behavior with the tags. Menu items should now display the right events
according to the defined tags.
• fixed issue with misplaced item list on a order confirmation page in firefox
3.0.3
New Features
• the standard payment method has two additional fields: confirmation message and review
message. Check the manual on how you can use them.
• improved performance of Picasa albums by using a better way of caching the results
• new database sync which does not fail even if you have a lot of files and folders
Minor Changes
• added useful CSS classes to the checkout pages and the basic information panel.
Bug Fixes
• twitter sharing: if the folder name contains special character the link did not appear in the
twitter share box.
3.0.1
New Features
• improved content plugin: you can include event images, description and text now.
Minor Changes
• changed add2cart button on single image page from icon to text to have the same pattern for
this button on every page
185
Bug Fixes
• fixed issue which created empty orders after a customer switched back from order confirm
page to review page and ordered again.
• the deletion of an event results in left over files and folder in the event gallery image folder
• if an order was removed, the imagelineitems and servicelineitems are gone now too.
• fixes issue with Picasa images in portrait format on Ajax List and single image page.
3.0.0
New Features
• decreased Joomla 2.5 support. Still works, but looks kind of ugly sometimes.
• new sort options for event list in the front end. It’s possible configure the sorting by name now.
• global configuration for events and event views. This allows you to access the gallery without a
menu item and makes the configuration of multiple menu items much easier.
• support for intro text and main text for the event text field. Just use the normal page break
button to create the intro and the full version.
• added multiple sharing options for Facebook: Direct Photo Share, Feed Dialog and Share Dialog
• usage of different cache folders for Picasa and image to increase cache usage and back end
editing performance
• Extended Version
186
◦ search integration with Joomla Search and Joomla Smart Search. Make sure you’ve enable
the Content Plugin for Smart Search to get the index updated if you change an event.
Bug Fixes
• fixed issue with sending a mail once somebody created a new comment
• fixed a strange behavior of the captcha within some sessions. The captcha data is now
generated once the single item page loads instead of during the captcha image loading.
Migration Hints
• if you used direct links to events of the type Pageable List you need to update those menu items.
Otherwise the layout will be set by the global setting for the event layout.
2.6.8
New Features
• the Facebook Feed Dialog is gone. Did not work very well. Now the images are shared directly to
the users Facebook album. Just make sure that you Facebook App has the photo_upload
permission to get it working
Bug Fixes
• fixes square sized image defect when images are coming from picasa web
• fixes issue in case url rewriting with a suffix is enabled. In this case the cart does not work.
2.6.7
New Features
• Social Media Sharing Buttons. The links which can be shared for an image direct the user to a
mini page which presents the image. With a click on this image the user gets redirected to the
event. Facebook need to read the original image so don’t put any restrictions on the image
folder if you want to use the sharing options.
• EXIF support for local images. Just sync your database to read the information from the files to
the database. Once you did this, EXIF information will show up for each image.
187
• Thumbs contain now the original EXI information. This will help to have the necessary meta
data available once those images appear somewhere else.
Bug Fixes
• fixed usage of wrong configuration set once the current menu item is not given
2.6.5
Bug Fixes
• the second row of images on an events list just loaded after you scroll on the page. This is fixed
now.
2.6.4
New Features
• added option to display links to external sites instead of using the internal add2cart button. As
of now there is a global configuration option where you can define a pattern for the external
link. Make sure you use the internal or the external cart button only. If you’re fit with JavaScript
you can target the new add2cart button and apply a different behavior. The link contains two
attributes data-file and data-folder which might become useful.
• Lightbox uses it’s own name space now. This will reduce the conflicts with other lightbox
includes.
• remove the a lot of configuration options for the events list (the new feature is the clean code ;-)
Bug Fixes
• updated markdown library to prevent some warning messages in the documentation view
• fixes issue with flexible layouts. The width is calculated initially, then the scroll bars appear and
the width decreases. The images will end up unaligned. Now I set the min-width of the
container initially to a height so the scrollbars appear and the width calculation works.
2.6.3
New Features
• improved caching. Files don’t get purged if you purge the expired Joomla cache.
• events list uses lazyload and dynamic image resizing like on the image list.
188
• AJAX list loads images based one the available page size.
• significant reduced memory consumption and increased performance for processing Google
Picasa XML files.
• you can define the sorting of events for every menu item.
• added option to display the lightbox in full screen mode. This is very handy if you want to
support mobile devices since this mode does not waste as much space as the current lightbox.
• workaround for image delivery problems on some servers. See Use Rendering Fallback in the
components global configuration options for details.
Bug fixes
• the large image in ajax mode was not correct aligned. Usually it was displayed too large.
• Fix for showing tiny thumbs in Opera using a template which does not define the border-width
for the css class .thumbnail
2.6.2
New Features
• you can target (and therefore hide) each button of the navigation bar on the single image page
using CSS
• added CSS classes to access date, text to style date, description and text of an event individually.
• added toggle for date, image hits, image count, comment count for each menu item
• added compatibility for IE7 and IE8. You should at least see something now. Create your own
browser specific css (https://www.webmonkey.com/2010/02/browser-specific_css_hacks/) to
make it look nice with your Joomla Template. Keep in mind that I’ll not start testing with IE7
and IE8 but I’ll react on the defects you submit. No "not pixel perfect" bugs for those browsers
please.
• restricted possible thumb sizes to one of those entries {32, 48, 64, 72, 94, 104, 110, 128, 144, 150,
160, 200, 220, 288, 320, 400, 512, 576, 640, 720, 800, 912, 1024, 1152, 1280, 1440}. Each size is
available as a square sized version and normal sized scaled down version. Doing this will
prevent attackers from creating unlimited thumbs and exceed your web space.
189
• Configuration option for the image sharpening
• Embed ICC profiles. Very useful for all the people with wide gamut displays which don’t like
cartoon colors.
• instead of setting the width & height for an image we use the right sized transparent gif now.
This will make !important statements in css file unnecessary.
Bug fixes
• tag support: menu item for the event list can define a comma or space separated list of tags
• fixed issue with the loading image on very small screens on the single image page
• fixed encoding issues for event text, file title and file description
• fixed enlargement of images which are uploaded smaller than 1440px in the lightbox and image
lists.
• cleaning the cache is working again. Wrong task was referenced so nothing happened.
2.6.1
New Features
• lightbox is now capable to handle text which contains not just three words
• documentation update
Bug fixes
• fixed HTTP 500 caused by large log file containing for Picasa access requests.
• fixed SEO URLs when appending a suffix like .html to every URL.
• fixed hiding of navigation buttons in single image view if the last / first image is shown.
• fixed issue with lightbox and some URL encoding. Lightbox opened but no image appeared.
2.6.0
New Features
190