LycheeOrg / Lychee

A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
https://lycheeorg.github.io/
MIT License
3.36k stars 297 forks source link

Current state of Lychee-Laravel #102

Closed rnwgnr closed 4 years ago

rnwgnr commented 5 years ago

Not an issue but more of a question: What is the current state of Lychee-Laravel?

Lychee-Laravel is often referred to when talking about issues/requests to the the Lychee V3 implementation. The official Lychee website (https://lycheeorg.github.io) still links to Lychee V3 as the current version. So i'm curios what is the current state of Lychee V4? Is it production ready? Is there a timeline to get it production ready? Are you heading for feature equality to Lychee V3 before releasing it (from what i read so far: i guess not :) )?

I found issue https://github.com/LycheeOrg/Lychee/issues/18 that provides some information about why a new backend implementation seems useful.

ildyria commented 5 years ago

Lychee-Laravel aims to be Lychee v4. It's current status is Alpha/Beta. Yes it is somewhat production ready in the sense that I'm using it with about 4000 pictures on my personal server.

As for the timeline, there is not really any. We need to fix a few more things: https://github.com/LycheeOrg/Lychee-Laravel/milestone/1 before actually releasing it. @SerenaButler is doing a great job as pointing current bugs. :smile:

I would really like to see it go live on April 1st but there is no real pressure for when it will be ready.

Are you heading for feature equality to Lychee V3 before releasing it?

No. Lychee v4 should cover what Lychee v3 has and add other features such as sub albums, multi users, landing page, better code base...

psjbeisler commented 5 years ago

great to hear it can be used already in that capacity, my only question now is what is the state of Postgresql. I know it was an issue before Larvel, but can it be recommended for use now?

ildyria commented 5 years ago

@psjbeisler Lychee-Laravel should be perfectly fine with Postgresql.

maybe worth reading: https://stackoverflow.com/questions/30480385/laravel-5-with-postgres-sql

psjbeisler commented 5 years ago

just curious too, but what is the plan for v3 + v4 going forward, will they be kept as separate repos or is the expectation that Lychee-Laravel maybe gets merged or at least deprecates Lychee v3 all together? Sorry is i missed this somewhere else, but being that this is a pinned issue for such a topic...

ildyria commented 5 years ago

Naah, it is nice that you actually reuse this issue, it helps to centralize the questions on the status. :smiley:

And no, the answers to your questions are not anywhere yet. :+1:

To be honest we don't really know yet how we are going to handle the change from v3 to v4. It is still in discussion in the team: do we want to merge the repo? do we just rename each repo? do we provide a script to migrate? Do we rename lychee-v3 into lychee-legacy and just do basic support on it (a bit like a LTS)? There are still a lot of answered questions.

There are also some concerns such as the fact the installation process is slightly more complex: you do not need to drag and drop Lychee release for it to work, you need to make your host point at public, you need to do migration yourself (php artisan migrate) etc... Having a single install script (sh? php?) would be nice.

However one thing is for sure. We will not add more feature to the v3. We may do some rare backports but all the new stuff are going to this repo. :)

jprokop1 commented 5 years ago

After some time playing with Lychee-Laravel I have some suggestions for improvement:

kamil4 commented 5 years ago

@jprokop1 Here's my take on your suggestions:

jprokop1 commented 5 years ago

@kamil4: thank you for the quick reply

scratcher28 commented 5 years ago

@ildyria, @kamil4, why have you decided to hardcode all url/dir paths? It seems very strange to me. Can't get it... :/

d7415 commented 5 years ago

@ildyria, @kamil4, why have you decided to hardcode all url/dir paths? It seems very strange to me. Can't get it... :/

Did you read the post above yours...?

scratcher28 commented 5 years ago

Instead of getting url/dir paths from config/defines.php (as it used to be), you now switched to hardcoded paths and getting them by calling Storage::path('small/'...), etc, which is ugly, imho, for 2 reasons: 1) I can't now easily rename those paths in one place (defines.php) and need to modify a lot of source code files, that makes harder to upgrade Lychee later; 2) Earlier I COULD have different locations/storages for (small/thumb/medium/big/import), and now only one (e.g. uploads/*).

d7415 commented 5 years ago

Ok, my bad.

I think this was to allow the use of S3 and other storage backends.

What are you actually trying to achieve?

scratcher28 commented 5 years ago

1) hardcoding paths is a bad idea; 2) keep ability to separate them to different storages/disks, for example: small/thumb/medium (SSD) and import/big (HDD).

d7415 commented 5 years ago
1. hardcoding paths is a bad idea;

We're only hardcoding one level of the path.

