Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🗄️ Extend Appwrite Storage with Cloudian Adapter #6411

Closed
7 tasks
christyjacob4 opened this issue Oct 1, 2023 · 9 comments
Closed
7 tasks

🗄️ Extend Appwrite Storage with Cloudian Adapter #6411

christyjacob4 opened this issue Oct 1, 2023 · 9 comments
Assignees
Labels
hacktoberfest Issues that can win you some cool swags!

Comments

@christyjacob4
Copy link
Member

💭 Introduction

Appwrite Storage lets you upload images, videos, or any kind of file and store it for later. This comes with support for encryption, compression, chunk upload, resumable upload, and much more! 💪 To learn more, check out our official Appwrite Storage docs.

Every file uploaded to Appwrite Storage needs to be stored somewhere, whether that is your server’s hard drive or cloud provider. To make this possible, Appwrite uses storage adapters that each implement simple methods such as read(), move(), delete()...

Your task is to implement support for Cloudian in Appwrite and the Utopia PHP storage library. We have prepared detailed documentation on how to create Utopia PHP storage adapter, and how to use Utopia PHP adapter in Appwrite. Please read these documents and ensure you understand it before working on this issue.

🎯 Requirements

  • Experience with Appwrite.
  • Experience with PHP.
  • Experience with Cloudian.
  • Experience with Docker and Docker Compose.

✅ Task Summary

  • Ask to be assigned to the issue.
  • Wait to be assigned.
  • Implement Utopia PHP storage adapter for Cloudian.
  • Submit a pull request in utopia-php/storage.
  • Implement Appwrite support for Cloudian.
  • Submit a pull request in appwrite/appwrite.
  • Write a blog post on any platform of your choosing to demonstrate the usage of your adapter!

If you have questions, need any help, or just want to hang out, make sure to join us on our Discord server.

Happy Appwriting!

@christyjacob4 christyjacob4 added the hacktoberfest Issues that can win you some cool swags! label Oct 1, 2023
@nooras
Copy link

nooras commented Oct 1, 2023

Hi, Can you please assign me this task. I would like to give a try on this.

@tessamero tessamero assigned tessamero and nooras and unassigned tessamero Oct 1, 2023
@tessamero
Copy link

hi @nooras , you've been assigned to the issue. Please keep us updated every 3 days so we know you are still working on it, so the issue doesn't get reassigned :)

happy coding 😃

@nooras
Copy link

nooras commented Oct 2, 2023

Hi @tessamero @christyjacob4

Need to some help/suggestion!!

how to create Utopia PHP storage adapter

Here in this point 2.1,

[2.1] Add new adapter and implement it](https://github.com/utopia-php/storage/blob/main/docs/adding-new-storage-adapter.md#21-add-new-adapter-and-implement-it)
In order to start implementing new storage adapter, add new file inside src/Storage/Device/YYY.php where YYY is the name of the storage provider in PascalCase. Inside the file you should create a class that extends the basic Device abstract class. Note that the class name should start with a capital letter, as PHP FIG standards suggest.

Always use properly named environment variables if any credentials are required.

In this only need to create a class like "class Cloudian extends Device { }" ?
Do we need to write some code inside of that Cloudian class block? If yes like what kind of code need to write inside that ? Can you guys please help me on this.

Thanks

@nooras
Copy link

nooras commented Oct 2, 2023

2.1 I have created class Cloudian in Device folder and extended Device class
2.2 Added const DEVICE_CLOUDIAN in storage file
3.1 I created file CloudianTest file but not sure what will be there inside of that class. As in 2.1 I have created only file as per instructions

Can you please help me on this @tessamero @christyjacob4

@stnguyen90
Copy link
Contributor

3.1 I created file CloudianTest file but not sure what will be there inside of that class

@nooras, look at similar tests for reference.

Please submit a draft PR if you need more assistance.

@utkershrajvenshi
Copy link

Hi @tessamero , in case @nooras is not able to complete this issue I'd like to try it next.

@nooras
Copy link

nooras commented Oct 7, 2023

Hi @utkershrajvenshi I am working in this task. Thanks

@nooras
Copy link

nooras commented Oct 8, 2023

Hi @tessamero @stnguyen90 @christyjacob4
I have created PR for Phase 1.
For Phase 2 in note its written "Note for this to happen, your PR in the first phase should have been merged and a new version of utopia-php/storage library released."

Can I proceed for Phase 2 Step or need to wait for merge this PR ?
Let me know if i made any mistakes in this PR or need to make some changes. I have referred others file present in ./storage ./test folder

Thanks

@adityaoberai
Copy link
Member

Closing this issue. Thank you so much for participating in Hacktoberfest 2023! We can't wait to welcome you all during HF 2024! Stay tuned for a lot more amazing issues from the Appwrite team!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hacktoberfest Issues that can win you some cool swags!
Projects
None yet
Development

No branches or pull requests

6 participants