I started working on Drupal 8 port as we need it for a project we're currently working on.

My dev sandbox is https://github.com/slashrsm/imagecrop.

My plan is as follows:
- Convert crop settings to full-featured entities
- convert both image effects to ImageEffect plugins
- make UIs somehow pluggable
- split integration with various systems (core fields, media, ...) into submodules to allow people to out-in only things that they need
- [optional, idea] allow multiple crops per image_style/file combination and integrate with conditions to determine which crop should be used in each situation

First two lines are basically done. Will be posting updates here as I progress.

I am interested to co-maintain D8 branch if you decide to pull my code in.

Comments

ianthomas_uk’s picture

Are you aware of https://www.drupal.org/project/manualcrop? An issue was opened a while ago pointing out the similarity of the modules, see #1491508: A call for consolidating efforts. The path to a media integrated D7 cropping module..

I've not done a comparison of the two modules, but if they are totally equivalent then it would be a shame to port both to Drupal 8 when we could standardise on whichever module is "better" (if that can be agreed).

slashrsm’s picture

I was not aware of the other module but I checked it when you pointed it out. It seems like both modules are very similar on the low-level part (both use image styles to define/reuse crops, both operate in a more or less same way, ...). Main differences I see in UI part and few features that are specific to each module.

When it comes to basic API it probably makes sense to consolidate functionalities of both modules under one roof. When it comes to UI it would make sense to make it pluggable, which would allow people to use diff UIs on same basic API.

Also note that we officially decided to have to different storage components in D8 (file_entity and media_entity) which should be able to re-use same components of media ecosystem (to prevent redundant work). Image cropping component is definitely a such component. See https://groups.drupal.org/node/418803 for more info. I was thinking into direction of separate sub-modules for integration of each storage component. However, those modules will, if done right, require only some glue (mostly UI related) code.

Those are IMO general guidelines for direction of D8 port. Under which namespace consolidated D8 module lives I honestly don't really care :).

mxt’s picture

The maintainer of Image Javascript Crop himself recommends to use Manual Crop:

I'm a maintainer of Image Javascrip Crop. A very very inactive maintainer! Why? Because I think that Manual Crop beats this solution hands down, it is slick, well maintained, and is heading in the right direction. I pretty much abandoned Image Javascrip Crop as soon as I found the Manual Crop module. Install it, and you'll see what I mean ;)
[...]
I [...] am a maintainer of it (image javascript crop), but never use it any more. Manual Crop does a much better job, IMO

https://www.drupal.org/node/1491508#comment-5757164

So I think Manual Crop should be considered the starting point (better UI in every case I think)

slashrsm’s picture

Opened an issue in Manual crop's issue queue to attract maintainer's attention: #2368945: Drupal 8 port.

matthijs’s picture

You got my attention :-)

I'm not really familiar with this module (I started working on Manual Crop because the 7.x module of Image javascript crop didn't work for me), but since there are no 1000 ways to crop an image it's more than plausible that our modules are quite similar.

The Drupal 8 port of Manual Crop doesn't exist yet (due to a lack of time which also reflects in my issue queue), but I do have plans to port it! So it might be a good time to consolidate our efforts and cearte the best cropping module...

Maybe someone should compare both modules accurately and make a list of Image javascript crop features that should be added to Manual Crop? If you agree I'd suggest we close this one as a duplicate of #2368945: Drupal 8 port and continue this discussion there.

slashrsm’s picture

Status: Active » Closed (duplicate)

OK, let's do that.

cthshabel’s picture

After using both of the modules extensively, I can say manual crop is superior, with very few exceptions.

Pros of Manual Crop:

- S3FS compatible (stream wrappers work well with cloud architecture)
- UI cleaner in general
- Media Desk compatible (multi image upload sites benefit from this)
- Plupload compatible (client side resize)
- Mobile Ready (OR VERY CLOSE):
- imgareaselect.js plugin (newest version at least supports mobile touch devices now!)
- Image Cache Autorotate (still not working, but if image javascript can get this working, manual crop should?)

Cons of Manual Crop:

- Image Cache Autorotate not compatible (makes the last item on Pros irrelevant for now)

Matthijs, manual crop is absolutely amazing. If we were able to get autorotate with this module, it would truly be the ultimate solution for the majority of people I think.

1kenthomas’s picture

Title: Drupal 8 port » Drupal 8 port (duplicate)

( two issues with the same title, too confusing )