We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

GSoC (Google Summer of Code) with ownCloud

00:00

Formal Metadata

Title
GSoC (Google Summer of Code) with ownCloud
Subtitle
Petabyte Scale Cloud Storage File Manager
Alternative Title
GSoC with ownCloud
Title of Series
Number of Parts
34
Author
Contributors
License
CC Attribution - ShareAlike 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Overview of GSoC 2018 project with ownCloud. ownCloud's Google Summer of Code Project for this year was titled as 'Petabyte Scale Cloud Storage File Manager'. We'll talk about this project and how it relates to Phoenix.
24
Goodness of fitComputer animation
Scale (map)Data storage deviceComputer filePoint cloudSynchronizationInstance (computer science)TelecommunicationLibrary (computing)Personal digital assistantCodeImplementationStudent's t-testGoodness of fitComputer fileWeb browserCASE <Informatik>Projective planePoint cloudLibrary (computing)Data storage deviceData managementBitClient (computing)Integrated development environmentInstance (computer science)Service (economics)CodeSynchronizationSpecial unitary groupDebuggerFilesharing-SystemSoftware testingOpen sourceWeb 2.0Functional (mathematics)CuboidState of matterCloud computingSoftware development kitFront and back endsScaling (geometry)Computer animation
Computer fileXML
Multiplication signComputer fileFunctional (mathematics)Source codeXMLProgram flowchart
Computer fileMultiplication signStandard deviationSource codeComputer animation
Surjective functionMereologyComputer animation
GoogolStructural loadFlow separationContent (media)Cache (computing)AerodynamicsFluid staticsLocal ringElectronic visual displayGastropod shellContent (media)Web applicationCache (computing)MereologyArithmetic progressionRule of inferenceGoogolSoftware developerProjective planeRow (database)Mobile appComputer animation
Software testingInstallable File SystemGoogolStructural loadFlow separationContent (media)AerodynamicsCache (computing)Local ringFluid staticsElectronic visual displayContent (media)Computer animation
Software testingAmicable numbersMenu (computing)Lemma (mathematics)Maxima and minimaPoint (geometry)Web applicationGraphical user interfaceArithmetic progressionGoogolComputer animation
Web browserCache (computing)MetadataComputer networkSoftware testingComputer fileConnected spaceMetadataCASE <Informatik>Content (media)Point cloudCache (computing)MereologySummierbarkeitWeb browserData storage deviceCartesian coordinate systemMusical ensembleComputer animation
VideoconferencingData storage deviceComputer animation
Transcript: English(auto-generated)
Hi. Good morning, everyone. I'm Oshaan Mudanayake from Sri Lanka. Actually, I'm the GSOC student who worked on cloud this year.
And I'll talk a little bit about my experience, just a very small talk. And actually, the title of the project this year is Petabyte-Scale Cloud Storage File Manager. It was, I think, originally for Sunbox. And I think you all know what Google Summer of Code is.
But just in case if you don't know, it's a project where Google pays selected students all over the world to do an open source project. And I was one of them. So yeah, the goal of the project this year
was to provide a new web UI for Sunbox. And as Hugo explained yesterday, Sunbox is a cloud storage synchronization service for Sun users. I think already like 14,000 users use it worldwide already. And so how does Phoenix come into all this?
So as you know, Phoenix is the new front end for the own cloud. And so I was supposed to contribute to Phoenix project and then fork it for the Sunbox project
for its separate UI. And I was also supposed to use, and I did use JSON Cloud client. This was a JavaScript library from its base API to connect with on cloud instances. And it was developed by Naveen for his 2017 GSoC project.
And I think it works with both browser and an old environment. So the first milestone, major milestone of the GSoC project was to implement the file sharing and file browsing
functionalities. So that includes basic browsing, file upload and download, and also perform some test cases and write some documentation, get to know the project, et cetera, et cetera. And I recorded just a small GIF file
so that you can see the current state. You already saw, but I'll just show it anyway. This is basic file browsing. And you can go there, just all the usual stuff, create files, folders, and things like that.
That was the first milestone. And I also implemented the breadcrumbs, renaming things. OK. And there are also features for handling multiple entities at the same time for some functionalities,
like file deletion. You can delete multiple files at the same time. Also, standard stuff.
Yeah. Anyway. And there's also file moving by dragging them along onto other folders. And oh, I think Wi-Fi signals a little off here.
Yeah. Actually, this was one of the difficult things that I had to do. The difficult part was implementing that animation kind of thing when you drag one entity onto another.
That's basically the first milestone. And the second milestone is the most important part of the project, that is, adapt Phoenix to a progressive web application. And the first part was wrap Phoenix into a shell lab, according to Google's best practices. Actually, Google has stated a few guidelines, more
like ideal rules that developers should follow if they are implementing a shell lab. And that is loading fast, using little data, and caching a lot of stuff. And we did cache stuff and some dynamic content.
So the idea is to reuse the content as much as possible and reduce the data consumption. The progressive web application compatibility was tested using the Lighthouse.
Also, you can find in the Google Chrome. And actually, we were able to achieve a score of 82%. I think it's pretty OK at this point. So there are some other stuff like cache file metadata from on cloud into browser cache.
So how that works is that assume that you are browsing some files. So the application automatically stores these parts and the metadata in the file web browser cache. And so if the connection suddenly goes offline,
you can just revisit the folders and browse the files you have already visited. And it detects when the connection goes offline and automatically refreshes the metadata content when connection comes back up online. And I had to test for some offline metadata scenarios.
There are different cases that can occur. I mean, when you download a file, you can go offline. You can visit some files that you haven't previously visited. So what to do in those scenarios and whatnot.
And yeah, that basically sums up my experience with GSoC this year. So thank you.