2. keep ability to separate them to different storages/disks, for example: small/thumb/medium (SSD) and import/big (HDD).

Have you considered symlinks? Or, if you're feeling fancy, a bind mount?

This may be something that we review at a later stage, but if you want it to be considered you'd have much better luck raising an issue rather than piggy-backing on a (nominally) unrelated one.

psjbeisler commented 4 years ago

since we're on the second beta at this point, has there been any more thought to the v3 > v4 transition?

ildyria commented 4 years ago

since we're on the second beta at this point, has there been any more thought to the v3 > v4 transition?

Personally I am pretty busy with my personal life: Paper to submit and a PhD Thesis to write. :( So I can't really tell you anything about that. What I can tell is that aside from @tmp-hallenser over the last months the migration part has not been really active.

I still have a few things on my plate that I would like to add to the Laravel version. I consider the current version Release ready. One of my concern is that it needs some changes of the config as the directory root (public) is different than the previous version...

jeyca commented 4 years ago

I lost track about the different lychee forks and versions and I am confused which is the actual project. Is it lychee-laravel oder https://github.com/LycheeOrg/Lychee ? Are both still developed? Why is the Link on https://lychee.electerious.com still pointed to the very old repository and how is everything connected or not connected?!

ildyria commented 4 years ago

I lost track about the different lychee forks and versions and I am confused which is the actual project. Is it lychee-laravel oder https://github.com/LycheeOrg/Lychee ? Are both still developed?

https://github.com/LycheeOrg/Lychee-Laravel = v4 https://github.com/LycheeOrg/Lychee = v3.2.i-don't-remember https://github.com/electerious/Lychee = v3.1.something

v3 has been "on break" for quite a while: it is not actively developed anymore.

I consider v4 to actually be release ready, we just need to write the FAQ, documentation how to efficiently migrate from v3 to v4 and build a release archive.

As for the activity of LycheeOrg:

That being said, @d7415, @tmp-hallenser and I are still monitoring the issues, helping on gitter and answering questions.

Why is the Link on https://lychee.electerious.com still pointed to the very old repository and how is everything connected or not connected?!

We do not have control on that page. We contacted the electerious but he basically told us that for history purpose he would not change that link.

The current link (and up to date) is : https://lycheeorg.github.io/

ildyria commented 4 years ago

We also need to figure out how we are going to apply the update.

The way to handle that is actually pretty difficult to solve.

jeyca commented 4 years ago

thanks for the infos, I would really recommend to choose better names like v4 or v3, most people wont be interested if its on laravel or something else. And if someone is interested she will find out by herself.

But is there also a working release of lychee-laravel? Or should I use lychee-classic in production?

Or should I better use current lychee-laravel, its best working just not very good documented?

ildyria commented 4 years ago

But is there also a working release of lychee-laravel?

You can use the beta ones: https://github.com/LycheeOrg/Lychee-Laravel/releases/tag/v4.0.0-beta.2

Or should I use lychee-classic in production?

I have been using Lychee-Laravel in prod for more than a year without any troubles.

That's my current Diagnostic:

    System Information
    ------------------
    Lychee-front Version:      3.2.16
    Lychee Version (git):      bae5f2b (master) - Up to date (2 hours ago).
    DB Version:                040000
    System:                    Linux
    PHP Version:               7.3
    MySQL Version:             10.3.22-MariaDB-1

    Lychee total space:        90.52 GB
    Upload folder space:       90.36 GB
    System total space:        489.18 GB
    System free space:         359.35 GB (73%)

    Imagick:                   1
    Imagick Active:            1
    Imagick Version:           1690
    GD Version:                2.2.5

Or should I better use current lychee-laravel, its best working just not very good documented?

Lychee-Laravel brings a lot compared to the v3, e.g. sub albums.

The install step are actually pretty documented (if you use apache): https://github.com/LycheeOrg/Lychee-Laravel/wiki/Install https://github.com/LycheeOrg/Lychee-Laravel/wiki/Install-Steps-on-Debian-Testing

mayailkour commented 4 years ago

I love your teamwork on Lychee! 😍 Is it possible to support the development via GitHub Sponsors?

ildyria commented 4 years ago

I love your teamwork on Lychee! Is it possible to support the development via GitHub Sponsors?

The problem with GitHub Sponsors for the organization, is that it requires us to set up a Bank account etc and I see how it can be more efficient for you.

We don't have costs (aside from our time) as we are using the github.io infrastructure to host the web pages. At the moment, the only way to support us is to buy coffees to individual developers members. More details here: https://lycheeorg.github.io/support :confused:

d7415 commented 4 years ago

Lychee-Laravel has now been released as Lychee v4, so I'm going to close this and unpin it.