-
Notifications
You must be signed in to change notification settings - Fork 1
Piwigo
https://github.com/Piwigo/Piwigo
PHP, Smarty
- Web App (production ready)
- Native Android App (in early beta)
- Metadata: MariaDB
- Data: Both sync and upload are supported. Thumbnails are generated during sync and saved in a different folder, but with exactly the same subdirectory hierarchy as the originals.
Files could be arranged by albums, tags, favorites, and other extracted metadata (such as creation date). The design phase and the runtime phase are deeply divided. The rating and privacy level of files could be changed at runtime, but nothing more. All other arranging work has to be done in the admin panel, which do not share the responsive theme with the gallery runtime. Some third party extensions was created to allow more metadata modifications in the gallery runtime, such as User Tags.
- Keywords, aka tags, are flat, unless the Tag Groups is installed, which offers one level of folders for tags.
- Tags have no attributes other than their name, hence the name "keywords". There're extensions that add properties to tags, noticeably Color Tags and Birth Date.
- Albums, aka categories in the codebase, are hierarchical. Each album has zero or one parent.
- Each file belongs to a physical album. Physical album is the reflection of a directory in the file system hierarchy, and hence cannot be edited independently. The Physical Photo Mover extension moves physical album metadata together with the actual file system directory, to prevent additional metadata such as tags and virtual album from missing during file system hierarchy changes.
- Each file belongs to zero, one or multiple virtual albums. However a virtual album cannot have multiple parents.
- You can choose any photo as the representative thumbnail for an album, and a random one will be chosen if not specified.
- The album hierarchies are stored in a lineage column (i.e. materialized paths).
Two calendars are automatically generated: one is based on the EXIF creation date, the other Piwigo post (read: first sync or upload) date.
They're visualized in HTML <table>
s, nowhere near the responsive experience I'd expect.
The OSM extension (wiki) provides a lot:
- Display a map on the picture page
- Display a world map for all the files
- Leverage the MapQuest API to create geo-coding tags for photos
- GPX sidecar support
Custom geo-fencing is not supported though.
A per-user photo collection. Each user has only one flat directory.
Favorites equivalent, but only works in the admin panel, and is shared among all admins.
The 5-star rating scores are averaged among all users.
There was the Advanced Metadata extension which is no longer compatible with recent releases.
- Each file and each user has one and only one privacy level.
- There're 5 predefined privacy levels: Admins, Family, Friends, Contacts and Everyone. Privacy levels not customizable.
- The files with lower or equal levels than the user are shown to the user, and empty albums are hidden automatically.
- Unfortunately the crappy implementation does not limit access to any thumbnail images at all. If you already know the path of the original file on the file system, you can easily download a fairly large thumbnail of it, without any authorization.
- Users can be assigned to zero, one or multiple user groups.
- No user groups were created by default during installation, but unlimited number of custom user groups could be created later, in contrast with privacy levels.
- Albums are public by default. If you made an album private, you could authorize individual users and user groups to view the album.
- User and user group permissions could only be applied to albums (and tags via third party extension), not single files. Files with lower or equal privacy levels than the user will always be available to the user albeit the user may have not been authorized to any albums; in which case the user cannot view the image in albums, but could still visit the image via calendar, best rated, world map etc.
Piwigo was meant to be a web photo Gallery, so JPEGs, PNGs and maybe other browser-native formats are first-class citizens. Okay-ish video support is provided by the VideoJS extension. Preview for RAW images and other files is afaik not supported, albeit Piwigo could be configured to provide the download link for the RAW image and XMP sidecar on the JPEG preview page if a JPEG image with the same path and base name is available. I feel a bit confused to the fact that RAW support was not included, as Piwigo was born in 2002 and the community still active today.
- Active community with lots of extensions
- Native and customizable EXIF / IPTC metadata support
- Decent customizable responsive theme
- Support user rating and comments
- Frontend and backend heavily coupled
- Clumsy admin panel, heavily separated from the gallery runtime
- CVE factory
- Crappy access control model
- Lack support for RAW images and non-photo files
- Lack support for more flexible and complicated taxonomy models, such as multiple inheritance categories, custom tag properties etc.
- Thumbnail loading performance could be improved