Before starting on a port to D8, we would prefer to see some D7 issues fixed:

These issues should get priority as it gets time to start working on a D8 branch. To start Flickr Filter and Flickr Blocks get perceived as the most used submodules, but we don't have hard data to sustain that. It would also be easiest as they both use the same function to generate albums. NOW THEY DO, see https://www.drupal.org/node/2289797#album.

Comments

lolandese’s picture

Issue summary: View changes
lolandese’s picture

Issue summary: View changes
lolandese’s picture

Plan of action:

  • Leave only code that is used by two or more sub-modules (#2235215: Releasing sub-modules independently). This means for example that sets and photos in user profiles will be moved to a separate module.
  • Classes instead of functions when appropriate.
  • Start with a simple implementation of Flickr plus Flickr Filter, only implementing an embed of a Flickr photo in the node body. Expand then gradually.
lolandese’s picture

Too much markup in the D7 module now. To do some refactoring to use theme functions and/or templates instead.

lolandese’s picture

Issue tags: +ninja
lolandese’s picture

Status: Active » Postponed

Waiting for A plan for media management in Drupal 8 | Dries Buytaert to be cristalized. Expected for Drupal > 8.4.

kurageart’s picture

Any good news?
I'm still on drupal 7 mostly for this module.
Tried drupal 8 media flickr, nice but I like way better to just display a full gallery but too much time consuming for being in real use (You're supposed to embed any single image 1 by 1).
Tried a new version of wordpress, but I guess, coming from drupal i'm quite spoiled with freedom, so it's quite hard to adapt myselft to those wordpress messy and expensive black boxes

lolandese’s picture

Hi Claudio,

We've seen that Yahoo! pulled the plug out of other products like Delicious and recently the Yahoo!Finance API and would not be surprised the same thing could happen also to Flickr.

We consider moving the module to D8 once we have more certainty on:

lolandese’s picture

Status: Postponed » Active
Issue tags: +Open Ownership Pledge
Parent issue: » #2938719: Seeking new maintainer

To stimulate others to invest time in a D7 to D8 conversion, I will transfer ownership of the module to anyone that pulls off a working Drupal 8 version (even only for the Flickr Filter functionality). See #2938719: Seeking new maintainer.

lolandese’s picture

For Drupal 8 for now we recommend to use the Media Entity Flickr module.

dakku’s picture

HI @lolandese
Thank you for your great work in keeping this module going, and cheers for the shoutout to my media_entity_flickr module.
I would be interested in collaborating on porting this module over to D8 and perhaps join forces.

Do you have a roadmap of what functionality should get ported over to D8?

lolandese’s picture

Do you have a roadmap of what functionality should get ported over to D8?

Only the Flickr Filter functionality. With that, a site builder can build also the needed blocks.

I have added you as a maintainer with all permissions as you have already done some good commits on the project in the past.

Thanks. Just go ahead with a D8 branch as you feel is right. Once you have a working D8 version I will be glad the hand you over ownership of the module. See https://www.drupal.org/project/flickr/issues/2938719.

dakku’s picture

@lolandese thank you. I made a fork to github and started the D8 port, if anyone wants to collaborate at:
https://github.com/dakkusingh/flickr and https://www.drupal.org/project/flickr_api

We will slowly port over the existing functionality with a clean slate.

dakku’s picture

Title: D8 » Drupal 8 Upgrade
dakku’s picture

There is a dev release of the module if anyone wants to try it out. We have got photosets / albums implemented. Try with this example embed code..

[flickr-photoset:id=72157628761567637, size=n, num=20]

Drupal 8 Flickr

lolandese’s picture

Status: Active » Reviewed & tested by the community

Tested from a functionality perspective, I confirm it does work with the provided embedding code for a photoset and also for a single image. Nice photo, by the way. I also positively tested if embedded Flickr photos are never wider than the region they are in (responsive by default). Also, photosets are dealt with responsively.

Obviously putting the Flickr API part into a separate module makes a lot of sense. I found your issue #2869439: Port to Drupal 8 and indeed it would make more sense if you also could take over ownership of that module instead, however it is not that important as probably they have no intention porting that to D8. I would just add a comment there, linking to your module so anyone reading that issue is pointed to what they are probably looking for.

Below I will be taking the above-mentioned MVP starting with a version that includes only the basic Flickr Filter functionality and see how your work so far performs against a kind of own interpretation of the MoSCoW method.

Must have

Without the module is not usable.

We have a working module now for the Drupal 8 version, so releasing an Alpha version was justified. Bot single images and photosets from Flickr can be embedded and result in an expected HTML output. This issue can be considered RTBC now.

Not critical but essential:

  • Provide a message when API credentials are missing instead of rendering an empty skeleton for a photoset title. You could also provide the same message in the Status report (if not done so already).

Should have

Not necessarily critical but not having these would still block most D7 sites using the Flickr module from migrating to D8.

  • Open embedded Flickr photos in Colorbox, Lightbox or alike with a configurable image size.
  • An automatically configurable caption under the embedded images with the Flickr title, date taken (time ago), where (location, reverse geocoding from Exif data) and by who (Real Name or Flickr username).

Not having a migration path is in our case not that important as the used tags in a node body or custom block would work out of the box if a D8 migration would be performed. For this, it was a good decision to not alter the used filter syntax in any way. Obviously, the above two Should have's would be necessary to provide migrating sites with the essential expected output as on their D7 site, for the Flickr Filter at least.

Could have

Features that are blocking some D7 sites using the Flickr module to migrate to D8.

  • Show the longer Flickr description on hover if it exists.
  • Show user/group/favorites photo streams. See the Album examples in the D7 sandbox demo.
  • Filter on Flickr tags. These can be taken dynamically from a node's taxonomy terms, making a block with Flickr photos context sensitive. It changes depending on the page the block is shown on. In combination with the node author, this allows users to have their relevant photos being displayed alongside a post automatically. Also, a date and/or geofield can be used as context. I think this is the only functionality that justifies having a Flickr Block sub-module as the others from D7 can be replicated with custom blocks in D8 that simply use the Flickr Filter syntax.

Won't have (this time)

To consider for inclusion later.

  • Unit test.
  • Update the documentation (README, project page, project docs).
  • Embed Flickr videos.
  • Flickr Style sub-module.The 'enlarge' or 'zoom' style makes images look good on Hi-Res displays (retina) while using the higher resolution images also on normal screens by enlarging them on mouseover (hover). Clicking will still open an image in Colorbox/Lightbox.
  • Show user/group photo streams or photosets (Flickr albums) as a responsive slideshow that allows visitors also to toggle to full-screen mode.
  • Grab public CC licensed Flickr photos by tags simply omitting to specify a user ID or setting it to 'public'. Also dynamically based on node terms, a date and/or geofield. Optionally change the license restrictions in the settings.
  • Filter on media type, for example to exclude videos.
  • D8 demo sandbox on Simplytest.me.
  • Making sure the module works nicely with the suggested helper modules mentioned on the project page.
  • Flickr Field sub-module.
  • Feature requests that didn't make it into D7 either.

After you address the Should have's above, feel free to apply to take over ownership as described in #2938719: Seeking new maintainer ..

.. and thanks for your fantastic work so far.

dakku’s picture

Hi @lolandese..
Thank you for your initial work, that provided the motivation for much of this port.. although a lot of your d7 code is recycled into d8, we have essentially got a fresh reboot and architecture overhaul to D8 OOP.

The initial release is a very very quick port to lay the MVP foundations. There is much more to come.. Hopefully this provides an accelerated pathway for us to implement and improve.

I will go through your feedback and forge a roadmap, so it's easier for others to collaborate on tasks. I should be able to clear the Should Have tasks later today and we can discuss future plans on ownership.

Thanks again.

lolandese’s picture

Cool. Also, have a look at #2953856: CodeSniffer and PHP Mess Detector suggestions.. Probably that you would still have upcoming.

Again, compliments for your photographic work as well.

dakku’s picture

dakku’s picture

dakku’s picture

dakku’s picture

Nick Hope’s picture

I can't figure out how to use this in Drupal 8.5.1. I have the Flickr, Flick API Integration (with my key), Flickr Colorbox and Flickr Filter modules all enabled. If I paste [flickr-photoset:id=72157628761567637, size=n, num=20] in a basic page I just get that back as text. And I don't see any block or field types related to Flickr. I never used Drupal before version 8 so have never used this module before, and the D7 documentation doesn't seem to be helping. Any tips?

lolandese’s picture

The Flickr Filter should be added first to a text format at admin/config/content/formats.

Nick Hope’s picture

Thank you @lolandese. That works now, albeit with the Colorbox limitations you mentioned in this comment. Thanks @dakku.

However when I click "Configure" on one of the 4 existing text formats, or click "Add text format", I get the error message below. But it does work despite that.

Notice: Undefined index: flickr_filter_default_size in Drupal\flickr_filter\Plugin\Filter\FlickrFilter->settingsForm() (line 107 of modules\contrib\flickr\modules\flickr_filter\src\Plugin\Filter\FlickrFilter.php).
Drupal\flickr_filter\Plugin\Filter\FlickrFilter->settingsForm(Array, Object) (Line: 138)
Drupal\filter\FilterFormatFormBase->form(Array, Object) (Line: 24)
Drupal\filter\FilterFormatEditForm->form(Array, Object) (Line: 117)
Drupal\Core\Entity\EntityForm->buildForm(Array, Object)
call_user_func_array(Array, Array) (Line: 514)
Drupal\Core\Form\FormBuilder->retrieveForm('filter_format_edit_form', Object) (Line: 271)
Drupal\Core\Form\FormBuilder->buildForm('filter_format_edit_form', Object) (Line: 74)
Drupal\Core\Controller\FormController->getContentResult(Object, Object)
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 582)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 151)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 99)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 78)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 38)
Drupal\webprofiler\StackMiddleware\WebprofilerMiddleware->handle(Object, 1, 1) (Line: 50)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 664)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
Notice: Undefined index: flickr_filter_caption in Drupal\flickr_filter\Plugin\Filter\FlickrFilter->settingsForm() (line 116 of modules\contrib\flickr\modules\flickr_filter\src\Plugin\Filter\FlickrFilter.php).
Drupal\flickr_filter\Plugin\Filter\FlickrFilter->settingsForm(Array, Object) (Line: 138)
Drupal\filter\FilterFormatFormBase->form(Array, Object) (Line: 24)
Drupal\filter\FilterFormatEditForm->form(Array, Object) (Line: 117)
Drupal\Core\Entity\EntityForm->buildForm(Array, Object)
call_user_func_array(Array, Array) (Line: 514)
Drupal\Core\Form\FormBuilder->retrieveForm('filter_format_edit_form', Object) (Line: 271)
Drupal\Core\Form\FormBuilder->buildForm('filter_format_edit_form', Object) (Line: 74)
Drupal\Core\Controller\FormController->getContentResult(Object, Object)
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 582)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 151)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 99)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 78)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 38)
Drupal\webprofiler\StackMiddleware\WebprofilerMiddleware->handle(Object, 1, 1) (Line: 50)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 664)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

