Coder Social home page Coder Social logo

nextcloud / gallery Goto Github PK

View Code? Open in Web Editor NEW
109.0 22.0 58.0 10.04 MB

DEPRECATED Gallery app was replaced by Photos

Home Page: https://github.com/nextcloud/photos

License: GNU Affero General Public License v3.0

PHP 40.07% Shell 0.05% CSS 2.29% JavaScript 57.48% Makefile 0.01% HTML 0.11%

gallery's Introduction

💀Gallery was replaced by 📸 Photos

💀The gallery app has been replaced by the beautiful new app: 📸 Nextcloud Photos - Your memories under your control

Before reporting an issue or opening a pull request, please checkout the new app and see if your request still needs to be handled there. In case it is, open your PR against the photos app.


Media gallery for Nextcloud which includes previews for all media types supported by your installation.

Provides a dedicated view of all images in a grid, adds image viewing capabilities to the files app and adds a gallery view to public links.

This version is for Nextcloud 14.

Screenshot

Featuring

  • Support for large selection of media types (depending on server setup)
  • Upload and organise images and albums straight from the app
  • Large, zoomable previews which can be shown in fullscreen mode
  • Sort images by name or date added
  • Per album design, description and copyright statement
  • A la carte features (external shares, browser svg rendering, etc.)
  • Image download and sharing straight from the slideshow or the gallery
  • Switch to Gallery from any folder in files and vice-versa
  • Ignore folders containing a ".nomedia" or ".noimage" file
  • Browser rendering of SVG images (disabled by default)
  • Mobile support

Checkout the full changelog for more.

Maintainers

Current

Alumni

Contributors

All the people who have provided patches to:

Requirements

See this wiki article about the requirements for Gallery.

Supporting the development

There are many ways in which you can help make Gallery a better product

  • Report bugs (see below)
  • Provide patches for nextcloud/server or the app itself
  • Help test new features by checking out new branches on Github
  • Design interface components for new features
  • Develop new features. Please consult with the maintainers before starting your journey
  • Fund a feature, either via BountySource or by directly hiring a community member who is capable of developing and maintaining it

Bug reporting and contributing

Everything you need to know about bug reporting and contributing is located here.

Preparation

Here is a list of steps you might want to take before using the app

Supporting more media types

First, make sure you have installed ImageMagick and its imagick PECL extension. Next add a few new entries to your config/config.php configuration file.

  'enabledPreviewProviders' =>
  array (
    0 => 'OC\\Preview\\PNG',
    1 => 'OC\\Preview\\JPEG',
    2 => 'OC\\Preview\\GIF',
    11 => 'OC\\Preview\\Illustrator',
    12 => 'OC\\Preview\\Postscript',
    13 => 'OC\\Preview\\Photoshop',
    14 => 'OC\\Preview\\TIFF'
  ),

Look at the sample configuration (config.sample.php) in your config folder if you need more information about how the config file works. That's it. You should be able to see more media types in your slideshows and galleries as soon as you've installed the app.

Improving performance

Redis for files locking

Using Redis for files locking improves performance by a factor of 10 when loading an album.

Read about it in the Nextcloud Administration Manual

Installation

Installing from the app store

  • As an admin, select "Apps" in the menu
  • Go to the "disabled apps" section
  • Enable Gallery

Installing from archive

  • Go to the the releases page
  • Download the latest release/archive to your server's apps/ directory
  • Unpack the app
  • IMPORTANT: Make sure the folder name is gallery

Installing from Git

In your terminal go into the apps/ directory and then run the following command:

$ git clone https://github.com/nextcloud/gallery.git

Now you can activate it in the apps menu. It's called Gallery

