Hi, Jun Ouyang and Xuanwo.

I updated some parts of my proposal. Thanks Jun Ouyang's advise and I hope
you can mentor me in this project.

Best
Feihan Huang

On 2024/03/25 13:34:01 Jun Ouyang wrote:
> Hi Feihan,
>   Thank you for your proposal, Your proposal most of looks good to me.
> The only concern is that I think we need more details about our
> implementation scopes.
>   In our original ofs topic description, we have defined in-scope and
> out-scope. https://github.com/apache/opendal/issues/4130
>   Windows cloudfilter API has many features we need to implement
> https://learn.microsoft.com/en-us/windows/win32/api/cfapi/ , I think
> we could not implement all of these things  (due to technical
> limitations or time limitations), So in my opinion, it will be better
> if we define what we need to implement and what we do not need to do
> in the current task.
>   Also, I think we need to change our task issues and Jira ticket
> descriptions. cc  @xuanwo
>
> On Mon, Mar 25, 2024 at 7:56 PM Ho 229 <[email protected]> wrote:
> >
> > Hi Xuanwo.
> >
> > I hope to join the GSoC 2024 project in Apache OpenDAL as a candidate
and have the opportunity to be mentored by you.
> >
> > I will attached my proposal below, have a nice day!
>
>
>
> --
> GPG public key: 4A6D297E6F74638E4D5F8E99152AC7B5F7608B26
> Thanks,
> Jun Ouyang
>
# Apache OpenDAL Ofs via CloudFilter Project Proposal

## Contributor information

- Name: Feihan Huang
- Email: <[email protected]>
- GitHub: <https://github.com/ho-229>
- Location: Tianjin, China (GMT+8:00)

## Project information

- Name: OpenDAL Ofs via CloudFilter
- Related Issues: <https://github.com/apache/opendal/issues/4130>
- Project Mentors: Xuanwo <[email protected]> Jun Ouyang <[email protected]>
- Project Community: Apache OpenDAL
- Project Size: Medium, ~175 hours

## Project abstract

OpenDAL is a data access layer that allows users to easily and efficiently retrieve data from various storage services in a unified way. currently `ofs` can expose OpenDAL power in a `fuse` way that allow users to mount storage services locally.

But `fuse` is only support Linux and some UNIX platforms which limits the usage scenarios of `ofs`. So we need to support other popular platform i.e. Windows to extend its usage scenarios.

Windows has a number of options that allow user-mode applications to project hierarchical data from the backing data store into the file system, such as `ProjFs` and `CloudFilter`. Considering `ofs` are majorly used in cloud storage, we need to support `CloudFilter` as well.

## Goals

### In scope

- fetch data
- cancel fetch data
- validate data
- fetch placeholders (directory entries)
- cancel fetch placeholders
- open, close, delete, rename

### Out scope

- dehydrate (deprecate local cache)

## Timeline

#### Before April 30

- Familiarize `CloudFilter` and its APIs..
- Investigate existing `CloudFilter` Rust bindings, and get in touch with the bindings maintainer if needed.
- Determine specific goals to implement.

#### May 1 - May 26

- Work closely with `CloudFilter` Rust bindings, make sure it can be used in `ofs`.

#### May 27 - June 20

- Write the major implementation of `ofs` via `CloudFilter`.

#### June 21 - June 30

- Test the implementation of `ofs` via `CloudFilter`.
- Update docs of `ofs`
- Prepare midterm evaluation with mentor.

#### July 1 - July 19

- Complete tests and fix bugs.
- Prepare final evaluation with mentor.

Reply via email to