Also, is the Flickr Block functionality working in the D8 version? Again I'm not sure how to implement it if it is.

dakku’s picture

@nick
Thanks.
Please see your email :)
Would you mind creating a new thread with Errors/Notices etc so these are not missed?

Nick Hope’s picture

Done: https://www.drupal.org/project/flickr/issues/2958360

(Also replied to your email)

Question remains about Flickr Block functionality.

lolandese’s picture

Most of the blocks that were available in D7 can be replicated with custom blocks in D8 that simply use the Flickr Filter syntax.

There are some exceptions that are described in the last point of the "Could have's" in comment #16.

lolandese’s picture

Version: 7.x-1.x-dev » 8.x-1.x-dev
Status: Reviewed & tested by the community » Fixed

Smugmug acquires Flickr photo-sharing site from Verizon - CNET

Let's hope if any changes to the API will be made, it won't break anything too bad.

dakku’s picture

more importantly lets hope they dont follow 500px example and take away the API. https://github.com/500px/legacy-api-documentation/issues/258

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

Nick Hope’s picture

Big Flickr changes announced today. Limit for free accounts is down from 1TB storage to 1000 photos. Many existing photos will disappear from February 5, 2019.

"*Free members with more than 1,000 photos or videos uploaded to Flickr have until Tuesday, January 8, 2019, to upgrade to Pro or download content over the limit. After January 8, 2019, members over the limit will no longer be able to upload new photos to Flickr. After February 5, 2019, free accounts that contain over 1,000 photos or videos will have content actively deleted -- starting from oldest to newest date uploaded -- to meet the new limit."

Why we’re changing Flickr free accounts

lolandese’s picture

Interesting. Curious to see what will happen. Comment #8 is even more relevant now.

dakku’s picture

I think this was inevitable really. Flickr has been in decline and most users have been moving to other platforms.
I had personally switched from Flickr to 500px, well they also announced that API will be killed off. I am mostly using Instagram with this module nowdays: https://www.drupal.org/project/instagram_api

lolandese’s picture

Great to see that despite the developments and uncertain future of the Flickr API the adoption of the D8 version of the module is going well.