To update the app go inside you apps/gallery/* directory and type:

$ git pull --rebase

List of patches

None so far

gallery's People

Contributors

0xb0ba avatar comradekingu avatar danxuliu avatar deepdiver1975 avatar desaintmartin avatar eknoes avatar eppfel avatar henni avatar icewind1991 avatar imjalpreet avatar jancborchardt avatar juliushaertl avatar lukasreschke avatar manishbisht avatar michag86 avatar morrisjobke avatar nextcloud-bot avatar nickvergessen avatar oparoz avatar pixelipo avatar rahulgoyal030 avatar rakekniven avatar rullzer avatar setnes avatar skjnldsv avatar spacefish avatar tahaalibra avatar tnyeanderson avatar viraj96 avatar xh3n1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gallery's Issues

Show favourites [$250]

From @oparoz on July 26, 2015 0:37

It would be nice to also be able to only see one's favourites in Gallery.

capture_favorites
screenshot by joephein

What to expect

  • A button somewhere which will let the user have access to his favourites
  • A star on pictures which are favourites

Pre-requirements

Specifications

  • Each favourite image is shown at the root of the favourites view
  • Each favourite folder is shown at the root of the favourites view
  • A special breadcrumbs needs to be built: 🏠 > ⭐ > folder
  • A special favourites ephemeral cache has to be designed. It will only be rebuilt every time the user clicks on Favourites unless the API gives us an etag for favourites. It will be destroyed when the session is closed
  • Since there is no equivalent in the Files app, it won't be possible to switch back to a precise location in the Files app. We can keep the switch to Files icon, but we will land in the favourites tab, showing all favourites

Future plans

New issues need to be created for these suggestions:

  • If activated via settings, each favourite image is shown in its parent album unless it's located in the root folder. The user should be able to select the depth at which an image is to be found. 1,2 folders deep per example or even in its original location, even if it's 10 folders deep
  • Implement a way to star pictures and albums.

Caveats

  • Will take forever if we don't set a limit and will be incomplete if we do
  • The Fileinfo object doesn't seem to contain the tags, so separate requests have to be made and the arrays have to be merged. It will slow things down

Code to steal

There is a $250 open bounty on this issue. Add to the bounty at Bountysource.

Copied from original issue: owncloud/gallery#230

Add a share button to the large preview [$5]

From @oparoz on March 7, 2015 22:18

We already have download, maybe it would be useful to have a "share" button there as well?
Clicking on it would reveal the usual dropdown and let people share that one picture via the usual means.

It's something I've seen on other slideshows, but I have no idea if this is really needed or if people would rather share the entire folder like it is now.

Next steps

  • Share button
  • A sidebar #118
  • Import sharing view from core

There is a share API, but using it in this app just means re-inventing the wheel, so we should use whatever is used in core and theme it

There is a $5 open bounty on this issue. Add to the bounty at Bountysource.

Copied from original issue: owncloud/gallery#68

Location filter

From @olantrust on July 23, 2016 13:37

In the lefthand panel, user can choose to filter by location (from EXIF data #221 ).

Upon clicking that, the left-hand panel opens up, and User can see a list of applicable Countries to filter photos upon.
Upon clicking a country name, User can see applicable regions.
Upon clicking a region name, User can see applicable districts.
The view will work in tandem with other view modes such as Tags, Folders, and Timeline views.

Copied from original issue: owncloud/gallery#698

Support the BPG image format

From @oparoz on June 22, 2015 18:22

Introduction

BPG (Better Portable Graphics) is a new image format. Its purpose is to replace the JPEG image format when quality or file size is an issue. Its main advantages are:

  • High compression ratio. Files are much smaller than JPEG for similar quality.
  • Supported by most Web browsers with a small Javascript decoder (gzipped size: 56 KB).
  • Based on a subset of the HEVC open video compression standard.
  • Supports the same chroma formats as JPEG (grayscale, YCbCr 4:2:0, 4:2:2, 4:4:4) to reduce the losses during the conversion. An alpha channel is supported. The RGB, YCgCo and CMYK color spaces are also supported.
  • Native support of 8 to 14 bits per channel for a higher dynamic range.
  • Lossless compression is supported.
  • Various metadata (such as EXIF, ICC profile, XMP) can be included.
  • Animation support.

Source: http://bellard.org/bpg/

Converters

Plan

After a preliminary analysis, I concluded that it would not be too difficult to add support to ownCloud via the Gallery app, but the use cases are quite limited at the moment, since mobile browsers would not be able to show the images.

bpg gallery

  • Add image/bpg to the list of core media types owncloud/core#17206
  • Add the media type to the list of supported media types in the Gallery app
  • Send the raw file, like SVG
  • Send to decoding queue which converts to PNG via ImageMagick so that we can serve those on mobile
  • Add the decoder to both the Gallery and Files app
  • Decode images received via EventSource
  • Resize canvas to the maximum size allowed via the oC config
  • Load canvases in the slideshow
  • Make support optional since it uses patented compression algorithms and loads an large library which needs to be compiled in real-time. This requires settings to be stored in the database if we want to avoid loading the scripts themselves

Avenues to explore

  • Convert to PNGs and cache on server for instances which don't have access to ImageMagick
  • How to catch decoding errors

Advantages

  • Saves an enormous amount of space if you're using ownCloud as a sharing tool, not as a tool to store the originals
  • Once all thumbnails are loaded, they could be used as-is for the slideshow, assuming you've got enough memory to keep all the large canvases in memory

Caveats

  • No caching, means re-calculating everything at every session
  • No thumbnails in the Files app until it supports the format, which probably won't happen any time soon since it doesn't support SVG today
  • No support in mobile apps, but everybody can start lobbying for it to happen. owncloud/android#1026
  • Cannot be used on mobile due to the lack of asm.js and limited amount of RAM available to the browser
  • Can't be used as a replacement for PNG for previews since it would introduce a dependency with a 3rd party library

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#185

Switch to ES6

From @oparoz on June 20, 2015 21:18

Now that ES 6 is official, we can begin to think about switching to it, but none of the browsers or transpilers support all the features, so it's probably a task for 2016.

https://kangax.github.io/compat-table/es6/

We currently support ES5 in strict mode.

It would be a great opportunity to add testing (#344) as we go along

Sponsorship

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#173

Use EXIF taken date as sorting date for photos [$200]

From @jancborchardt on July 20, 2015 17:2

Use-case: Doing a trip with friends and multiple people take photos. Afterwards when you move them all in the same folder from the different devices, the sorting is off. It’s not based off the EXIF date but instead the modified date.

We should sort photos where there is an EXIF date present by that date. @oparoz

Ref owncloud/gallery#101

Pre-requirements

  • Collect EXIF/XMP/IPTC data (#550)

There is a $200 open bounty on this issue. Add to the bounty at Bountysource.

Copied from original issue: owncloud/gallery#221

Show videos as well [$75]

From @oparoz on June 27, 2015 13:51

Showing the thumbnails is easy. A designer just needs to design a play button overlay to indicate this is a video.
Integrating the 2 players (image and video) in the slideshow so that they look like one and the same is a bit harder.
The real hurdle here is that most video formats don't play in a browser without using Flash.
The best solution would be to transcode videos, kind of like what we do with images, we create a thumbnail which can be viewed by the browser.

I definitely think this should be optional.

If you want to read more comments:
owncloud-archive/apps#1437

Caveats / Risks

  • It's not possible to play videos located on remote shares. We need to be able to scan the file's header to be able to determine if we can play it

Phase 1

  • Analyse files with video media types in order to be able to only pick the ones we can support via an HTML5 video player. This requires some external dependencies, per example: https://github.com/JamesHeinrich/getID3
  • Make video support optional because of the required dependencies

Phase 2

  • Add supported files to the list of files located in the scanned album
  • Add a play button overlay
  • Pick an HTML5 player
  • Add the player to the slideshow

Phase 3

  • Style the player
  • Allow seeking (only works if core supports it)

Phase 4 (out of scope)

  • Transcode formats

There is a $75 open bounty on this issue. Add to the bounty at Bountysource.

Copied from original issue: owncloud/gallery#194

In-app settings buttons and user settings section [$15]

From @oparoz on January 4, 2015 14:10

Arbitrary choices have been made for some parameters such as the preview scaling or zoom factor

A user should be able to set his own preferences

The IConfig interface should allow any developer to collect the user's preferences to configure the view

Ideas

  • Enable/disable advanced graphical interface (also available via shortcut)
  • Exclude (.nomedia) or include (gallery.cnf) folders
  • Set maximum zoom factor
  • Enable/disable upscaling
  • Show/Hide broken pictures

There is a $15 open bounty on this issue. Add to the bounty at Bountysource.

Copied from original issue: owncloud/gallery#4

Use EXIF taken date as sorting date for photos [$200]

From @jancborchardt on July 20, 2015 17:2

Use-case: Doing a trip with friends and multiple people take photos. Afterwards when you move them all in the same folder from the different devices, the sorting is off. It’s not based off the EXIF date but instead the modified date.

We should sort photos where there is an EXIF date present by that date. @oparoz

Ref owncloud/gallery#101

Pre-requirements

There is a $200 open bounty on this issue. Add to the bounty at Bountysource.

Copied from original issue: owncloud/gallery#221

Support the STL format

From @oparoz on July 21, 2016 13:6

Feature request

User type: Any

User level: Beginners

Description

STL files are used to exchange CAD designs, like the ones used by 3D printers.
It would be nice to be able create thumbnails of those designs and to be able to see them in 3D in a WebGL supporting browser.

Benefit / value

It's always nice for users when the system supports more formats

Risk / caveats

We need to find a reliable, maintained Javascript library as this needs to be low maintenance.

Sponsorship

None so far. Might be worth approaching some vendors in the industry which could benefit from sharing such files on a system such as ownCloud / Nextcloud

Copied from original issue: owncloud/gallery#694

Demo content

From @oparoz on July 22, 2015 12:58

When I put together the demo site, it was to showcase the new formats which Gallery could show previews of, but I think we could also have another demo with lots of content, so that we can test and show how the app behaves in a situation which is closer to how people are using ownCloud.

So if you have content you're willing to "showcase", please let me know.

It's probably not possible to import folders from external locations, so I would need to re-upload the content unless someone has a better idea. Note that the content is encrypted, so afaik I can't just fetch it from the server and move it to the data folder.

I would also need a little note about the collection or at least a copyright statement.

@jospoortvliet @jancborchardt @deMattin @setnes @libasys

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#224

Move delete button away from close and next to picture name

Any file actions should go next to the file name. Having the delete button next to the close button will result in misclicks.

In fact the delete action should be behind a 3-dot menu ideally (like in Files), but only makes sense when there are multiple other actions, like download.

cc @manishbisht since you added the delete button. Backport-request because this is a big usability issue.

Implement a search engine

From @oparoz on February 21, 2015 14:22

Nextcloud comes with a search engine, but the app is not yet plugged into it.

Thoughts on possible solutions

As soon as a search is started, the view and models should be cleared and thumbnails should be generated.

  • If we keep the current way of building the view, then nothing might show up until a row is full.
  • If we make it so that a search is authorised to ask the backend for one thumbnail as a time, then that backend may get flooded with requests (that's what the Files app is doing)

Prerequisites

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#36

[8.1 testers READ ME]

From @oparoz on July 3, 2015 18:29

If you had installed the version which was available from the app store or had cloned the dev branch, then you will need to either switch to the stable8.1 branch or re-download the app from here: https://apps.owncloud.com/content/show.php/Gallery?content=169116

The reason being that it's now possible to serve several versions from the same app id in the app store.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#204

Remove calls to private APIs (1 left!)

From @oparoz on April 20, 2015 16:31

The app currently needs to use the following methods:

\OC_User::setIncognitoMode
\OC_Util::tearDownFS()
\OC_Util::setupFS()

Which make it non-compliant when tested with the app checker. (The original Pictures app is worst off)

It would be nice to be able to remove them at some point, but there is currently no viable alternatives available in the public namespace.

Should be fixed in 8.2 owncloud/core#4774
🙏

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#125

Introduce plugins to extend the main app

From @oparoz on April 23, 2015 16:30

Plugins are a nice way to introduce additional features without altering the basic looks and functionalities of the app and they're easy to install and manage.

Even though there is no official way to include other apps, it's still possible to do using the official development framework.

Definition

Plugins are apps which enhance the Gallery app by adding functionalities which may not be needed by everybody or replacing existing ones.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#128

Add user documentation

From @oparoz on March 15, 2015 15:9

  • Patching ownCloud, including reverse patches
  • Creating Gallery links for the files view ShareLinks documentation
  • How to ignore folders (".nomedia" feature)
  • How to zoom in/out, go fullscreen using keyboard shortcuts
  • How to change the background colour #40
  • How to add some album information #93
  • Tips

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#97

Background thumbnail generation [$25]

From @ted42 on February 11, 2015 18:53

Feature request

User type: any

User level: any

Description

@TheDD
Since the app is extremely slow when opening a folder for the first time I think some actions like thumbnail generation should be moved to a background/cron job.

(I didn't review the code and have no idea if there's already some background work happening. If there is, I'd still like to discuss performance improvements)

@astroleo
I run owncloud 8.2.2 on a Raspberry Pi which works just fine (and thank you all for this!), but isn't terribly fast. When I share a link to a gallery it takes quite some time to browse through the gallery for the first visitor. opening the gallery, clicking on an image, then clicking the overlaid "next" arrow in the screen-sized image. I understand that opening one screen-sized image triggers the creation of the next one, but (for the Raspy) this isn't fast enough and the first user has to wait each time she clicks the "next" button.

My suggestion would be to add an option to create, right after uploading the album, the various required image sizes so that they are served quickly from the cache already for the first visitor.

Benefit / value

For OC installations on low-power computers (e.g. Raspberry Pi) the first visitor would already be able to smoothly scroll through an album.

Risk / caveats

If uploading a large amount of pictures, creating the cached versions may create quite some server load. The pre-caching task should therefore be given a low priority.

Sponsorship

@astroleo
I'm afraid I cannot sponsor anything yet, but I'd be happy to help developing / testing this new feature if an expert could provide me with some background on how caching works in OC.

Are you a developer willing to implement this feature?: @astroleo: yes

Can you sponsor the development of this feature or do you know somewone who can?: no

There is a $25 open bounty on this issue. Add to the bounty at Bountysource.

Copied from original issue: owncloud/gallery#18

Cursor just spins when running gallery plus

From @tel2 on February 13, 2015 1:50

Chrome, owncloud 8 (upgraded from owncloud 7, which was working fine).

Confirmed that the app directory is called galleryplus, set permissions to www-data:www-data.
When choosing the Gallery+ icon from apps, I get an empty page with a spinning cursor that never stops.

Error in the logs:

Feb 11 18:28:53 nowlas ownCloud[12945]: {index} Exception: {"Message":"Unable to generate a URL for the named route "galleryplus.page.index" as such route does not exist.","Code":0,"Trace":"#0 /var/www/owncloud/lib/private/route/router.php(282): Symfony\Component\Routing\Generator\UrlGenerator->generate('galleryplus.pag...', Array, false)\n#1 /var/www/owncloud/lib/private/urlgenerator.php(42): OC\Route\Router->generate('galleryplus.pag...', Array)\n#2 /var/www/owncloud/apps/galleryplus/appinfo/app.php(36): OC\URLGenerator->linkToRoute('galleryplus.pag...')\n#3 /var/www/owncloud/lib/private/app.php(379): require('/var/www/ownclo...')\n#4 /var/www/owncloud/settings/ajax/navigationdetect.php(9): OC_App::getAppNavigationEntries('galleryplus')\n#5 /var/www/owncloud/lib/private/route/route.php(135) : runtime-created function(1): require_once('/var/www/ownclo...')\n#6 [internal function]: __lambda_func(Array)\n#7 /var/www/owncloud/lib/private/route/router.php(250): call_user_func('\x00lambda_295814', Array)\n#8 /var/www/owncloud/lib/base.php(763): OC\Route\Router->match('/settings/ajax/...')\n#9 /var/www/owncloud/index.php(36): OC::handleRequest()\n#10 {main}","File":"/var/www/owncloud/3rdparty/symfony/routing/Symfony/Component/Routing/Generator/UrlGenerator.php","Line":134}

Clients: Linux (Fedora 20) with Firefox, Linux (Arch) with Chrome, Windows with Chrome
Server: Debian 7.8, lighttpd 1.4.31, php 5.4.36, OC 8.0, Gallery+ newest from git

owncloud is reachable via nowlas.org/owncloud
owncloud is installed in /var/www/owncloud

Copied from original issue: owncloud/gallery#23

Switch to PhotoSwipe for the slideshow

From @oparoz on May 23, 2015 15:38

It was suggested that PhotoSwipe could be a replacement, so I took a look at the API and did a rough implementation.

Here are my findings:

+

It supports quite a few features which were manually added to the Gallery slideshow and solves some of the complaints mentioned above

  • Supports keyboard shortcuts
  • Mobile optimised
  • Auto PNG/SVG selector for buttons
  • Fullscreen support
  • Auto-control hide
  • Social sharing. Our custom oC sharing could be added to the list...one day
  • Customisable image pre-loading
  • Supports captions (we only have the filename, that's better than nothing)

-

The initialisation doesn't work out of the box because we don't have the image dimensions before launching the slideshow

  • We have to add our own spinner/loader because we don't know the size of images
  • We need to theme it to match ownCloud's design identity
  • Scroll to zoom doesn't work out of the box on desktop. So it's zoom in and zoom back out, like in the browser vs like in Google Maps unless we implement a fix
  • Zooming only works well if we're able to send multiple dimensions categories to the slideshow. This would solve other problems with thumbnails of various sizes accumulating in the cache, but that means extra work
  • Zooming is also only possible if we download the whole image and resize it in the browser, leading to a lot of bandwidth waste
  • No image luminance detection, so we'll still have to take care of that
  • No broken image detection (404 or 500), so we'll still have to take care of that

My biggest problem is with the missing scroll to zoom feature on the desktop, but if it's not on/off with gestures, it should be possible to get it to work on desktops as well.

Sponsorship

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#158

Use image meta data programme [$115]

From @oparoz on March 18, 2015 12:38

The gallery app should be able to add/edit/delete various fields linked to a media file.

Lots of the information is stored in XMP/IPTC/EXIF fields and this should be automatically imported, but a user should also be able to fill empty fields and add new ones.

This can then be used for:

  • sorting by date taken as opposed to date uploaded
  • sorting by colour (Exif data)
  • sorting by size
  • sorting by person (Exif data)
  • virtual views. Date based albums, tags based albums, location based albums, etc #95

Pre-requirements

  • Collect EXIF/XMP/IPTC data (#550)

Programme

  • Sort by "picture taken" date #221
  • Rotate pictures #236
  • Add meta data description to the slideshow #525
  • Filter using meta data properties #531
  • Edit meta data properties
  • Sort by "face" using meta data #551

Please add bounties to individual issues

There is a $115 open bounty on this issue. Add to the bounty at Bountysource.

Copied from original issue: owncloud/gallery#101

Only fetch files if the folder has been updated

From @oparoz on June 24, 2015 16:53

Concept

Currently, every time we enter a folder, we ask the server if there has been a change since the last time we retrieved the files, but we can do better and keep the view up to date in real-time.

Specs

  • [JS] Connect to live stream
  • [PHP] Catch filesystem changes and update stream
  • [JS] Invalidate cache if there has been a change

Requirements

  • Redis server. Local or remote if your host doesn't offer that service
  • Predis. Pure PHP redis client
  • Phpiredis (optional for people who need even more speed) and its dependency hiredis

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#186

Timeline view

From @olantrust on July 23, 2016 13:33

A timeline view to be available alongside the existing view types.
In time line view, photos are ordered by EXIF metadata (#221), if that is missing they are sorted by created date, and then modified date.
The User see photos in chronological order, most recent at the top.
There is a slider bar which the user can move slowly to move between days, more quickly to move between months, and on continued moving can move between years.
As is available in most modern photo gallery viewing applications.

Copied from original issue: owncloud/gallery#697

Should we add an exclusive approach to the album selection routine?

From @oparoz on June 29, 2015 1:45

Gallery has taken an inclusive approach, which only excludes folders which where hand picked by users.

  • works well for people who use their cloud for sharing
  • up and running from the start
  • compatible with mobiles

Gallery Deluxe ✨ by @libasys is doing the opposite. You have to first define the folders you want to use in your Gallery or you'll see nothing.

  • works well for people who upload entire hard drives online and want to focus on a few multimedia folders
  • empty gallery until properly configued

I'm not a fan of the second approach as it doesn't fit my use cases, but I can understand that some people might get annoyed by the fact that their gallery is filled with random albums, just because they contain some icons.

What do you think? What do your users think? Ask around!

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#196

Mobile users should be able to "swipe" through photos instead of clicking on icons. [$5]

From @setnes on May 16, 2015 18:23

Swiping photos with fingers is the expected user interface behavior for viewing photos on mobile devices. It would be great if the gallery slideshow viewer could incorporate this feature. An example project that does this well is PhotoSwipe. There might be other ways to accomplish this though.

http://photoswipe.com/

There is a $5 open bounty on this issue. Add to the bounty at Bountysource.

Copied from original issue: owncloud/gallery#141

Upload via share link from the gallery view

From @jancborchardt on July 22, 2015 15:23

Similar to owncloud/gallery#25 (upload straight from the app) but in the share link view.

Use-case: I often share picture folders with friends who also made photos from the same event. Since I want them to add their photos too, I send them the normal share link because there the upload button shows. But it’s the lame list view – I’d much rather have them see the pictures in the nice photo layout, but also be able to add their photos.

@oparoz I assume this is blocked by core just like #25? What is necessary to make it work? Can you maybe even submit a pull request for it?

TODO

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#225

Automatically select an appropriate background colour based on the image's luminance

From @oparoz on March 11, 2015 23:30

Current situation

  • The large previews use a black viewport
  • Each picture has a 30 pixels wide white border and a white background
  • A toggle-background button was introduced so that the background+border could be turned off. There is a discussion going about what should be the default behaviour. See #40

The problem

This is not ideal as currently users have to manually adjust the background+border if they're viewing very bright pictures and the white border doesn't look very nice with dark pictures with no transparency.

It gets worse in slideshow mode as you have to adjust the background if reaching a picture which can't be properly seen with the currently selected background.

Solution

  • Calculate the luminance of each picture and adjust the background accordingly
  • Keep the toggle button as an emergency measure?
  • Possible bonus colour transition if #83 is implemented

IE8 is not supported

Next steps

Feasibility study

I did some experiments both in PHP and JS and it's doable.
Background switcher should stay imho, at least as an option.

  • Build proof of concept

Development

The amount of work required is estimated at 2 days, including extensive testing

  • Secure funding
  • Build specifications

Implementation details

  • Ignore some media types, either to speed things up or because we can't easily calculate their luminance without using additional libraries
  • Calculate the luminance
  • Calculate the alpha level
  • Calculate what the optimum background colour should be

QA

If the accuracy level reaches 90%, the toggle button (#40) could be removed

  • Gather a large sample of very different pictures to test with
  • Optimise the algorithm so that it gets it right >75% of the time. % tbd based on funding.

@anarcat - Do you have some sample pictures? Would auto white/black be OK?
@jancborchardt - This would solve the white border issues when going fullscreen and should improve usability

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#84

Panorama pics don't look very good

From @jospoortvliet on March 5, 2015 13:54

Hi,

Panorama images don't look good in GalleryPlus, neither as thumbnail nor when clicked. They seem to be rendered in very low quality. Not sure if this is on my side, but I do see it for all wide pics. They are shown really cool: width shows up nicely in the thumbnail view, the image view can zoom and scroll very well. Just rendered at a low resolution...

eight1

Otherwise, awesome work on GalleryPlus - just updated to oC 8.0.1 and a git checkout of the performance fixes branch. Haven't applied the performance patches to ownCloud, just using it this way - not a big problem as long as I don't go to the root. I have to navigate to a sub folder with images in the Files app and then switch to Gallery and all is well ;-)

Let's get this app merged back in core! That would really rock.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#61

Panorama pics don't look very good

From @jospoortvliet on March 5, 2015 13:54

Hi,

Panorama images don't look good in GalleryPlus, neither as thumbnail nor when clicked. They seem to be rendered in very low quality. Not sure if this is on my side, but I do see it for all wide pics. They are shown really cool: width shows up nicely in the thumbnail view, the image view can zoom and scroll very well. Just rendered at a low resolution...

eight1

Otherwise, awesome work on GalleryPlus - just updated to oC 8.0.1 and a git checkout of the performance fixes branch. Haven't applied the performance patches to ownCloud, just using it this way - not a big problem as long as I don't go to the root. I have to navigate to a sub folder with images in the Files app and then switch to Gallery and all is well ;-)

Let's get this app merged back in core! That would really rock.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#61

View 3D pictures in 3D in the slideshow

From @oparoz on March 20, 2015 22:13

Stereo JPEGs are currently shown in 2D, but it would be interesting to be able see them in full 3D.

I'm thinking creating anaglyph 3D pictures on the fly at first since they can be viewed by anybody with a pair of red cyan glasses, but maybe there are different options to explore.

A new UI element would need to be introduced to be able to turn the effect on/off.

GSoC

This is a good exercise to understand how the slideshow works and a good opportunity to set up a Gallery development environment in preperation for GSoC

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#104

Would it help at all to look at this competitive product?

From @b1ggjoe on May 17, 2015 13:53

Hey Everyone,

I know that a lot of folks are working on improving 'GalleryPlus' and getting it ready for primetime and etc.

I'm not a coder and I don't script, but I thought I would submit this quick note just in case it helps at all:

There is a competitive product to ownCloud that is VERY NICE with a gorgeous UI. It's called 'Pydio'.

Pydio has an excellent way of providing 'previews' for both images and videos. It doesn't do it exactly the way that we're trying to do this with GalleryPlus, but it's pretty smooth nevertheless.

Anyway, in case it helps at all, here's a link to the Demo Page:

https://demo.pyd.io/

    • Just login with username: demo | password: demo
    • Once you login, on the left, underneath 'Workspaces', click on 'Personal Files'.
    • Once you do this, the folder's contents will be shown on the page on the right-side.
    • Double-click on the folder called 'Images', which should be the third folder down from the top.

Once you're in this folder, you'll notice a few things:

  • It shows all of the images in this folder as a 'List'.
  • Each time you click on an image, a 'thumbnail preview' is shown on the far right.
  • Even still, you can go to that image on the far right and click on the 'Preview' button. This will then show you an enlarged preview of the image.
  • Above the image on the far right, there are also a few menu options, such as 'Sort By', 'Display' and 'File Info'.
  • Under 'Display' you can also choose 'Thumbs (short for Thumbnails).
  • When you are looking at the thumbnails, to the left of the 'Sort By' option, you'll notice a new option called 'Thumbs size'. If you click on here, it will present you with a slider where you can easily scale the size of the thumbnails, up and down.

Anyway, since everyone is working hard with trying out different ideas, I thought that it would help if you took a look at the way this product was implementing their version of their own 'Photoviewer'.

Hope this helps,

BJ

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#143

Add HD option which would send the original pictures to the slideshow

From @oparoz on June 27, 2015 13:24

On mobile, most people would not want their 4000x4000 pictures to be used in the slideshow as is, but on desktop, some people would prefer to use those since they would be better fitted for the zoom feature.
I wouldn't want my slideshow to serve HD pics, as it would mean waiting longer for each picture, but I can understand the people who do.

So, the solution is to add an optional HD option to Gallery.

3 solutions:

  • Global setting which the user can enable to get all his pictures in HD
  • HD button in the slideshow for on demand originals
  • Zooming in kicks in the download process of the HD picture and a huge, red cancel button flashes and bounces across the screen until the image is ready

Comments and sponsors welcome as it helps prioritise issues.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#193

Action menu for thumbnails

From @oparoz on February 21, 2015 14:46

Each Album or thumbnail could feature a menu giving quick access to actions such as

There is a menu in Files. I don't think we can use it as is, but we could copy it if it's not too large. It would look something like this.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#39

Fixing performance issues programme

From @oparoz on February 28, 2015 12:19

This is a meta ticket which tracks all the various work being done to improve the performance of the app

Please support and comment on individual tickets if you want to help as it's difficult to track what's important to backers otherwise.

Loading the app

  • Do not map the whole cloud into memory, load one folder at a time owncloud/gallery#17 . Potential side effects are discussed here owncloud/gallery#24
  • Cache albums as we go along so that we don't have to reload the list of pictures when we're in an album we've visited before owncloud/gallery#41

Getting thumbnails

  • Only preload the number of thumbnails we were told to preload #60
  • Switch to an ID based mapping of pictures and Thumbnails to fix owncloud/gallery#27
  • Shorten the paths of pictures located in sub-albums. Requires owncloud/gallery#27
  • Show thumbnails as soon as they're received (owncloud/gallery#511) instead of waiting for the whole row to be loaded owncloud/gallery#29
  • Generate thumbnails on demand (#22), so that users don't have to wait too long before being able to see something. The cron/background task solution won't be implemented here, but is a core solution owncloud/core#11685

For issues in core, see this meta ticket: owncloud/core#13609
Things should be much better on oC 8.1+, once core can generate thumbnails in seconds rather than minutes for large media files.

Feel free to add your thoughts and to raise new issues to address specific problems.

Copied from original issue: owncloud/gallery#43

Add HD option which would send the original pictures to the slideshow

From @oparoz on June 27, 2015 13:24

On mobile, most people would not want their 4000x4000 pictures to be used in the slideshow as is, but on desktop, some people would prefer to use those since they would be better fitted for the zoom feature.
I wouldn't want my slideshow to serve HD pics, as it would mean waiting longer for each picture, but I can understand the people who do.

So, the solution is to add an optional HD option to Gallery.

3 solutions:

  • Global setting which the user can enable to get all his pictures in HD
  • HD button in the slideshow for on demand originals
  • Zooming in kicks in the download process of the HD picture and a huge, red cancel button flashes and bounces across the screen until the image is ready

Comments and sponsors welcome as it helps prioritise issues.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#193

Panorama viewer

From @oparoz on July 26, 2015 14:58

User requested

Some people would like to be able to view panorama or photo sphere images such as the ones taken by a mobile phone.

I know bigshot supports VR images. Not sure what it would take to implement...

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Copied from original issue: owncloud/gallery#234

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.